經濟模型解讀(五):礦工激勵模型的區塊獎勵

買賣虛擬貨幣

在比特幣為代表的無許可區塊鏈共識系統中,為了保證安全性,系統的出塊速度和交易吞吐率都必須被限制在一個較低的水平。Conflux 透過採用獨創的樹圖結構,允許基於工作量證明(Proof of Work, PoW)的區塊鏈系統透過併發出塊的方式來提升吞吐率,從而實現了不犧牲安全性與去中心化的效率提升。

上篇文章我們為大家介紹了以比特幣、以太坊為代表的主流專案的礦工激勵模型。和這些專案相似,Conflux 的礦工獎勵也包括區塊獎勵和交易獎勵。除此之外,Conflux 的礦工獎勵還包括儲存維護獎勵。今天,我們先來說明區塊獎勵部分是怎麼分配的。

Conflux 的區塊獎勵由基礎區塊鏈獎勵和懲罰係數決定。

區塊獎勵 = 基礎區塊獎勵 × (1 – 懲罰係數)

基礎區塊獎勵的具體數值會在經濟白皮書中公開。目前我們可以透露的是,基礎區塊獎勵的數值由 Conflux 系統生成的總區塊數量確定。系統執行時間越長,基礎區塊獎勵越低。

在上期內容中我們提到,Conflux 的共識協議不丟棄任何區塊。也就是說,攻擊者的區塊也會保留。為了使攻擊者為攻擊行為付出代價,Conflux 的區塊獎勵是在基礎區塊獎勵的基礎上,扣除一定的比例。我們希望誠實區塊的懲罰係數很小,而攻擊區塊的懲罰係數很大。

為了搞明白懲罰係數怎麼設計,我們就必須分析攻擊者的行為特點。下圖中以一個例子,說明了一個壞人如果想挖分叉鏈,就必須刻意無視一些區塊。

要描述這個機制,就要先回顧一個之前講過的概念——光錐外區塊 (anticone-block)。在有向無環圖(DAG)中,如果兩個區塊之間沒有一條有向路徑,則稱這兩個區塊互為對方的 “光錐外區塊”。如果把有向邊的關係理解成時間的先後順序或者因果關係,那麼光錐外區塊就是相互之間無法透過有向邊確定先後順序的區塊。比如在下圖中,B 和 C 互為對方的光錐外區塊。

在 Conflux 中,一個區塊的區塊獎勵與它的光錐外區塊的數量有關:光錐外區塊的數量越多,則這個區塊的獎勵越少。這樣,當攻擊者在分叉鏈上挖出一個新的“壞人區塊”時,那些被他無視的區塊,都會成為壞人區塊的“光錐外區塊”,從而減少壞人區塊的區塊獎勵,對攻擊者造成經濟上的懲罰。而且這個懲罰是永久性的,因為即便攻擊成功回滾了樞軸鏈,也不會改變光錐外區塊的關係和數量。

實際上,從 Conflux 中所有區塊構成的樹圖結構來看,攻擊者發起分叉攻擊的情況下,與自私挖礦(將挖出來的新區塊雪藏一段時間後再廣播,以減少其他礦工在主鏈上挖礦的時間,讓自己在主鏈上佔有更大優勢)的情況下,形成的樹圖結構是非常相似的。所以分叉攻擊與自私挖礦在樹圖結構上無法區分,表現出來都是有一些區塊似乎廣播得特別慢,有很多光錐外區塊。不過其實也不需要區分到底是分叉攻擊還是自私挖礦,反正都一樣懲罰總沒錯。

在目前 Conflux 的系統中,一個區塊 b 因“光錐外區塊”受到的懲罰是按照如下步驟計算的:

1.確定該區塊所在的 epoch ;
2.在所有 epoch 不晚於 n+10 的區塊中,計算在區塊 b 的光錐外區塊的數量 x;
3.如下圖,取:

則 η 就是區塊 b 的懲罰比值。如果在沒有懲罰的時候,區塊 b 的基礎區塊獎勵是 y,那麼此時,區塊 b 獲得的區塊獎勵就是(1-η) ·y。

在正常網路環境下,一個誠實礦工挖出的區塊一般只有不超過 5 個光錐外區塊,這意味著誠實礦工只會損失不超過 0.25% 的區塊獎勵。而隨著攻擊者藏塊時間和數量增加,區塊獎勵會迅速降低。此外,儘管在這個過程中攻擊者藏起來的區塊也會同時增加誠實礦工區塊的光錐外區塊數量,但是由於誠實礦工本來的光錐外區塊數量很少,所以並不會在區塊獎勵上受到太大影響。

我們透過實驗驗證了在攻擊者進行分叉攻擊時,區塊獎勵收益隨藏塊時間增加而受到的影響。在下圖中,橫軸代表了攻擊者在這一攻擊中的藏塊時間,縱軸代表了攻擊者“實際收益”與“誠實行為收益”的比值,四種顏色對應攻擊者控制全網 10%, 20%, 30%, 40% 算力的情況。可以看出,隨著藏塊時間的增加,攻擊者獲得的區塊獎勵會隨著藏塊時間增加而迅速降低,最終在一分鐘到一分半的時候降為 0。

下一期我們將為大家介紹 Conflux 礦工激勵模型中的交易獎勵機制是怎樣設定的。

免責聲明:

  1. 本文版權歸原作者所有,僅代表作者本人觀點,不代表鏈報觀點或立場。
  2. 如發現文章、圖片等侵權行爲,侵權責任將由作者本人承擔。
  3. 鏈報僅提供相關項目信息,不構成任何投資建議

推荐阅读

;