Blockchain

Z Bitcoin Wiki
Skocz do: nawigacja, szukaj

Blok chain (wymawia się jako "blok czejn") publiczna baza danych o wszystkich transakcjach w systemie kiedykolwiek zrealizowanych przez Bitcoin. Za pomocą tej bazy danych, każdy użytkownik ma możliwość dowiedzieć się ile Bitcoinów należało do konkretnego adresu w pewnym okresie czasu. Bazy danych utrzymują się na skutek rozproszonych wysiłków wielu majnierów.

Zasada konstrukcji[edytuj]

Każdy stworzony blok zawiera hash poprzednigo. Wten sposób składa się łańcuch bloków który pochodzi z tzw genesis block (pierwszego bloku w systemie Bitcoin) do ostatniego bloku znalezionego przez system. Edycja informacji w bloku, który jest już w sieci od dłuższego czasu nie jest praktycznie, bo w tym przypadku jest trzeba również edytować informację we wszystkich kolejnych blokach. Dzięki tym właściwościom, double-spending ataki (ponowne wydatki już spędzonych funduszów) w Bitcoin jest praktycznie niewykonalne.

Uczciwe majnierzy zawsze budują swój blok na ostatnim istniejączym, i odnosi się do niego. "Długość łańcucha" jest obliczona na podstawie całkowitej skomplikowaności łańcucha. Przedłużenie łańcucha jest czynnym tylko wtedy, gdy posiada informacje o wszystkich wcześniejszych ogniwach łańcucha i zaczyna się od genesis block.

Forki w block chain[edytuj]

Każdy blok łańcucha ma tylko jedną ścieżkę do genesis bloku. Po kolei, od genesis block łańcuch może być podzielony na kilka, tworząc fork ( English , " widelec ") . Forki, składający się z jednego bloku, jest dość szeroko rozpowszechnione. Powstają się, gdy wiele węzłów "znależły" blok z różnicą kilku sekund. Gdy tak się stanie, inne węzły zaczynają budować dalej block chain na bloku , który przyszedł do nich w pierwszej kolejności. Kiedy jeden z dwóch bloków pobiera przedłużenie – jego łańcuch jest głównym w block chain, ponieważ jest dłuższy.

Bloki , które nie są częścią głównego block chain nie mają zastosowania. Tuż za nimi nie jest pobierana nagrodę. Bloki te są nazywane "orphan-bloki" ( "orpany "). Ponieważ w bloku może być zesłanie tylko do jednego poprzedniego bloku, połączenie dwóch różnych łańcuchów nie jest możliwe.

Zobacz też[edytuj]