Mastodon
Zdjęcie okładkowe wpisu Bitcoin: System pieniężny i pieniądz, jakich nie było (część 2)

Bitcoin: System pieniężny i pieniądz, jakich nie było (część 2)

0
Dodane: 11 miesięcy temu

Od innych pieniędzy cyfrowych, takich jak inne krytpowaluty czy bankowy pieniądz fiducjarny, Bitcoin różni się tym, że jest całkowicie odporny na manipulacje. To czyni go systemem unikalnym. 

(Kontynuacja artykułu opublikowanego w numerze 5/2023)


Ten artykuł pochodzi z archiwalnego iMagazine 5/2023


Prawda w sieci Bitcoina

Ustaliliśmy już, że Bitcoin jest księgą z rachunkami i transakcjami, zapisaną na blockchainie, przechowywanym na dziesiątkach tysięcy komputerów na świecie, tak zwanych węzłach. Jest jasne, że stan zapisów księgi na wszystkich niezależnych od siebie węzłach powinien być taki sam, zaś w przypadku rozbieżności powinien istnieć prosty sposób ustalenia, która wersja księgi jest prawdziwa. Tylko jak to zrobić?

Satoshi odkrył sposób. Wprowadził zasadę, że prawdziwa jest ta wersja księgi, która zawiera dłuższą sekwencję bloków. Jest to rozwiązanie genialne w swojej prostocie. O tym, które z opublikowanych transakcji zostaną dopisane do księgi w każdym przypadku, decyduje de facto większość mocy obliczeniowej sieci. Czyli ci, którzy łącznie dokonują największej inwestycji w ochronę sieci. Jeśli przypadkowo dojdzie do potwierdzenia dwóch bloków w tym samym czasie przez różnych górników, na moment pojawią się dwie niezależne gałęzie łańcucha. W takiej sytuacji blokiem zawierającym prawdę o transakcjach będzie ten, do którego ostatecznie dołączona zostanie większa liczba kolejnych bloków. Bloki, które przegrają tę rywalizację, są traktowane przez sieć jako nieistniejące, a co za tym idzie, nieistniejące są również zapisane w nich transakcje. Bitcoiny zapisane w takich blokach mają status taki sam jak bitcoiny, które nigdy nie zostały przez ich właścicieli wydane. 

Ponieważ przez pewien czas może istnieć stan niepewności co do tego, który blok zwycięży, dokładny moment dokonania płatności bitcoinem może nie być łatwy do ustalenia przed rozstrzygnięciem rywalizacji. Chodzi bowiem o chwilę, w której wiadomo już, że żaden inny blok nie konkuruje z blokiem, w którym zapisana została nasza transakcja. Zwykle będzie to chwila pierwszego potwierdzenia tego bloku przez górnika, choć w tym momencie nie można jeszcze mieć pewności, czy nie istnieje blok konkurencyjny, który ostatecznie wygra rywalizację. Można jednak obliczyć, że transakcja, która została potwierdzona przez 6 kolejnych bloków, jest już fizycznie nieodwracalna z uwagi na ogromną moc obliczeniową, jaka byłaby potrzebna do stworzenia odgałęzienia, które „prześcignie” główny łańcuch. Większość portfeli traktuje więc taką transakcję jako ostatecznie dokonaną. 

Czas w sieci Bitcoina

Bloki, które wygrały rywalizację, zawierają więc ostateczną i nieodwracalną prawdę o dokonanych transakcjach. Dotyczy to nie tylko tego kto komu ile zapłacił, ale także chronologii kolejnych płatności. Czas i kolejność dokonywania transakcji mają oczywiście ogromne znaczenie w systemie pieniężnym. Środki możemy wydać wyłącznie w czasie, gdy je posiadamy. System musi więc rozstrzygać o kolejności transakcji, aby uniknąć możliwości wydania środków, zanim zostaną uzyskane albo po tym, jak zostały wydane. 

Moment potwierdzenia historycznych bloków jest źródłem pewnej wiedzy co do stanu sald wszystkich rachunków w danym punkcie czasu. Dlatego łańcuch bloków można nazwać łańcuchem czasu (timechain). Tak zresztą traktował go sam Satoshi Nakamoto, który posłużył się pojęciem „serwera znaczników czasu” (timestamp server). Modne dziś słowo „blockchain” nie oddaje w gruncie rzeczy najistotniejszego aspektu porządku zapewnianego przez łańcuch, czyli autonomiczności jego chronologii. Słowo to nie pojawia się zresztą w ogóle w Białej Księdze Bitcoina. 

