W jaki sposób moze powstać błędny, złośliwy fork Bitcoin?

Orator
Awatar użytkownika
Posty: 808
Rejestracja: 13 kwietnia 2011
Reputacja: 3
Reputacja postu: 
0
Napiwki za post: 0 BTC

W jaki sposób moze powstać błędny, złośliwy fork Bitcoin?

Postautor: Frodo » poniedziałek, 16 listopada 2020, 13:37

Przypuśćmy że Bob wykopał blok, który chce zafałszować. Jeśli wpisze że Alicja mu przesłała 1 BTC, to wymagany jest podpis Alicji, jeśli go nie będzie, blok będzie odrzucony bez konieczności wyboru najdłuższego forka. Jeśli rzeczywiście Alicja mu przesłała 1 BTC i teraz spróbuje sklonować tę transakcję, blok będzie odrzucony, bo użyte już jest UTXO. Jeśli Alicja ma 1 BTC i wykopie blok umieszczając transakcję że niby wysłała 100 BTC, blok będzie odrzucony po sprawdzeniu salda.
Jak mogą być zafałszowane bloki, by nie zostały odrzucone w fazie sprawdzania poprawności, ale by powstał konkurencyjny fork?

Bardzo Zły Moderator
Awatar użytkownika
Posty: 13720
Rejestracja: 16 kwietnia 2012
Reputacja: 2285
Reputacja postu: 
0
Napiwki za post: 0 BTC
Lokalizacja: Polska/Wwa/GW

W jaki sposób moze powstać błędny, złośliwy fork Bitcoin?

Postautor: rav3n_pl » poniedziałek, 16 listopada 2020, 13:52

UTXO wyklucza double spenda oraz wydanie więcej niż się ma.
Jedynie blokada możliwości reorga. Ale 1-2 blokowe konkurencyjne łańcuchy są "naturalne".
Ewentualnie musiałoby być "potwierdzenie odbioru" blokujące możliwość nadpisania transakcji nawet przez inny fork i reorg.
Ale to jakaś kombinacja alpejska...
Piffko: PLC/BTC 1Rav3nkMayCijuhzcYemMiPYsvcaiwHni
Trochę o P2pool; C#: RPC CoinControl, BIP39 Mnemonic z talii kart
Bitcoin Core 0.19.0.1
YT: Rafał prostuje Bitcoina, PDFy: https://bit.ly/rafal-prezentacje

Orator
Awatar użytkownika
Posty: 808
Rejestracja: 13 kwietnia 2011
Reputacja: 3
Reputacja postu: 
0
Napiwki za post: 0 BTC

W jaki sposób moze powstać błędny, złośliwy fork Bitcoin?

Postautor: Frodo » poniedziałek, 16 listopada 2020, 14:21

Reorg, czyli te same transakcje w innej kolejności? Przypuśćmy że jakiś altcoin wymaga by transakcje w bloku były posortowane według wzrastających haszy. Są jeszcze rożnice: jedne transakcje uwzględnione a drugie nie. Złośliwy mminer mógłby wykopywać blok bez transakcji, ale zachęcają go opłaty transakcyjne.
Gdyby złośliwy miner miał przynajmniej 51% mocy sieci to i tak nie mógłby wpisywać błędnych transakcji, ponieważ większość sieci uznałaby takie bloku za błędne? Czyli możliwy atak to byłby taki, że kopałby bloki bez transakcji?
Jakie są wzory na prawdopodobieństwo forka długości n, na przykład n=6, gdy alternatywny miner ma np. 1/3 mocy sieci? Choć tu nie wiem, bo jest raczej tak, że istnieje kilkunastu graczy (kopalnie), po 5-10 procent mocy sieci, zdarzają się forki długości 1 i 2 a dłuższe raczej nie. I jak to obliczyć? Przy czym, gdyby bloki były generowane częściej, forki zdarzałyby się częściej i były dłuższe. Tutaj chyba chodzi o wielokrotność - stosunek czasu propagacji w większości sieci, do biezącego czasu generowania bloku. np. blok średnio co 10 minut, ale może zdarzyć sie po 3 minutach. Np. gdyby blok był co miutę, mógłby się równie zdarzyć co jakiś czas po 20 sekundach. Litecoin ma bloki 4 razy częściej nż Bitcoin i chyba jeszcze się mieści w możliwościach sieci. Natomiast Ethereum ma bloki chyba co 30 sekund i na razie algorytm PoW, no właśnie, jak Ethereum radzi sobie z tak częstymi blokami?

Przychodzi mi do głowy jedna możliwość konkurencjynych forków: gdzie to nie miner jest winny tylko sender. Alicja wysyła do Boba 1 BTC i z tych samych UTXO do Chrisa 1 BTC. Obie transakcje nie mogą znaleźć sie w tym samym bloku. Jednak jeden miner może wziąć jedną transakcję z nich, drugi drugą. I mamy konkurencyjne forki.

Orator
Awatar użytkownika
Posty: 808
Rejestracja: 13 kwietnia 2011
Reputacja: 3
Reputacja postu: 
0
Napiwki za post: 0 BTC

W jaki sposób moze powstać błędny, złośliwy fork Bitcoin?

Postautor: Frodo » piątek, 20 listopada 2020, 18:59

Czytam właśnie Nakamoto, i tam pisze że przypadek zafałszowania bloków, który opłaca się napastnikowi i blok nie będzie odrzucony z powodu błędnej walidacji to taki że napastnik płaci transakcją, odbiorca myśłi że dostał a napastnik tworzy blok modyfikując swoją transakcję.
Są dwie możliwości: jedna - zmniejsza nadawcy ilość środków, a druga - po prostu zmienia odbiorcę.

Wróć do „Dla zaawansowanych - nowi tylko czytają”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 1 gość