Mit niezmienności Blockchain

Węzeł źródłowy: 1738527

Gdzie elastyczne myślenie jest lepsze od dogmatyzmu

„Najwyższym dobrem, od którego nie ma wyższego, jest łańcuch bloków, a zatem jest on niezmiennie dobry, a więc prawdziwie wieczny i prawdziwie nieśmiertelny”.
- Święty Augustyn, De natura boni, I, 405 n.e. (z drobnymi poprawkami)

Jeśli zapytasz kogoś dobrze poinformowanego o właściwościach blockchainów, w odpowiedzi niezmiennie pojawi się słowo „niezmienny”. Mówiąc prostym językiem, słowo to jest używane do określenia czegoś, czego nigdy nie można modyfikować ani zmieniać. W blockchainie odnosi się do globalnego dziennika transakcji, który jest tworzony w drodze konsensusu między uczestnikami łańcucha. Podstawowe założenie jest takie: gdy transakcja blockchain uzyska wystarczający poziom walidacji, niektóre elementy kryptograficzne zapewniają, że nigdy nie można jej zastąpić ani cofnąć. Oznacza to, że łańcuchy bloków różnią się od zwykłych plików lub baz danych, w których informacje można dowolnie edytować i usuwać. A przynajmniej tak mówi teoria.

Na hałaśliwej arenie debaty o blockchainie niezmienność stała się quasi-religijną doktryną - podstawowym przekonaniem, którego nie można wstrząsać ani kwestionować. I podobnie jak doktryny w głównych religiach, członkowie przeciwnych obozów używają niezmienności jako narzędzia szyderstwa i wyśmiewania. Miniony rok był świadkiem dwóch wybitnych przykładów:

  • Zwolennicy kryptowalut twierdzą, że niezmienność można osiągnąć tylko za pomocą zdecentralizowanych mechanizmów ekonomicznych, takich jak dowód pracy. Z tej perspektywy prywatne łańcuchy bloków są śmieszne, ponieważ zależą od zbiorowego dobrego zachowania znanej grupy walidatorów, którym najwyraźniej nie można ufać.
  • Pogarda wylewała się na pomysł edytowalnego (lub zmiennego) łańcucha bloków, w którym można wprowadzić wsteczne modyfikacje historii transakcji pod pewnymi warunkami. Prześmiewcy postawili pytanie: jaki mógłby być sens blockchain, jeśli jego zawartość można łatwo zmienić?

Dla tych z nas, którzy stoją na uboczu, fajnie jest oglądać błoto. Nie tylko dlatego, że obie te krytyki są po prostu błędne i wynikają z fundamentalnego niezrozumienia natury niezmienności w łańcuchach bloków (a nawet w każdym systemie komputerowym). Dla tych, którzy mają mało czasu, oto podsumowanie:

W blockchainach nie ma czegoś takiego jak idealna niezmienność. Prawdziwe pytanie brzmi: w jakich warunkach można i nie można zmienić określonego łańcucha bloków? Czy te warunki odpowiadają problemowi, który próbujemy rozwiązać?

Innymi słowy, transakcje blockchain nie są zapisywane w umyśle Boga (z przeprosinami dla Augustyna powyżej). Zamiast tego zachowanie łańcucha zależy od sieci cielesnych systemów komputerowych, które zawsze będą narażone na zniszczenie lub korupcję. Ale zanim przejdziemy do szczegółów, przejdźmy do podsumowania kilku podstaw samych łańcuchów bloków.

Blockchains w skrócie

Blockchain działa na zbiorze węzłów, z których każdy może znajdować się pod kontrolą oddzielnej firmy lub organizacji. Węzły te łączą się ze sobą w gęstej sieci peer-to-peer, tak że żaden pojedynczy węzeł nie działa jako centralny punkt kontroli lub awarii. Każdy węzeł może generować i podpisywać cyfrowo transakcje, które reprezentują operacje w jakiejś księdze lub bazie danych, a transakcje te szybko rozprzestrzeniają się do innych węzłów w sieci w sposób podobny do plotek.

