Nie dajcie się zwieść rzekomemu bezpieczeństwu blockchaina!

Ostatnio temat blockchaina robi się bardzo gorący i coraz więcej podmiotów – także rządy – chce go wykorzystywać lub co najmniej rozważa jego wykorzystywanie. W tym w bardzo wrażliwych dziedzinach i zastosowaniach. Gdy o tym czytam to włosy jeżą mi się na plechach bo blockchain NIE JEST wcale tak bezpiecznym rozwiązaniem jak to wmawiają ludziom jego piewcy i zdecydowanie nie jest bezpieczniejszy niż scentralizowana baza. Te gadki o bezpieczeństwu blockchaina są tak mocno lansowane – także przez ludzi z profesorskimi tytułami – że czuję się zobowiązany przestrzec Was przed blockchainem. Nie mówię, że to jest „be” rozwiązanie tylko mówię żebyście byli wystarczająco przezorni i ostrożni przy korzystaniu z rozwiązań opartych na blockchainach. A to dlatego, że każda z podawanych zalet (względem bezpieczeństwa) blockchaina może się stać – w przypadku skutecznego ataku – jego ŚMIERTELNĄ wadą.

Popatrzmy na podstawową cechę blockchaina, która rzekomo czyni go bezpieczniejszym od rozwiązań „klasycznych” a w rzeczywistości czyni go podatnym na co najmniej trzy proste ataki. Oczywiście to, że są proste nie znaczy, że są łatwe do skutecznego przeprowadzenia.

1. Zdecentralizowana baza danych rzekomo ma być bezpieczniejsza od scentralizowanej.

W technologiach blockchainowych baza danych skopiowana jest na setkach/tysiącach/milionach węzłów, brak jednego, centralnego punktu z danymi, brak jednej osoby/podmiotu, decydującego co w niej zostaje definitywnie zarejestrowane a co nie [bo jest zostaje uznane za fałszywe]. Każda modyfikacja w warstwie danych musi być zaakceptowana przez większość  lub określoną grupę utrzymujących węzły.
Natomiast w klasycznych rozwiązaniach baza danych jest na „jednym” centralnym serwerze, zarządzana przez jakiś podmiot/osobę, która może ją swobodnie wg własnej woli zmodyfikować. Ma to swoje oczywiste wady – wymaga zaufania do tzw. trzeciej strony, czyli osoby/podmiotu zarządzającego tą centralną bazą. Wiadomo też gdzie uderzyć by taką bazę dopaść itd. itp.
Tylko, że taka baza ma też zasadniczą zaletę – przy zachowaniu odpowiednich zasad bezpieczeństwa da się ją zabezpieczyć a nawet odtworzyć w razie skutecznego (niszczącego) ataku.
Nie da się tego powiedzieć o bazie blockchainowej!

Jeżeli ktoś przejmie odpowiednią ilość węzłów – nie mówię tu o ich ilości tylko mocy oddziaływania na uznanie czegoś za wiarygodne lub fałszywe w blockchainie – to może taki blockchain zniszczyć lub podłożyć w jego miejsce własny.  I co wtedy z tego, że są jego kopie na endylionie innych węzłów skoro zostaną uznane za fałszywe i odrzucone?
W tym momencie zwolennicy blockchaina powiedzą, że to jest PRAWIE niemożliwe bo trzeba by dysponować ogromnymi środkami i że jeszcze nie doszło do takiej sytuacji. I mają rację, ale tylko w tym drugim przypadku – jeszcze do tego nie doszło, co nie znaczy, że nie dojdzie.
Bo czy rzeczywiście trzeba ogromnych środków?
Weźmy taki bitcoin – w tej chwili bardzo popularne jest przyłączanie się tzw. górników (czyli osób tworzących węzły) do grup wspólnie przeliczających transakcje (nazywanych minning pools, po polsku basenami wydobywczymi). Skutek jest taki, że w tej chwili 6 grup kontroluje ponad 60% blockchaina, przy czym taką grupą przecież KTOŚ po prostu zarządza. A pamiętam, że było okres gdy jedna taka chińska grupa zbliżyła się do 50%.
Gdzie więc ta decentralizacja?

