Eine Transaktion hat eine In-Bitcoin-Adresse. Die Transaktion weist darauf hin, diese Adresse (als Bruchteil oder als Ganzes) an eine andere Adresse zu übertragen. Da die Quelle der Wahrheit die Blockchain ist, woher weiß der Miner, dass die In-Bitcoin-Adresse die genannte Datenmenge hat? Und wie überprüft der Miner es effizient?
Ich habe von Merkel-Bäumen gelesen. Mein Verständnis ist, dass sie dabei helfen herauszufinden, ob eine Transaktion in einer bestimmten Reihenfolge in einem Block vorhanden ist. Aber eine Blockchain wird viele Blöcke haben. Also, wie wird es von Bergleuten effizient gemacht?
Wird es nicht einfacher sein, eine Hashmap von der Bitcoin-Adresse zum Betrag zu erstellen?
Es gibt keine "Ein-Adressen" oder "Von-Adressen", und das hat nichts mit Merkle-Bäumen oder sogar Blöcken zu tun.
Bitcoin funktioniert durch Transaktionen, die Ausgaben erstellen, und andere Transaktionen, die aus früheren Transaktionsausgaben ausgegeben werden. Jeder Ausgang hat einen zugeordneten Wert. Wenn Sie Bitcoin ausgeben, geben Sie aus früheren Transaktionsausgaben aus. Ihre Transaktion enthält einen Verweis auf die ausgegebene Ausgabe: die txid und den Index der Ausgabe. Da alle Transaktionen (mit Ausnahme von Coinbase-Transaktionen – die Coin-Erzeugungstransaktion, nicht das Unternehmen) von einer früheren Transaktionsausgabe ausgegeben werden, sind die Transaktionen alle miteinander verkettet. Sie können diese Transaktionskette rückwärts durchlaufen, um zu überprüfen, ob die Werte aller Transaktionen korrekt sind.
Wenn also ein Knoten Ihre Transaktion empfängt, sucht er nach den Ausgaben, von denen Ihre Transaktion ausgegeben wird, und stellt sicher, dass keine andere Transaktion diese Ausgaben bereits ausgegeben hat. Dann summiert es die Werte der ausgegebenen Ausgaben und stellt sicher, dass diese Summe größer oder gleich der Summe der Werte der erstellten Ausgaben ist.
Ashish Negi
and makes sure that no other transaction has spent those outputs already.
?Ashish Negi
Andreas Chow
Andreas Chow
Ashish Negi
Pieter Wuille