Każdy węzeł niezależnie weryfikuje każdą nową transakcję przychodzącą pod kątem ważności pod względem: (a) jej zgodności z regułami łańcucha blokowego, (b) podpisu cyfrowego oraz (c) wszelkich konfliktów z poprzednio widzianymi transakcjami. Jeśli transakcja przejdzie te testy, wchodzi na lokalną listę tymczasowych niepotwierdzonych transakcji tego węzła („pula pamięci”) i zostanie przesłana dalej do swoich węzłów. Transakcje, które się nie powiodły, są od razu odrzucane, podczas gdy inne, których ocena zależy od transakcji niewidocznych, są umieszczane w tymczasowym obszarze oczekiwania („pula osieroconych”).

W okresowych odstępach czasu jeden z węzłów „walidatora” w sieci generuje nowy blok, zawierający zestaw niepotwierdzonych jeszcze transakcji. Każdy blok ma unikalny 32-bajtowy identyfikator zwany „hashem”, który jest całkowicie określony przez zawartość bloku. Każdy blok zawiera również znacznik czasu i łącze do poprzedniego bloku za pośrednictwem swojego skrótu, tworząc dosłowny „łańcuch bloków” sięgający do samego początku.

Podobnie jak transakcje, bloki rozprzestrzeniają się w sieci na zasadzie peer-to-peer i są niezależnie weryfikowane przez każdy węzeł. Aby zostać zaakceptowanym przez węzeł, blok musi zawierać zestaw ważnych transakcji, które nie kolidują ze sobą ani z tymi z poprzednich połączonych bloków. Jeśli blok przejdzie ten i inne testy, zostanie dodany do lokalnej kopii łańcucha bloków tego węzła, a zawarte w nim transakcje są „potwierdzane”. Wszelkie transakcje w puli pamięci węzła lub puli osieroconej, które są sprzeczne z tymi w nowym bloku, są natychmiast odrzucane.

Każdy łańcuch stosuje jakąś strategię, aby zapewnić, że bloki są generowane przez wielu jego uczestników. Gwarantuje to, że żadna pojedyncza lub mała grupa węzłów nie może przejąć kontroli nad zawartością łańcucha bloków. Większość publicznych blockchainów, takich jak bitcoin, używa „proof-of-work”, który umożliwia tworzenie bloków przez każdego w Internecie, kto potrafi rozwiązać bezcelową i piekielnie trudną matematyczną łamigłówkę. Z kolei w prywatnych łańcuchach bloków bloki są zwykle podpisywane przez jeden lub więcej dozwolonych walidatorów, przy użyciu odpowiedniego schematu, aby zapobiec kontroli mniejszości. Nasz produkt MultiChain wykorzystuje technikę zwaną „wydobywaniem różnorodności”, która wymaga udziału minimalnej liczby dozwolonych walidatorów w celu stworzenia prawidłowego łańcucha.

W zależności od zastosowanego mechanizmu konsensusu, dwa różne węzły walidatora mogą jednocześnie generować sprzeczne bloki, z których oba wskazują na ten sam poprzedni. Kiedy dojdzie do takiego „rozwidlenia”, różne węzły w sieci najpierw zobaczą różne bloki, co prowadzi do różnych opinii na temat najnowszej historii łańcucha. Te rozwidlenia są automatycznie rozwiązywane przez oprogramowanie blockchain, a konsensus jest odzyskiwany, gdy nowy blok pojawi się w jednej z gałęzi. Węzły, które znajdowały się na krótszej gałęzi, automatycznie przewijają swój ostatni blok i odtwarzają dwa bloki na dłuższej. Jeśli naprawdę mamy pecha i obie gałęzie zostaną przedłużone jednocześnie, konflikt zostanie rozwiązany po trzecim bloku na jednej gałęzi lub następnym, i tak dalej. W praktyce prawdopodobieństwo trwałego rozwidlenia spada wykładniczo wraz ze wzrostem jego długości. W łańcuchach prywatnych z ograniczonym zestawem walidatorów prawdopodobieństwo można zmniejszyć do zera po niewielkiej liczbie bloków.

