Co to jest Wysokość bloku

star 5.0 (4 Oceny)
Oceń artykuł

Blockchain to sekwencja bloków transakcji, które są ze sobą powiązane w odwrotnej kolejności. Oznacza to, że każdy blok ma łącze do bloku poprzedzającego go. Blockchain jest często przedstawiany jako pionowy stos bloków spoczywających jeden na drugim. Najniższy z nich, który służy jako podstawa, nazywany jest blokiem podstawowym (genesis block). Takie wizualne przedstawienie technologii w postaci ułożonych w stos bloków zachęca do używania terminu „wysokość” na oznaczenie odległości między blokiem podstawowym a kolejnymi blokami oraz terminu „góra” w odniesieniu do ostatniego utworzonego bloku.


Każdy blok jest identyfikowany przez hash generowany przez funkcję kryptograficzną. Każdy blok, inny niż blok główny, ma odniesienie do bloku poprzedzającego (nadrzędnego) poprzez pole „hash bloku poprzedzającego” w swoim nagłówku. Innymi słowy, każdy nagłówek bloku zawiera hash swojego rodzica. Chociaż każdy blok transakcji ma tylko jeden blok nadrzędny, może mieć kilka bloków potomnych w pewnym okresie czasu. Wszystkie one odnoszą się do tego samego bloku i mają ten sam skrót w polu „poprzedni skrót bloku”.

Występowanie kilku bloków podrzędnych ma miejsce w sytuacji „rozgałęzienia”, gdy są one prawie jednocześnie tworzone przez różnych członków systemu. Jednak ze wszystkich tych bloków tylko jeden jest następnie akceptowany jako część łańcucha i „rozgałęzienie” znika. Pole „poprzedzający skrót bloku” znajdujące się w nagłówku ma wpływ na bieżący skrót bloku dziecka. Oznacza to, że jeśli skrót bloku nadrzędnego zostanie dostosowany, dostosowany zostanie również skrót bloku dziecka. Jeśli blok nadrzędny otrzyma którąkolwiek z poprawek bloku nadrzędnego, poprawiany jest również jego hash. Po uaktualnieniu skrótu bloku rodzica należy uaktualnić pole „blok poprzedzający” w skrócie dziecka. Korekta skrótu bloku dziecka powoduje korektę tego pola w bloku wnuka, co z kolei prowadzi do korekty skrótu bloku wnuka itd. Efekt ten gwarantuje, że jeśli w łańcuchu za danym blokiem powstało wiele generacji, to nie da się go skorygować bez poprawienia wszystkich kolejnych bloków. Ponieważ takie przeliczenie wymagałoby ogromnej ilości obliczeń, duża wysokość bloku zapobiega zmianom w długim łańcuchu, zabezpieczając w ten sposób kryptowaluty.

Mówiąc prościej – wysokość bloku reprezentuje liczbę bloków, które zostały potwierdzone w całej historii danej sieci blockchain – od bloku genezy (lub bloku zerowego) do najnowszego. W przeciwieństwie do bloku genezy, wszystkie pozostałe bloki zawierają odniesienie (hash) do bloku, który pojawił się bezpośrednio przed nim, a wysokość bloku to numer każdego bloku w tej sekwencji. Zatem wysokość bloku genezy to #0, a wysokość bloku pierwszego wydobytego bloku to #1.


Ponieważ blockchainy składają się z bloków, do ich opisania używa się czasem analogii, wyobrażając sobie blockchainy jako stosy klocków lego. Nie ma sposobu na usunięcie klocka lego ze środka stosu bez naruszenia całej struktury – nie jest to tak jak w Jenga, gdzie można wysunąć jeden klocek bez naruszenia pozostałych.

Dlatego wysokość bloku można obliczyć na podstawie czasu, jaki upłynął od uruchomienia blockchaina, podzielonego przez średni czas trwania bloku w łańcuchu. Innymi słowy, na wysokość bloku składa się liczba bloków wydobytych (lub zatwierdzonych) od momentu utworzenia danej sieci blockchain.

Teoretycznie średni czas bloku powinien być w przybliżeniu równy docelowemu czasowi bloku, w oparciu o poziom trudności wydobycia. Trudność wydobycia w przypadku wielu blockchainów dostosowuje się w oparciu o ilość łącznego hashrate’u, którym dysponuje sieć, tak aby okres bloków mógł pozostać mniej więcej stały. W przypadku Bitcoina c zas trwania bloku wynosi średnio 10 minut. W innych przypadkach oczekiwany czas trwania bloku może się wahać w zależności od ilości zasobów obliczeniowych, które górnicy przeznaczyli dla danej sieci.

