免責聲明: 金色財經作為開放的資訊分享平臺,所提供的所有資訊僅代表作者個人觀點,與金色財經平臺立場無關,且不構成任何投資理財建議。
APP
中國版App下載 Android & iPhone
金色專欄
  • 專欄申請

金色觀察|PoW共識該如何進化?

比特幣是加密貨幣網絡中第一個成熟的代表產品,也是因為比特幣網絡的出現,才后繼發展出以太坊等世界計算機雛形。

不過后續公鏈為了性能需求,做了過多更改和添加,其中最重要的是把公鏈的共識徹底更改為PoS,盡管以太坊還沒有徹底改變,但也已經提上日程。

我們不禁需要思考,能不能不修改PoW共識,而達到其性能呢?我們就以本文討論一下,PoW共識該如何進化。

因為共識算法主要應用在區塊鏈網絡結構的共識層,可以理解為layer1。而如果對PoW共識進行更改,那對比對象就是比特幣的PoW中本聰共識和以太坊的ethhash,今天不用談其對ASIC芯片和GPU芯片的規定,而是在PoW出塊驗證過程中的變化。

中本聰共識是區塊鏈早期廣泛使用的一種共識方法。目前為止中本聰共識仍是容錯能力最好的,其設計簡單,通訊開銷低,經過了數十年的驗證。但是該共識有一個自然的吞吐量限制。其吞吐能力較低,出塊時間過長,用戶體驗較差。

如果你想提高吞吐量,你可以做兩件事:一是增加塊大小(如比特幣現金,比特幣無限),二是降低塊間隔,但這會增加孤塊率。消耗帶寬,也不利于交易確認。隨著孤塊率的增加,系統的安全性下降,吞吐量下降。

當孤塊率非常高時,攻擊者很容易秘密生成更長的鏈。攻擊者則不需要 51% 的算力,可以用更少的算力覆蓋區塊鏈。

如果我們想突破吞吐量限制,必須想辦法降低孤塊率。

孤塊出現的原因來自于塊的傳播延遲,如果在傳播另一個塊時發現一個塊,則其中一個注定是孤塊。

而一些區塊的傳播速度較慢,是因為這些區塊相關有更多的新交易,新交易是在區塊打包前的 10 秒內生成的未同步交易,因此礦工必須先同步這些交易,然后才能進一步傳播這些塊。

例如,當節點 A 向節點 B 傳播一個塊并且其中沒有新的交易時,節點 B 可以立即將這些塊傳輸給它的所有鄰近節點。

但是,如果區塊中有新交易,節點 B 必須首先從節點 A 同步這些交易,然后驗證這些交易的簽名,這也需要時間。只有當整個區塊的有效性得到驗證時,節點 B 才能繼續傳播這個區塊。

以太坊出現后,對中本聰共識并沒有實質性的改善。其只是簡單地縮短了出塊間隔。

并且以太坊還有一個問題,因為交易的有效性取決于區塊內的交易順序,驗證交易,必須等到區塊收到后,因此無法在收到實際區塊之前驗證交易有效性。

也即是因為這樣,每個區塊中的每筆交易都會被視為新交易。交易傳播中有很多冗余。例如一個以太坊客戶端可能會將同一筆交易傳播到不同的節點七次,而這些交易就意味著以太坊會出現非常高的孤塊率,數據表明,可能有時高達 30%,嚴重占用網絡資源,造成交易堵塞。

以太坊還有叔塊的設置,如果這些孤塊被納入最長鏈,可以拿到部分獎勵,但叔塊的數量和獎勵無濟于事。

因此,這些遲緩的交易確認流程和技術現象,造成了PoW共識表現出的比特幣網絡和以太坊網絡的問題。

那可以如何改善PoW共識?

在現有的設計案例中,可以看到兩種必要的方法。

首先是挖礦難度調整,這是對于計算出塊難易程度的預估,比特幣和以太坊是定期調整的,并且是較長周期內調整,而改善后的PoW共識內可以通過一個小周期(時隙)來調整,一個時隙會包含多少個塊,以保證快速調整到平穩的難度值。這對出塊時間也是重要的。

第二個必要的改進就是調整出塊時間,而這涉及到很細節的過程。在上文中,因為區塊打包前的新交易會不停延遲區塊鏈傳播時間,那如果讓傳播節點不再因新交易出現而延遲同步,出塊就會變快速,但需要將新交易,以及漏掉的交易進行新的驗證打包。這就需要一個新的交易提交渠道。