Niemniej jednak należy pamiętać, że każdy węzeł działa w systemie komputerowym należącym do określonej osoby lub organizacji i przez nią kontrolowanym, więc łańcuch bloków nie może siła zrobić cokolwiek. Celem łańcucha jest pomoc uczciwym węzłom w utrzymaniu synchronizacji, ale jeśli wystarczająca liczba jego uczestników zdecyduje się zmienić zasady, żadna ziemska siła nie może ich powstrzymać. Dlatego musimy przestać pytać, czy konkretny łańcuch bloków jest naprawdę i absolutnie niezmienny, ponieważ odpowiedź zawsze będzie brzmiała nie. Zamiast tego powinniśmy rozważyć Warunki pod którym można zmodyfikować konkretny łańcuch bloków, a następnie sprawdź, czy czujemy się komfortowo w tych warunkach dla przypadku użycia, o którym myślimy.

Zmienność w sieciach publicznych

Wróćmy do dwóch przykładów przytoczonych we wstępie, w których doktryna niezmienności została wykorzystana jako podstawa do ośmieszenia. Zaczniemy od twierdzenia, że ​​za zgodą procedur walidacji stosowanych w dozwolonych łańcuchach bloków nie można osiągnąć „prawdziwej niezmienności” obiecanej przez publiczne sieci.

Najłatwiej odpowiedzieć na tę krytykę, wskazując na podatność samych publicznych łańcuchów bloków. Weźmy na przykład blockchain Ethereum, który ucierpiał niszczycielski exploit w czerwcu 2016 r. Ktoś znalazł lukę w kodowaniu w inteligentnym kontrakcie zwanym „The DAO”, w który zainwestowano prawie 250 milionów dolarów, i zaczął szybko opróżniać swoje fundusze. Choć to wyraźnie naruszyło intencje twórców kontraktu i inwestorów, jego Regulamin oparł się na mantrze, że „kod jest prawem”. Prawo czy nie, niecały miesiąc później oprogramowanie Ethereum zostało zaktualizowane, aby uniemożliwić hakerowi wycofanie „zarobionej” kryptowaluty.

Oczywiście tej aktualizacji nie można było wymusić, ponieważ każdy użytkownik Ethereum kontroluje swój własny komputer. Niemniej jednak publicznie wspierał go Vitalik Buterin, założyciel Ethereum, a także wielu innych liderów społeczności. W rezultacie większość użytkowników zastosowała się, a łańcuch bloków z nowymi regułami zachował nazwę „Ethereum”. Mniejszość nie zgodziła się ze zmianą i kontynuowała blockchain zgodnie z jego pierwotnymi zasadami, zdobywając tytuł „Ethereum Classic”. Bardziej dokładny wybór nazw może brzmieć „Ethereum skompromitowany” i „Ethereum czysty”. Tak czy inaczej, demokracja jest demokracją, a (pragmatyczny i popularny) „Ethereum” jest teraz wart ponad dziesięć razy (idealistyczny, ale odkładany na margines) „Ethereum Classic”.

Rozważmy teraz mniej życzliwy sposób, w jaki można podważyć niezmienność publicznego łańcucha bloków. Przypomnij sobie, że tworzenie lub „wydobywanie” bloków w bitcoinie i Ethereum wykorzystuje schemat „proof-of-work”, w ramach którego należy rozwiązać problem matematyczny, aby wygenerować blok i odebrać nagrodę. Wartość tej nagrody nieuchronnie zamienia górnictwo w wyścig zbrojeń, w którym górnicy rywalizują o szybsze rozwiązywanie problemów. Aby to zrekompensować, sieć okresowo dostosowuje trudność, aby utrzymać stałą szybkość tworzenia bloków, raz na 10 minut w bitcoinie lub 15 sekund w Ethereum.

W ostatnich 5 latach trudność bitcoina wzrosła o współczynnik 350,000 1,089 razy. Obecnie zdecydowana większość wydobywania bitcoinów odbywa się na drogim specjalistycznym sprzęcie, w miejscach, w których jest zimno, a energia elektryczna jest tania. Na przykład XNUMX USD kupi Ci plik Antminer S9, który wydobywa bloki 10,000 razy szybciej niż jakikolwiek komputer stacjonarny i spala 10 razy więcej energii elektrycznej. To wszystko jest dalekie od demokratycznych ideałów, dzięki którym bitcoin został stworzony, nawet jeśli sprawia, że ​​łańcuch bloków jest wyjątkowo bezpieczny.

