Co to jest łańcuch bloków (blockchain)?

W słowniczku bitcoinowych pojęć dosyć ogólnie przedstawiliśmy podstawowe pojęcia związane z bitcoin. Czas powiedzieć coś więcej na temat najważniejszej rewolucji jakiej dokonał bitcoin. Jest to łańcuch bloków. Łańcuch bloków służy do przechowywania danych, jakimi są transakcje zachodzące w sieci bitcoin. Dzięki temu zapisowi żaden bitcoin nie zostanie wydany podwójnie (double spending), transakcje są publiczne i całą ich historię od samego początku istnienia sieci BTC aż po dziś dzień można przejrzeć w explorerach bloków. Łańcucha bloków jako księgi rachunkowej nie da się podrobić, liczba BTC jest ograniczona i nigdy nie będzie ich więcej, niż ustalona na początku liczba, zaś transakcje zapisane w łańcuchu bloków są nieodwracalne. Obecnie trwają prace, w których planuje się (lub już to się robi) wykorzystanie łańcucha bloków jako księgi rachunkowej w bankowości, jako systemu uwierzytelniania dokumentów i podpisu cyfrowego w administracji państwowej itp. O ile przyszłość samego BTC stoi pod znakiem zapytania, o tyle blockchain znalazł uznanie wśród wszystkich, nawet krytyków BTC.

Podstawowym elementem w łańcuchu bloków jest tzw. blok. Każdy blok w sieci BTC pojawia się średnio co 10 minut. Każdy blok składa się z następujących komponentów:

RozmiarPoleOpis
4 bajtyRozmiar BlokuRozmiar bloku, w bajtach, następuje po końcu bloku
80 bajtówNagłówek blokuKilka danych na temat bloku (opis pod tabelą)
1-9 bajtówLiczba transakcjiLiczba transakcji w danym bloku
ZmiennaTransakcjeTransakcje zapisane w danym bloku

Podstawowe informacje jakie są zapisane w Nagłówku bloku (Block Header) to: wersja protokołu, hash poprzedniego bloku, trudność, czas potrzebny na wydobycie bloku, przynależność do łańcucha (główny, gałąź boczna), Nonce (licznik używany w  algorytmie proof-of-work).

W idealnym modelu średnio co 10 minut pojawia się nowy blok. Bloki następują po sobie jeden po drugim i każdy z nich zawiera pakiet danych przedstawiony w powyższej tabeli. Obrazowo wygląda to mniej więcej tak:

Elementem bloku, który gwarantuje nam niepowtarzalność transakcji jest tzw. hash bloku. Hash bloku otrzymuje się wg algorytmu nazywanego proof-of-work . Za każdym razem, gdy hash bloku zostaje znaleziony, w sieci pojawia się nowy blok. Argumentem wejściowym dla proof-of-work jest Block Header zestawu danych będących kandydatem na nowy blok. Jak wiemy w Nagłówku mieści się hash poprzedniego bloku. Próba zmiany jednego bloku pociąga za sobą, zmianę całego następującego po nim łańcucha. Tak podpisany blok przy współczesnej technologii i mocy obliczeniowej komputerów jest niemożliwy do podrobienia (trzeba by było zmienić historię całego łańcucha bloków), a co za tym idzie nie można podrobić (czy w jakikolwiek sposób zmienić) danych przechowywanych w ten sposób.To gwarantuje nam niepowtarzalność każdego bloku i transakcji, a także ich nieodwracalność.  Dlatego blockchain jest tak niezwykle atrakcyjną technologią z punktu widzenia banków i administracji państwowej. Dokumenty przechowywane w ten sposób i zapisy księgowe są odporne na podrobienie i wszelkiego rodzaju manipulacje, jakie mają miejsce w świecie tradycyjnej dokumentacji.

Może Ci się również spodoba

1 Odpowiedź

  1. 20 grudnia 2015

    […] artykule dotyczącym łańcucha bloków pisaliśmy o tym, że każdy blok ma generowany specjalny hash. Operacja ta nazywa się proof of […]

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *