423 / 736SONG

Jimmy Song

Autor von Programming Bitcoin und Programmierlehrer

Was geschieht in einer Wallet, wenn Sie auf Senden drücken? Jimmy Song erklärt die Schritte, indem Leser sie selbst programmieren. Sein Buch Programming Bitcoin verbindet Mathematik mit einer konkreten Transaktion und macht verständlich, was eine Überprüfung eigentlich leistet.

Jimmy Song ist Entwickler, Dozent und Autor von Programming Bitcoin. An Beispielen in der Programmiersprache Python erklärt er Bitcoin-Transaktionen, Schlüssel und digitale Signaturen. Sein Ansatz ist praktisch: Statt nur eine fertige Anwendung zu verwenden, bauen Leser nach und nach eigene kleine Werkzeuge und prüfen ihre Ergebnisse. Daneben veröffentlicht er Ansichten zu Geld und Gesellschaft; diese erfordern andere Belege als eine Programmierübung.

Songs Biografie beschreibt Entwicklungsarbeit und Programming-Blockchain-Seminare. O’Reilly nennt ihn als Autor von Programming Bitcoin. Gemeinsam ist diesen Angeboten das Lernen durch Ausprobieren: Der Name eines Prinzips allein macht es nicht verständlich. Wer es programmiert, muss wissen, welche Daten hineingehen und welches Ergebnis herauskommen soll. Die Bezeichnung Entwickler bedeutet jedoch nicht automatisch Bitcoin-Core-Maintainer oder die Befugnis, Netzwerkregeln für andere Nutzer festzulegen. [1] [2]

Programming Bitcoin erschien 2019 bei O’Reilly. Es beginnt mit endlichen Körpern, also dem Rechnen in einer begrenzten Menge von Elementen nach festen Regeln, und elliptischen Kurven als mathematischer Grundlage der behandelten Signaturen. Danach folgen Schlüssel, Signaturen, Transaktionen und Nachrichten zwischen Computern. Leser erstellen eine Python-Bibliothek, eine Sammlung wiederverwendbarer Funktionen. Sie müssen nicht einfach glauben, dass eine Signatur funktioniert, sondern können die Berechnungen verfolgen. So lernen sie das Innenleben einer Wallet kennen, nicht nur ihre Bedienelemente. [2]

Stellen wir uns vor, ein Programm erhält eine Transaktion. Zuerst erkennt es ihre Bestandteile; diese Zerlegung der Daten heißt Parsing. Ein gewöhnlicher Input verweist auf einen früheren Output, einen konkreten Betrag mit Ausgabebedingungen. Danach sind diese Bedingungen zu prüfen, etwa eine verlangte Signatur. Selbst eine korrekte Signatur belegt noch nicht, dass der referenzierte Output weiterhin unausgegeben ist. Dafür braucht es den Zustand der Blockchain. Songs Übungen helfen, lesbare Daten, Ausgabeberechtigung und die Gültigkeit der gesamten Transaktion zu unterscheiden. [3]

Ein mathematisch korrektes Ergebnis ist wichtig, aber sichere Signiersoftware benötigt mehr. libsecp256k1 berücksichtigt auch konstante Laufzeit und Speicherzugriffe beim Umgang mit einem geheimen Schlüssel. Das Verhalten der Berechnung soll einem Beobachter keine Informationen über das Geheimnis verraten. Das ist eine andere Aufgabe als eine richtig gelöste Übung. Code zum Verstehen eines Prinzips ersetzt deshalb nicht automatisch eine geprüfte Kryptografiebibliothek für echtes Geld, selbst wenn beide dieselbe Testsignatur korrekt prüfen. [4]

Das Repository programmingbitcoin enthält Kapitelmaterial und Anleitungen für Jupyter Notebook, eine Umgebung für Text, ausführbaren Code und Ergebnisse. Beim Wiederholen kommt es auch auf die Coderevision und Abhängigkeiten an, also weitere verwendete Softwarepakete. Eine alte Installationsanleitung ist nicht automatisch eine aktuelle Versionsempfehlung. Die dokumentierte Umgebung hilft, unterschiedliche Ergebnisse zu erklären. Dass eine Übung auf einem anderen Rechner funktioniert, ersetzt nicht den eigenen überprüften Durchlauf. [5]

Das Buch von 2019 liefert Grundlagen für weiterführende Dokumentation. Man kann aber nicht voraussetzen, dass es jede spätere Erweiterung behandelt. So bietet libsecp256k1 heute auch Schnorr signatures nach BIP340, der Spezifikation eines weiteren in Bitcoin verwendeten Signaturverfahrens. Leser müssen daher den Inhalt einer bestimmten Ausgabe von den Funktionen einer heutigen Bibliothek unterscheiden. Für ihre Schnittstelle, also die Art, wie Funktionen aufgerufen werden, ist die Dokumentation der jeweiligen Version maßgeblich. [2] [4]

In Fiat Ruins Everything von 2023 vertritt Song die These, dass Fiatgeld, die üblichen staatlichen Währungen, Institutionen wesentlich prägt und Bitcoin Abhilfe schafft. Hier geht es um seine Deutung der Gesellschaft, nicht um ein Verfahren zur Signaturprüfung. Diese These benötigt eigene Argumente und Belege. Eine korrekt gelöste Kryptografieübung beweist keine gesellschaftliche These; wirtschaftlicher Widerspruch widerlegt wiederum nicht von selbst eine technische Erklärung. Die Bereiche seiner Arbeit lassen sich jeweils anhand passender Belege beurteilen. [6]

Songs Website beschreibt die Prüfung eines Fotos eines Gegenstands mit Autogramm mittels PGP, einem Werkzeug für digitale Signaturen, und SHA-256, einer Funktion für einen Dateifingerabdruck. Ein passender Fingerabdruck hilft festzustellen, ob dieselbe Datei vorliegt; eine gültige Signatur verbindet signierte Daten mit einem Schlüssel. Wem dieser gehört, muss zusätzlich belegt werden. Bei dieser Revision bezeichnet die Seite alten und neuen Schlüssel widersprüchlich. Daher übernehmen wir die Kurzkennung nicht als verifizierte Identität. Daten zu prüfen und ihrer Herkunft zu vertrauen sind unterschiedliche Schritte. [7]

Für ein möglichst vollständiges Bild lies diesen Eintrag zusammen mit Alex Gladstein, Bitcoin Script, Private Key. Auf diesen Eintrag verweisen außerdem Hackers Congress Paralelní Polis, Cathie Wood.

DOC · 001Jimmy Song — biographyPrimärquelle DOC · 002O’Reilly — Programming Bitcoin (2019)Primärquelle DOC · 003Bitcoin developer guide — TransactionsPrimärquelle DOC · 004libsecp256k1 — implementation requirementsPrimärquelle DOC · 005Jimmy Song — Programming Bitcoin repositoryPrimärquelle DOC · 006Jimmy Song — Fiat Ruins EverythingPrimärquelle DOC · 007Jimmy Song — PGP signature verificationPrimärquelle
Überarbeitet: Quellenbasiert · Keine Anlageberatung