Cóż, trochę bezpieczne. Jeśli ktoś chciałby podważyć niezmienność łańcucha bloków bitcoin, oto jak by to zrobił. Po pierwsze, zainstalowaliby więcej mocy wydobywczych niż reszta sieci razem wzięta, tworząc tak zwany „atak 51%”. Po drugie, zamiast otwarcie uczestniczyć w procesie wydobywczym, kopaliby swoją własną „tajną gałąź”, zawierającą wszystkie transakcje, które zatwierdzą, i cenzurując pozostałe. Wreszcie, po upływie wymaganego czasu, anonimowo transmitowali do sieci swój tajny oddział. Ponieważ atakujący ma większą moc wydobywczą niż reszta sieci, jego gałąź będzie zawierać więcej dowodów pracy niż publiczna. Dlatego każdy węzeł bitcoin zostanie przełączony, ponieważ reguły bitcoin mówią, że wygrywa trudniejsza gałąź. Wszelkie wcześniej potwierdzone transakcje, które nie znajdują się w tajnej gałęzi, zostaną cofnięte, a wydany bitcoin może zostać wysłany gdzie indziej.

Do tej pory większość wierzących w bitcoiny będzie się śmiać, ponieważ napisałem „zainstaluj więcej mocy wydobywczej niż reszta sieci razem wzięta”, jakby było to trywialne do osiągnięcia. I mają rację, bo oczywiście tak nie jest łatwo, w przeciwnym razie wiele osób już by to zrobił. Potrzebujesz dużo sprzętu górniczego i dużo energii elektrycznej, aby go zasilić, co kosztuje mnóstwo pieniędzy. Ale oto niewygodny fakt, który większość bitcoinerów omija: Dla rządu każdego kraju średniej wielkości wymagane pieniądze to wciąż niewielka zmiana.

Oszacujmy koszt 51% ataku, który odwraca rok transakcji bitcoinowych. Przy obecnej cenie bitcoinów wynoszącej 1500 USD i nagrodzie w wysokości 15 bitcoinów (w tym opłat transakcyjnych) za 10-minutowy blok, górnicy zarabiają około 1.2 miliarda USD rocznie (1500 USD × 15 × 6 × 24 × 365). Zakładając (rozsądnie), że ogólnie nie tracą pieniędzy lub przynajmniej nie tracą dużo, oznacza to, że całkowite wydatki górników również muszą być w tym samym przedziale. (Upraszczam tutaj, amortyzując jednorazowy koszt zakupu sprzętu górniczego, ale 400 milionów dolarów kupi wystarczającą liczbę Antminer 9, aby dorównać aktualnej zdolności wydobywczej sieci bitcoin, więc jesteśmy w dobrym stanie.)

Teraz pomyśl o Raporty że bitcoin jest używany przez obywateli Chin do obchodzenia kontroli kapitału ich kraju. I weźmy pod uwagę, że dochody podatkowe chińskiego rządu wynoszą około 3 dolary trylion na rok. Czy rząd niedemokratycznego kraju wydałby 0.04% swojego budżetu na zamknięcie popularnej metody nielegalnego wyprowadzania pieniędzy z tego kraju? Nie twierdziłbym, że odpowiedź brzmi koniecznie tak. Ale jeśli uważasz, że odpowiedź brzmi Zdecydowanie nie, jesteś bardziej niż trochę naiwny. Szczególnie biorąc pod uwagę, że podobno Chiny zatrudnia 2 milionów osób do nadzorowania treści internetowych, które wynoszą 10 miliardów dolarów rocznie, jeśli przyjmiemy niskie wynagrodzenie w wysokości 5,000 dolarów. To stawia w perspektywie 1.2 miliarda dolarów kosztu cofnięcia rocznych transakcji bitcoinowych.