Nie należy bezpośrednio porównywać wysokości bloków między różnymi blockchainami, ponieważ ich średni okres blokowania i współczynniki hashowania są różne. Kopia blockchaina może jednak zostać uznana za „niezsynchronizowaną”, jeśli wysokość bloku w lokalnej kopii różni się od wysokości bloku akceptowanej globalnie. Wysokość bloku jest zatem użyteczną statystyką pozwalającą sprawdzić, czy kopia danego blockchaina jest aktualna, czy nie.

Wysokość blockchaina jako klucz do stabilności technologii blockchain

Blockchain można porównać do formacji geologicznej składającej się z kilku warstw. Górne mogą z czasem ulegać zmianom, a nawet zostać zdmuchnięte przez wiatr, zanim zdążą osiąść. Jeśli jednak zejdzie się kilka metrów głębiej, stabilność warstw geologicznych jeszcze bardziej wzrasta. A jeśli wykopie się dziurę na głębokość kilkuset metrów, można znaleźć niezmienioną od tysięcy lat migawkę minionych epok. W technologii blockchain możliwe jest skorygowanie kilku górnych bloków, gdy dokonywane są ponowne obliczenia ze względu na rozgałęziające się łańcuchy, które są jak kilka centymetrów wierzchniej warstwy gleby. Jednak w miarę zagłębiania się w blockchain prawdopodobieństwo wystąpienia korekt stale maleje. W odległości stu bloków od szczytu stabilność znacznie wzrasta. Jeśli chodzi o głębokość kilku tysięcy bloków, to w tym momencie blockchain ma już ustaloną historię dla wszystkich celów praktycznych. Protokół zapewnia możliwość cofnięcia łańcucha w dowolnym momencie przy użyciu dłuższego łańcucha, więc prawdopodobieństwo cofnięcia bloku jest zawsze niezerowe, ale z czasem maleje, aż stanie się pomijalne.

Różnice między wysokością haszu a wysokością bloku

Różnica między haszem a wysokością bloku Hasz bloku służy jako jego główny identyfikator. Hash może być obliczany niezależnie przez dowolny węzeł w sieci poprzez haszowanie nagłówka bloku. Należy pamiętać, że skrót bloku nie jest uwzględniany w strukturze bloku ani podczas przesyłania go przez sieć, ani podczas przechowywania go w bazie danych jako części łańcucha. Skrót bloku jest obliczany przez każdy węzeł po otrzymaniu bloku z sieci. Skrót bloku może być przechowywany w osobnej tabeli jako część metadanych bloku w celu ułatwienia indeksowania i przyspieszenia odczytu bloków z dysku twardego. Wysokość bloku to drugi sposób określania pozycji bloku w łańcuchu. Blok podstawowy ma wysokość 0. W ciągu pierwszych pięciu lat istnienia bitcoina maksymalna wysokość bloku wynosiła około 280 000. Oznacza to, że każdy blok można zidentyfikować na dwa sposoby: na podstawie jego skrótu (hash) i na podstawie jego wysokości. Jednak skrót służy jako unikatowy identyfikator, podczas gdy wysokość bloku nie. Chociaż jeden blok będzie miał stałą wysokość we wszystkich przypadkach, liczba bloków o tej samej wysokości może wynosić dwa lub więcej. Taka sytuacja powstaje w wyniku rozgałęzienia łańcucha.

star 5.0 (4 Oceny)
Oceń artykuł

Komentarzy (1)

Sammie
Sammie
2022-09-08 09:14:11
Neat blog!
Zostaw odpowiedź
Inni użytkownicy zobaczą Twoje imię, e-mail pozostanie prywatny.
Pole obowiązkowe arrow
Pole obowiązkowe arrow
Pole obowiązkowe arrow
Klikając przycisk "Wyślij", wyrażam zgodę na przetwarzanie danych osobowych i akceptuję
arrow
Twoja wiadomość została pomyślnie wysłana!
Nasz specjalista wkrótce się z Tobą skontaktuje i udzieli odpowiedzi na interesujące Cię pytanie.