211service.com
Jak naprawdę bezpieczny jest blockchain?
Pan Tech
Cały sens korzystania z łańcucha bloków polega na umożliwieniu ludziom — w szczególności osobom, które nie ufają sobie nawzajem — udostępniania cennych danych w bezpieczny i odporny na manipulacje sposób. Dzieje się tak, ponieważ łańcuchy bloków przechowują dane przy użyciu zaawansowanej matematyki i innowacyjnych reguł oprogramowania, którymi atakujący niezwykle trudno jest manipulować. Ale bezpieczeństwo nawet najlepiej zaprojektowanych systemów blockchain może zawieść w miejscach, w których wymyślna matematyka i reguły oprogramowania stykają się z ludźmi, którzy są wykwalifikowanymi oszustami, w prawdziwym świecie, gdzie sprawy mogą stać się bałaganem.
Aby zrozumieć dlaczego, zacznij od tego, co sprawia, że łańcuchy bloków są w zasadzie bezpieczne. Dobrym przykładem jest Bitcoin. W łańcuchu bloków Bitcoina wspólne dane to historia każdej transakcji Bitcoin, jaką kiedykolwiek dokonano: księga rachunkowa. Księga jest przechowywana w wielu kopiach w sieci komputerów, zwanych węzłami. Za każdym razem, gdy ktoś przesyła transakcję do księgi, węzły sprawdzają, czy transakcja jest prawidłowa — czy ktokolwiek wydał bitcoina, miał bitcoina do wydania. Część z nich konkuruje o pakowanie ważnych transakcji w bloki i dodawanie ich do łańcucha poprzednich. Właściciele tych węzłów nazywani są górnikami. Górnicy, którzy z powodzeniem dodają nowe bloki do łańcucha, zdobywają w nagrodę bitcoiny.
Ta historia była częścią naszego wydania z maja 2018 r.
- Zobacz resztę numeru
- Subskrybuj
To, co sprawia, że ten system jest teoretycznie odporny na manipulacje, to dwie rzeczy: kryptograficzny odcisk palca unikalny dla każdego bloku oraz protokół konsensusu, proces, dzięki któremu węzły w sieci uzgadniają wspólną historię.
Odcisk palca, zwany haszem, początkowo wymaga dużo czasu i energii obliczeniowej. Służy zatem jako dowód na to, że górnik, który dodał blok do łańcucha bloków, wykonał pracę obliczeniową, aby zdobyć nagrodę w postaci bitcoinów (z tego powodu mówi się, że Bitcoin używa protokołu proof-of-work). Służy również jako rodzaj pieczęci, ponieważ zmiana bloku wymagałaby wygenerowania nowego skrótu. Weryfikacja, czy hash pasuje do swojego bloku, jest jednak łatwa, a gdy węzły to zrobią, aktualizują swoje kopie łańcucha bloków o nowy blok. To jest protokół konsensusu.
Ostatnim elementem bezpieczeństwa jest to, że skróty służą również jako łącza w łańcuchu bloków: każdy blok zawiera unikalny skrót poprzedniego bloku. Jeśli więc chcesz zmienić wpis w księdze z mocą wsteczną, musisz obliczyć nowy hash nie tylko dla bloku, w którym się znajduje, ale także dla każdego kolejnego bloku. Musisz to zrobić szybciej, niż inne węzły mogą dodawać nowe bloki do łańcucha. Więc jeśli nie masz komputerów, które są mocniejsze niż pozostałe połączone węzły (a nawet wtedy sukces nie jest gwarantowany), wszelkie dodane bloki będą w konflikcie z istniejącymi, a inne węzły automatycznie odrzucą twoje zmiany. To właśnie sprawia, że blockchain jest odporny na manipulacje lub niezmienny.
Kreatywne sposoby na oszukiwanie
Tyle teorii. Wdrożenie go w praktyce jest trudniejsze. Sam fakt, że system działa jak Bitcoin — jak wiele kryptowalut — nie oznacza, że jest tak samo bezpieczny. Nawet jeśli programiści korzystają ze sprawdzonych narzędzi kryptograficznych, łatwo jest je przypadkowo połączyć w sposób, który nie jest bezpieczny, mówi Neha Narula, dyrektor Digital Currency Initiative w MIT. Bitcoin istnieje najdłużej, więc jest najlepiej przetestowany w boju.
Ludzie znaleźli też kreatywne sposoby na oszukiwanie. Emin Gün Sirer i jego koledzy z Cornell University pokazali, że istnieje sposób na obalenie łańcucha bloków, nawet jeśli masz mniej niż połowę mocy wydobywczej innych górników. Szczegóły są nieco techniczne, ale zasadniczo samolubny górnik może zyskać nieuczciwą przewagę, nakłaniając inne węzły do marnowania czasu na już rozwiązane krypto-puzzle.
Inną możliwością jest atak zaćmienia. Węzły w łańcuchu bloków muszą pozostawać w ciągłej komunikacji, aby móc porównywać dane. Atakujący, któremu udaje się przejąć kontrolę nad komunikacją jednego węzła i oszukać go w celu zaakceptowania fałszywych danych, które wydają się pochodzić z reszty sieci, może nakłonić go do marnowania zasobów lub potwierdzania fałszywych transakcji.
Wreszcie, bez względu na to, jak odporny jest protokół blockchain, nie istnieje on w próżni, mówi Sirer. Hacki związane z kryptowalutami, które pojawiły się w ostatnich nagłówkach, to zazwyczaj awarie w miejscach, w których systemy blockchain łączą się ze światem rzeczywistym — na przykład w klientach oprogramowania i aplikacjach innych firm.
Hakerzy mogą na przykład włamywać się do gorących portfeli, aplikacji połączonych z Internetem do przechowywania prywatnych kluczy kryptograficznych, których potrzebuje każdy, kto jest właścicielem kryptowaluty, aby ją wydać. Portfele należące do internetowych giełd kryptowalut stały się głównymi celami. Wiele giełd twierdzi, że większość pieniędzy swoich użytkowników przechowuje w zimnych portfelach sprzętowych — urządzeniach pamięci masowej odłączonych od Internetu. Ale jak pokazał styczniowy napad na kryptowalutę o wartości ponad 500 milionów dolarów z japońskiej giełdy Coincheck, nie zawsze tak jest.
Być może najbardziej skomplikowanymi punktami styku między łańcuchami bloków a światem rzeczywistym są inteligentne kontrakty, czyli programy komputerowe przechowywane w określonych rodzajach łańcucha bloków, które mogą automatyzować transakcje. W 2016 r. hakerzy wykorzystali nieprzewidziane dziwactwo w inteligentnym kontrakcie napisanym na blockchainie Ethereum, aby ukraść 3,6 miliona etheru, wartego wówczas około 80 milionów dolarów, ze Zdecentralizowanej Organizacji Autonomicznej (DAO), nowego rodzaju funduszu inwestycyjnego opartego na blockchain.
Ponieważ kod DAO znajdował się w blockchain, społeczność Ethereum musiała przepchnąć kontrowersyjną aktualizację oprogramowania zwaną hard fork, aby odzyskać pieniądze – zasadniczo tworząc nową wersję historii, w której pieniądze nigdy nie zostały skradzione. Naukowcy wciąż opracowują metody zapewniające, że inteligentne kontrakty nie będą działać nieprawidłowo.
Pytanie o centralizację
Jedną z rzekomych gwarancji bezpieczeństwa systemu blockchain jest decentralizacja. Jeśli kopie łańcucha bloków są przechowywane w dużej i szeroko rozproszonej sieci węzłów, nie ma jednego słabego punktu do ataku i trudno jest komukolwiek zgromadzić wystarczającą moc obliczeniową, aby podważyć sieć. Ale ostatnie prace Sirera i współpracowników pokazują, że ani Bitcoin, ani Ethereum nie są tak zdecentralizowane, jak mogłoby się wydawać. Odkryli, że cztery największe operacje wydobycia bitcoinów miały ponad 53 procent średniej wydajności wydobycia systemu tygodniowo. Według tej samej miary trzech górników Ethereum stanowiło 61 procent.
Niektórzy twierdzą, że alternatywne protokoły konsensusu, być może takie, które nie opierają się na wydobywaniu, mogą być bezpieczniejsze. Ale ta hipoteza nie została przetestowana na dużą skalę, a nowe protokoły prawdopodobnie miałyby własne problemy z bezpieczeństwem.
Inni widzą potencjał w łańcuchach bloków, które wymagają pozwolenia na dołączenie, w przeciwieństwie do przypadku Bitcoin, gdzie każdy, kto pobierze oprogramowanie, może dołączyć do sieci. Takie systemy są przekleństwem dla antyhierarchicznego etosu kryptowalut, ale podejście to przemawia do instytucji finansowych i innych, które chcą wykorzystać zalety wspólnej kryptograficznej bazy danych.
Dozwolone systemy rodzą jednak własne pytania. Kto ma prawo udzielić pozwolenia? W jaki sposób system zapewni, że walidatorzy są tym, za kogo się podają? System z uprawnieniami może sprawić, że jego właściciele poczują się bezpieczniej, ale tak naprawdę daje im tylko większą kontrolę, co oznacza, że mogą wprowadzać zmiany, niezależnie od tego, czy inni uczestnicy sieci wyrażą na to zgodę – coś, co prawdziwi wierzący uznaliby za naruszenie samej idei blockchain.
Tak więc ostatecznie bezpieczeństwo jest bardzo trudne do zdefiniowania w kontekście blockchainów. Bezpieczny od kogo? Bezpieczny na co? To zależy od twojej perspektywy, mówi Narula.