Nawet ta analiza bagatelizuje problem, ponieważ chiński rząd mógłby znacznie łatwiej i taniej podważyć sieć bitcoinów. Wygląda na to, że większość wydobycia bitcoinów odbywa się w Chinach, ze względu na niską cenę energii wodnej i inne czynniki. Mając kilka czołgów i plutonów, chińska armia mogłaby fizycznie przejąć te operacje wydobywcze bitcoinów i wykorzystać je do cenzurowania lub odwracania transakcji. Chociaż szerszy świat bitcoinów niewątpliwie zauważyłby, nie ma nic, co mógłby zrobić bez fundamentalnej zmiany struktury zarządzania (a tym samym natury) samego bitcoina. O co chodziło z darmowymi pieniędzmi z cenzury?

Nic z tego nie powinno być interpretowane jako krytyka projektu bitcoina lub przewidywania, że ​​katastrofa sieciowa faktycznie nastąpi. Bitcoin blockchain to niezwykła inżynieria, być może nawet idealna do celu, o którym myśleli jego twórcy. A gdybym miał na to postawić pieniądze, założyłbym się, że Chiny i inne rządy prawdopodobnie nie będą atakować bitcoinów w ten sposób, ponieważ nie leży to w ich ostatecznym interesie. Bardziej prawdopodobne jest, że skupią swój gniew na swoich bardziej niewykrywalnych kuzynach, takich jak Dash, Zcash i Monero.

Niemniej jednak sama możliwość tej formy ingerencji stawia doktrynę niezmienności kryptowaluty na swoim miejscu. Bitcoin blockchain i podobne mu elementy nie są niezmienne w żadnym idealnym ani absolutnym sensie. Są raczej niezmienne, o ile nikt wystarczająco duży i wystarczająco bogaty nie zdecyduje się ich zniszczyć. Mimo to, polegając na gospodarczy koszt podważenia sieci, niezmienność kryptowaluty zaspokaja specyficzne potrzeby ludzi, którzy nie chcą ufać rządom, firmom i bankom. Może nie jest to idealne rozwiązanie, ale to najlepsze, co potrafią.

Prywatne łańcuchy wielokrotnego zapisu

Przejdźmy teraz do prywatnych łańcuchów bloków, zaprojektowanych na potrzeby rządów i dużych firm. Możemy zacząć od zauważenia, że ​​z punktu widzenia tych organizacji niezmienność oparta na proof-of-work to handlowy, prawny i regulacyjne non-starter, ponieważ umożliwia każdemu (wystarczająco bogatemu) aktorowi anonimowy atak na sieć. W przypadku instytucji niezmienność może wynikać jedynie z dobrego zachowania innych podobnych instytucji, z którymi mogą one podpisać umowę i pozwać w razie potrzeby. Dodatkowo prywatne łańcuchy bloków są znacznie mniej kosztowne w eksploatacji, ponieważ bloki wymagają jedynie prostego podpisu cyfrowego od węzłów, które je zatwierdzają. Dopóki większość węzłów walidatora przestrzega zasad, efekt końcowy jest silniejszy i tańszy niż jakakolwiek publiczna kryptowaluta może zaoferować niezmienność.

Oczywiście niezmienność jest nadal łatwa do podważenia, jeśli wszyscy uczestnicy łańcucha zdecydują się zrobić to razem. Wyobraźmy sobie prywatny łańcuch bloków używany przez sześć szpitali do agregowania danych o infekcjach. Program w jednym szpitalu zapisuje do łańcucha duży i błędny zestaw danych, co jest źródłem niedogodności dla pozostałych uczestników. Kilka telefonów później działy IT wszystkich szpitali zgadzają się „przewinąć” swoje węzły o godzinę wstecz, usunąć problematyczne dane, a następnie pozwolić na kontynuowanie łańcucha, jakby nic się nie stało. Jeśli wszystkie szpitale zgodzą się to zrobić, kto ich powstrzyma? Rzeczywiście, poza zaangażowanym personelem, kto w ogóle będzie wiedział, że to się stało? (Należy zauważyć, że niektóre algorytmy konsensusu, takie jak PBFT nie zapewniają oficjalnego mechanizmu wycofywania zmian, ale nie pomaga to w zarządzaniu, ponieważ węzły nadal mogą ominąć reguły).

