作者:Chasey,BuidlerDAO
每一條區塊鏈,都面臨著由去中心化、安全性、可擴展性組成的不可能三角。其中,去中心化是區塊鏈技術最大的優勢,需要優先保障;而若是想建立長久、可持續的生態,安全性也是不得不做到極致的要素。這就造成了當前公鏈普遍可擴展性低下的現狀。
圖源:這么吃藕一看就是自己畫的
如何在平衡去中心化與安全性的前提下,提升區塊鏈的吞吐量=擴容,是急需解決的問題。近年來,ETH2.0作為以太坊的擴容愿景,即使經歷了多次跳票,仍在世界范圍內飽受關注、備受期待。由此也能看出,擴容已經成為了公鏈用戶的群體需求,吞吐量也是在對于一條區塊鏈進行分析、估值時必不可少的指標之一。本文意在提供一個當前區塊鏈擴容方案的全體畫像,幫助讀者更清晰地理解擴容方案的基礎理念。
為什么需要擴容
在開始討論具體的擴容方案之前,我們先來梳理一下擴容的作用及其必要性。
區塊鏈上的節點分為全節點和輕節點。為了保證交易數據的完整性和安全性,全節點需要儲存整個區塊鏈的交易數據;而輕節點僅需要儲存BlockHeader,通過向全節點請求相應的Body來驗證交易。節點的數量越多,則該鏈的去中心化程度越強,同時為了達成共識需要處理的工作量也就越多,對于吞吐量的負面影響也就越大。此外,如圖所示,比特幣的區塊容量上限為1MB,而以太坊也因為設置了GasLimit,導致區塊大小的上限被控制在了130KB左右。
圖源:Blockchair
由于區塊大小有限,礦工無法將所有交易都放到同一區塊中進行打包,因此他們更傾向于按照預期收益的多少對交易進行排序,并按照價格從高到低有選擇性地打包,以確保獲得最高的收益。這就導致了GasPrice較低的交易延遲時間過長。如下圖所示,以太坊上每分鐘約有17萬筆交易在等待驗證。
圖源:Etherscan
當前,比特幣的吞吐量低至7TPS(Transaction-per-second),而以太坊的吞吐量也被限制在了15~20TPS.為了方便理解,我們將其與傳統線上交易方式的吞吐量相比:PayPal的交易處理速度在200TPS左右,而VISA約為1700TPS,差距頗大。
此外,不斷增加的交易數據對于維護區塊鏈所需的存儲能力也帶來了壓力。目前,比特幣的儲存量已超過400GB,yoy17.4%;而以太坊則將近900GB,平均增速64.30%。
圖源:Blockchair
如圖所示,每天發生在以太坊上的交易數量超過1,250,000筆,并且隨著公鏈生態的逐漸普及,這個數字在未來會越來越大,吞吐量的壓力也越來越大,擴容刻不容緩。
Circle正在依靠10億美元的現金儲備來應對穩定幣競爭:金色財經報道,據彭博社消息, Circle正在依靠 10 億美元的現金儲備來應對市場份額下降和來自其他穩定幣的新競爭。自今年年初以來,Circle 的穩定幣總供應量一直在萎縮,截至 8 月份,其USDC徘徊在 240 億美元左右。這比 1 月份 420 億美元的代幣供應量減少了約 43%。
首席執行官杰里米·阿萊爾 (Jeremy Allaire)表示:“不僅僅是互聯網支付公司,還有各種金融服務公司和其他公司開始更多地參與其中。我確實認為,有這種新的競爭真是太好了,它將推動越來越多的公司進入該領域。”[2023/8/11 16:18:56]
圖源:YChart
讀到這里,我們已經了解了擴容的重要性,是時候一起看看究竟可以通過哪些手段來實現擴容了。
擴容方案分類
下圖為HandbookofResearchonBlockchainTechnology(2020)一書中的插圖。在本文中,我們將著眼于圖中"WritePerformance"這一部分,從鏈上與鏈下兩個角度講解當前已經出現的擴容方案。
圖源:HandbookofResearchonBlockchainTechnology(2020)
鏈上擴容方案
鏈上擴容方案,指的是通過對于原鏈的設計進行更改,以達到擴容效果的方案。區塊鏈技術可以拆成六大層級結構:共識層、網絡層、數據層、激勵層、合約層、應用層。其中前三個是區塊鏈的底層基礎,也是鏈上擴容方案操作的目標。
1.共識層=BFT;中本聰;混合
共識機制,指的是區塊鏈中各個節點對于數據的可用性以及賬本狀態的一致性達成共識的過程。由于共識機制完全決定了從下載數據到打包出塊的整個流程,因此節點對于交易的驗證效率嚴重依賴于共識機制的設計。當前主流的共識機制可以分為BFT類共識、中本聰共識以及混合共識。
BFT類共識
提到BFT計算,需要先講一下已是老生常談的拜占庭將軍問題:拜占庭帝國致力于開疆擴土,在一場戰爭中,他們試圖派出10支軍隊分開包圍敵人,該敵人最多能夠抵御5支拜占庭軍隊。由于各軍隊站位較遠,各軍隊的將軍們需要通過給其他軍隊發送進攻/撤退的信號來達成行動共識。將軍們所面臨的最大問題是:如果某個軍隊中出現了叛徒,故意發送錯誤信號,該怎么辦?在區塊鏈中,這個問題類似于:區塊鏈中的各個節點通過向其他節點發送信息的方式達成共識,如果網絡中出現了叛徒節點,發送了錯誤的信息,該怎么辦?
過去24小時以太坊鏈上手續費收入突破970萬美元:金色財經報道,Cryptofees.info數據顯示,最近24小時,以太坊鏈上手續費收入為9766194.91美元,Uniswap鏈上手續費收入為3017273.23美元,GMX鏈上手續費收入為797887.21美元,Bitcoin鏈上手續費收入為585236.48美元,BSC鏈上手續費收入為543256.21美元,SushiSwap鏈上手續費收入為338979.68美元。[2023/2/15 12:08:35]
最為出名的BFT類共識是PBFT,感興趣的可以自行查看參考文獻,表述得非常簡單易懂,因此在這里不再贅述。使用此類共識,需要保證各個正常運作的節點使用相同的隨機數與區塊算法進行計算,并生成區塊。當原賬本相同時,計算結果相同,生成后的賬本不可篡改、永久公開。由于每個節點都需要與其他所有節點同步共識,在節點數量較少時,可以在保證安全性的同時實現極高的吞吐量,隨著節點的數量增加,需要處理的數據量也會相應增加,導致處理交易的速度大幅下降。
中本聰共識
中本聰共識主要有ProofofWork工作量證明和ProofofStake權益證明。在這部分我們將附帶著PoS的變種DPoS,探討各個共識機制在吞吐量方面的表現。
PoW:算力決定記賬權,不需要設置機制對于節點進行授權。在吞吐量方面,其最大的問題在于難度高導致的出塊慢;并且為了保證賬本的一致性,還需要故意設置打包延遲。這里的延遲指的是,礦工打包區塊后,需要再做至少一個區塊的工作量證明,才能確認候選區塊。
PoS:持幣獲取記賬權和投票權,打包節點打包候選區塊后進行廣播,并由投票節點對于候選區塊進行投票以決定是否將其加入區塊鏈,投票采用多數制。PoS相較于PoW,由于引入了投票機制,犧牲了部分安全性;而在吞吐量方面,由于打包速度快,并且沒有等待時間,因此延遲極低。
DPoS:持幣獲取投票權,選出董事會負責記賬。在PoS之上犧牲了部分去中心化程度,擁有比PoS更高的吞吐量。
混合共識
顧名思義,混合共識指的是結合了不同共識機制優點的共識。如在主鏈使用PoW確保安全的同時在側鏈使用PoS保證吞吐量;結合PoS和PBFT以降節點數量減少到恒定值,從而再次提升吞吐量,等。
2.數據層=擴塊;縮數據;DAG
除了共識機制,每個區塊中可以打包的交易數量也與交易的吞吐量密切相關。我們可以通過擴大區塊容量、縮小交易數據的方式提升區塊鏈吞吐,或是直接采用DAG的數據結構來處理交易。
美國參議院民主黨員:馬斯克計劃成立內容審核委員會是一個好跡象:10月30日消息,美國參議院民主黨員表示,“我不”相信馬斯克會掌管推特,馬斯克計劃成立內容審核委員會是一個好跡象。[2022/10/31 11:58:53]
放寬/取消區塊大小限制
擴大區塊容量,可以使得每個區塊中打包進更多筆交易數據,但是同時會使區塊廣播的時間增加,提升網絡延遲,從而增加硬分叉的風險。
縮小區塊中儲存的數據
此類方案中,較為出名的有Segwit隔離見證:將區塊信息中簽名的部分以及用于計算交易ID的數據進行單獨管理,從而壓縮60%的交易信息量。作為緩解容量問題的輔助方案較為有效,但是不能解決本質問題。
DAG
如下圖所示,區塊鏈采用鏈式結構,其區塊頭中只能包含一個區塊的哈希值;DAG結構下的區塊頭中可以包含多個區塊的哈希值;區塊鏈中新的區塊會被添加到鏈的最后端,不能從鏈中間續寫;DAG可以從之前的區塊續寫。
圖源:RussianBlogs
區塊鏈是同步記賬,節點需要在同一時間記錄同樣的信息;DAG是異步記賬,同一時間內不同的節點可以記錄不同的信息。因此DAG單位時間內可以打包的交易數量更多,TPS極高。基于DAG的協議目前主要有SPECTRE和PHANTOM兩種。
SPECTRE協議通過投票的方式抵御攻擊
如下圖所示,當區塊X和區塊Y中所記錄的內容相沖突時,記錄在區塊X之后的區塊6~8會記錄下與區塊X相同的信息X;區塊9~11會記錄下與區塊Y相同的信息Y;區塊12同時可以回溯到區塊X和區塊Y,因此它會記錄下與上一輪投票相同的結果,也就是X;區塊1~5會根據記錄著自己區塊信息的區塊的投票情況進行投票,由于記錄著X的區塊較多,1~5選擇投票給區塊X。
由于惡意區塊直到開始攻擊之前都不會與誠實區塊產生關聯,使用SPECTRE協議時,只要誠實的節點更多,沖突的交易就能夠被排除。其問題在于只適用于一般交易,由于沒辦法對于全部交易按照時間進行線性排序,因此無法運行智能合約。而PHANTOM協議可以解決這個問題。
圖源:AnoverviewofSPECTRE
PHANTOM協議會先通過投票篩選出誠實區塊,并對誠實區塊進行拓撲排序
在了解其篩選方式前,需要先理解分叉系數k=可以分叉的個數和GHOSTDAG算法=通過追溯歷史區塊,選擇鏈條最長的一條作為主鏈,形成子集S,默認該集合中的區塊均為誠實區塊。此后,針對每一個區塊,驗證與其沒有聯系的區塊和子集S的交集是否小于等于k,如果小于等于k,則判斷為誠實區塊,加入子集S.
數據:Meta占據了90%的VR頭盔市場:金色財經消息,據IDC最新數據顯示,2022年第一季度全球VR頭盔的出貨量較去年第一季度相比增長了241.6%, Meta 的Quest 2占據了VR頭盔市場90%的份額,其次字節跳動的Pico占4.5%的份額 。預計2022年VR頭盔的出貨量將增長至1390萬,較去年增長26.6%。此外,預計蘋果將推出VR頭盔。(The Block)[2022/7/10 2:02:59]
圖源:AnoverviewofPHANTOM
以下圖舉例說明:假設我們現在需要判斷區塊I的真實性,由區塊I衍生出的區塊分別有區塊K、M、O、P、R,通過區塊I可以追溯到的區塊分別有區塊C、D、原始區塊。這時,與區塊I毫不相關的區塊分別是區塊B、E、F、H、J、L、N、Q、S、T、U,其中與子集S有交集的有區塊B、F、J,等于k,因此判斷區塊I為誠實區塊。
圖源:PHANTOM:AScalableBlockDAGProtocol
排序方式使用拓撲排序:首先將沒有可追溯區塊的塊作為原始區塊0,然后在除去區塊0之外的區塊中繼續選擇沒有可追溯區塊的塊作為區塊1,如此循環。
圖源:Kappo'sBlog
目前使用了?DAG結構的項目中心化程度較高,因此這里不再做更深入的討論。對于DAG感興趣的家人可以搜索DAGLabs進行學習。
3.網絡層=分片
分片指的是將賬本拆分成若干個部分,分別由不同的節點集團進行管理。通過實施狀態分片,每個節點需要處理的交易數據變少,不僅可以提升交易處理速度,并且對于節點的性能需求也會相對降低,使得參與挖礦的門檻降低,去中心化程度加強。
圖源:Whyshardingisgreat:demystifyingthetechnicalproperties
Sharding1.0
對于狀態分片最初的想法是:將n=64個數據碎片blob添加到信標鏈中,每個周期內有n個驗證節點廣播自己的數據碎片blob,并由委員會對于數據的真實性與可用性進行確認,確認完成后的blob被加入執行鏈。每經過一個epoch重新分配各個分片鏈所對應的驗證者的機制,導致了分片鏈切換后數據同步不及時的問題,會造成延遲。此外,這種方式還面臨著四個問題:無法保證信標鏈上的每個區塊中寫入了全部分片需要的交易數據;無法對于全部分片進行全局檢查;驗證節點可能導致livenessfailure;結合PoS,只要錢夠多,控制的節點夠多,更容易控制委員會。在ETH發行率降低、驗證集中化的背景下,此機制為MEV提供了機會。
Blockware Solutions?宣布與 SEVA 建立新的合作伙伴關系:金色財經報道,?比特幣礦機公司Blockware Solutions?宣布與 SEVA 建立新的合作伙伴關系。Blockware Solutions 已經啟動了一項 150 兆瓦的礦場,以擴大其在 SunPark 的比特幣采礦業務,Blockware Solutions 將在第一階段的建設中投資1000 萬美元。第一階段將是一個占地 20 英畝的 60 兆瓦設施,將采用浸沒式冷卻采礦和托管業務。該項目預計將于 2022 年第四季度開始。[2022/5/27 3:44:38]
DankSharding
為了規避Sharding1.0中的風險,DankSharding提出了兩個要點:所有blob都將被加入信標塊;每個委員會的成員只對碎片數據的一個子集進行處理,所有信標數據和分片數據可以一起檢查。
具體來說,Danksharding的核心機制分為三部分:
數據可用性抽樣:編碼者使用RS編碼進行冗余傳輸,減少節點的驗證壓力,同時采用KZG多項式承諾來保證編碼正確。在此之上,通過將數據塊的分片再次進行分片、并在不同數據塊分片間重組的方式對RS編碼進行二位擴展,降低全節點數據重構的門檻,從而降低中心化程度;
出塊者-打包者分離:將全節點分成出塊者和打包者兩種角色,低配置的出塊者負責去中心化選擇打包者并獲得打包者的競價,具備高配置高性能的打包者則通過競價獲取打包記賬權,從而解決MEV的價值分配問題;
抗審查清單:出塊者指定合法的交易列表,打包者證明自己看到了列表并將列表中的交易包含在打包中,以此防止打包者故意忽略合法的交易。
Proto-Danksharding/EIP-4844
DankSharding的機制實現起來較為困難,作為階段性的方案,EIP-4844出現了。EIP-4844中引入了具有時效性的blob,類似于移動硬盤,在被寫入主網后,blob只存在一段時間,隨即被銷毀。在EIP-4844的設計中,同樣引入了KZG多項式承諾,以確保后續DankSharding實裝時可以向前兼容。
鏈下擴容方案
鏈下擴容方案,指的是在不改變原鏈構造的前提下,通過在主網之外進行交易處理,來減輕主網的處理壓力。主要有狀態通道、鏈下計算、多鏈三種類型,為了方便理解,我們將側鏈和子鏈全都歸在了多鏈方案之中。
?狀態通道
狀態通道指的是,在特定參與者之間通過多簽等方式鎖定區塊鏈狀態的一部分->針對通道中出現的狀態轉換,在所有參與者的同意下,在鏈下更新狀態->確認最終狀態,并向主鏈廣播。由于只需要廣播最終狀態,使用狀態通道處理瑣碎的相互交易可以有效減少主鏈上廣播的交易數量,降低交易延遲。此外,每個參與者可以通過中介與其他沒有打開通道的參與者互動:Alice和Bob之間有通道,Bob和Carol之間有通道,則Alice可以在不另外開啟通道的情況下,通過Bob與Carol互動。狀態通道透明度低,通常只適用于在特定參與者之間發生的頻繁交易。
圖源:EthHub
2.鏈下計算
鏈下計算,意在通過將驗證之外的功能全部移至鏈下的方式提升鏈上吞吐量。其主要需要保證安全性與隱私性,具體的操作方式可以分為可驗證的鏈下計算、“飛地”型鏈下計算、鏈下安全多方計算和激勵驅動型鏈下計算四種。
圖源:Blockchain-BasedReputationSystems:ImplementationChallengesandMitigation
可驗證的鏈下計算:zk-SNARKs,Bulletproofs,zk-STARKs
鏈下的證明者將鏈下的計算結果上鏈,并由鏈上的驗證者進行檢驗。
“飛地”型鏈下計算:Enigma,Ekiden
在區塊鏈節點上創建可信執行環境并預設數據接口進行計算。TEE充當黑箱,可以在有效保護數據隱私的同時實現明文數據運算,提升計算效率。
鏈下安全多方計算
將數據拆分并分發給各個節點,節點根據當前區塊鏈的狀態以及各自獲得的數據計算狀態變化,將各個節點計算出的數據結合,即可獲得完整的計算后數據。節點需要計算的數據更少,效率更高。
激勵驅動型鏈下計算
求解者對于交易數據進行計算,在公布結果的同時質押保證金;驗證者對于求解者的結果進行驗算,如果發現錯誤,則可以質押保證金并發起鏈上仲裁,正確的一方將獲得用戶支付的手續費。
?3.外鏈=側鏈;Rollup
外鏈指的是,在主鏈之外創建一條新的區塊鏈,通過跨鏈將交易處理的一部分轉移到新的區塊鏈上執行,并將結果廣播給主鏈,從而提升主鏈的處理效率。
側鏈
側鏈是完全獨立于主鏈的區塊鏈,其使用鎖定+鑄造/銷毀的方式將資產從主鏈投影至側鏈,并完全在側鏈上完成交易處理與儲存的整個流程。側鏈的安全性完全依靠于其自身的節點以及共識機制。分為錨定式側鏈與聯邦側鏈兩種。
圖源:EthHub
Rollup
Rollup與側鏈的不同是,其僅在子鏈上處理交易,數據仍儲存在主網上,因此可以在提升交易處理效率的同時享受主網的數據安全性。Rollup按照數據可用性和交易驗證方式可以分成四種:
欺詐證明+鏈下DA=Plasma
Plasma需要在主鏈上創建一個寫入了子鏈哈希狀態轉換規則的智能合約,以此連接主鏈和子鏈其擴容機制與狀態通道類似,通過減少主鏈需要處理與保存的交易來提升吞吐,只是其在主鏈之外建立的并不是特定參與者之間的通道,而是共用的具備獨立共識機制的新區塊鏈,子鏈需要定期向主鏈上的智能合約提交狀態更新,在順利通過7天的質疑期后將區塊狀態寫入主鏈。其集合了狀態通道與側鏈的優點:在狀態通道模式下,如果需要增加新的參與者,需要在鏈上重新打開新的通道,而在Plasma中不需要;狀態通道向主鏈同步狀態時需要全部參與者的同意,而Plasma不需要;狀態通道只保留最終狀態,Plasma的狀態轉換記錄在子鏈上有完整的記錄;側鏈上的狀態轉換會直接影響到主鏈上的狀態,因此其資產安全性取決于側鏈本身,而Plasma并不是,其安全性依賴于主鏈。
Plasma機制主要面臨的問題是:子鏈節點需要保留子鏈上的大量交易數據;節點必須在線。
圖源:Plasma:AnInnovativeFrameworktoScaleEthereum
有效性證明+鏈上DA=ZK-Rollup
zkRollup可以有效改善Plasma所面臨的問題。由于這部分的zkRollup和Validium均使用零知識證明作為驗證機制,因此在這部分先簡單敘述一下零知識證明的概念:零知識證明,指的是在向其他人證明某個命題為真時,除了命題為真之外,不提供其他的信息佐證。比如,A使用零知識證明向B證明他已經成年了,此時B不會知道A的生日,只會知道A已經成年了的這件事。在zkRollup中,使用zkSNARK對于大量的交易進行驗證,確定了這些交易的有效性后,只需要向主網上傳一個證明這些交易都有效的零知識證明即可。這樣做大幅壓縮了數據量,可以將交易數據寫入主網。
zkRollup也面臨著一些問題:零知識證明計算困難;初期需要信任;通用性較差
有效性證明+鏈下DA=Validium
Validium同樣使用零知識證明保證其交易信息的有效性與鏈下數據的可用性。其與zkRollup的唯一區別是,將數據可用性放到了鏈下,這使得Validium擁有了更高的吞吐量,但是帶來的后果是數據可用性的管理者稍微修改Merklized狀態,就可以讓用戶無法轉移資金。如下圖,如果d3被修改,d1的所有者將無法獲取節點m的信息,而m是證明其賬戶所有權的必要條件。在zkRollup出現后,Validium基本上是完全失去了競爭力。
圖源:ValidiumAndTheLayer2
欺詐證明+鏈上DA=OptimisticRollup
OptimisticRollup是Plasma的升級版,同時可以解決zkRollup通用性的問題。其默認節點提交的交易信息是正確的,向主網提交交易信息后,會有7天的質疑期,供他人檢查交易的正確性。其與Plasma的不同在于,將交易數據寫入了鏈上;與zkRollup的不同在于,不使用零知識證明。在中和了其他兩種Rollup的同時,OptimisticRollup也犧牲了部分的吞吐量。
圖源:ethereum.org
總結與未來展望
因為不可能三角的存在,注定不會有完美的擴容方案,需要權衡各個方案的代價。?個人認為,由于鏈上擴容需要支付的代價更高,較為難實現,一般情況下還是會以鏈下擴容方案為主。
目前的鏈下擴容方案中,Rollups因其安全性保持優勢。不過,雖然通過Rollups可以大幅釋放L1的吞吐,在將L2打包的數據傳回L1時的速度卻仍受以太坊的區塊大小所限制。目前以太坊一個塊的存儲在100kb左右,算下來一分鐘內能夠處理的Rollups打包的數據不足500kb,而主網除了接收打包的數據之外,還需要處理L1上原有的交易信息,共同導致了鏈下擴容方案吞吐量的瓶頸。
不過好在可以對于不同方案進行組合:鏈上方案中,DankSharding的構思正好可以通過使用抽樣驗證和RS編碼大幅降低驗證節點的工作量與數據下載量,解決交易處理速度的問題,預計在實裝后可以與Rollup相輔相成。而如果把分片的實裝當作大前提,在當前的幾種Rollups中,OptimisticRollup的成本主要是寫入主網的成本,與可以降低該成本的ProtoDanksharding最為適配,因此個人認為在近期內,鏈下OptimisticRollup+鏈上ProtoDankSharding會是最佳選擇。
Tags:ROL區塊鏈ROLLBLOroll幣在哪換魔獸幣是有使用區塊鏈技術嗎Qrolliblockchaininfo登不上
鏈捕手消息,據華夏數藝官方消息,跨鏈數藏平臺華夏數藝APP于今日上線;預計八月底開啟自由交易市場;平臺目前已簽約500余博物館和藝術家,8.18創世藏品《先天演卦_卜甲》首發.
1900/1/1 0:00:00作者:陳麗姍,01區塊鏈2021年底,虛擬世界掀起一股“炒地熱”,而隨著今年上半年泡沫的破滅,虛擬地產以及元宇宙的未來,再次牽動市場的神經.
1900/1/1 0:00:00作者:Flowie,鏈捕手Acala遭黑客攻擊增發超12億穩定幣AUSD、Solana生態錢包大面積被盜……不夸張地說,區塊鏈2022年這大半年一半熱點都是安全問題貢獻的.
1900/1/1 0:00:00作者:DoraHacks?Solana本次SummerCampHackathon在DoraHacks平臺開設了單獨報名通道,并提供了10萬美元額外獎金池.
1900/1/1 0:00:00作者:Chainers?NFT?H1:Chainers?NFTMetaverse史詩般的play2earnNFT元宇宙,您可以決定它的未來.
1900/1/1 0:00:00鏈捕手消息,DeFi保險平臺NexusMutual將部署2900萬美元資金至借貸協議MapleFinance賺取收益.
1900/1/1 0:00:00