Reklama

Quark

Tajemnice Blockchaina część 1 – Genesis Block

16 marca 2014 | 19:17

Łańcuch bloków jest rdzeniem kręgowym Bitcoina, który podtrzymuje go przy życiu. Jest niewątpliwie jednym z najpiękniejszych wynalazków XXI wieku, kryptograficzną perłą. To właśnie dzięki blockchainowi opracowanemu przez Satoshiego i stojącą za tym kryptografią sieć jest tak bezpieczna, a transakcje niemożliwe do odwrócenia i oszukania. Ale łańcuch bloków to nie tylko kryptografia i baza danych Bitcoina z zapisem wszystkich transakcji. Wraz z ewolucją Bitcoina blockchain stał się żywym organizmem w którym zapisane są informacje, wiadomości, a nawet… obrazy.

Bitcoin rozwiązał problem który wydawał się nimożliwy do rozwiązania wśród informatyków. Jak sprawić, żeby grupa osób która nie ufa sobie nawzajem wypracowała porozumienie. Rezultaty są niewiarygodne.

Od pierwszego bloku – bloku genezy – regularnie co około 10 minut górnicy zbierają wszystkie transakcje w sieci w grupę i zapisują je w nowym bloku. Każdy blok zawiera sumę kontrolną bloku poprzedniego, więc jakakolwiek, chociażby najmniejsza zmiana w historii  transakcji skutkowałaby rozerwaniem łańcucha i wykryciem oszustwa. Przez ponad pięć lat działania systemu górnicy wydobyli  już prawie 291000 bloków.

Około 15GB waży baza danych, która co około dziesięć minut jest aktualizowana przez tysiące osób na całym świecie,   które posiadają zainstalowane oryginalne oprogramowanie Bitcoin-Qt i są podłączone do sieci. Oprogramowanie to od kiedy zostało upublicznione przez Satoshiego Nakamoto 9 listopada 2008 roku pobrano już  5 399 166 razy (Polska znajduje się na 9 miejscu na liście z liczbą pobrań 123,473).

Węzły Bitcoin, źródło: http://getaddr.bitnodes.io/
Węzły Bitcoin, źródło: http://getaddr.bitnodes.io/

Każdy nowo wygenerowany blok na samym początku zawiera pakiet nowych monet, które oddawane są górnikowi jako wynagrodzenie za podjętą pracę. Na początku każdy blok zawierał 50 nowych monet, ale ilość ta zmniejsza się o połowę co około cztery lata – 210000 bloków. Zmiana taka miała miejsce 28 listopada 2012, o godzinie 15:24:38. Od tamtego czasu każdy nowy blok zawiera 25 monet.

Bitcoiny z bloku genezy nie mogą zostać wydane

Pierwsze Bitcoiny znajdują się pod adresem 12c6DSiU4Rq3P4ZxziKxzrL5LmMBrzjrJX
Pierwsze Bitcoiny znajdują się pod adresem 1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa 

Kiedy Satoshi stworzył oprogramowanie Bitcoin przechowywało ono bazę danych bloków i transakcji. W momencie startu monety, kiedy baza danych bloków jest pusta oprogramowanie wstawia do bazy danych blok genezy. Moment ten jest narodzinami nowej waluty. Na początku, kiedy pierwsze monety zostały wygenerowane system przesłał je pod adres 1A1z…

Protokół Bitcoin działa w ten sposób, że kiedy chcemy wydać Bitcoiny, podpisujemy transakcję kluczem prywatnym, a system sprawdza w blockchainie autentyczność monet śledząc całą historię transakcji aż do momentu ich wygenerowania. Pierwsze Bitcoiny nie są zapisane w bazie danych transakcji, więc mimo tego, że widzimy monety w blockchainie, to nie możemy ich wydać. Pierwsza transakcja przez program nie jest uważana za prawdziwą.

Nowsze wersje oprogramowania zapisują bazy danych bloków i transakcji w zupełnie inny sposób, ale jak już wcześniej napisałem – jakakolwiek zmiana w łańcuchu bloków jest niemożliwa, więc pierwsze Bitcoiny na zawsze pozostaną tylko dziwnym przypadkiem w kodzie. Mogło to być zwykłym przeoczeniem, ale bardziej prawdopodobną opcją jest to, że Satoshi umyślnie chciał, żeby transakcja ta pozostała niemożliwa do wydania. Nikt przed zniknięciem Satoshiego nie zdawał sobie z tego sprawy, dlatego nie było możliwości spytania go o to.

Blok genezy zawiera ukrytą wiadomość

Od Satoshiego. Genesis Block zapisany w systemie szesnastkowym (heksadecymalnym) wygląda tak:

genesis_hex

Rozkładając to na czynniki widać budowę bloku: 01000000 to wersja, następnie ciąg zer to numer bloku poprzedniego, znacznik czasu, ilość transakcji, Bitcoinów itd… krótko mówiąc normalny blok, z tym wyjątkiem, że jest tam zakodowana wiadomość:

The Times 03/Jan/2009 Chancellor on brink of second bailout for banks

Odnosi się ona do artykułu z The Times:

Cytat z tej gazety udowadnia, że Satoshi nie wykopał żadnych bloków przed ogłoszeniem Bitcoina. Zdarza się tak, że twórcy Altcoinów wydobywają część bloków jeszcze przed startem waluty, z Bitcoinem tak nie było. Oczywiście bloki zawierają znaczniki czasu, ale na wstępnym etapie działania waluty kiedy ilość węzłów jest niewielka i szybkość sieci znikoma była możliwość manipulacji znacznikami czasu. Satoshi zapewnił nas, że nic takiego nie miało miejsca.

Nagłówek został użyty do wygenerowania klucza prywatnego

Sami możecie to sprawdzić wpisując „The Times 03/Jan/2009 Chancellor on brink of second bailout for banks” do dowolnego kalkulatora funkcji skrótu SHA-256. Otrzymacie klucz prywatny:

a6d72baa3db900b03e70df880e503e9164013b4d9a470853edc115776323a098

Który odpowiada adresowi Bitcoin:

1Nbm3JoDpwS4HRw9WmHaKGAzaeSKXoQ6Ej

Adres ten został użyty 18 września 2012 roku, wpłynęło na niego 0.037 BTC, które z oczywistych powodów (znany klucz prywatny) zostały od razu przesłane pod inny adres.

Innym znanym przypadkiem jest klucz wygenerowany z tekstu „correct horse battery staple„. Jeśli wy zdecydujecie się wygenerować adres w podobny sposób (brainwallet) to wybierzcie oryginalną i ciężką do złamania nazwę. Przykładowo fraza „Ala ma kota” została złamana w… dwa dni.

a
Bit-els z forum.bitcoin.pl

Nie są to wszystkie tajemnice blockchaina – tych jest jeszcze baaardzo dużo i z pewnością napiszę o tym jeszcze kilka wpisów. W kolejnym będzie między innymi o takich obrazach ukrytych w łańcuchu bloków:

bernanke

Reklama

Zonda - Największa Polska giełda cyfrowych walut