Im Moment versuche ich, einen Einblick in Bitcoin und die Blockchain zu bekommen, aber ich habe einige allgemeine unbeantwortete Fragen.
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?
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?!
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?
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?
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?
Ist es möglich, dass das Netzwerk keine Nonce finden kann, um den benötigten Hash zu generieren?
Vielen Dank
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.
BlackBeltBob