Wpis z mikrobloga

#bitcoin #kryptowaluty
Kolejny interesujący problem z miningiem
https://www.reddit.com/r/Bitcoin/comments/3c305f/if_you_are_using_any_wallet_other_than_bitcoin/csrt3dg

W skrócie jeden z minerów kopie bloki bez sprawdzania czy transakcje się zgadzają. Jeżeli poślesz transakcję z niepoprawną sygnaturą, ten miner umieści ją w bloku. Możesz w ten sposób umieścić w bloku transakcję która wydaje nie twoje pieniądze - Klienty SPV multibit, multibit HD i bitcoin wallet (co do innych nie wiem, zależy od serwera) dadzą się oszukać i wyświetlą potwierdzenie.

Czy to jest problem? Sam w sobie nie, wszystkie bloki zawierające nieprawidłowe transakcje zostaną szybko osierocone przez resztę sieci. Problem pojawia się, kiedy dołączymy do tej mieszanki poole-lemmingi które nie sprawdzają bloków tylko kopią na nagłówkach - bezmyślnie wydłużają najdłuższy łańcuch który w tej sytuacji jest nieprawidłowy - czyli następuje fork. Jeżeli lemmingi mają znaczącą moc w sieci, może powstać więcej niż jedno fałszywe potwierdzenie zanim nastąpi osierocenie wadliwego łańcucha.

więcej o poolach-lemmingach napisałem przy ostatnim incydencie z hard-forkiem
http://www.wykop.pl/wpis/13389849/

W tej sytuacji muszę odradzić bezserwerowe klienty SPV do poważnych transakcji wszystkim użytkownikom.
Multibit, Multibit HD, BreadWallet (iOS) oraz Bitcoin Wallet (android), nie powinny być używane do wykonywania bardzo dużych transakcji. Jeżeli dowiem się czegoś więcej na temat klientów SPV używających serwerów (Electrum, Mycelium, GreenAddress, Blockchain, itd) to dam znać.

Jeżeli mimo wszystko używacie bezserwerowego SPV, to odczekajcie kilkadziesiąt potwierdzeń zanim uznacie transakcję przychodzącą za definitywnie otrzymaną

Pełne węzły Bitcoin Core są bezpieczne

Jest jescze jeden aspekt tej sprawy powiązany z oświadczeniem bitcoin.org o niewspieraniu na ich witrynie żadnych klientów zdolnych wykryć fork. Ta kwestia jest chora, i poświęcę jej osobny wpis.
  • 16
@McGravier:
W sumie to byliśmy właśnie świadkami pierwszego udanego ataku 51%

Z perspektywy nowych użytkowników ( wersja >=0.10.0) nie było ataku 51%. Ktoś gdzieś wykopał lewe bloki, ale to nie ich problem.

Z perspektywy starych użytkowników którzy nie uaktualniali swoich klientów (wersje <=0.9.3) był to atak 51%. Był 'oficjalny' łańcuch który został odrzucony przez kartel 51% górników którzy zmówili się, żeby nie budować na nim kolejnych bloków. Niebezpieczna sprawa
@tyskieponadwszystkie: oj nie pierdziel głupot. Nie było żadnego ataku 51%. Nawet przypadkowego. Nic nie rozumiesz. Pogooglaj co to jest atak 51% a nie sadzisz jakieś brednie o perspektywie użytkowników z określoną wersją. ( ͡° ʖ̯ ͡°)
@tyskieponadwszystkie: rozwijany przez kogo? Co to znaczy rozwijany bez potwierdzania transakcji? W każdym łańcuchu były prawdziwe transakcje natomiast w jednym były nieprawdłowe bloki. Aktualne klienty odrzucały błędne bloki, niestety lekkie klienty propagowały je dalej.

Jeżeli szukasz ataku to był to przypadkowy atak, ale na BIP66. Tu nie chodziło o moc kopania, lecz o liczbę nodów transmitujących automatycznie nieprawidłowe bloki.
@tyskieponadwszystkie: przypadkowy w kontekście słowa atak.
Działanie było oczywiście z premedytacją, to co się wydarzyło to akceptowalny dla tych pooli skutek uboczny.
Natomiast rzeczywistego ataku nie było, a już na pewno nie 51%.

Takie coś w nomeklaturze branżowej to misbehaving peer. Misbehaving, nie attacking.
@Pipcieo: @tyskieponadwszystkie:
Należy odróżnić atak 51% od wadliwego miningu 51%. Przy ataku miner posiadający większość mocy pracuje w ukryciu szybciej od reszty i publikuje własny dłuższy łańcuch osieracając kilka bloków wstecz. Dzięki temu może unieważnić potwierdzone transakcje.

W przypadku wadliwego miningu 51% następuje fork w wyniku niezgodności bloków - część klientów akceptuje dany blok, a część nie. W rezultacie system zostaje rozszczepiony na dwa równoległe łańcuchy - cofnięcie transakcji w
Przed atakiem 51% obrony nie ma - oznacza on upadek zdecentralizowanego systemu


@McGravier: @Pipcieo: jak to nie ma obrony? A to co stało się rok temu z kopalnią G-Hash to nie była obrona? Przecież system sam obronił się. Ten przykład świadczy, że atak 51% nie jest takim problemem jakby się wydawało.
Motywacja minerów powoduje, że w przypadku skoncentrowania zbyt dużej mocy i zagrożenia atakiem 51%, że kopacze automatycznie sami rozpraszają
@pawlo74: W sumie masz rację - ale po ataku 51% coin nie może istnieć w takiej samej formie - w przypadku BTC trzeba by np. zmienić funkcję #!$%@?ącą ubijając tym samym ASICi. W takim wypadku wszystkie kopalnie i w tym właściciel koalni która się tego dopuściła zostałby z bezwartościowym złomem