Erläuterungen zur Verkettung von Transaktionen

Ich lese Satoshis Artikel durch, und in Abschnitt 2. Transaktionen beginnt er mit den Worten:

Wir definieren eine elektronische Münze als eine Kette digitaler Signaturen. Jeder Besitzer überträgt die Münze an den nächsten, indem er einen Hash der vorherigen Transaktion und den öffentlichen Schlüssel des nächsten Besitzers digital signiert und an das Ende der Münze anfügt. Ein Zahlungsempfänger kann die Unterschriften verifizieren, um die Eigentumskette zu verifizieren.

Dann gibt es ein gutes Diagramm, das dies in der Zeitung zeigtSatoshi Bitcoin Paper Okt. 2008, Abschnitt 2

Wenn also BTC0 die vorherige Transaktion ist, ist die neue Transaktion:

Kp(Eigentümer1)

Hash := H(BTC0,Kp(Eigentümer1))

S( Hash ,Ks(Owner0))

wo

  • Kp(Owner1) ist der öffentliche Schlüssel des Empfängers (Owner1)

  • hash := H(BTC0,Kp(Owner1)) ist der Hash der vorherigen Transaktion zusammen mit dem Pub Key des Empfängers

und

  • S( hash ,Ks(Owner0)) ist der zuvor berechnete Hash, signiert mit dem Absender des privaten Schlüssels (Owner0)

Ich habe ein paar Fragen:

Hier habe ich angegeben, dass die „vorherige Transaktion“ BTC0 ist – ist dies die vorherige Transaktion für diese Münze oder die vorherige Transaktion in der Kette? Danielle Drainville schlägt in ihrem Artikel vor, dass „die vorherige Transaktion, bei der diese Münze verwendet wurde, zusammen mit dem öffentlichen Schlüssel des Empfängers gehasht wird“ ( An Analysis of the Bitcoin Electronic Cash System ) .

Wenn ja, muss zuerst irgendwie nach der vorherigen Transaktion gesucht werden?

Und wenn ich das richtig verstehe, gibt es keine 'Münzen' in Ihrer Brieftasche ... die Brieftasche speichert die Blockkette, dh das Transaktionsprotokoll, und Ihre Pub/Pri-Schlüssel. Wenn Ihnen Ihre Brieftasche die Anzahl der darin enthaltenen Bitcoins anzeigt, ist dies tatsächlich das Ergebnis einer Suche in der Blockkette?

Wozu reicht Ihr Ruf nicht aus? Jemand kann Bilder für Sie einfügen, vorausgesetzt, Sie geben die URL irgendwo an.
Ich habe es endlich geschafft, meine Konten zusammenzuführen!

Antworten (1)

Ich verstehe deine Frage nicht ganz, erst mal eine Reaktion auf deine Vermutung.

Es ist in der Tat so, dass Ihre Brieftasche keine tatsächlichen Münzen enthält. Beachten Sie jedoch die Unterscheidung zwischen den Begriffen Wallet und Client. Dies ist keine offizielle Unterscheidung, aber es ist nützlich, die beiden unterschiedlichen Prinzipien zu verstehen.

Ein Bitcoin-Client speichert die komplette Blockchain. Wenn Sie Informationen über eine Adresse oder eine Transaktion anfordern, kann es die Blockchain untersuchen und die angeforderten Informationen abrufen. Salden werden also tatsächlich durch eine Abfrage an die Blockchain abgerufen. Die meisten Kunden führen einen Index aller Transaktionen Ihrer Adressen, so dass diese Abfragen sehr effizient durchgeführt werden können.

Ein Wallet bezieht sich oft auf den Satz privater Schlüssel Ihrer eigenen Adressen. Für den Standard-Bitcoin-Client ist dies die Datei wallet.dat. Es enthält eine Liste der Adressen, die Sie besitzen, und die entsprechenden privaten Schlüssel, die Sie benötigen, um Transaktionen mit Ihren Adressen durchzuführen.

