Podstawy #3: Jak działa blockchain?

7 746

Blockchain to rejestr, w którym zapisywane są wszystkie transakcje realizowane w sieci Bitcoin. Ma on charakter zdecentralizowany i rozproszony. Oznacza to, że jest dzielony przez wszystkie węzły sieci.

Blockchain jako łańcuch bloków stanowiących zapis kolejnych transakcji bitcoinowych wydaje się gigantycznym przedsięwzięciem. Podstawową wątpliwość, jaka przychodzi do głowy osobie zapoznającej się z tematem blockchaina, można zawrzeć w następującym pytaniu: jak to możliwe, że rejestr wszystkich bitcoinowych transakcji jest nieustannie aktualizowany i rozpowszechniany we wszystkich węzłach sieci Bitcoin mimo braku zarządzającej nim centralnej jednostki?

Podstawową przeszkodą w sprawnym działaniu takiego rejestru wydaje się błyskawiczny wzrost ilości danych, które trzeba nieustannie przetwarzać, kopiować i uzupełniać. I faktycznie w sierpniu 2016 r. blockchain zawierał już 100 GB danych! Taki rejestr wymaga więc sporej ilości miejsca na dysku i nie może być przechowywany przez zdecydowaną większość posiadaczy bitcoinów. Tym bardziej że blockchain wciąż rośnie.

Na szczęście rozwiązanie tego problemu jest proste. Użytkownicy Bitcoina nie muszą ściągać kopii blockchainu na dysk, by móc dokonywać transakcji czy je przeglądać, bo jest ona przechowywana na serwerach i w chmurach. By uzyskać dostęp do pełnego rejestru systemu Bitcoin, wystarczy znaleźć serwis internetowy, który udostępnia wgląd w blockchain, np. BlockExplorer.com. Dostępność tych informacji jest powszechna i nieograniczona. Dzięki temu każdy w dowolnym momencie może sprawdzić, ile bitcoinów jest aktualnie w obiegu, jakie adresy są „najbogatsze” albo które z dokonanych transakcji były najwyższe. Jawność blockchaina oraz fakt, że każda transakcja musi zostać potwierdzona przez sieć, chroni użytkowników Bitcoina przed manipulacjami, np. dwukrotnym wydaniem tych samych bitcoinów.

W warstwie informatycznej Bitcoin oparty jest na kryptografii asymetrycznej – czyli takiej, w której użytkownik posiada powiązane ze sobą dwa klucze: publiczny i prywatny. Adres portfela Bitcoin generowany jest z klucza publicznego, a do autoryzacji transakcji wymagany jest klucz prywatny. Taki portfel nie zawiera danych na temat tego, kto jest jego właścicielem. Stąd bierze się możliwość anonimowego wykonywania przelewów. Dzięki kryptografii asymetrycznej sieć jest
w stanie stwierdzić, że to osoba z dostępem do kluczy prywatnych – najprawdopodobniej właściciel, jeśli bezpiecznie je przechowywał – dokonała transakcji.

Gdy zatem Alice chce przelać bitcoiny Bobowi, wówczas dodaje do nich klucz publiczny Boba oraz podpis własnego klucza prywatnego. Kolejny krok to ogłoszenie transakcji w sieci. Kiedy sieć uzna, że cyfrowe podpisy i liczba bitmonet są poprawne, przelew zostanie zaakceptowany. Ostatnim etapem transakcji jest dodanie informacji o niej do bloku, który już na zawsze zostanie przypisany do Blockchaina. Warto zaznaczyć, że przelewu nie da się cofnąć, a konto nadawcy nie może zostać zablokowane. Oznacza to, że użytkownicy mają całkowitą kontrolę nad swoimi środkami. Jeśli więc w jakiś sposób klucz prywatny zostałby utracony, to już nikt nigdy nie uzyska dostępu do powiązanego z nim portfela.

Dopóki bitcoinowy blockchain wykorzystuje funkcję skrótu RIPEMD160, generującą 160-bitowe skróty, maksymalna liczba adresów w systemie wynosi 2^160, natomiast prawdopodobieństwo, że źle wpisany adres zostanie zaakceptowany wynosi 1 do 2^32.

A oto, jak wygląda przykładowy – choć nieprzypadkowy 🙂 – adres portfela Bitcoin:

1Ross5Np5doy4ajF9iGXzgKaC2Q3Pwwxv

Adresy rozpoczynają się od 1 lub 3, nie zawierają znaków specjalnych, tylko liczby oraz małe i duże litery – z wyjątkiem cyfry 0, dużej litery O, dużej litery I oraz małej litery l. Adres można przedstawić w formie kodu QR, a każdy użytkownik może wygenerować dowolną liczbę adresów, dlatego można a nawet zaleca się używać nowego, jednorazowego adresu dla każdej transakcji.

 

Janusz Zieliński

 

Jest to artykuł z serii p.t. „Podstawy”.

Inne artykuły z tej serii:

Podstawy #1: Czym jest i jak działa Bitcoin?

Podstawy #2: Czym jest blockchain?

Podstawy #4: Na czym polega mining, czyli skąd biorą się bitcoiny?

Podstawy #5: Jak działają przelewy bitcoinowe?

