MSTR Cat

Blockchain/Niveau X · Der Kreis schließt sich/10.3 Leben mit Bitcoin/Lektion 5

Aufbauen auf Bitcoin

Regtest, Descriptoren und die Disziplin der öffentlichen Prüfung

MaterialienEin Computer, auf dem Bitcoin Core läuft (heruntergeladen und überprüft)Die Bitcoin-CLI-Hilfe (bitcoin-cli help)Dokumentation zu BIP 174 und BIP 380

Neugier

  1. Warum erfordert eine einzige Änderung in der Codebasis von Bitcoin Core Monate langen Diskussionsprozess, bevor eine stabile Version veröffentlicht wird?
  2. Wie testen Entwickler Konsenskritische Logik, ohne echte Gelder zu riskieren oder das Hauptnetzwerk zu stören?
  3. Was ist der Unterschied zwischen einem Deskriptor und einem PSBT – und warum sind beide für die Entwicklung moderner Wallets unerlässlich?

Erkunden

  1. Bitcoin Core bietet zwei Hauptumgebungen zum Testen: regtest und Signet. Regtest ermöglicht es Entwicklern, Blöcke sofort zu schürfen – ohne Anforderung an Proof-of-Work – wodurch es sich ideal für Unit-Tests sowie schnelle Anpassungen der Konsensregeln eignet. Signet (BIP 325) ist ein öffentliches Testnetzwerk, dessen Blöcke außerdem eine Signatur von bestimmten Unterzeichnern benötigen. Dadurch bleiben die Blockzeiten konstant und das Netzwerk kann nicht durch hohe Hashrate überflutet werden; es eignet sich somit zum Testen mit dem Software anderer Personen – ohne echtes Geld.
  2. Die Remote Procedure Call (RPC)-Schnittstelle stellt den internen Zustand von Bitcoin Core externen Skripten zur Verfügung. Entwickler nutzen RPC-Befehle, um Ketten zu manipulieren, Transaktionen zu überprüfen und im Regtest das Mining auszulösen. Dieser programmatische Zugriff ist grundlegend für die Entwicklung von Wallet-Software, die direkt mit den Datenstrukturen eines Nodes interagieren muss – ohne dabei die grafische Benutzeroberfläche zu nutzen.
  3. Beschreiber legen fest, wie Schlüssel in Ausgabebedingungen umgewandelt werden, während teilweise signierte Bitcoin-Transaktionen (PSBTs) Workflows für die Mehrparteiensignierung erleichtern. BIP 174 hat das PSBT-Format standardisiert und es verschiedenen Einheiten – Hardware-Wallets, Mobilgeräten oder Servern – ermöglicht, Signaturen zu einer Transaktion hinzuzufügen, ohne dabei private Schlüssel preiszugeben. Diese Trennung der Schlüsselverwaltung von der Transaktionskonstruktion ist für sichere Mehrfachsignatur-Setups entscheidend.
  4. Das Bitcoin Dev Kit (BDK) und das Lightning Dev Kit (LDK) nehmen den Anwendungsentwicklern die Komplexität der Node-Verwaltung ab. BDK ist eine Rust-Bibliothek für beschreiberverbundene Wallets, die die Daten aus Bitcoin Core, einem Electrum-Server oder einer Esplora-API lesen kann, während LDK eine leichte Implementierung des Lightning-Network-Protokolls bereitstellt, die für mobile Geräte geeignet ist. Diese Bibliotheken senken die Einstiegshürden für die Entwicklung bitcoin-spezifischer Anwendungen, ohne dass tiefgehende Kenntnisse in der Systemprogrammierung erforderlich sind.
  5. Die öffentliche Überprüfung ist das Rückgrat des Sicherheitsmodells von Bitcoin. Änderungen, die über Pull Requests vorgeschlagen werden, unterliegen einer gründlichen Prüfung durch eine globale Gemeinschaft von Entwicklern. Der PR Review Club erleichtert dies, indem er regelmäßige Sitzungen organisiert, in denen Mitwirkende die Unterschiede Zeile für Zeile analysieren. Dieses kollektive Wissen ermöglicht es, feine Fehler aufzudecken und sicherzustellen, dass Konsensänderungen vor der Umsetzung vollständig verstanden werden – ein Prozess, der sich von den schnellen Veröffentlichungszyklen unterscheidet, die in anderen Softwareökosystemen üblich sind.
  6. Starten Sie eine private Kette: Führen Sie „bitcoind -regtest -daemon“ aus, erstellen Sie mit „bitcoin-cli -regtest createwallet dev“ eine Wallet und schürfen Sie mit „generatetoaddress“ 101 Blöcke an eines der Adressen, damit die erste Coinbase reift. Erstellen Sie einen Zahlungsauftrag mit „walletcreatefundedpsbt“, lesen Sie ihn mit „decodepsbt“ ein, signieren und senden Sie ihn anschließend mit „walletprocesspsbt“ sowie „sendrawtransaction“. Schürfen Sie noch einen Block und beobachten Sie seine Bestätigung.

Kernfakten

  • Regtest ermöglicht das sofortige Block-Mining ohne Anforderung an Proof-of-Work für isolierte Tests.
  • Signet-(BIP 325)-Blöcke müssen mit festgelegten Schlüsseln signiert werden, um ein stabiles öffentliches Testnetz zu gewährleisten.
  • BIP 174 definiert das Format der teilweise signierten Bitcoin-Transaktion (PSBT) für Workflows mit mehreren Parteien zur Signierung.
  • Die Scriptbeschreibungen im BIP 380 definieren die Schlüsselableitungswege sowie die Ausgabebedingungen für Wallets.
  • Das Bitcoin Dev Kit (BDK) ist eine Rust-Bibliothek zur Erstellung von auf Beschreibern basierenden Wallets für verschiedene Chain-Backends.
  • Die Überprüfung öffentlicher Pull-Requests stellt sicher, dass konsensbasierte Änderungen vor der Veröffentlichung einer gründlichen, mehrschichtigen Prüfung unterzogen werden.

Übung neun, sechs, drei, eins

9SammelnErkennen Sie 9 unterschiedliche Komponenten des Bitcoin-Entwicklungsökosystems: regtest, Signet, Mainnet, RPC-Schnittstelle, Beschreiber, PSBTs, BDK, LDK sowie PR Review Club. Geben Sie für jede Komponente deren Hauptzweck im Software-Lebenszyklus an.
6GruppierenGruppieren Sie diese 9 Komponenten nach Funktion in 6 Kategorien: Private Tests, öffentliche Tests, Node-Schnittstellen, Wallet-Standard, Entwicklungsbibliotheken und Überprüfung.
3VerdichtenReduzieren Sie die 6 Gruppen auf 3 Kernprinzipien, die die Entwicklung von Bitcoin-Software bestimmen: Isolation zur Sicherheit, Standardisierung zur Kompatibilität und Transparenz zur Sicherstellung der Integrität.
1KristallisierenEin PSBT ist notwendig, weil eine Hardware-Wallet, die sich nicht direkt mit einem Netzwerknode verbinden kann, zusätzliche Sicherheitsmaßnahmen benötigt.

Faktcheck

Datumsangaben, Zahlen und Behauptungen wurden mit den unten aufgeführten veröffentlichten Quellen abgeglichen.

In der interaktiven Akademie öffnen →

EN PT ES ZH JA KO RU FR MS