Allgemeine Bitcoin-Fragen [geschlossen]

Im Moment versuche ich, einen Einblick in Bitcoin und die Blockchain zu bekommen, aber ich habe einige allgemeine unbeantwortete Fragen.

  1. Woher weiß ein Wallet, wie viele Bitcoins zu einer bestimmten Adresse gehören?

Ich denke, es gibt viele Möglichkeiten, dies zu tun, z. B. das Analysieren der gesamten Blockchain und das Suchen nach einer Transaktion, die die Adresse durchgeführt hat, und das Aufsummieren der Transaktionsbeträge. Aber das scheint die schlechteste Methode zu sein. Gibt es eine andere Möglichkeit, auf die Blockchain zuzugreifen, beispielsweise wie SQL für relationale Datenbanken?

  1. In welchem ​​Block wird die Transaktion zum Erstellen eines Blockhashs aufgelistet?

Wenn Sie einen korrekten Hash eines Blocks finden, erhalten Sie Bitcoins. Aber die Transaktion wird im folgenden Block aufgelistet, richtig? Wenn die Transaktion in dem Block aufgelistet würde, für den der Miner den Hash gefunden hat, wäre der Hash nach dem Hinzufügen dieser Transaktion zum Block sofort falsch?!

  1. Wer hasht die Merkle-Wurzel?

Ich weiß bereits, dass der Merkle-Baum der "endgültige" Hash aus allen paarweise gehashten Transaktionen ist. Aber wer hasht alle Transaktionen? Liegt das auch an den Minern selbst? Wenn ja, müssen die Miner alle Transaktionen hashen und anschließend die richtige Nonce finden?

  1. Woher wissen Miner, dass es einen neuen Block gibt?

Ich weiß, dass Nachrichtenblöcke alle 10 Minuten generiert werden. Ist das zeitlich geregelt? Nehmen wir an, der Hash des letzten Blocks wurde um 9:30 Uhr gefunden und es ist jetzt 9:40 Uhr. Würde der Miner einfach in die Blockchain schauen und alle Transaktionen von 9:30 bis 9:40 Uhr abrufen, und das ist der Block, der gehasht werden muss?

  1. Wird die Schwierigkeit nur durch die führenden Nullen in einem Hash geregelt?

Beim Finden des richtigen Hashs scheint es elementar zu sein, die richtige Menge an führenden Nullen zu erhalten. Aber ist dies die einzige Möglichkeit, die Schwierigkeit zu regulieren?

  1. Was ist, wenn für einen Block keine Ankündigung gefunden wird?

Ist es möglich, dass das Netzwerk keine Nonce finden kann, um den benötigten Hash zu generieren?

Vielen Dank

Die meisten Ihrer Fragen lassen sich leicht beantworten, indem Sie sie in „Mastering Bitcoin“ von Andreas Antonopoulos nachschlagen. Frei verfügbar unter bitcoinbook.info.

Antworten (1)

Woher weiß ein Wallet, wie viele Bitcoins zu einer bestimmten Adresse gehören?

Ein Wallet ist ein privater Schlüssel, der öffentliche Schlüssel generiert. Sie können diese in der Blockchain nachschlagen, um zu sehen, ob einer von ihnen ein offenes Guthaben hat.

In welchem ​​Block wird die Transaktion zum Erstellen eines Blockhashs aufgelistet?

Die erste Transaktion in einem Block wird von den Minern selbst generiert und schreibt sich die Coinbase-Belohnung gut. Dann fügt der Miner weitere Transaktionen hinzu und beginnt, nach einem Hash zu suchen, der das richtige Schwierigkeitsziel hat. Wenn der Miner einen findet, veröffentlicht der Miner den Block. Miner schreiben sich also innerhalb ihres eigenen Blocks gut.

Wer hasht die Merkle-Wurzel?

Der Akt des Mining besteht darin, einen geeigneten Hash für die Merkle-Wurzel und den Block-Header zu finden.

Woher wissen Miner, dass es einen neuen Block gibt?

Die Schwierigkeit wird alle 2016 Blöcke aktualisiert. Da jeder Block mit einem Zeitstempel versehen ist, weiß die Schwierigkeitsanpassung, wie viel Zeit vergangen ist, und kann die Schwierigkeit so erhöhen, dass die nächsten 2016-Blöcke alle etwa 10 Minuten brauchen, um gefunden zu werden. Beachten Sie, dass dies von einer konstanten Hash-Rate ausgeht.

Wird die Schwierigkeit nur durch die führenden Nullen in einem Hash geregelt?

Jawohl.

Was ist, wenn für einen Block keine Ankündigung gefunden wird?

Wenn dies der Fall ist, tauschen Sie zwei Transaktionen im Merkle-Baum aus, die nicht miteinander verbunden sind. Sie können nach einer neuen Nonce für den entsprechenden Baum suchen.

Danke für deine Antwort. Aber wie kann man die öffentliche Adresse in der Blockchain am besten nachschlagen? Das Parsen der kompletten Blockchain würde zu lange dauern.
Wenn Sie es manuell tun möchten, schauen Sie sich blockchain.info an. Die Bitcoin-Core-Wallet tut dies, während sie tx von anderen Knoten empfängt. Es sind also keine manuellen Eingriffe erforderlich...
Nehmen wir an, ich hätte 100 Bitcoins und lade mir eine mobile Geldbörse aus dem AppStore herunter. Wie genau erhält die Brieftasche ihren aktuellen Kontostand? Oder kann auf eine Adresse immer nur von derselben Wallet zugegriffen werden? Der Wechsel zu einer neuen Wallet-App würde also keinen Sinn machen?
Die Hot Wallet wird wahrscheinlich nicht die ganze Kette selbst herunterladen, sondern nur einen Server fragen, wie hoch der Kontostand für eine Bitcoin-Adresse ist.
Der Server muss also die komplette Blockchain parsen? Es tut mir leid, aber ich verstehe nicht, wie ich am schnellsten auf die Blockchain zugreifen kann ...
Um den Kontostand einer Bitcoin-Adresse überprüfen zu können, muss zumindest jemand die gesamte Blockchain analysieren. Sobald dies erledigt ist, können Sie diese Entität (vorzugsweise Sie selbst oder eine Person Ihres Vertrauens) fragen, ob eine Adresse derzeit ein Guthaben aufweist.