Idea Bitcoina jako miernika czasu znajduje wyraz w dostępnych urządzeniach typu Blockclock, które w czasie rzeczywistym wskazują numer aktualnego bloku, tak jak zwykłe zegary pokazują godzinę i minutę. Numer bloku nazywany jest również wysokością bloku. 

Rys. 1. Urządzenie Blockclock Mini firmy Coinkite

Istnieją też inne wizualizacje tej idei, jak choćby popularny Kalendarz Timechain, pokazujący w czasie rzeczywistym wszystkie kluczowe parametry sieci. 

Rys. 2. Kalendarz Timechain (https://timechaincalendar.com/pl)

 

Stworzenie zdecentralizowanego serwera znaczników czasu było przełomem w historii sieci informatycznych. Pilnowanie chronologii wydarzeń w księdze rozliczeń wymagało wcześniej centralnego serwera i pomocy zewnętrznego systemu. Przykładem mogą być systemy bankowe, za pomocą których banki zapewniają, że kolejność transakcji w księdze będzie odpowiadać ich rzeczywistej chronologii. Wyeliminowanie banków powoduje, że musimy natychmiast zmierzyć się z pytaniem: kto będzie pilnował chronologii? Ten problem jest wyjątkowo trudny do rozwiązania w zdecentralizowanej sieci peer-to-peer, w której każdy węzeł ma te same uprawnienia, co wszystkie pozostałe. Jak w takiej sieci rozstrzygnąć rozbieżności co do kolejności transakcji bez konieczności ufania komukolwiek? 

Wbrew pozorom nie jest możliwe odwołanie się do jakiegoś obiektywnego miernika czasu poza siecią. Wybór jakiegokolwiek zewnętrznego źródła pomiaru czasu musiałby wiązać się z zaufaniem podmiotowi, który dokonuje pomiaru, kimkolwiek by ten podmiot był. Nie mielibyśmy również żadnej gwarancji, że ten zewnętrzny miernik czasu nie zniknie w przyszłości. Mechanizm rozstrzygający o chronologii musiał zatem znajdować się wewnątrz sieci, być niezależny od jej użytkowników oraz jakichkolwiek zewnętrznych mierników czasu. 

Stworzenie takiego mechanizmu było zadaniem, które wiele osób próbowało rozwiązać bez powodzenia. Satoshi był pierwszym, któremu to się udało. Bitcoin ma własny system odmierzający czas z częstotliwością wykopywanych bloków. Jest on niezależny od czasu, który mierzymy zegarami. Jego jedynym źródłem jest protokół Proof-of-Work i związany z nim probabilistyczny mechanizm znajdowania bloków. System ma również wbudowany mechanizm korygujący w postaci dostosowania trudności wydobycia bloku. Dzięki niemu prawdopodobieństwo wykopania bloku jest co 2016 bloków korygowane do oczekiwanej częstotliwości jednego bloku co 10 minut. 

Zegar Bitcoina tyka z pojawieniem się każdego bloku. Nie ma przy tym znaczenia, że odstępy czasu pomiędzy blokami nie są idealnie równe. Najważniejsze jest, że chronologia transakcji nie pozostawia żadnych wątpliwości, a jej ustalenie nie wymaga polegania na żadnym zewnętrznym źródle mierzenia czasu. Jest to imponujące dokonanie inżynieryjne i kolejny rewolucyjny aspekt Bitcoina.

Odrobina filozofii na koniec

Niezmienność księgi j jej bezwzględna chronologia powodują, że niekiedy mówi się o Bitcoinie, że jest albo prawdą, albo czasem. Nie chcę zamieniać tego felietonu w rozprawkę filozoficzną, lecz sądzę, że takie uzurpacje są do pewnego stopnia uprawnione. Mamy wokół siebie bardzo niewiele źródeł informacji, które dają nam całkowitą pewność swojej prawdziwości, jeżeli w ogóle takie istnieją. Problem ten jest jaskrawo widoczny w świecie internetu, gdzie właściwie z zasady wszystkie źródła należy traktować sceptycznie. Na tym tle Bitcoin jawi się jako źródło zupełnie wyjątkowe, ponieważ gwarantuje ono prawdziwość danych i to bez odwoływania się do zewnętrznych autorytetów, a zatem bez konieczności ufania komukolwiek. Jeśli miałbym wskazać jakiekolwiek inne źródło informacji, które oferuje choćby zbliżone gwarancje prawdziwości danych, to miałbym z tym poważny problem. 

Gracjan Pietras

Autor jest adwokatem i wspólnikiem w kancelarii „Doktór Jerszyński Pietras” w Warszawie. www.djp.pl

Zapraszamy do dalszej dyskusji na Mastodonie lub Twitterze .