1. 程式人生 > >以太坊的叔塊(uncle block)

以太坊的叔塊(uncle block)

參考自

叔塊的設計理念

孤塊(orphan block)

在比特幣協議中,最長的鏈被認為是絕對的正確。如果一個塊不是最長鏈的一部分,那麼它被稱為是“孤塊”。一個孤立的塊是一個塊,它也是合法的,但是發現的稍晚,或者是網路傳輸稍慢,而沒有能成為最長的鏈的一部分。在比特幣中,孤塊沒有意義,隨後將被拋棄,發現這個孤塊的礦工也拿不到採礦相關的獎勵。

最重的鏈(heaviest)

Ethereum的GHOST協議,不認為孤塊沒有價值,而是會給與發現孤塊的礦工以回報。在以太坊中,孤塊被稱為“叔塊”(uncle block),它們可以為主鏈的安全作出貢獻。

相對來說,比特幣有很長的塊間隔時間。在比特幣區塊中,平均約10分鐘可以得到一個確認(也就是發現一個新的後續區塊)。但是自從比特幣成立以來,大量關於塊鏈技術的研究已經發展起來。這些研究表明,更短的塊間隔確實是可能的,而且在很多應用場景下是需要的。然而,隨著擁有更快的出塊速度,孤塊的增加而帶來的昂貴的成本和浪費也隨之增加。

GHOST協議支付報酬給叔塊,這激勵了礦工在新發現的塊中去引用叔塊。引用叔塊使主鏈更重。在比特幣,最長的鏈是主鏈。在以太坊中,主鏈是指最重的鏈。

叔塊的好處

比特幣平均出塊時間間隔為10分鐘,出現叔塊的情況概率比較小,當時中本聰設定的這種情況的叔塊是做無用功,不會有任何獎勵。

以太坊為了縮短出塊時間到10s出頭,那麼叔塊產生的概率就比較高了,如果類似比特幣的設計,會有很多礦工因為生產了叔塊而獲取不到任何獎勵,礦工的積極性會降低,不利於以太坊生態發展,所以V神引入了叔塊的概念,這種情況下礦工打包叔塊進區塊,叔塊生產者和打包叔塊的礦工都會有一定的獎勵。

  1. 以太坊十幾秒的出塊間隔,大大增加了孤塊的產生,並且降低了安全性。通過鼓勵引用叔塊,使引用主鏈獲得更多的安全保證(因為孤塊本身也是合法的)
  2. 比特幣中,採礦中心化(大量的集中礦池)成為一個問題。給與叔塊報酬,可以一定程度上緩解這個問題。

具體