我們在NC-MAX的算法里查到了一個設計。

那就是將區塊中添加了一個“叔塊頭”區域,允許礦工將盡可能多的叔塊嵌入到一個塊中。叔塊可以在區塊中傳播他們的頭和他們的交易提議區,但叔塊不計入塊大小限制。

另外還需要添加了一個交易提議區,其中可能包含一些新交易的提交,交易在傳播區塊后同步。并且是并行同步的,不會影響塊的傳播過程。只要哈希檢查,不會影響塊的有效性。

還有一種可以稱之為智能的方式,那就是讓出塊時間設計為動態變化。

在PoW鏈正常的共識出塊中,會出現孤塊、叔塊,這會影響鏈的數據,但如果通過一個數據來監控孤塊和叔塊,進而調整出塊時間和塊大小。就足以讓所有鏈上的資源變得更智能。

例如還有一個公鏈的案例是引入叔塊率等運行期數據,對出塊時間,難度,出塊獎勵進行動態調整,進而最大限度利用網絡資源。

詳細的過程如下:當區塊越大,出塊時間越短,孤塊會越多,而孤塊率增加會降低雙花攻擊的難度,所以需要將孤塊率限制在一個閾值之內。

如果在孤塊基礎上,引入叔塊。首先,定義每 N 個塊為一個 Epoch。并且為每個Epoch定義出叔塊。

這樣就可以用 Epoch 內的叔塊率評估網絡的擁塞情況,并以此作為出塊時間,出塊大小調整的依據,實現充分利用網絡,提升吞吐的同時,也可避免區塊過大或者出塊時間太短導致孤塊過多,安全降低。

為了將叔塊維持在一個合適的閾值內,在每個 Epoch 末,都會重新調整下一個周期的出塊時間。

如果叔塊率較高,則說當前的出塊時間間隔下,網絡中存在較多的分叉和孤塊,我們需要調大出塊的時間,緩解此問題。反之,則說明全網出塊情況良好,還能進一步縮短出塊時間,進一步提高全網吞吐。

以此看來,通過對PoW共識設計的改變,足以改善PoW鏈的表現能力,但如果用此與PoS鏈相比,仍舊是無法比較的,只是通過這樣的改進,在面臨網絡擁堵情況下,鏈的處理能力是更高的,也是更可控的,這樣的調整下,部分項目可以保持對PoW共識的信仰,同時其網絡資源也是在礦工經濟模型的保護之下運行的,在行業面臨巨大問題時,可能會有緩沖效果。

jinse.com
好文章,需要你的鼓勵
jinse.com
好文章,需要你的鼓勵
發表評論
0/140
發布評論
評論
文章作者: / 責任編輯: 我要糾錯

聲明:本文系金色財經原創稿件,版權屬金色財經所有,未經授權不得轉載,已經協議授權的媒體下載使用時須注明"稿件來源:金色財經",違者將依法追究責任。

提示:投資有風險,入市須謹慎。本資訊不作為投資理財建議。

金色財經 > 區塊鏈 > 金色觀察|PoW共識該如何進化?
乐天堂手机app Fun88| FUN88登录| fun88官网| fun88官网备用| FUN88手机版| Fun88乐天堂| 梦飞翔| 乐体育| 乐体育官网| 乐体育网址| 乐天堂app下载| 乐天堂fun88体育官网| 乐天堂fun88入口| 乐天堂国际| 乐天堂手机app| 乐天堂手机app下载| 乐天使| 热天堂| 热天堂官网| 乐天堂fun88| FUN88电竞| 乐天堂入口| 乐天堂最新网址| 乐天堂备用网址| 乐天堂体育官网| 乐天堂fun88电竞| 乐天堂体育官网平台| 乐天堂注册| 乐天堂fun88国际| 乐天堂备用网站| 乐天堂电竞体育综合平台| fun88地址| fun88首页| fun88乐天堂网址| 天堂fun88| 乐天堂app| 乐天堂网址| 乐天堂电竞平台| fun88亚洲体育| 乐天堂手机版| 乐天堂体育注册| 乐天堂首页| 乐天堂88| 乐天堂fun88体育投注| 乐天堂fun88投注| 乐天堂fun88app| <文本链> <文本链> <文本链> <文本链> <文本链> <文本链>