Podstawy #3: Jak działa blockchain?

Blockchain to rejestr, w którym zapisywane są wszystkie transakcje realizowane w sieci Bitcoin. Ma on charakter zdecentralizowany i rozproszony. Oznacza to, że jest dzielony przez wszystkie węzły sieci.

Blockchain jako łańcuch bloków stanowiących zapis kolejnych transakcji bitcoinowych wydaje się gigantycznym przedsięwzięciem. Podstawową wątpliwość, jaka przychodzi do głowy osobie zapoznającej się z tematem blockchaina, można zawrzeć w następującym pytaniu: jak to możliwe, że rejestr wszystkich bitcoinowych transakcji jest nieustannie aktualizowany i rozpowszechniany we wszystkich węzłach sieci Bitcoin mimo braku zarządzającej nim centralnej jednostki?

Podstawową przeszkodą w sprawnym działaniu takiego rejestru wydaje się błyskawiczny wzrost ilości danych, które trzeba nieustannie przetwarzać, kopiować i uzupełniać. I faktycznie w sierpniu 2016 r. blockchain zawierał już 100 GB danych! Taki rejestr wymaga więc sporej ilości miejsca na dysku i nie może być przechowywany przez zdecydowaną większość posiadaczy bitcoinów. Tym bardziej że blockchain wciąż rośnie.

Na szczęście rozwiązanie tego problemu jest proste. Użytkownicy Bitcoina nie muszą ściągać kopii blockchainu na dysk, by móc dokonywać transakcji czy je przeglądać, bo jest ona przechowywana na serwerach i w chmurach. By uzyskać dostęp do pełnego rejestru systemu Bitcoin, wystarczy znaleźć serwis internetowy, który udostępnia wgląd w blockchain, np. BlockExplorer.com. Dostępność tych informacji jest powszechna i nieograniczona. Dzięki temu każdy w dowolnym momencie może sprawdzić, ile bitcoinów jest aktualnie w obiegu, jakie adresy są „najbogatsze” albo które z dokonanych transakcji były najwyższe. Jawność blockchaina oraz fakt, że każda transakcja musi zostać potwierdzona przez sieć, chroni użytkowników Bitcoina przed manipulacjami, np. dwukrotnym wydaniem tych samych bitcoinów.

W warstwie informatycznej Bitcoin oparty jest na kryptografii asymetrycznej – czyli takiej, w której użytkownik posiada powiązane ze sobą dwa klucze: publiczny i prywatny. Adres portfela Bitcoin generowany jest z klucza publicznego, a do autoryzacji transakcji wymagany jest klucz prywatny. Taki portfel nie zawiera danych na temat tego, kto jest jego właścicielem. Stąd bierze się możliwość anonimowego wykonywania przelewów. Dzięki kryptografii asymetrycznej sieć jest
w stanie stwierdzić, że to osoba z dostępem do kluczy prywatnych – najprawdopodobniej właściciel, jeśli bezpiecznie je przechowywał – dokonała transakcji.

Gdy zatem Alice chce przelać bitcoiny Bobowi, wówczas dodaje do nich klucz publiczny Boba oraz podpis własnego klucza prywatnego. Kolejny krok to ogłoszenie transakcji w sieci. Kiedy sieć uzna, że cyfrowe podpisy i liczba bitmonet są poprawne, przelew zostanie zaakceptowany. Ostatnim etapem transakcji jest dodanie informacji o niej do bloku, który już na zawsze zostanie przypisany do Blockchaina. Warto zaznaczyć, że przelewu nie da się cofnąć, a konto nadawcy nie może zostać zablokowane. Oznacza to, że użytkownicy mają całkowitą kontrolę nad swoimi środkami. Jeśli więc w jakiś sposób klucz prywatny zostałby utracony, to już nikt nigdy nie uzyska dostępu do powiązanego z nim portfela.

Dopóki bitcoinowy blockchain wykorzystuje funkcję skrótu RIPEMD160, generującą 160-bitowe skróty, maksymalna liczba adresów w systemie wynosi 2^160, natomiast prawdopodobieństwo, że źle wpisany adres zostanie zaakceptowany wynosi 1 do 2^32.

A oto, jak wygląda przykładowy – choć nieprzypadkowy 🙂 – adres portfela Bitcoin:

1Ross5Np5doy4ajF9iGXzgKaC2Q3Pwwxv

Adresy rozpoczynają się od 1 lub 3, nie zawierają znaków specjalnych, tylko liczby oraz małe i duże litery – z wyjątkiem cyfry 0, dużej litery O, dużej litery I oraz małej litery l. Adres można przedstawić w formie kodu QR, a każdy użytkownik może wygenerować dowolną liczbę adresów, dlatego można a nawet zaleca się używać nowego, jednorazowego adresu dla każdej transakcji.

 

Janusz Zieliński

 

Jest to artykuł z serii p.t. „Podstawy”.

Inne artykuły z tej serii:

Podstawy #1: Czym jest i jak działa Bitcoin?

Podstawy #2: Czym jest blockchain?

Podstawy #4: Na czym polega mining, czyli skąd biorą się bitcoiny?

Podstawy #5: Jak działają przelewy bitcoinowe?

Podstawy #6: Prywatność i Bitcoin

Podstawy #7: Jak trzymać oszczędności w BTC?

Komentarze