Rozważmy teraz przypadek, w którym większość uczestników prywatnego łańcucha bloków zgadza się na cofnięcie i usunięcie części transakcji, ale kilku z nich odmawia zgody. Ponieważ węzeł każdej organizacji jest pod jej ostateczną kontrolą, nikt nie może zmusić mniejszości do przystąpienia do konsensusu. Jednak trzymając się swoich zasad, użytkownicy ci znajdą się na widelcu i będą ignorowani przez wszystkich innych. Podobnie jak cnotliwi zwolennicy Ethereum Classic, ich miejsce w niebie może być zapewnione. Ale tu, na ziemi, zostaną wykluczeni z procesu konsensusu, w ramach którego wdrożono łańcuch, i równie dobrze mogą całkowicie zrezygnować. Jedynym praktycznym zastosowaniem transakcji poza konsensusem jest służyć jako dowód w sądzie.

Mając to na uwadze, porozmawiajmy o drugim przypadku, w którym doktryna niezmienności blockchain została wykorzystana do ośmieszenia pomysłów. Tutaj odnosimy się do pomysłu Accenture używając hash kameleona aby umożliwić łatwą wymianę bloku zakopanego głęboko w łańcuchu. Podstawowa motywacja, jak opisane przez Davida Treat, to umożliwienie szybkiego i skutecznego usunięcia starej problematycznej transakcji. Zgodnie z tym schematem, jeśli nastąpi zamiana bloków, pozostaje „blizna”, którą wszyscy uczestnicy widzą. (Należy zauważyć, że wszelkie późniejsze transakcje, które zależą od usuniętej, również musiałyby zostać usunięte.)

Trudno przecenić, ile osób pogardzało tym pomysłem, gdy został ogłoszony. Twitter i LinkedIn były przerażone i podekscytowane. I nie mówię tylko o tłumie kryptowalut, który ze sportowej przyjemności kpi z wszystkiego, co dotyczy korporacyjnych łańcuchów bloków. Pomysł został również szeroko odrzucony przez prywatnych zwolenników blockchain.

A jednak w odpowiednich warunkach pomysł umożliwienia wstecznej modyfikacji łańcuchów bloków za pomocą skrótów kameleona może mieć doskonały sens. Aby zrozumieć, dlaczego, zaczynamy od prostego pytania: w tego typu łańcuchu bloków, kto faktycznie miałby moc zastąpienia starych bloków? Oczywiście nie może to być żaden niezidentyfikowany uczestnik sieci, ponieważ uniemożliwiłoby to zarządzanie łańcuchem.

Odpowiedź brzmi, że hash kameleona może być używany tylko przez tych, którzy posiadają jego tajny klucz. Klucz jest wymagany, aby umożliwić nadanie nowej wersji bloku z różnymi transakcjami tego samego skrótu kameleona co poprzednio. Oczywiście prawdopodobnie nie chcemy scentralizowanej kontroli w łańcuchu bloków, więc możemy wzmocnić schemat, mając wiele skrótów kameleona na blok, z których każdy jest w posiadaniu innej strony. Albo możemy użyć tajne udostępnianie techniki dzielenia pojedynczego klucza mieszającego kameleona na wiele stron. Tak czy inaczej, łańcuch można skonfigurować tak, aby retroaktywne zastępowanie bloków mogło nastąpić tylko wtedy, gdy większość posiadaczy kluczy to zatwierdzi. Czy to zaczyna brzmieć znajomo?

Pozwólcie, że wyjaśnię analogię. Powiedzmy, że dzielimy kontrolę nad hashami kameleona między tymi samymi węzłami walidującymi, które są odpowiedzialne za tworzenie bloków. Oznacza to, że stary blok można zastąpić tylko wtedy, gdy większość węzłów walidujących się na to zgodzi. A jednak, jak omówiliśmy wcześniej, każdy blockchain może już być modyfikowane z mocą wsteczną przez większość węzłów walidujących, za pomocą mechanizmu przewijania i odtwarzania. Więc jeśli chodzi o zarządzanie, skróty kameleona podlegające większości walidatora nie mają żadnego znaczenia.

