Entwicklerreferenz
Dies ist die Referenzebene: die P2P-Nachrichtentypen, Script-Opcodes, RPC-Feldnamen und Protokollstrukturen, denen man beim Lesen von Bitcoin-Code oder beim Dekodieren einer rohen Transaktion begegnet, und nicht beim Kauf.
Sie existiert, weil das Entwickler-Glossar von Bitcoin Core, in dem die meisten dieser Begriffe noch nachgeschlagen werden, sich seit 2021 kaum verändert hat und mehrere seiner Einträge die Software nicht mehr beschreiben. Das darin dokumentierte BIP70-Zahlungsprotokoll wurde in Version 0.20.0 aus Bitcoin Core gelöscht. Seine Einträge zu Bloom-Filtern beschreiben einen Mechanismus, den Core in 0.19.0 standardmäßig nicht mehr anbot. Jeder davon ist hier gegen das neu aufgebaut, was der Code heute tut, und die Korrektur wird benannt, nicht stillschweigend angewendet.
Die Begriffe fallen in Gruppen. Nachrichtentypen wie inv, getdata und MSG_FILTERED_WITNESS_BLOCK gehören zum Peer-to-Peer-Protokoll. Opcodes wie OP_RETURN und OP_CHECKSIG gehören zu Script. Signature-Hash-Flags, Sequenznummern und Locktime bestimmen, worauf sich eine Signatur tatsächlich festlegt. Die Einträge zu X509 und Zahlungsanfragen sind historisch, und sie sagen das.
Die meisten Leser werden diesen Abschnitt nie brauchen, und das ist in Ordnung. Er ist da, damit eine Suche nach einem exakten Feldnamen auf einer Seite landet, die ihn genau erklärt, und nicht auf einem einzeiligen Stummel.
47 Begriffe. Zuletzt geprüft: 24. September 2026.
Begriffe: Entwicklerreferenz
- BelegEin Beleg in Bezug auf Bitcoin ist alles, was Sie als Nachweis einer erfolgten Zahlung aufbewahren: Im BIP70 war es eine signierte Empfangsbestätigung des Händlers, in der Praxis ist es die Transaktions-ID.
- Bitcoin Scriptauch ScriptBitcoin Script ist die kleine stapelbasierte Sprache, die jede Bitcoin-Ausgabe trägt und die die Bedingungen festlegt, die jemand erfüllen muss, bevor diese Bitcoin erneut ausgegeben werden können.
- Bitcoin-URIauch BIP21Ein Bitcoin-URI bündelt die Angaben einer Zahlung in einer einzigen anklickbaren Zeichenkette, die mit bitcoin: beginnt und eine Adresse, einen Betrag und eine Bezeichnung enthalten kann.
- CompactSizeauch Compact size unsigned integer, VarIntCompactSize ist die Ganzzahl mit variabler Länge, mit der Bitcoin in serialisierten Daten Zählwerte und Längen einleitet; sie kostet ein Byte für Werte unter 253 und bis zu neun für den Rest.
- Descriptor-PrüfsummeDie Descriptor-Prüfsumme ist der achtstellige Code nach dem Rautezeichen in einem Output-Descriptor, ein BCH-Code, der Tipp- und Kopierfehler abfängt, bevor eine Wallet die falschen Schlüssel importiert.
- EndzertifikatDas Endzertifikat ist das Zertifikat für die Endentität, das der Server vorlegt, mit dem Sie tatsächlich verbunden sind, und es belegt die Kontrolle über einen Domainnamen, nichts über die Personen dahinter.
- Interne Byte-ReihenfolgeDie interne Byte-Reihenfolge ist die Anordnung, die Bitcoin innerhalb serialisierter Strukturen verwendet: ganze Zahlen werden mit dem niedrigstwertigen Byte zuerst geschrieben, und Hashwerte werden in der Reihenfolge geschrieben, in der SHA-256 sie erzeugt hat.
- LabelDas Label in einem Bitcoin-URI benennt die Person oder das Unternehmen, das bezahlt wird, und in einer Wallet ist es die private Notiz, die Sie einer Adresse oder einer Transaktion beifügen.
- MSG_BLOCKMSG_BLOCK ist der Inventartyp 2, der Code, den ein Node in eine getdata-Nachricht setzt, um einen Peer um einen vollständigen Block anhand seines Hashs zu bitten.
- MSG_CMPCT_BLOCKMSG_CMPCT_BLOCK, der Inventartyp 4, ist ein reiner Anforderungscode: Er erscheint nie in einer Ankündigung und ist nur innerhalb einer getdata-Nachricht zulässig, die an einen Peer gesendet wird, der zuvor zugestimmt hat.
- MSG_FILTERED_WITNESS_BLOCKDer gefilterte Witness-Block-Typ steht in der reservierten Liste von BIP144 und im Quelltext-Enum von Bitcoin Core, ohne dass an einer der beiden Stellen eine Implementierung dahintersteht.
- MSG_TXMSG_TX kennzeichnet einen Eintrag im Inventar als Transaktion, Typcode 1, und so wird Ihre unbestätigte Zahlung den Peers angekündigt, bevor einer von ihnen ihren Inhalt gesehen hat.
- MSG_WITNESS_BLOCKDer Inventartyp Witness-Block ist die Art und Weise, wie ein SegWit-fähiger Node einen Block in der erweiterten Serialisierung anfordert, mit allen Signaturen, die angehängt und nicht entfernt werden.
- MSG_WITNESS_TXEine Witness-Transaktionsanforderung, gesendet als getdata, weist einen Peer an, die benannte Transaktion mit ihren weiterhin angehängten Signaturdaten zurückzugeben statt ohne sie.
- OP_CHECKMULTISIGOP_CHECKMULTISIG prüft eine Gruppe von Signaturen gegen eine Liste öffentlicher Schlüssel in einem Schritt, und Taproot-Ausgaben können ihn überhaupt nicht nutzen, weil er die Batch-Verifizierung blockiert.
- OP_CHECKSIGOP_CHECKSIG nimmt einen öffentlichen Schlüssel und eine Signatur vom Stack und prüft, dass die Signatur sich auf diese Transaktion bezieht, und genau diese Prüfung belegt, dass Sie die Bitcoin besitzen.
- OP_DUPOP_DUP kopiert das oberste Element des Stapels, damit es zweimal verwendet werden kann, und deshalb kann das Standard-Skript pay-to-public-key-hash sowohl den Hash Ihres öffentlichen Schlüssels berechnen als auch damit verifizieren.
- OP_EQUALOP_EQUAL vergleicht die beiden obersten Elemente des Stapels Byte für Byte und legt ein Ergebnis wahr oder falsch auf den Stapel, und er ist der letzte Opcode in jeder Pay-to-Script-Hash-Ausgabe.
- OP_EQUALVERIFYOP_EQUALVERIFY vergleicht die beiden obersten Elemente des Stapels und beendet das Skript sofort, wenn sie sich unterscheiden; so weist ein klassischer Ausgabevorgang nach, dass er den richtigen öffentlichen Schlüssel vorgelegt hat.
- OP_HASH160OP_HASH160 wendet SHA-256 auf das oberste Element des Stapels an und danach RIPEMD-160 auf dieses Ergebnis; übrig bleibt ein Digest von 20 Byte, derselbe Fingerabdruck, den jede Adresse trägt, die mit 1 oder 3 beginnt.
- OP_RETURNOP_RETURN ist der Opcode, der eine Transaktionsausgabe nachweislich unausgebbar macht, wodurch eine kleine Menge beliebiger Daten in die Blockchain geschrieben werden kann, ohne die Menge der aktiven Coins aufzublähen.
- OP_VERIFYOP_VERIFY nimmt das oberste Element vom Stack und bricht das gesamte Skript ab, sofern dieses Element nicht wahr ist, wodurch jede Prüfung im Bitcoin-Skript zu einer harten Anforderung wird.
- Opcodeauch Push-Opcode, Nicht-Push-OpcodeEin Opcode ist ein einzelnes Byte im Bitcoin-Script, das einem validierenden Node mitteilt, was als Nächstes zu tun ist: entweder Daten auf den Stack legen oder eine Operation mit dem ausführen, was bereits dort liegt.
- PaymentDetailsPaymentDetails ist die innere BIP70-Nachricht, die eine Zahlung tatsächlich beschrieb: welche Ausgaben zu bezahlen sind, wie viel, wann die Anforderung abläuft und wohin die signierte Transaktion zu senden ist.
- PaymentRequestPaymentRequest ist der äußere BIP70-Umschlag: er umhüllt einen serialisierten PaymentDetails-Block zusammen mit einer Zertifikatskette und einer Signatur, damit der Zahler prüfen konnte, wer die Anfrage stellte.
- PKIauch Public-Key-InfrastrukturPKI, oder Public-Key-Infrastruktur, ist das System aus Zertifizierungsstellen, Zertifikaten und Vertrauensspeichern, mit dem Software entscheidet, ob ein öffentlicher Schlüssel wirklich zu dem angegebenen Namen gehört.
- PP expiresPP expires war der optionale Unix-Zeitstempel in einer BIP70-PaymentDetails-Nachricht, der eine Wallet anwies, die Anfrage nach diesem Zeitpunkt nicht mehr zu berücksichtigen.
- PP pki dataPP pki data war das Feld in einer BIP70-Zahlungsanforderung, das die Zertifikate des Händlers transportierte, DER-kodiert, das Blattzertifikat zuerst, dahinter etwaige Zwischenzertifikate und ohne das Wurzelzertifikat.
- PP pki typePP pki type war die aus einem Wort bestehende Zeichenkette in einer BIP70-Zahlungsanforderung, die angab, wie der Händler sie signiert hatte: none, x509 mit SHA-256 oder x509 mit SHA-1.
- PP-BetragDer PP-Betrag war das in Satoshi angegebene Feld innerhalb einer BIP70-Ausgabe; er wurde auf null gesetzt, wenn der Händler wollte, dass der Zahler selbst wählt, wie viel er sendet.
- PP-HändlerdatenPP-Händlerdaten waren eine undurchsichtige Byte-Folge, die ein BIP70-Händler in eine Zahlungsanforderung schrieb und unverändert zurückerhielt, damit die eingehenden Bitcoin einer Bestellung zugeordnet werden konnten.
- PP-MemoDas PP-Memo war die UTF-8-Freitextnotiz, die BIP70 einen Händler, einen Zahler oder einen bestätigenden Server an eine Zahlung anhängen ließ, damit ein Mensch sie liest.
- PP-SkriptPP-Skript war das Pflichtfeld in einer Ausgabe nach BIP70, das das rohe Sperrskript enthielt, das der Zahler reproduzieren musste, dieselben Bytes, die in einer Transaktionsausgabe landen.
- Pubkey-Skriptauch scriptPubKey, Locking Script, SperrskriptDas Pubkey-Skript ist das kurze Stück Bitcoin Script, das an jeder Transaktionsausgabe hängt und die Bedingungen nennt, die erfüllt sein müssen, bevor die Bitcoin in dieser Ausgabe wieder bewegt werden können.
- PunktfunktionDie Punktfunktion verwandelt einen privaten Schlüssel in einen öffentlichen Schlüssel, indem sie den Generatorpunkt von secp256k1 mit dieser Zahl multipliziert, und sie ist der Einwegschritt, auf dem jede Bitcoin-Adresse aufbaut.
- R-ParameterDer R-Parameter ist die Ergänzung aus BIP72 zu einem Bitcoin-URI, die die Zahlungsadresse durch eine URL ersetzt, von der Ihre Wallet eine signierte Anfrage abrufen soll.
- Redeem-Skriptauch Redeem scriptEin Redeem-Skript ist der vollständige Ausgabevertrag, der hinter einem Pay-to-Script-Hash-Output verborgen liegt, vom Ausgebenden am Ende des Signaturskripts bereitgestellt und gehasht, um zu prüfen, ob es übereinstimmt.
- Root-ZertifikatEin Root-Zertifikat ist das selbstsignierte Vertrauensanker-Zertifikat an der Spitze einer Zertifikatskette, und ihm wird nur vertraut, weil Ihr Betriebssystem oder der Anbieter Ihres Browsers es dort eingefügt hat.
- RPC-Byte-ReihenfolgeDie RPC-Byte-Reihenfolge ist die umgekehrte Art, in der Bitcoin-Software 32-Byte-Hashes anzeigt, und die Form jeder Transaktions-ID, die Sie aus einer Wallet oder einem Block-Explorer kopieren.
- Signatur-Skriptauch ScriptSig, Unlocking Script, EntsperrskriptEin Signatur-Skript sind die entsperrenden Daten, die ein Input mitführt, um das Pubkey-Skript des Outputs zu erfüllen, den er ausgibt, und bei modernen SegWit-Inputs ist es leer.
- SSL-SignaturDie SSL-Signatur ist der Name, den BIP70 den Bytes gab, die eine PaymentRequest mit dem Schlüssel des Zertifikats eines Webservers signieren, und die Bezeichnung war bereits eine Fehlbenennung, als sie geschrieben wurde.
- URI-QR-CodeEin URI-QR-Code ist das quadratische schwarz-weiße Muster, das einen bitcoin:-URI kodiert, damit eine Kamera die Adresse und den Betrag lesen kann, die sonst getippt werden müssten.
- Witness-SkriptDas Witness-Skript enthält die tatsächlichen Ausgabebedingungen eines P2WSH-Outputs und wird im Witness mitgeführt, wo seine Bytes mit einem Viertel der üblichen Kosten gewichtet werden.
- X.509-Zertifikatauch X.509 certificateEin X.509-Zertifikat ist eine signierte Datei, die einen öffentlichen Schlüssel an einen Namen und einen Gültigkeitszeitraum bindet, und es ist das Format hinter jeder HTTPS-Verbindung, die Sie zu einer Börse aufbauen.
- Zahlungsprotokoll (BIP70)auch Zahlungsprotokoll, BIP70Das Zahlungsprotokoll (BIP70) war der Versuch von Bitcoin, reine Adressen durch signierte, zertifikatsgestützte Zahlungsanforderungen zu ersetzen, und Bitcoin Core entfernte die letzte Unterstützung dafür in Version 0.20.0.
- ZertifikatsketteEine Zertifikatskette ist die geordnete Liste von Zertifikaten, die das von einem Server vorgelegte Zertifikat mit einem Root verbindet, dem Ihr Gerät bereits vertraut, wobei jedes Glied vom nächsten signiert ist.
- ZwischenzertifikatEin Zwischenzertifikat steht zwischen einem Root-Zertifikat und einem Endzertifikat: Es wird vom Root-Zertifikat signiert und signiert selbst das Endzertifikat, damit der private Schlüssel des Root-Zertifikats offline und ungenutzt bleiben kann.
Die anderen 13 Abschnitte
- GrundlagenWas Bitcoin ist, was ein Satoshi ist und die wenigen Ideen, auf denen der Rest des Glossars aufbaut.
- Adressen und SchlüsselWohin Bitcoin gesendet werden, was ein privater Schlüssel tatsächlich steuert und wie aus einer einzigen Seed-Phrase Tausende Adressen entstehen.
- Wallets und VerwahrungHot und Cold, verwahrend und Multisig, und was jede Variante daran ändert, wer Ihre Bitcoin bewegen kann.
- Privatsphäre und SicherheitDie Angriffe, die Menschen ihre Bitcoin abnehmen, und die Gewohnheiten und Werkzeuge, die sie stoppen.
- Transaktionen und GebührenWoraus eine Bitcoin-Transaktion besteht, warum sie kostet, was sie kostet, und wie man eine festhängende wieder in Gang bringt.
- Kauf und BörsenOrdertypen, Spreads und Gebührentabellen: das Vokabular, das eine Börse verwendet, während sie Ihnen Gebühren berechnet.
- Märkte und GeldanlageMarktkapitalisierung, Volatilität und Spot-ETFs. Die Sprache des Preises, ohne Kursprognosen.
- Mining und KonsensWie neue Blöcke entstehen, was die Schwierigkeit anpasst und warum die Regeln gelten, ohne dass jemand das Sagen hat.
- Protokoll und UpgradesSegWit, Taproot, Soft Forks und BIPs: wie sich Bitcoin verändert und wer darüber entscheidet.
- Lightning und Layer 2Zahlungskanäle, Rechnungen und Routing, um Bitcoin zu bewegen, ohne für Platz in einem Block zu zahlen.
- Regulierung und SteuernKYC, die Travel Rule, MiCA und Veräußerungsgewinne: die Regeln, die Ihr Konto und Ihre Steuererklärung erreichen.
- Kultur und GeschichteMt. Gox, der Genesis-Block, HODL und die Ereignisse und der Slang, die geprägt haben, wie Menschen über Bitcoin sprechen.
- Nodes und SoftwareBitcoin Core, Full Nodes, Pruning und RPC: die Software, die die Regeln durchsetzt.
Häufig gestellte Fragen
Für wen ist dieser Abschnitt?
Für alle, die den Quellcode von Bitcoin lesen, eine rohe Transaktion dekodieren oder mit dem P2P-Protokoll und der RPC-Schnittstelle arbeiten. Er ist die Referenzebene und nicht die Kaufebene, und nichts davon wird gebraucht, um Bitcoin zu besitzen oder auszugeben.
Was ist Bitcoin Script?
Die kleine stackbasierte Sprache, die entscheidet, ob ein Bitcoin ausgegeben werden darf. Sie hat absichtlich keine Schleifen, wodurch sich die Kosten jedes Scripts vor dem Ausführen vorhersagen lassen. Die meisten Transaktionen nutzen eines von wenigen Standardmustern.
Warum ändert sich die Byte-Reihenfolge ständig?
Weil Bitcoin Hashes in der umgekehrten Reihenfolge anzeigt, in der es sie speichert. Die interne Byte-Reihenfolge ist die, die das Protokoll verwendet, während RPC-Ausgabe und Block-Explorer sie umkehren. Beides zu vermischen ist der klassische erste Fehler.
Wo liegt die maßgebliche Dokumentation?
Im Quellcode und in den BIPs und nicht auf einer einzelnen Website. Die Einträge hier zitieren die Spezifikation, wo es eine gibt, und korrigieren die ältere Entwicklerdokumentation, wo sie veraltet ist, statt sie zu wiederholen.