Zum Inhalt springen

Kurs:Wie funktioniert eigentlich Bitcoin/LedgerNew

Aus Wikiversity

Rene-Coin Proposal von Oscar

Konsensregeln und Syntax

Blockaufbau:


BlockHash,PrevHash,MerkleRoot,Nonce

Tx: //zum Verständnis

Transaktionsaufbau:

INPUT1,INPUT2,…,[(MENGE1,OUTPUT1),(MENGE2,OUTOPUT2),(…)]


  • Bildung von Merkle-Roots: SHA256("hashA,hashB")
  • Transaktionen werden erst gesigned und dann gehasht
  • (ab Block 3)Coinbasetransaktionen haben als Input COINBASE,Nonce. Bsp.: COINBASE,53526262
    • Die Nonce wird willkürlich und zufällig gewählt vom Miner, wodurch ein einzugartiger Hash für die Tx generiert wird
  • Findung der Nonce: Mit SHA256-Input: PrevHash,MerkleRoot,Nonce




Blockchain

Beispiel Bildung von Block 1


PrevHash: gibt es nicht, da es der Genesis-Block ist

Tx:

Coinbase an 12345678qq, geeignet von 12345678qq via Keybase:

BEGIN KEYBASE SALTPACK SIGNED MESSAGE. kXR7VktZdyH7rvq v5weRa0zkHvcREr QHaaRrBpS7Hus9M lTiXFM9KJhd5F7z meZ0gwMEXCv1vW0 1xRV2B15U2VE0PQ x16hEZDZ94tPFB8 Sm1ifxq9jidE7aY oBNAsTDxnxvTTM4 ReoQAKZdQQnYICR nk9QHFU3sl6sLYp AVKuW2Z70dC5DnX 8XWZsGq1zO6lgI2 RDTTDVw7sAnqafP L6zLd24U3ze. END KEYBASE SALTPACK SIGNED MESSAGE.

Hash der signed Message:

93ac59512e6b5f5874a3c2d88314b53ce8567a429085d9b73d7bead969990322

Nur eine Transaktion=>

Merkle Root:

93ac59512e6b5f5874a3c2d88314b53ce8567a429085d9b73d7bead969990322

Findung der Nonce => 4

BlockHash mit Nullbits: 099efe89873dd86b84ca7d33bcc14127435c4ed325e93b6322c1013a7fed7cc4

Beispiel Block 1

099efe89873dd86b84ca7d33bcc14127435c4ed325e93b6322c1013a7fed7cc4,,93ac59512e6b5f5874a3c2d88314b53ce8567a429085d9b73d7bead969990322,4

Tx:
COINBASE,[(10,12345678qq)]


Beispiel Bildung Block 2:

PrevHash: 099efe89873dd86b84ca7d33bcc14127435c4ed325e93b6322c1013a7fed7cc4

Tx:

COINBASE,[(10,12345678qq)] => 93ac59512e6b5f5874a3c2d88314b53ce8567a429085d9b73d7bead969990322

93ac59512e6b5f5874a3c2d88314b53ce8567a429085d9b73d7bead969990322,[(5,lenalui)] => 8389fb4ecc8493573105e5336e8529b5ae2c88423e37055e903a4b7ca2181a60

Merkle Root: 9f479c13d97d528db356b31d069237c6e17a93f0c9b4df09b7e516a8b48cb6d7


099efe89873dd86b84ca7d33bcc14127435c4ed325e93b6322c1013a7fed7cc4,9f479c13d97d528db356b31d069237c6e17a93f0c9b4df09b7e516a8b48cb6d7,12

=> BlockHash: 01d0b91efd6deadb3a5c585afbb29ff8bdce30c59676c95e20c27cf7f7c6e5fc

Beispiel Block 2


01d0b91efd6deadb3a5c585afbb29ff8bdce30c59676c95e20c27cf7f7c6e5fc,099efe89873dd86b84ca7d33bcc14127435c4ed325e93b6322c1013a7fed7cc4,9f479c13d97d528db356b31d069237c6e17a93f0c9b4df09b7e516a8b48cb6d7,12

Tx:
COINBASE,[(10,12345678qq)]
93ac59512e6b5f5874a3c2d88314b53ce8567a429085d9b73d7bead969990322,[(5,lenalui)]