Zufallszahlen mit Blockchain

Wie werden die Block-Hashes generiert?

Sind sie wirklich 100 % zufällig (durch Hardware generiert) oder pseudozufällig (durch Software generiert)?

Kann ich mich darauf oder auf andere Blockchain-Daten verlassen, um eine 100 % vertrauenswürdige Verlosung zu machen?

Grüße,

Vielleicht möchten Sie diese Open-Source-Verlosung überprüfen, die auf Blockchain-Daten basiert: bitraffle.info

Antworten (3)

Sind sie wirklich 100 % zufällig (durch Hardware generiert) oder pseudozufällig (durch Software generiert)?

Umständliche Antwort: Nein, sie sind nicht zufällig, weil die ersten zwanzig Ziffern oder so immer Null sind.

Ernsthafte Antwort: Der Bitcoin-Client verwendet meines Wissens keine Hardware-Zufälligkeit. Wenn jedoch auch nur eine einzelne Transaktion im Block mithilfe von Hardware-Zufälligkeit generiert wurde, enthält der Block-Hash Hardware-Zufälligkeit.

Außerdem glaube ich nicht, dass Sie den Hash eines Blocks vorhersagen können, der noch nicht gefunden wurde.

Kann ich mich darauf oder auf andere Blockchain-Daten verlassen, um eine 100 % vertrauenswürdige Verlosung durchzuführen?

Wie Greg sagte, kann ein Miner Blöcke zurückhalten, wenn die Freigabe dazu führen würde, dass der Miner die Verlosung verliert. Natürlich belaufen sich die Kosten für das Zurückhalten eines Blocks und die Nichtübertragung an das Netzwerk auf etwa 9000 US-Dollar, sodass dieser Angriff möglicherweise nicht sinnvoll ist.

Wie mache ich eine vertrauenswürdige Verlosung?

Ihre Methode würde wahrscheinlich funktionieren. In dieser Antwort wird erläutert, wie ein Geheimnis zwischen zwei Parteien ausgetauscht wird, die einander nicht vertrauen können. Darauf aufbauend könntest du etwas gebrauchen.

Sind sie wirklich 100 % zufällig (durch Hardware generiert) oder pseudozufällig (durch Software generiert)?

Eigentlich nein, sie sind zu 0% zufällig. Beim Mining-Prozess gibt es keinerlei Zufälligkeit. Der einzige Teil in Bitcoin, der einen Zufallsgenerator beinhaltet, ist die Erstellung privater Schlüssel.

Was die Unvorhersagbarkeit von Block-Hashes anbelangt (die wie eine Art Zufall erscheinen mögen), so ist dies auf den für kryptografische Hash-Funktionen typischen Lawineneffekt zurückzuführen. Aus praktischer Sicht können Sie Block-Hashes als zufällig betrachten.

Kann ich mich darauf oder auf andere Blockchain-Daten verlassen, um eine 100 % vertrauenswürdige Verlosung zu machen?

Die Block-Hashes, ja (obwohl sie nicht perfekt 256-Bit-verteilt sind, die ersten n Bits sind Null). Andere Blockchain-Daten wahrscheinlich nicht, da diese von anderen beeinflusst werden können (z. B. Miner, die entscheiden, welche Transaktionen eingeschlossen werden sollen).

Block-Hashes können weder als zufällig noch als pseudozufällig betrachtet werden. Bergleute können auswählen, welche Transaktionen in einen Block aufgenommen werden sollen, und müssen nicht jeden Block, den sie finden, übertragen. Beispielsweise könnte ein Miner sich weigern, einen Block zu senden, es sei denn, der Block-Hash endet mit einem 1-Bit. Dies mag nicht wichtig erscheinen, führt jedoch zu einer Verzerrung des resultierenden Block-Hashs und kann daher nicht als "zufällig" betrachtet werden.

Auf ähnliche Weise können keine der anderen Daten in einem Block sicher als wirklich zufällig betrachtet werden. Bergleute können wählen, welche Daten in jeden Block (sogar die Nonce) gehen.