Allerdings wird der Begriff Wallet auch oft für einen Bitcoin-Client verwendet, z. B. auf der Bitcoin-Homepage . Ein Vorbehalt hier ist, dass einige dieser Wallets zwar nicht die komplette Blockchain speichern, aber andere Techniken haben, um die Blockchain auf andere Weise implizit abzufragen. Diese Art von Clients werden als Lightweight-Clients bezeichnet.


Nun, was eine Transaktion im Prinzip ist, ist nur die Übergabe der Kontrolle über einen bestimmten Wert in der Blockchain an eine andere Adresse.

Für jede Adresse gibt es null oder mehr Transaktionen, die die Adresse als Ausgabe haben. Wenn Sie sie nicht an jemand anderen gesendet haben, werden sie als nicht ausgegebene Bitcoins oder nicht ausgegebene Transaktionsausgaben bezeichnet. Die Summe davon ergibt den Saldo der Adresse.

Wenn Sie diese Münzen oder einen Teil davon senden möchten (beachten Sie, dass es keinen Begriff einer Münze gibt, sondern nur einen Wert der Währung, den Sie senden, der eine beliebige Dezimalzahl bis zur Satoshi-Präzision sein kann), führen Sie eine Transaktion durch die Sie einige der nicht ausgegebenen Ausgaben für Ihre Adresse (als Eingaben für Ihre Transaktion) beanspruchen und den Wert, den sie haben, auf andere Adressen verteilen (die die Ausgaben für Ihre Transaktion sind). So können die nicht ausgegebenen Ausgaben für eine Adresse als Eingaben für eine Transaktion verwendet werden.

Wenn Sie die Transaktion signieren und sie in einem Block verifiziert wird, werden die nicht ausgegebenen Ausgaben nun ausgegeben und neue nicht ausgegebene Ausgaben wurden den Adressen zugewiesen, die Sie in den Transaktionsausgaben für die Transaktion angegeben haben.

Steven: Danke. Ihre Beobachtung zur Unterscheidung zwischen Wallet und Client ist interessant. Als ich von einer Brieftasche sprach, bezog ich mich tatsächlich auf den Kunden. Nach Ihrer Definition hat der Kunde eine Brieftasche; die Schlüsselübergabe. Meiner Meinung nach ist der Begriff Wallet ein benutzerfreundlicherer Name für den Kunden, da er sich auf das Äquivalent in der realen Welt bezieht. Meine Frage, die Sie nicht verstanden haben, betrifft die „vorherige Transaktion“, die gehasht wird – ist es die vorherige Transaktion in der Kette oder die vorherige Transaktion dieser Münze? Ich vermute, dass das Verständnis der Ein- und Ausgänge helfen wird.
Die meisten Leute nennen Kunden Brieftaschen, deshalb ist die Unterscheidung nicht wirklich offiziell wahr, aber es ist nützlich, die verschiedenen Prinzipien zu verstehen. Ich werde versuchen, Ihre Frage in der Antwort zu erklären
Da ich jetzt die Quelle auf einigen Clients gelesen habe (bitcoin, bitcoinj und libbitcoin), habe ich gelernt, dass die Brieftasche (wallet.dat, xxx.wallet oder wie auch immer der Client sie nennt) mehr als eine Sammlung von Schlüsseln ist und Adressen. Jeder Kunde implementiert die Brieftasche anders, aber dieser Kommentar von Bitcoinj fasst ihren Zweck zusammen: „Eine Brieftasche speichert Schlüssel und eine Aufzeichnung von Transaktionen, die Werte von diesen Schlüsseln senden und empfangen. Mit diesen ist es in der Lage, neue Transaktionen zu erstellen, die die aufgezeichneten ausgeben Transaktionen, und dies ist die grundlegende Funktionsweise des Bitcoin-Protokolls."