天天看點

SCAR:Scalable Consensus Algorithm 靈活共識算法

日前,Qtum量子鍊針對區塊鍊可擴充性問題以及交易處理效率低下的問題,提出了名為“SCAR”的區塊鍊擴容共識算法,能夠進一步降低區塊鍊底層網絡的要求,

算法已公布便引起海外近萬名區塊鍊開發者的關注以及轉發。 據悉,SCAR可以找到使用者體驗與資源存儲之間的平衡點,使之與其他共識算法相比擁有更高的效率及靈活性。 背景介紹

諸如PoW(Proof of Work)、PoS(Proof of Stake)等傳統的區塊鍊公式算法,為了減少分叉保證網絡的穩定性,通常區塊的間隔在10秒以上。例如Ethereum的區塊間隔時間是15秒,Qtum是144秒,Bitcoin是10分鐘。過高的區塊間隔時間,

導緻了使用者等待交易确認的時間較長,不利于實時支付等應用

而一些聯盟鍊的共識算法,例如DPoS 通過投票選出超級節點來執行共識算法,可以将區塊間隔時間降到甚至1秒以内。但這樣帶來的問題就是block的數量過多,對網絡帶寬和資料存儲都帶來了很大的壓力。運作一個全節點,甚至僅下載下傳block header的輕節點,都對節點裝置的性能有較高的要求。

對于區塊鍊的大多數商業應用而言,如征信上鍊、商品溯源等,對于區塊鍊的寫操作通常是周期性的。即每天的部分時間交易量較大,其餘時間交易量小。

對于這樣的場景,如果始終維持高速的區塊産出,對于網絡和存儲資源都是較大的浪費,而僅需要保證在網絡高峰時段系統有較高的性能即可。

是以,我們提出了 SCAR(Scalable Consensus Algorithm)可伸縮共識算法。

SCAR的思想是根據區塊鍊網絡的負載,動态地調節參數,在高性能和低負載之間找到平衡,進而實作性能可伸縮。 SCAR 共識算法描述

以下将介紹SCAR算法的一種實作方式。

這種實作方式在聯盟鍊的基礎上,通過交易量來動态地更新區塊間隔,進而實作了區塊鍊性能的可升縮。需要注意的是,SCAR算法的核心思想是根據負載動态地調整區塊鍊的性能,是以實作方式并不局限于本文所提出的這種,更多的實作有待進一步地探索。

SCAR共識算法由三個步驟組成: 以上可得SCAR共識算法的優點在于: 1. 由超級節點執行共識,block間隔可以極大程度縮短,交易确認快。 2. block間隔根據網絡負載動态調整,空閑時候間隔變長,降低帶寬和硬碟壓力。 3. 當低于半數的超級節點出現故障的時候,新的block仍然能夠産出,系統魯棒性強。 總結

從本質上來說,SCAR能夠支援在聯盟鍊的基礎上,通過交易量來動态地更新區塊間隔,進而實作了區塊鍊性能的超靈活的特性,SCAR算法的核心思想是根據負載動态地調整區塊鍊的性能。

SCAR在保證區塊鍊性能的同時,盡可能節省了帶寬和硬碟的消耗,并支援動态調整鍊上參數,相比其他共識算法更加的高效和靈活,在大規模的商業應用中會有更大的優勢。

繼續閱讀