Wie kann man den Wert eines Wallets aus der Blockchain ablesen?

Es scheint, als ob die Blockchain-Transaktionen nur die Anzahl der Münzen speichern, die von einer Brieftasche zur anderen bewegt werden, aber nicht die Gesamtbeträge für jede Brieftasche haben.

Daher scheint es so, als müssten Sie, wenn Sie den Wert einer bestimmten Brieftasche erhalten möchten, jede Transaktion von Anfang an im Hauptbuch lesen.

Ist das richtig oder übersehe ich etwas?

Übrigens, mein Ziel ist es, das Format der Blockchain besser zu verstehen

Antworten (3)

Angenommen, Sie vertrauen niemandem, müssen Sie den gesamten Blockchain-Verlauf einmal lesen, um Ihren eigenen Satz nicht ausgegebener Transaktionen (UTXOs) zu generieren. Sie müssen dann nicht jedes Mal den gesamten Verlauf erneut lesen, wenn Sie Ihr Guthaben sehen möchten. Dazu reichen nicht ausgegebene Transaktionen aus.

Ihr Guthaben ist die Summe der Werte der nicht ausgegebenen Transaktionen, die Ihre Brieftasche hat. Nicht ausgegeben bedeutet hier, dass Sie die zuvor erhaltenen Beträge nicht für ausgehende Transaktionen „ausgegeben“ haben.

Beispiel:

  • Alice schickt dir 1 BTC. Sie haben jetzt eine nicht ausgegebene Transaktion von 1 BTC. Ihr Guthaben ist die Summe der nicht ausgegebenen Transaktionen, dh 1 BTC
  • Dann entscheidet sich Bob, Ihnen 2 BTC zu schicken. Sie haben jetzt zwei nicht ausgegebene Transaktionen mit einem Gesamtguthaben von 3 BTC, die mit Ihrer Brieftasche verknüpft sind.
  • Nehmen wir nun an, Sie möchten 1 BTC an Charlie senden. Nachdem Sie überprüft haben, dass Sie mindestens 1 nicht ausgegebene BTC haben (was der Fall ist), wird Ihre Transaktion verarbeitet und der von Ihnen ausgegebene Betrag wird von Ihrer "nicht ausgegebenen" Transaktion entfernt. In diesem Fall würde die von Alice erhaltene Transaktion nun als ausgegeben markiert und aus Ihrer Liste der nicht ausgegebenen Transaktionen entfernt.
  • Ihr Guthaben ist immer noch die Summe der nicht ausgegebenen Transaktionen, dh 2 BTC (von Bob)
Um herauszufinden, was die nicht ausgegebenen Ausgaben sind, müssen Sie immer noch die gesamte Blockchain-Historie lesen.

Wenn es sich um Ihre „Wallet“ handelt und Sie die privaten Schlüssel haben, können Sie sie in eine Wallet-Anwendung importieren. Die Brieftasche kann mit etwas Arbeit entschlüsseln, welche Adressen Ihnen gehören, die Transaktionen in der Blockchain scannen und die Salden aktualisieren.

Ich möchte fragen, wie man Software schreiben würde, um dies zu tun? Ich versuche, das Format der Blockchain zu verstehen

Daher scheint es so, als müssten Sie, wenn Sie den Wert einer bestimmten Brieftasche erhalten möchten, jede Transaktion von Anfang an im Hauptbuch lesen.

Ja, grundsätzlich. Wenn Ihnen 2010 1 BTC geschickt und nie ausgegeben wurde, und 2018 1 BTC (ebenfalls nicht ausgegeben), haben Sie 2 BTC, aber ohne den gesamten Verlauf des Ledgers durchzugehen, könnten Sie nicht beide in Ihrem sehen Brieftasche, ohne den gesamten Verlauf zu scannen.

Es wäre schön, einen Knoten irgendwann nur mit den UTXO (nicht ausgegebenen Münzen) booten zu können , aber um dies zu tun, müssten Sie der Person vertrauen, die den Bootstrap generiert, und Sie könnten die wahre Geschichte von keinem zurückverfolgen der Coins (z. B. was IOTA macht, wenn sie einen Schnappschuss machen).