Glossar / Protokoll und Upgrades
Bitcoin Improvement Proposal
Auch bekannt als BIP.
- Was ist ein Bitcoin Improvement Proposal?
- Ein Bitcoin Improvement Proposal ist ein nummeriertes Designdokument, das eine Änderung an Bitcoin oder einen Standard beschreibt, den Wallets befolgen sollen, ohne die Befugnis, ihn durchzusetzen.
Spezifiziert im BIP-2.
BIPs sind die Art und Weise, wie Bitcoin Dinge schriftlich festhält. Jeder kann eines einreichen, ein Redakteur vergibt die Nummer, und das Repository enthält heute mehrere Hundert davon, in Zuständen von Draft bis Final bis Withdrawn. Die Nummern sickern in Produkte, die Sie nutzen: Die 12 Wörter, die Ihre Wallet erzeugt hat, sind BIP39, und die Adresse, die sie abgeleitet hat, stammt aus BIP84 oder BIP86.
Wie das funktioniert
Der BIP-Prozess ist ein Ablagesystem und kein Leitungsgremium.
Er wurde von Python übernommen. Amir Taaki schrieb BIP-1 im Jahr 2011, nach dem Vorbild der Enhancement Proposals jenes Projekts, und Luke Dashjr ersetzte ihn durch BIP-2 im Jahr 2016, um die Definitionen dessen zu straffen, was die einzelnen Zustände bedeuten und welche Belege nötig sind, um voranzukommen. Der Ablauf ist unspektakulär: die Idee öffentlich vorstellen, die Kritik aufnehmen, einen Pull Request gegen das Repository bitcoin/bips öffnen und darauf warten, dass ein Redakteur die Formatierung prüft und eine Nummer vergibt.
Es gibt drei Arten von Vorschlägen. Dokumente der Standards Track behandeln alles, was die Interoperabilität von Software betrifft, von Konsensregeln bis hin zu Adressformaten. Informational-Dokumente halten ein Design oder eine Konvention fest, ohne jemanden zu irgendetwas zu verpflichten. Process-Dokumente beschreiben den Prozess selbst. Jedes trägt einen Status, der von Draft und Proposed in Richtung Final oder Active wandert, und viele enden stattdessen bei Withdrawn, Rejected oder Replaced.
Was die Nummer nicht verleiht, ist Autorität. Ein zugewiesenes BIP ist ein Eintrag in einem Verzeichnis, keine Genehmigung, und es gibt ohnehin kein Gremium, das es genehmigen könnte. Die Übernahme erfolgt getrennt und freiwillig: Jemand schreibt den Code, Prüfer zerpflücken ihn, eine Implementierung liefert ihn aus, und Nutzer entscheiden sich, diese Version auszuführen. Sehr viele Änderungen an Bitcoin Core haben überhaupt kein BIP, und sehr viele BIPs wurden von niemandem jemals implementiert.
Warum das beim Bitcoin-Kauf wichtig ist
BIP-Nummern erscheinen in Wallet-Menüs, und die falsche zu wählen ist ein häufiger Weg zu der Feststellung, Ihre Bitcoin seien verschwunden.
Das Beispiel, über das Menschen stolpern, ist die Wiederherstellung mit der Seed-Phrase. BIP39 standardisierte die Wortliste mit 2048 Einträgen und die Regel, mit der 12 oder 24 davon zu einem Hauptschlüssel werden, weshalb eine Phrase, die bei einer Marke notiert wurde, bei einer anderen eingegeben werden kann. Was BIP39 nicht standardisiert, ist die Stelle, an der die Wallet nach Ihren Bitcoin sucht. BIP44 leitet Legacy-Adressen ab, die mit 1 beginnen, BIP49 leitet verschachtelte SegWit-Adressen ab, die mit 3 beginnen, BIP84 leitet native SegWit-Adressen ab, die mit bc1q beginnen, und BIP86 leitet Taproot-Adressen ab, die mit bc1p beginnen. Stellen Sie eine Phrase in einer Software wieder her, die standardmäßig einen anderen Pfad verwendet, zeigt der Saldo null an, während die Bitcoin unberührt unter dem Pfad liegen, den Sie tatsächlich verwendet haben. Notieren Sie den Ableitungspfad auf derselben Karte wie Ihr Backup, und das Problem tritt nie auf.
Adressformate sind praktisch genauso heikel. Bech32 stammt aus BIP173 und bech32m aus BIP350, und die Unterstützung kam in der Branche zu unterschiedlichen Zeiten, weshalb manche Plattformen eine ganze Weile nach der Aktivierung von Taproot nicht an eine bc1p-Adresse senden konnten. Senden Sie vor einer großen Auszahlung zuerst einen kleinen Betrag und bestätigen Sie, dass das Zielformat akzeptiert wird. Auch hängende Transaktionen haben eine Nummer: Die Gebührenerhöhung per Replace-by-Fee wurde in BIP125 spezifiziert, und eine Wallet, die das umsetzt, erspart Ihnen das Warten auf eine schlecht getimte Gebührenschätzung.
Behandeln Sie die Nummer als Etikett, nicht als Garantie. BIP70, das Zahlungsprotokoll, wurde von BitPay und Coinbase implementiert und sah wie die Zukunft der Händlerzahlungen aus; Bitcoin Core hat es in Version 0.19 als veraltet markiert und in 0.20 entfernt, und heute nutzt es niemand mehr. Ein BIP hält fest, dass jemand sorgfältig nachgedacht hat. Ob es noch jemand ausführt, ist eine separate Frage, die sich zu stellen lohnt.
Von BIP340 bis Block 709.632: Wie aus einem Vorschlag eine Regel wird
Taproot ist die klarste Veranschaulichung des gesamten Ablaufs, weil jede seiner Etappen datiert ist.
Das Design wurde als drei miteinander verknüpfte Dokumente veröffentlicht, BIP340 für Schnorr-Signaturen, BIP341 für den Taproot-Ausgabetyp und BIP342 für die neuen Skriptregeln, geschrieben von Pieter Wuille zusammen mit Jonas Nick, Tim Ruffing und Anthony Towns. Sie wurden im Januar 2020 nach rund zwei Jahren öffentlicher Diskussion in das Repository aufgenommen. Die Aufnahme änderte nichts an Bitcoin: Sie bedeutete, dass die Dokumente Nummern hatten.
Implementierung und Prüfung nahmen dann den größten Teil eines Jahres in Anspruch, und die Auseinandersetzung darüber, wie die Regeln aktiviert werden sollen, dauerte mehrere Monate länger, wobei zwei konkurrierende Mechanismen auf dem Tisch lagen. Der Kompromiss, bekannt als Speedy Trial, kam im Mai 2021 in Bitcoin Core 0.21.1. Miner signalisierten ihre Bereitschaft über ein definiertes Fenster, die Festschreibung wurde am 12. Juni 2021 erreicht, und die Regeln wurden am 14. November 2021 in Block 709.632 durchsetzbar. Das sind rund 22 Monate von einem nummerierten Dokument bis zu einer durchgesetzten Regel, und das Dokument erledigte nichts von dieser Arbeit: Die Node-Betreiber, die den Code ausführten, taten es.
Bitcoin Improvement Proposal vs. Konsensregeln
Ein Bitcoin Improvement Proposal ist Papierkram; Konsensregeln sind das, was Nodes tatsächlich durchsetzen. Beide überschneiden sich nur, wenn ein Vorschlag implementiert und übernommen wurde, und die Lücke in jede Richtung ist lehrreich. BIP70 hat eine Nummer und setzt nirgendwo etwas durch. Die Obergrenze von 21 Millionen hat überhaupt kein BIP, weil sie älter ist als der Prozess und einzig im Code lebt. Wenn Sie wissen wollen, was Bitcoin tut, lesen Sie die Software oder die Regeln, die sie durchsetzt; wenn Sie wissen wollen, was jemand vorgeschlagen hat, lesen Sie das BIP.
Bitcoin Improvement Proposal vs. Soft Fork
Ein Bitcoin Improvement Proposal ist ein Dokument; ein Soft Fork ist ein Einführungsereignis, das die Regeln verschärft, die alle befolgen. Die meisten BIPs sind keine Forks irgendeiner Art: BIP39 berührte das Protokoll nie, und das URI-Schema in BIP21, das einen Zahlungslink Ihre Wallet öffnen lässt, ebenso wenig. Wenn ein Soft Fork tatsächlich stattfindet, braucht es dafür meist mehrere BIPs, plus ein weiteres für den Aktivierungsmechanismus selbst, da BIP9 und BIP8 nur existieren, um zu definieren, wie die Signalgebung funktioniert. Beides zu verwechseln führt dazu, dass Menschen sagen, Bitcoin habe sich geändert, als ein Vorschlag veröffentlicht wurde, was normalerweise Jahre zu früh ist und manchmal für immer falsch.