675 / 736BK59

Bitcoin: A Work in Progress

Sjors Provoost: co kryje się za zwykłą płatnością bitcoinem

Skopiowanie adresu trwa chwilę. Za tym prostym gestem stoją jednak reguły, wykrywanie błędów i praca programistów. Książka Provoosta pokazuje, dlaczego Bitcoin wymaga ciągłej opieki technicznej.

Bitcoin: A Work in Progress to książka programisty Sjorsa Provoosta o technicznym rozwoju Bitcoina. Wyjaśnia problemy zwykle niewidoczne dla użytkownika: jak portfel odczytuje adres, skąd węzeł czerpie wiadomości z sieci i dlaczego nawet drobna zmiana wymaga ostrożności.

Możesz korzystać z Bitcoina, nie znając jego kodu. Nie oznacza to jednak, że nie ma już czego poprawiać. Sjors Provoost, współtwórca Bitcoin Core, przybliża pracę umożliwiającą rozwój sieci. Pierwsze wydanie papierowe ukazało się nakładem Purple Dunes w 2022 roku. Książka omawia techniczne pytania swojej epoki; późniejsza zmiana plików źródłowych nie przesuwa daty pierwszej publikacji. [1] [2]

Wyobraź sobie, że znajomy przesyła adres, a ty wklejasz go do portfela. Dla ciebie zaczyna się płatność. Programista musi też pomyśleć, jak wykryć literówkę i jednoznacznie przekazać portfelowi, dokąd przygotować płatność. Ten nasz własny przykład pozwala podejść do książki bez umiejętności programowania. Jej treść prowadzi od adresów przez komunikację węzłów do zmian reguł. Trudniejsze rozdziały łatwiej czytać po zrozumieniu tych podstaw. [2]

Adres jest zapisem, na podstawie którego portfel tworzy warunki późniejszego wydania danej kwoty. Warunki trafiają do wyjścia transakcji, czyli nowo utworzonej części płatności. Aby później ją wydać, trzeba wykazać ich spełnienie, zazwyczaj prawidłowym podpisem cyfrowym. Sieć nie musi więc prowadzić konta bankowego na twoje nazwisko. Rozdział Provoosta pomaga odróżnić adres wymieniany między ludźmi od reguł sprawdzanych przez komputery. [3]

Adres zawiera sumę kontrolną, która pomaga portfelowi wykrywać błędy przepisywania. Nie ustala jednak, do kogo należy adres. W naszym przykładzie można omyłkowo wkleić poprawnie zapisany adres innej osoby i przejść kontrolę. Dlatego trzeba sprawdzić także zamierzonego odbiorcę. Jeśli portfel zgłasza błąd, bezpieczniej ponownie uzyskać właściwy adres niż zgadywać, który znak poprawić. [3] [4]

Teraz szczegół techniczny: Bech32 i Bech32m to formaty kodowania adresów. BIP 350 przewiduje Bech32 dla natywnych adresów witness w wersji 0, a Bech32m dla wersji od 1 do 16. Wersja witness to liczba rozróżniająca zasady sprawdzania tego typu wyjścia. Nowszy format usuwa słabość sumy kontrolnej przy wstawianiu znaków. Nie oznacza to unieważnienia wszystkich starszych adresów ani potrzeby ręcznego ich przeliczania. [4]

Węzeł to program połączony z siecią Bitcoin; Full Node sam sprawdza reguły transakcji i bloków. Nowe dane musi jednak skądś otrzymywać. Podczas Eclipse Attack napastnik kontroluje wszystkie jego połączenia i może ukryć część wydarzeń w sieci. Węzeł nadal odrzuca nieprawidłowe bloki, ale dysponuje niepełną informacją. Książka pokazuje ważną różnicę: sprawdzanie otrzymanych danych nie oznacza dostępu do wszystkich potrzebnych danych. [5]

Napastnik nie może po prostu narzucić odizolowanemu węzłowi dowolnego bloku. Aby przedstawić prawidłowe potwierdzenie swojego przelewu, potrzebuje też prawidłowego bloku spełniającego Proof of Work, czyli wymaganego obliczeniowego dowodu pracy. Po odzyskaniu połączenia węzeł może odkryć inną prawidłową gałąź z większą skumulowaną pracą. Przejdzie na nią, a jeśli nie ma w niej pierwotnej płatności, wcześniejsze potwierdzenie przestanie obowiązywać. Bezpieczeństwo obejmuje więc sprawdzanie reguł i odporne połączenia z siecią. [5]

Zacznij od pytania znanego z własnego doświadczenia, na przykład o adres. Następnie śledź, co umożliwia rozwiązanie i gdzie są jego granice. Ten przegląd opiera się na danych wydawniczych, oficjalnym spisie treści, wybranych publicznych fragmentach o adresach i Eclipse Attack oraz BIP 350. Nie jest recenzją całej książki ani podcastu, na którym ją oparto. Historyczne parametry sieci i ówczesny stan rozwoju trzeba odróżniać od dzisiejszego oprogramowania. [1] [2] [3] [4] [5]

Pełniejszy obraz uzyskasz, czytając to hasło razem z Bitcoin Core, Taproot, Reguły konsensusu, Portfel.

01Czy trzeba umieć programować, żeby czegoś się nauczyć z książki?

Do zrozumienia pytań o adresy czy izolację węzła programowanie nie jest potrzebne. Książka zawiera jednak również zaawansowane rozdziały techniczne. Zacznij od znajomej sytuacji i stopniowo dodawaj szczegóły; ten przegląd wyjaśnia tylko wybrane tematy.

02Czy poprawny adres i własny Full Node gwarantują bezpieczną płatność?

Rozwiązują różne problemy. Suma kontrolna nie sprawdza odbiorcy, a własny węzeł nie usuwa potrzeby odbierania danych z sieci. Weryfikacja adresu, przestrzeganie reguł i potwierdzenie w łańcuchu są powiązane, lecz nie zastępują się nawzajem.

DOC · 001Sjors Provoost — paperback copyrightŹródło pierwotne DOC · 002Bitcoin: A Work in Progress — official contentsŹródło pierwotne DOC · 003Sjors Provoost — What Is a Bitcoin Address?Źródło pierwotne DOC · 004BIP 350 — Bech32mŹródło pierwotne DOC · 005Sjors Provoost — Eclipse AttacksŹródło pierwotne
Zaktualizowano: Najpierw źródła · To nie jest porada inwestycyjna