Jeśli tak, po co się nimi przejmować? Odpowiedź to: optymalizacja wydajności, ponieważ skróty typu kameleon pozwalają na zastąpienie starych bloków w łańcuchu znacznie wydajniej niż wcześniej. Wyobraź sobie, że musimy usunąć transakcję z początku łańcucha bloków, który działa od 5 lat. Być może wynika to z Unii Europejskiej Prawo do bycia zapomnianym przepisy, które pozwalają osobom fizycznym na usunięcie ich danych osobowych z rejestrów firm. Węzły nie mogą po prostu usunąć naruszającej transakcji ze swoich dysków, ponieważ spowodowałoby to zmianę skrótu odpowiedniego bloku i zerwanie łącza w łańcuchu. Następnym razem, gdy blockchain zostanie zeskanowany lub udostępniony, wszystko się rozpadnie.

By rozwiązać ten problem bez Kameleon, węzły musiałyby przepisać wczesny blok bez problematycznej transakcji, obliczyć nowy hash bloku, a następnie zmienić hash osadzony w następnym bloku, aby pasował. Ale wpłynęłoby to również na własny hash następnego bloku, który musi zostać ponownie obliczony i zaktualizowany w kolejnym bloku i tak dalej w całym łańcuchu. Chociaż ten mechanizm jest w zasadzie możliwy, ukończenie łańcucha bloków z milionami bloków i transakcji może zająć godziny lub dni. Co gorsza, gdy węzeł jest zaangażowany w ten proces, może nie być w stanie przetwarzać nowej, przychodzącej aktywności sieciowej. Tak więc skróty kameleona zapewniają znacznie bardziej efektywny obliczeniowo sposób osiągnięcia tego samego celu. Jeśli wyobrażasz sobie złą transakcję jako kamień zakopany wiele mil pod ziemią, hashe kameleona mogą teleportować kamień na powierzchnię, zamiast zmuszać nas do kopania do końca, wydobywania skały i wypełniania dziury.

Niezmienność jest zniuansowana

Przeglądając ryzyko związane z łańcuchami bloków typu „proof-of-work” i techniczną wartość hashów kameleona, mam nadzieję, że udało mi się przekonać Cię, że niezmienność łańcucha bloków jest znacznie bardziej złożona niż pytanie „tak lub nie”. Cytować Simon Taylor cytujący Iana Griggapytanie zawsze musi brzmieć „kim jesteś i co chcesz osiągnąć?”

Dla wierzących w kryptowaluty, którzy chcą uniknąć pieniędzy wydawanych przez rząd i tradycyjnego systemu bankowego, sensowne jest wierzyć w publiczny blockchain, którego niezmienność zależy od ekonomii, a nie zaufanych stron. Nawet jeśli będą musieli żyć z możliwością zniszczenia sieci przez duży rząd (lub inny zamożny aktor), mogą pocieszyć się faktem, że byłaby to bolesna i kosztowna operacja. I bez wątpienia mają nadzieję, że kryptowaluty staną się bezpieczniejsze, gdy ich wartość i możliwości wydobywcze będą nadal rosły.

Z drugiej strony dla przedsiębiorstw i innych instytucji, które chcą bezpiecznie udostępniać bazę danych ponad granicami organizacyjnymi, niezmienność dowodu pracy nie ma żadnego sensu. Jest to nie tylko zdumiewająco drogie, ale także pozwala każdemu wystarczająco zmotywowanemu uczestnikowi na anonimowe przejęcie kontroli nad łańcuchem i cenzurowanie lub odwrócenie transakcji. Tym, czego potrzebują ci użytkownicy, jest niezmienność oparta na dobrym zachowaniu większości zidentyfikowanych węzłów walidatorów, poparta umowami i prawem.

Wreszcie, w przypadku większości przypadków użycia łańcucha blokowego, na które zezwolono, prawdopodobnie nie chcemy, aby węzły walidatora mogły łatwo i tanio zastępować stare bloki w łańcuchu. Jak Dave Birch powiedział w tym czasie, „Sposobem na poprawienie błędnego obciążenia jest właściwy kredyt”, a nie udawanie, że obciążenie nigdy nie miało miejsca. Niemniej jednak w przypadkach, w których potrzebujemy dodatkowej elastyczności, skróty kameleona sprawiają, że łańcuchy bloków są praktycznym wyborem.

Prosimy o umieszczanie komentarzy na LinkedIn.

Znak czasu:

Więcej z Multichain