Mining

Ethash過程中的種子是什麼

  • September 30, 2018

出於採礦目的,需要生成種子。我讀了一些文章,但仍然不明白這個種子是從哪裡來的。是如何計算的,或者它是關於什麼的?我在乙太坊維基 github 上找到了這個:

def get_seedhash(block):
s = '\x00' * 32
for i in range(block.number // EPOCH_LENGTH):
    s = serialize_hash(sha3_256(s))
return s

任何人都可以向我解釋這段程式碼嗎?

Ethash 以 epoch 為單位進行雜湊計算,每個 epoch 為 30000 個塊,同一 epoch 中的所有塊都以相同的種子開始。

對於 epoch 0,種子是'\x00'*32 = '0x0000000000000000000000000000000000000000000000000000000000000000'.

對於 epoch N,種子將是前一個 epoch 的種子的 sha3 N-1

例如,在 epoch 1 中,種子將是sha3('0x0000000000000000000000000000000000000000000000000000000000000000') = '0x290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563'.

引用自:https://ethereum.stackexchange.com/questions/59752