Ich habe verstanden, dass die Bergleute, wenn eine neue Transaktion hereinkommt, von vorne beginnen oder zumindest ihren Merkle-Baum ändern müssen, um die neue Transaktion aufzunehmen, und im Wesentlichen wieder von vorne anfangen müssen.
Wenn ich mir die Echtzeit-Transaktionen auf https://blockchain.info/ ansehe , wie könnten Miner jemals einen Block erstellen, wenn es nie eine Pause gibt?
Wenn Sie eine Pause nicht als ein paar Mikrosekunden definieren, und da Sie jede Sekunde, glaube ich, Milliarden möglicher Hashes berechnen können, fällt es mir immer noch schwer zu verstehen, wie ein neuer Block in menschlich verständlichen Begriffen "ausgewählt" oder verifiziert wird.
Mining basiert auf Berechnungen, aber es ist nicht konstant, es ist zufällig. Im Wesentlichen generiert jeder berechnete Hash eine Zufallszahl. Wenn die Zufallszahl unter dem Ziel liegt, ist es gültig, einen Block zu erstellen. Die Wahrscheinlichkeit, dass ein einzelner Hash niedrig genug ist, ist winzig (Sie haben eine bessere Chance, mehrmals hintereinander im Lotto zu gewinnen), aber deshalb müssen Sie viele Hashes berechnen. Der tatsächliche Merkle-Baum macht keinen Unterschied, solange der Baum selbst gültig ist. Miner sind nicht verpflichtet, alle Transaktionen in den Mempool aufzunehmen, daher übermitteln sie normalerweise Blöcke, wenn sie einen gültigen Hash finden.
Die Aktualisierungen des Merkle-Baums spielen also keine Rolle. Tatsächlich kann es hilfreich sein, da es mehr Nonces zum Ausprobieren gibt.
Bergleute wählen aus, welche Transaktionen in ihre Blöcke aufgenommen werden sollen. Sie müssen also nicht ständig neu eingetroffene Transaktionen in die Blöcke integrieren, die sie versuchen. Sie können, wenn sie möchten, zum Beispiel die Möglichkeit nutzen, möglicherweise höhere Transaktionsgebühren zu erheben, die mit neuen Transaktionen verbunden sind.
Nate Eldredge
Blockwechsel
Nate Eldredge
Nate Eldredge
Blockwechsel
Nate Eldredge
Blockwechsel
Blockwechsel