Blok
Paczka danych zaakceptowana przez blockchain, zwykle zawierająca transakcje, metadane i odwołanie do poprzedniego bloku.
Czym jest blok
Blok to podstawowa jednostka historii w blockchainie. Zamiast zapisywać każdą transakcję jako osobny fragment historii, sieć grupuje transakcje i inne dane w bloki.
Każdy poprawny blok musi spełniać reguły protokołu. Węzły sprawdzają m.in. poprawność transakcji, podpisy, salda, strukturę danych i to, czy blok pasuje do poprzedniej historii.
Gdy blok zostanie zaakceptowany, staje się kolejnym krokiem we wspólnej historii sieci. Następne bloki budują na nim, przez co cofnięcie starego fragmentu historii staje się coraz trudniejsze.
Co zwykle znajduje się w bloku
- Nagłówek bloku
- Metadane potrzebne do identyfikacji bloku i sprawdzenia, gdzie pasuje w łańcuchu.
- Odwołanie do poprzedniego bloku
- Hash poprzedniego bloku, który łączy bloki w chronologiczną sekwencję.
- Transakcje
- Działania użytkowników albo aplikacji, które sieć ma zapisać w historii.
- Merkle root
- Kryptograficzne podsumowanie transakcji lub danych zawartych w bloku.
- Dane konsensusu
- Informacje zależne od sieci, na przykład proof of work albo dane walidatora.
Dlaczego bloki tworzą łańcuch
Blok zawiera odniesienie do poprzedniego bloku. To odniesienie zwykle ma postać hasha, czyli kryptograficznego identyfikatora wyliczonego z danych bloku.
Jeśli ktoś zmieni stary blok, zmieni się jego hash. Wtedy kolejne bloki przestaną poprawnie wskazywać na wcześniejszą historię.
Właśnie dlatego blockchain jest strukturą łańcuchową. Każdy nowy blok wzmacnia praktyczną trudność zmiany poprzednich bloków.
Co blok oznacza dla użytkownika
Użytkownik zwykle spotyka bloki przez potwierdzenia transakcji, opłaty i czas oczekiwania.
- Transakcja zostaje potwierdzona dopiero po włączeniu do bloku.
- Kolejne bloki po twojej transakcji zwykle zwiększają jej bezpieczeństwo.
- Ograniczona pojemność bloków tworzy konkurencję o miejsce.
- Gdy popyt na miejsce w bloku rośnie, opłaty zwykle też rosną.
- Różne sieci mają różny czas bloków i różne reguły finality.
Blok w Bitcoinie i Ethereum
W Bitcoinie blok jest ściśle związany z proof of work. Miner buduje blok, szuka poprawnego hasha nagłówka i publikuje blok, gdy znajdzie wynik spełniający aktualny cel trudności.
W Ethereum po The Merge bloki tworzą walidatorzy w systemie proof of stake. Czas i role są powiązane ze slotami, proposerami i warstwą konsensusu.
Słowo „blok” pojawia się w obu sieciach, ale szczegóły produkcji i finalności są inne. Dlatego szybki czas bloku nie zawsze oznacza taką samą pewność rozliczenia.
Przykład z perspektywy transakcji
- Wysyłasz transakcję z portfela.
- Transakcja trafia do sieci i czeka na włączenie do bloku.
- Producent bloku wybiera transakcje i tworzy kandydat na blok.
- Węzły sprawdzają, czy blok jest poprawny.
- Po zaakceptowaniu bloku transakcja staje się częścią historii sieci.
Najczęstsze błędne założenia
- Blok nie jest tym samym co finality.
- Transakcja w bloku nie zawsze jest natychmiast nieodwracalna.
- Blok nie jest tylko workiem transakcji. Ważna jest też struktura zobowiązań i reguły konsensusu.
- Szybsze bloki nie muszą oznaczać bezpieczniejszego rozliczenia.
- Różne blockchainy mogą używać słowa „blok” dla struktur o innych właściwościach.
Blok to jednostka historii
Jeśli transakcja trafiła do bloku, sieć zapisała ją w aktualnej wersji historii. Poziom pewności zależy jeszcze od kolejnych bloków, finality i reguł konkretnego blockchaina.