Nietrudno jest też sobie wyobrazić, że te 6 osób się dogaduje lub okazuje się, że te 6 grup kontroluje lub zacznie kontrolować jedna osoba. Może tak być? Może.

Inny scenariusz to napisanie wirusa – jeśli nie na system to choćby zaszytego w uaktualnieniu sterownika do kart graficznych czy innych procesorów stosowanych do obliczeń – i przejęcie w ten sposób kontroli nad większością węzłów lub stworzenie endyliona własnych. Wystarczy chwilowa przewaga, kontrola, wystarczy zablokowanie  dostępu do sieci na choćby kilkanaście minut większości węzłów tak, żeby węzeł atakującego przekroczył masę krytyczną danej sieci i zdecydował o dalszym rozwoju blockchaina.
Jak wtedy odtworzyć bazę? Która jest ta prawdziwsza? KTO miałby zdecydować o tym co jest prawdziwe a co fałszywe?
Odpowiedzi są smutne: Nie da się.  Nie da się. Nie ma nikogo takiego.
Taki atak byłby całkowicie skuteczny, a w przypadku wyjścia go na światło dzienne oznaczałby całkowitą kompromitację wiarygodności wszystkich baz blockchainowych z wiadomym dla wszystkich skutkiem dla tego rynku.

2. Kolejny problem – permanentne wystawienie „konta” na atak hakerski.
Konto (adres zawierający krypto-żetony) jest w sieci cały czas widoczne. Każdy może zobaczyć jego stan i… spróbować nim rozporządzać.  Wystarczy tylko znać hasło. O! I teraz zwolennicy powiedzą, że złamanie hasła jest prawie niemożliwe bo to endyliony kombinacji. Sęk w tym, że „prawie” nie oznacza, że tego się nie da zrobić. Choćby przypadkiem „wklepać” prawidłowe hasło, żeby nie mówić o innych sytuacjach (wykradzeniu lub poznania hasła). I wtedy Twoje żetoniki przestają być Twoimi nieodwołalnie 🙂

3. Pamiętajcie, że to jest tylko OPROGRAMOWANIE. 

Oprogramowanie, które zawsze można zmienić, podmienić w ramach „konsensusu” lub też wykryć i wykorzystać w nim błąd lub dziurę. Zwróćcie uwagę, że skończyły się czasy gdy węzły blockchainów utrzymywali rozproszeni po świecie pasjonaci i ludzie wyznający pewne wartości. W tej chwili absolutna większość „górników” robi to po prostu dla szmalu i jeżeli ktoś im zaproponuje odpowiednie kokosy to zaakceptują dowolne zmiany w oprogramowaniu, które im je dadzą.

Jednym słowem – bądźcie co najmniej przezorni.

3 comments On Nie dajcie się zwieść rzekomemu bezpieczeństwu blockchaina!

  • Witaj Arnoldzie,

    Mylisz się po wielokroć. Atak większościowy zdarzył się już kilkukrotnie i jak widać nie ma tragedii. Co prawda nie odnosiło się to do Bitcoina, ale fork był stworzony na podstawie ălgo tej właśnie kryptowaluty. A jakie są możliwe rozwiązania?

    „Z drugiej strony, deweloperzy Feathercoin mogą wydać aktualizację klienta który zawierać będzie zaprogramowany „punkt kontrolny” w bloku, zanim rozpoczął się atak – tworząc tym samym tzw. „hard fork”. Taki ruch spowodowałby cofnięcie i przywrócenie wszystkich transakcje do dnia 8 czerwca. Taki ruch skutecznie odwróciłby wszystko, co miało miejsce od tamtego czasu. Górnicy rozpoczęliby wydobycie z poprzedniego bloku, ignorując jednocześnie „złośliwy łańcuch bloków”

    https://bitcoiny.pl/atak-wiekszosciowy-51-czego-bitcoin-moze-nauczyc-sie-od-innych-kryptowalut/

    Poza tym był już atak hakerski na Bitcoina i ukradziono wtedy mnostwo bitkôw. I z tym też sobie poradzono.

    https://en.bitcoin.it/wiki/Value_overflow_incident

    Również kopie zapasowe można robić bezproblemowo. Poczytaj trochę zanim o czymś piszesz.

  • Przez rozpęd skasowałem komentarz, który został uznany za spam.
    Ponieważ nie daje się go przywrócić normalnie to go przekopiuję.
    Autorem jest Krzysztof (https://steemit.com/@noisy)

    Fajnie, że piszesz, szkoda że tak bez sensu.. zacznę od tyłu:

    > Inny scenariusz to napisanie wirusa – jeśli nie na system to choćby zaszytego w uaktualnieniu sterownika do kart graficznych czy innych procesorów stosowanych do obliczeń

    Górnicy Bitcoina już dawno (od 2013 roku) nie używają do liczenia hashy ani CPU ani GPU. Od dawna taki sposób jest nieoptymalny. Bitcoin jest obecnie wydobywany na zaprojektowanych do tego celu układach scalonych, które nie potrafią robić nic innego jak liczyć hashe. Powodzenia w pisaniu wirusa na układ scalony

    > Jak wtedy odtworzyć bazę? Która jest ta prawdziwsza? KTO miałby zdecydować o tym co jest prawdziwe a co fałszywe?

    Słyszałeś o przypadku ETC i ETH? W przypadku różnicy zdań, dwa blockchainy mogą istnieć niezależnie. Wartość sieci nie musi się nawet zmienić, po prostu to jest kwestia tego, którą walutę ludzie będą chętniej akceptować – ta będzie miała większą wartość.

    > Jeżeli ktoś przejmie większość węzłów – nie mówię tu o ich ilości tylko mocy oddziaływania na uznanie czegoś za wiarygodne lub fałszywe w blockchainie – to może taki blockchain zniszczyć lub podłożyć w jego miejsce własny.

    LOL Drogi Arnoldzie, nie masz pojęcia jak działa Proof of Work.

    Po pierwsze, nie jesteś w stanie zniszczyć blockchaina, z jednego powodu. Jeżeli na świecie będzie istnieć chociaż jedna kopia tego blockchaina o którym nie wiesz, to blockchain przetrwa. A dlatego, że są osoby (jak choćby taki gość, który kiedyś kupił sobie bunkier nuklearny: https://www.datasecuritynode.com/ ), który robi backupy blockchainów i trzyma je offline – to jak chciałbyś zniszczyć taki blockchain tam przechowywany, skoro atomówka nie wystarczy?

    Inna sprawa jest taka… że kwestia zniszczenia blockchaina jest bezznaczenia, bowiem nie jesteś w stanie stworzyć równie długiego blockchaina.

    Gdybyś przejął 100% mocy sieci, zajęło by Ci to 8 lat by stworzyć alternatywny blockchain, który byłby dłuższy od obecnego – i to było by 8 lat w czasie których musiałbyś płacić za prąd tyle co Słowenia, bo prawa matematyki i termodynamiki mówią, że nie jesteś w stanie policzyć stwosownych hashy, jak próbować pierdyliardy jeden za drugim… a to wymaga obliczeń, a one prądu.

    Polecam obejrzeć https://www.youtube.com/watch?v=rsLrJp6cLf4

    Może to rozjaśni Ci jaka jest różnica pomiędzy blockchainami opartymi na Proof Of Work, które są niemożliwe do zmiany a systemy opartymi m.in. na Proof Of Stake, które dają dowód niezmienności.

  • Ale ulga, udało mi się odzyskać stare konto disqsa… Co do argumentu zgadnąć hasla-nie przekonuje mnie on, rownie dobrze ktos moze zgadnac twoje haslo i kod potwierdzajacy do banku za pierwszym razem-technicznie wykonalne, ale tak mało prawdopodobne ze pomijalne. Równie dobrze mogę napisać, ze wysłałam na YouTube film dla ciebie, tylko musisz zgadnąć link. Albo zapraszam do domu, mieszkam na ziemi, tylko zgadnij adres i zapukaj do właściwych drzwi. Liter w alfabecie jest 24, uwzględniając małe i duże, daje nam to 48 możliwości na znak + 10 cyfr (1-9+0), zatem juz przy dwóch znakach mamy juz ponad 2000 możliwości. Trzecia i czwarta cyfra zwiększa liczbe o cale rzędy wielkości, a ciag ponad trzydziestoznakowy da liczbę bliska lub wyższa od liczby atomów w swiecie. Bardziej prawdopodobne ze rzucony za siebie patyk wcisnie sie idealnie miedzy zapadki sejfu i go otworzy od zewnątrz, robiac fikolki i piruety w trakcie. Gdybys dzis wytypowal ktory portfel trzyma najwiecej bitcoinow, zanim zlamiesz haslo metoda sprawdzania wszystkich kombinacji, to do tego czasu albo pieniadze z niego przesuna sie dalej a ty uzyskasz dostep do pustego portfela albo predzej umrzesz, niz trafisz. Zreszta bitcoin nie jest idealny, ale jesli musialabym typowac cos rewolucyjnego w mysleniu w ostatniej, dosc miernej dekadze, jakas idee, bitcoin bylby calkiem dobrym kandydantem.

    Oprogramowanie – owszem, ale skoro jest jawne i otwarte i moge do obslugi napisac wlasne, to mysle nie mam sie czego bac.
    Atak przejecia 50% jest typowa choroba wieku dzieciecego – nie przekupisz polowy swiata. Sam bitcoin nie zastapi gotowki, obsluzy mniej, wolniej i drozej niz glupia karta visy, nie nadaje sie do malych i szybkich platnosci, ale juz dzisiaj wygral chociazby z przelewami zagranicznymi czy uslugami pokroju western union- znajomosc ciagu znakow ktore wysle smsem, pocztowka, zaszyje w kolnierzyku lub zwyczajnie zapamietam to wszystko co musze komus przekazac, ktory przehandluje dalej na lokalnym rynku lub nawet nie – gdyby istnial kiedys, cinkciarstwo nie mialoby racji bytu, a dzisiaj nie musze miec fizycznie gotowki w kraju do ktorego jade, wystarzcy ze pamietam ciag literek i cyfr. To duzy skok. Nie musze sie wyklocac, czy pieniadze doszly czy nie, skoro lista transakcji jest publiczna, a samo to juz na starcie likwiduje w duzej skali calkiem duza grupe oszustow zerujacych na czyjejs naiwnosci.

    Rozproszenie jest dobre – sprawdza sie w przypadku danych freenetu czy torrenta, wiec pieniadz tez da rade. W sumie blockchain to taki torrent –

    Jedyny sensowny atak jaki sobie wyobrazam, to ten na poziomie dostawcy mojego internetu, podmieniajacy w locie wartosci – ale i na niego jest sposob. Wszystko rozbija sie o zaufanie, generalnie nic nowego nie powiedzialam. Na chwile obecna – nie jest idealny – i nie bedzie, skoro zakldamy ze nie ruszamy tego co jest i go nie modyfikujemy – ale nie mamy nic lepszego, a bitcoin sie sprawdza w wielu zastosowaniach. Jego sukces to przede wszystkm nie jego technikalia i kapitalizacja, ale to jak zaczelismy myslec o pieniadzu.

Leave a Reply

Site Footer