以Starcoin為例 解析區塊鏈項目如何利用PoW做組合創新?
縱觀區塊鏈項目的進化史,改良和創新已經成為必然。
前有以太坊提出智能合約帶來區塊鏈2.0與“世界計算機”,後有Polkadot以中繼鏈共享安全建立異構分片架構。
區塊鏈從業者正以分層、算法改進等創新不斷組合出了一個個面向業務的解決方案。為去中心化世界帶來去中心化商業的基礎設施,帶來傳統業務在去中心化世界標准化復制的機會。
不過無論項目設計如何變化,項目實現的目標是一致的,都是要在保證去中心化的信仰之下塑造出應用生態的輝煌。
如今,在大部分區塊鏈項目選擇使用PoS共識後,仍舊有一些項目在改進PoW以利用PoW共識的去中心化特徵打造生態繁榮。
本文中,我們就將以公鏈Starcoin為例,解析其白皮書中的設計思路,展現一個以PoW共識為基礎的成熟方案,為行業提供一個組合創新的範例。
哪些設計理念已成為常規設計?
以太坊是公鏈的典型代表,其提出了世界計算機的概念實現,想要將互聯網業務都運行於區塊鏈網絡之上。目前所有的公鏈,無論是為金融服務,還是拓展到為數據、用戶服務,也都在向這個目標努力。
但一條鏈的網絡並不足以實現這些需求,例如比特幣雖在金融系統上可以稱之為創新,但比特幣網絡是一個不能運行智能合約的非圖靈完備加密貨幣網絡,只有利用加密方式控制的账戶地址、資產的功能。
隨後以太坊應聲而起,以智能合約定義了區塊鏈的優勢和特點。同樣的,以太坊1.0鏈也遇到了PoW網絡的性能問題。所以以太坊正轉向PoS、塑造分片、並且开闢layer2。
從這個路徑上看,以太坊已經在塑造分層結構,在以太坊2.0的計劃中,信標鏈通過PoS共識運行完成總账本的驗證,而狀態執行都將在信標鏈下的分片中進行,更多獨特的擴展功能也可能將設計在layer2層中。
這似乎已經是行業內技術上的共識,波卡、Cosmos等公鏈都不約而同的向相似結構發展。表現了對“部分信息上鏈驗證”、“分層處理”方案的默許。
Starcoin的分層框架和每層功能定義
為什么呢?因為分層後,可以針對每層出現的問題各個擊破。正如Starcoin,通過區塊鏈分層技術,可以在區塊鏈layer1可以達到去中心化和安全,通過layer2又可以達到足夠的可擴展性,供商業使用。為此,Starcoin對每層都進行了明確的定義和單獨滿足需求的技術改良。
Layer1的共識改進和邏輯突破
當我們拆分區塊鏈項目的時候可以發現,layer0是資源層,是由計算設備組成的點對點通信網絡層,Layer0可以看到路由、節點(礦機或服務器),在這層資源之上,公鏈建立了核心的layer1:共識層。
Layer1表現着區塊鏈的特點,保護着一些設計者的信仰。正如比特幣的PoW共識對很多信仰者來說,是重要的,因為工作量證明在原則上顯示了公平,而PoS共識,與既有權益過於相關。
也因PoW網絡是由礦機搭建而成,其成本和挖礦周期代表了礦工更長久的參與。因此很多區塊鏈項目選擇將礦機參與組成的共識層作為layer1,這是對PoW共識的信仰和對礦機挖礦經濟模型的信任。
Starcoin即是如此,其通過礦機來搭建一個以共享經濟為保護的layer1網絡。堅持PoW的公平性,也用來防止行業極端變化下的不穩定性衝擊。
那Starcoin又如何避免PoW網絡帶來的既有問題呢?
Starcoin進行了重要創新。以以太坊的設計對比來看,Starcoin的重要創新是在沒有改變PoW共識出塊和廣播流程上,讓出塊變得動態可控。
首先我們需要了解比特幣、以太坊的出塊和交易打包方式。
當節點开始確認出塊,开始廣播後,一段時間內,只有納入最長鏈的區塊才是被認可的塊,最長鏈的競爭過程會讓網絡持續分叉,出現孤塊、叔塊。其原因在於礦工在打包交易前,很可能需要同步新的交易。
NC中本聰共識中的塊傳播方式
例如,當節點 A 向節點 B 傳播一個塊並且其中沒有新的交易時,節點 B 可以立即將這些緊湊塊傳輸給它的所有相鄰節點。但是,如果區塊中有新交易,節點 B 必須首先從節點 A 同步這些交易,然後驗證這些交易的籤名,這個過程需要時間。最終只有當整個區塊的有效性得到驗證時,節點 B 才能繼續傳播這個區塊。
此時,如果不進行新交易打包,出塊時間較短,但如果等待打包新交易,就需要更長的出塊時間。
因此,如何確定一個有效的同步時間,並保證新交易不是無序的一直延續的在同步,是極為重要的。
與之相關的,如果孤塊增加,也會而影響網絡資源使用率和安全性。
Starcoin在這個部分的設計,是令人驚訝的,其操作很簡單,像以太坊一樣引入了叔塊概念,並且對叔塊進行統計。
Starcoin中的叔塊打包監測
叔塊是指孤塊中被編入最長鏈的塊,其可以代表網絡狀態分叉較多,孤塊會增加,在網絡延遲並且網絡擁堵時,叔塊也會隨之增加,因此,最終叔塊的數據可以用來輔助調整出塊時間和難度。
Starcoin網絡運行時,為了將叔塊維持在一個合適的閾值內,在每個小周期(時隙Epoch)末,都會重新調整下一個周期的出塊時間,同時調整的還有挖礦難度。
其邏輯在於,如果叔塊率較高,表示當前的出塊時間間隔下,網絡中存在較多的分叉和孤塊,需要調大出塊的時間,緩解此問題。反之,則說明全網出塊情況良好,還可能進一步縮短出塊時間,提高全網吞吐。
Starcoin引入叔塊的方式對於網絡本書來說,是自然的。不過還有一些公鏈可能會選擇設計特殊的切入點。
例如當打包前出現新交易時,可以將區塊空間中引入一個“叔塊頭”概念,其不佔據交易驗證的體積。但可以把新交易引入叔塊頭,然後重新設計一個提交區用來驗證交易。
這是一種把影響區塊打包速度的“新交易”剝離正常區塊驗證步驟,轉換成其他方式驗證提交的方法。與Starcoin的方式不同,它改變了驗證方式。
因此,綜合來看,在layer1網絡(即比特幣PoW網絡)上做改進,首先是先增加小周期(時隙Epoch)用來快速調整出塊難度。
其次就是解決區塊打包等待新交易的問題,Starcoin的設計和選擇是明確的,在不用重新把新交易單獨處理的情況下,只通過叔塊監測數據而調整出塊時間和挖礦難度,這樣是將PoW網絡演變成了一個動態吞吐網絡,其規則像是在高速公路中添加了指揮員,隨時指揮車輛的速度,這樣的改變雖小,卻可以改善PoW鏈在擁堵時的表現。並且,筆者認為,出塊時間隨網絡狀態可調整已經成為新公鏈系統的重要特性之一。
在Layer2大展拳腳
Starcoin已經改進了比特幣、以太坊的PoW模型。而在layer2上,Starcoin設計為專注於解決資產轉移交換等過程中的擴展性和性能問題。只是目前,layer2解決方案正處於“百花齊放,暫時無王”的階段,同時面對多個的layer2的解決方案,需要Starcoin設計團隊明確需求後做出選擇。
目前,在Starcoin白皮書中並未展示其部分,其官方表示會在白皮書2.0版本中公布layer2方案。我們可以通過Starcoin對分層網絡功能的定義去推測其layer2的設計。
layer2和layer1的普通狀態關系
從邏輯上看,layer2是layer1狀態的遷移交互,因此首先來看Starcoin Layer1職能,詳情如下:
1. 通過增強的中本聰共識機制來盡可能的在保證安全的基礎上在Layer1擴容,最大化Layer1網絡的利用率。
2. 提供資產的定義,發行,以及流轉,以及layer1、layer2之間的流轉能力。
3. 給layer2提供仲裁能力,layer2可以利用Layer1的安全機制來保證自己的安全。
而這時layer2職能是:
1. 將Layer1的交易分流到layer2,Layer1不再關心layer2交易的細節以狀態的變更。
2. 提供監督機制,layer2的不同角色之間可以互相監督。
3. 提供證據保全能力,用戶如果對layer2的交易有爭議,可以到Layer1仲裁。
由此來看,首先Layer1、layer2間的互相交互必須保證實現,因為這相關於Layer1、layer2資產流轉的需求以及有相互證明狀態有效的方式。其次,Starcoin還強調了layer2不同角色可以互相監督。
Layer1、layer2間的狀態鎖定和證明間的交互
這樣的需求使用單個layer2技術是無法實現的。例如以太坊上的rollup,其兩層鏈間的雙向交互並不完善。例如零知識證明,雖可以保證兩層鏈間交互數據的安全性,卻無法在layer2的角色設計和數據可用性上發力。
所以可以推測的是,未來Starcoin一定會在layer2使用多技術組合方案,這在其公示出的layer2思路上得到一些證實,其抽象出一種通用的layer2方案模型如下:
1. 應用的狀態(包括資產)在Layer1和layer2之間安全的轉移。
2. 保證layer2的數據可用性。
3. 提供證明和提供仲裁機制。
上文說到,從邏輯上看,任何layer2方案都是Layer1的狀態遷移,詳細過程可能包含將狀態鎖定並在layer2重建等。因此,我們來看公示的模型,如果layer1和layer2都有統一的資源模型,那狀態遷移就不是難事,如果兩層鏈都用統一的框架搭建,數據可用性也不是問題,可能唯一遇到的問題會是合約遷移。而Starcoin很亮眼的是,其合約也是無狀態設計,因為合約並入了账戶模型裏,狀態已經被確定了所有權。交互中直接訪問狀態即可執行。
綜上,我們可以對Starcoin抱有足夠的期待,筆者認為在layer2技術上,Starcoin的重點並不在改良技術,而是對行業內多類技術的組合與實現,在Starcoin的基礎優勢(例如账戶、存儲模型、編程語言)上佔據優勢即可。
巧妙設計以為長遠規劃
分層結構以及對layer1、layer2的單獨設計,塑造了Starcoin的基本能力,而千變萬化的業務需要要求在一些標准化的設計上仍要具備優勢。
這就要提及Starcoin一些有利於長遠發展的巧妙設計。這些設計雖然討論不多,但卻是公鏈系統不可或缺的特性。
足以稱之為巧妙設計的,有3點,分別是更改账戶模型和狀態存儲,支持多種驗證合法性的方式、雙累加模型,以及基於Move开發語言的適配。
1.更改账戶模型和相應的狀態存儲之後,Starcoin得以實現以太坊無法順利進行的狀態計費計算。
對比以太坊來看,以太坊將账號分為合約账號和用戶账號。合約账號用於部署合約的代碼以及存儲合約的狀態,用戶在某個合約中的狀態都保存到該合約账號下,讀寫權限也由合約自己控制。這樣的設計自由度很高,但導致合約狀態的所有權不明確,從而容易帶來安全上的問題以及很難解決"狀態爆炸"問題。
Starcoin更改後的账戶模型
這樣的設計帶來了以太坊擁堵情況下,Gas費的暴增以及復雜合約調用成本的居高不下。
因此,Starcoin 以太坊账戶模型基礎上做了以下改進:
1. 廢棄了合約账號,任意账號都可以部署智能合約,部署的智能合約在當前账號下。
2. 通過對合約編程語言中狀態存儲機制的改變,讓智能合約的开發者很容易的把合約的狀態分散保存到該狀態所屬的用戶地址下,從而明確狀態的所有權。
通過這樣的改造,一方面增強了鏈對用戶狀態的安全保護能力,另外一方面也為狀態計費提供了可能。未來Starcoin會支持token支付gas,便於用戶和开發者使用。
2.從上文的討論中,我們還能看到多次提到區塊鏈驗證,足以證明驗證數據是區塊鏈運行剛需,在 Starcoin 的整體設計中,還提供了四個層面的數據校驗機制,這些機制,可以提供全場景下的數據驗證邏輯。
1. 交易可校驗:BlockHeader 包含一個全局交易累加器的根哈希,任何上鏈的交易都有對應的全局證明。
2. 狀態可校驗:BlockHeader 包含一個全局狀態狀態樹的根哈希,保障了狀態可驗證。
3. 區塊可校驗:BlockHeader 包含一個 BlockBody 的哈希,用於校驗 BlockBody 中的數據。
4. 鏈可校驗:BlockHeader 包含一個全局區塊累加器的根哈希。任何一個區塊可以提供一個和當前區塊的關系證明,不需要遍歷區塊即可驗證某個區塊是否是當前區塊的祖先區塊。
Starcoin區塊頭中的的全局區塊累加和根哈希示意
在四個維度的數據校驗的基礎上,再配合Starcoin的合約和账戶模型,「交易累加器」和「區塊累積器」組成了Starcoin獨特的「雙累加器」模型,這將成為Starcoin系統數據安全的基礎。也可以通過數據合法性的優勢為很多業務服務,例如跨鏈數據交互驗證。
3.為了更好地擴展區塊鏈的能力,Starcoin 還將 Move 語言作為智能合約,以保證針對數字資產的編程更加安全、簡單。
Move 語言是Facebook穩定幣項目Libra(已更名為Diem)的开發語言,該語言尤其重視安全性,主要由以下幾個方面保證:
1. 自底向上的靜態類型系統;
2. 資源不可復制或者隱式丟棄;
3. 資源按用戶存儲,重新定義鏈,合約,用戶三方的數據操作權限;
4. 引入形式化驗證技術,通過數學原理來證明合約的安全性;
更重要的是,Starcoin團隊已經通過 Move 語言建立了Move开發社區,通過开源社區,可以獲得开發技術、开發資源以及人才儲備和未來的生態項目孵化能力。
寫在最後
從Starcoin白皮書中詳實的設計,再到Starcoin已經完成的技術進展,綜合來看。Starcoin除了未確認的layer2外,其網絡從0到1的過程已經完成了80%,其中最關鍵的要數layer1中對PoW共識的改進。小小的改進,讓Starcoin可以堅持使用PoW,可以建立一個挖礦生態。
如果說挖礦生態是建立layer1的支柱,當layer1和layer2組合使用後, Starcoin也會因layer2層對應用的擴展為DeFi、NFT的應用土壤。
其原因有四:
其一,Starcoin有穩固的礦工經濟做支撐,網絡生命力遠勝其他PoS網絡。
其二,layer1層的账戶模型和存儲的設計讓 Starcoin Gas費更低。
其三,使用Move語言與PoW配合,足夠安全,又具備比特幣金融系統的基因。
其四,layer2的執行讓Starcoin雖使用PoW但性能完全可以承載DeFi等應用。
為了讓以太坊的性能達標,以太坊團隊用了7年時間,才做好了PoW向PoS轉換的准備,但切換共識還沒有真正進行,信標鏈的穩定性還沒有經歷合並後的考驗。如今,我們信任以太坊的DeFi、NFT,是運行在PoW鏈上的,用戶對PoW信任一定高於還未得到全面證實的PoS。
如此來看,筆者認為,Starcoin將成為一個保持比特幣金融系統基因,又具備圖靈完備能力的安全智能合約運行平臺。這是一個可以承擔以太坊DeFi需求的平臺,也是比特幣信仰者曾經暢想也可以在未來使用的平臺。
撰文|Arthur
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播信息之目的,不構成任何投資建議,如有侵權行為,請第一時間聯絡我們修改或刪除,多謝。
星球日報|Cboe向美SEC提交4支Solana現貨ETF上市申請;Tether近期已累計增發90億枚USDT(11月22日)
頭條 Cboe 向美 SEC 提交 4 支 Solana 現貨 ETF 上市申請 彭博高級 ETF...
香港Web3宣言兩周年,HashKey總經理Anna Liu談代幣化未來
整理:Tia,Techub News 作為亞洲頂尖的加密資產企業之一,HashKey Group...
美 SEC 主席 Gary Gensler 宣布將辭職,加密貨幣迎來四年坦途?
撰文:Alex Liu,Foresight News 11 月 22 日凌晨,亞洲時區夜深人靜之際...