Podstawy #6: Prywatność i Bitcoin

Podstawy #7: Jak trzymać oszczędności w BTC?

  1. 1 Analiza techniczna kryptowalut 15.01.2020 - BTC, BSV, ETC, DASH, Zcash, ChainLink, BCH Analiza techniczna kryptowalut 15.01.2020 - BTC, BSV, ETC, DASH, Zcash, ChainLink, BCH 01:02:04
  2. 2 Analiza techniczna 10.01.2020 - BTC, XRP, Verge, Cosmos, Ethereum, Litecoin, BNB Analiza techniczna 10.01.2020 - BTC, XRP, Verge, Cosmos, Ethereum, Litecoin, BNB 01:10:39
  3. 3 Analiza techniczna 02.01.2020 - BTC, BNB, Cosmos, Icon, Theta Analiza techniczna 02.01.2020 - BTC, BNB, Cosmos, Icon, Theta 01:05:40
  4. 4 Świąteczna Analiza techniczna 24.12.2019 - BTC, ETH, FET, Cosmos, Harmony, Neblio, Świąteczna Analiza techniczna 24.12.2019 - BTC, ETH, FET, Cosmos, Harmony, Neblio, 01:09:52
  5. 5 Analiza techniczna 17.12.2019 - BTC, BNB, IOTA, Chiliz, Enigma, RLC, XTZ, Analiza techniczna 17.12.2019 - BTC, BNB, IOTA, Chiliz, Enigma, RLC, XTZ, 01:00:42
  6. 6 Analiza techniczna 13.12.2019 - BTC, BNB, ETH, LTC, Lisk, Chiliz, XRP Analiza techniczna 13.12.2019 - BTC, BNB, ETH, LTC, Lisk, Chiliz, XRP 55:06
  7. 7 Analiza techniczna 04.12.2019 - BTC, BNB, Nexus, Chiliz, XRP Analiza techniczna 04.12.2019 - BTC, BNB, Nexus, Chiliz, XRP 53:37
  8. 8 Analiza techniczna 28.11.2019 - BTC, BNB, TRON, GAME CREDITS, NEO, BAT Analiza techniczna 28.11.2019 - BTC, BNB, TRON, GAME CREDITS, NEO, BAT 01:02:31
  9. 9 Analiza techniczna 22.11.2019 - BTC, BNB, ETH, LTC, RVN, ETC Analiza techniczna 22.11.2019 - BTC, BNB, ETH, LTC, RVN, ETC 01:04:38
  10. 10 Analiza techniczna 12.11.2019 - BTC, ETH, XRP,  NEO, IOTA, BNB Analiza techniczna 12.11.2019 - BTC, ETH, XRP, NEO, IOTA, BNB 47:45
  11. 11 Analiza techniczna 07.11.2019 - BTC, ETH, LTC, TRON, IOTA, XRP Analiza techniczna 07.11.2019 - BTC, ETH, LTC, TRON, IOTA, XRP 53:54
  12. 12 Analiza techniczna 31.10.2019 - BTC, ETH, XRP, TRON, BNB, IOTA Analiza techniczna 31.10.2019 - BTC, ETH, XRP, TRON, BNB, IOTA 01:07:38
  13. 13 Analiza techniczna 24.10.2019 - BTC, ETH, XRP, TRON, BNB, IOTA Analiza techniczna 24.10.2019 - BTC, ETH, XRP, TRON, BNB, IOTA 58:17
  14. 14 Analiza techniczna 15.10.2019 - BTC, ETH, XRP, TRON, BNB Analiza techniczna 15.10.2019 - BTC, ETH, XRP, TRON, BNB 51:06
  15. 15 Analiza kryptowalut 7.10.2019 - BTC, ETH, LTC, XRP, TRON, NEXUS, BNB Analiza kryptowalut 7.10.2019 - BTC, ETH, LTC, XRP, TRON, NEXUS, BNB 43:50
  16. 16 Analiza kryptowalut 29.09.2019 - TRON, ETC, XRP, BNB Analiza kryptowalut 29.09.2019 - TRON, ETC, XRP, BNB 26:08
  17. 17 Analiza kryptowalut 29.09.2019 - Bitcoin, Tron Analiza kryptowalut 29.09.2019 - Bitcoin, Tron 19:00
  18. 18 Analiza kryptowalut 22.09.2019 - BTC, ETH, BNB, IOTA, LTC, XRP Analiza kryptowalut 22.09.2019 - BTC, ETH, BNB, IOTA, LTC, XRP 52:49
  19. 19 Analiza kryptowalut 16.09 - EOS, IOTA, DASH Analiza kryptowalut 16.09 - EOS, IOTA, DASH 31:44
  20. 20 Analiza kryptowalut 16.09 - Bitcoin, Litecoin, Ethereum Analiza kryptowalut 16.09 - Bitcoin, Litecoin, Ethereum 16:40
  21. 21 Analiza BNB/USD  12.09.2019 Analiza BNB/USD 12.09.2019 36:24
  22. 22 BTC - USD BTC - USD 04:17
  23. 23 BTC/USD BTC/USD 08:02
  24. 24 Dominacja BTC Dominacja BTC 30:05
  25. 25 XBT/USD XBT/USD 30:31
Komentarze