423 / 736SONG

Jimmy Song

Autor Programming Bitcoin i nauczyciel programowania

Co dzieje się w portfelu po naciśnięciu Wyślij? Jimmy Song uczy rozumienia kolejnych kroków przez ich samodzielne programowanie. Programming Bitcoin łączy matematykę z konkretną transakcją i pokazuje, co właściwie znaczy coś zweryfikować.

Jimmy Song jest programistą, wykładowcą i autorem Programming Bitcoin. Na przykładach w Pythonie wyjaśnia transakcje, klucze i podpisy cyfrowe Bitcoina. Zamiast polegać na gotowej aplikacji, czytelnik stopniowo tworzy małe narzędzia i obserwuje wyniki. Song publikuje również poglądy na pieniądz i społeczeństwo; wymagają one innego rodzaju dowodów niż ćwiczenie programistyczne.

Biografia Songa opisuje pracę programistyczną i seminaria Programming Blockchain. O’Reilly wskazuje go jako autora Programming Bitcoin. Łączy je uczenie przez próbę: sama nazwa zasady nie czyni jej zrozumiałą. Programując ją, trzeba wiedzieć, jakie dane otrzyma i co powinna zwrócić. Określenie programista nie oznacza jednak automatycznie opiekuna Bitcoin Core ani prawa do ustalania reguł sieci za innych użytkowników. [1] [2]

Programming Bitcoin ukazało się w O’Reilly w 2019 roku. Zaczyna od ciał skończonych, czyli rachunków w ograniczonym zbiorze elementów według ścisłych zasad, oraz krzywych eliptycznych, matematycznej podstawy omawianych podpisów. Dalej są klucze, podpisy, transakcje i wiadomości między komputerami. Czytelnik tworzy bibliotekę Python, zestaw funkcji do wykorzystania w innych programach. Nie musi po prostu wierzyć, że podpis działa: może prześledzić obliczenia. Poznaje wnętrze portfela, a nie tylko jego przyciski. [2]

Wyobraźmy sobie program odbierający transakcję. Najpierw rozpoznaje jej części; taki rozbiór danych nazywamy parsowaniem. Zwykłe wejście wskazuje wyjście wcześniejszej transakcji, czyli konkretną kwotę z warunkami wydania. Następnie trzeba sprawdzić te warunki, na przykład wymagany podpis. Nawet poprawny podpis sam nie dowodzi, że wskazane wyjście nadal jest niewydane. Potrzebne jest sprawdzenie stanu łańcucha. Ćwiczenia Songa rozdzielają czytelność danych, uprawnienie do wydania i poprawność całej transakcji. [3]

Poprawny wynik matematyczny jest ważny, ale bezpieczny program podpisujący wymaga więcej. libsecp256k1 uwzględnia również stały czas wykonania i dostęp do pamięci przy pracy z tajnym kluczem. Chodzi o to, aby obserwator nie poznawał sekretu z przebiegu obliczeń. To inny problem niż prawidłowe rozwiązanie ćwiczenia. Kod służący zrozumieniu zasady nie zastępuje więc automatycznie sprawdzonej biblioteki kryptograficznej dla prawdziwych środków, nawet jeśli oba programy poprawnie sprawdzają ten sam podpis testowy. [4]

Repozytorium programmingbitcoin zawiera materiały do rozdziałów i instrukcje Jupyter Notebook, środowiska łączącego tekst, uruchamiany kod i wyniki. Powtórzenie ćwiczenia zależy też od wersji kodu i zależności, czyli innych używanych pakietów. Dawna instrukcja instalacji nie jest automatycznie zaleceniem współczesnych wersji. Zapis środowiska pomaga wyjaśnić różnice wyników; udane wykonanie na cudzym komputerze nie zastępuje własnej weryfikacji. [5]

Książka z 2019 roku daje podstawę do czytania dalszej dokumentacji. Nie można jednak zakładać, że opisuje wszystkie późniejsze rozszerzenia. Na przykład libsecp256k1 oferuje dziś także Schnorr signatures zgodnie z BIP340, specyfikacją innego schematu podpisów używanego w Bitcoinie. Trzeba odróżniać treść konkretnego wydania od funkcji obecnej biblioteki. Przy używaniu jej interfejsu, czyli sposobu wywoływania funkcji, liczy się dokumentacja właściwej wersji. [2] [4]

W Fiat Ruins Everything z 2023 roku Song argumentuje, że pieniądz fiat, zwykłe waluty państwowe, zasadniczo kształtuje instytucje, a Bitcoin daje środek zaradczy. Czytamy tu interpretację społeczeństwa, nie procedurę sprawdzania podpisu. Takie twierdzenie potrzebuje własnych argumentów i dowodów. Poprawne ćwiczenie kryptograficzne nie potwierdza tezy społecznej; niezgoda ekonomiczna sama nie obala wyjaśnienia technicznego. Każdą część jego pracy można ocenić za pomocą odpowiednich dowodów. [6]

Strona Songa opisuje sprawdzanie zdjęcia przedmiotu z autografem przy użyciu PGP, narzędzia podpisów cyfrowych, i SHA-256, funkcji tworzącej skrót pliku. Zgodny skrót pomaga potwierdzić, że mamy ten sam plik; prawidłowy podpis wiąże podpisane dane z kluczem. Nadal trzeba ustalić, do kogo należy klucz. Podczas tej rewizji strona niespójnie oznacza stary i nowy klucz, dlatego nie powielamy skróconego identyfikatora jako zweryfikowanej tożsamości. Sprawdzenie danych i zaufanie do ich pochodzenia to odrębne kroki. [7]

Pełniejszy obraz uzyskasz, czytając to hasło razem z Alex Gladstein, Bitcoin Script, Private Key. Do tego hasła prowadzą również odsyłacze z Hackers Congress Paralelní Polis, Cathie Wood.

DOC · 001Jimmy Song — biographyŹródło pierwotne DOC · 002O’Reilly — Programming Bitcoin (2019)Źródło pierwotne DOC · 003Bitcoin developer guide — TransactionsŹródło pierwotne DOC · 004libsecp256k1 — implementation requirementsŹródło pierwotne DOC · 005Jimmy Song — Programming Bitcoin repositoryŹródło pierwotne DOC · 006Jimmy Song — Fiat Ruins EverythingŹródło pierwotne DOC · 007Jimmy Song — PGP signature verificationŹródło pierwotne
Zaktualizowano: Najpierw źródła · To nie jest porada inwestycyjna