Ich habe das Whitepaper jetzt ein paar Mal gelesen, ich möchte nur genau wissen, was Satoshi damit meinte, „einen Hash der vorherigen Transaktion und den öffentlichen Schlüssel des nächsten Besitzers digital zu signieren und diese am Ende der Münze hinzuzufügen“.
Vergessen Sie alles, was Sie über Bitcoin wissen, stellen Sie sich vor, Sie lesen dies Ende 2008 zum ersten Mal und haben nur die Zusammenfassung und die Abschnitte 1 und 2 gelesen. Meint er:
ODER
Oder andere Möglichkeiten, dies zu tun, z. B. einen Hash von Prev_Tx zu signieren und dann auch einen Hash von Pub_key zu signieren und 2 Signaturen zu haben.
Ich möchte die Entwicklung von Bitcoin chronologisch untersuchen, indem ich versuche, mich in die Lage der Leute zu versetzen, die ganz am Anfang daran gearbeitet haben, und deshalb möchte ich wissen, was Satoshi wirklich gemeint hat. Kann scheinbar nichts online finden
Laut einigen seiner anderen Schriften hatte Satoshi einen funktionierenden Prototyp, als er das Whitepaper schrieb¹. Das Whitepaper gibt einen allgemeinen Überblick über die Funktionsweise von Bitcoin, und zu diesem Zweck hat Satoshi einige der Konzepte vereinfacht.
Zum Beispiel: „Wir definieren eine elektronische Münze als eine Kette digitaler Signaturen.“ ist eine Vereinfachung, da Transaktionen mehrere Eingaben und mehrere Ausgaben haben können. Die resultierende Struktur ist ein gerichteter azyklischer Graph, keine Kette.
Ebenso ist die „Hash“-Box, die sich aus der vorherigen Transaktion und dem öffentlichen Schlüssel des Empfängers zusammensetzt, eine Vereinfachung. Der erste Ausgabetyp, Pay to Public Key (P2PK), sperrte Gelder an den öffentlichen Schlüssel des Empfängers (wörtlich: <pubkey> OP_CHECKSIG
). In der Zwischenzeit identifizieren Eingaben, welche "Münze" sie ausgeben, indem sie auf den Endpunkt der Transaktionsausgabe verweisen, der txid:vout
sich aus der Transaktions-ID und der Position in der Ausgabeliste zusammensetzt. Zum Signieren erstellen wir dann einen Digest der gesamten Transaktion, um die genauen Eingaben und Ausgaben sowie andere Details der Transaktion festzulegen. Dieser Hash der zu signierenden Transaktion, der Sighash, wird dann zusammen mit dem privaten Schlüssel des Absenders als Eingabe für den Signaturalgorithmus verwendet. Wie Sie sehen können, enthält das Whitepaper nicht annähernd genug Informationen, um die tatsächliche Implementierung abzuleiten.
Das Whitepaper leistet gute Arbeit, indem es Bitcoin in groben Zügen erklärt, aber die tatsächlichen Implementierungsdetails wurden erst deutlich, als die Software selbst veröffentlicht wurde. Hier ist zum Beispiel eine Kopie der Codebasis der Originalversion , kommentiert von Jeremy Rubin.
¹ Ein Whitepaper ist ein Dokument, das einen prägnanten Überblick über etwas geben soll, normalerweise um Leser dazu zu bringen, mehr über ein Produkt oder einen Vorschlag zu erfahren. (Und es hat funktioniert! Ich habe es vor neun oder zehn Jahren gelesen, ich bin immer noch fasziniert.) Es ist jedoch ein Marketingdokument. Es soll kein umfassendes technisches Dokument sein. Ich verstehe nicht, warum die Leute so tun, als wäre es eine Form der ultimativen Wahrheit (in diesem Sinne siehe zB diese Errata ).
Kryptonit
Kryptonit
Kryptonit
RedGrittyBrick
Kryptonit