當(dāng)前位置:首頁 > 物聯(lián)網(wǎng) > 區(qū)塊鏈
[導(dǎo)讀] 背景 最近,以太坊創(chuàng)始人 Vitalik Buterin 在一篇題為“混合式二層協(xié)議的曙光” 的文章[1]里對(duì) Rollup 方案大加贊賞,認(rèn)為它為智能合約的可擴(kuò)展性打開了大門。那么什么

背景

最近,以太坊創(chuàng)始人 Vitalik Buterin 在一篇題為“混合式二層協(xié)議的曙光” 的文章[1]里對(duì) Rollup 方案大加贊賞,認(rèn)為它為智能合約的可擴(kuò)展性打開了大門。那么什么是 Rollup ?它包括哪些主流方案?這些方案各自有什么優(yōu)缺點(diǎn)?它們未來發(fā)展前景怎樣?為了找到這些問題的答案,筆者對(duì)相關(guān)項(xiàng)目做了一番調(diào)研,將收集到的信息整理成下面這篇文章。

Rollup 的出現(xiàn)

最近幾年,以太坊二層(Layer-2)擴(kuò)容技術(shù)得到迅猛發(fā)展。所謂二層,就是將一部分資金存儲(chǔ)在主鏈智能合約里,在保證足夠安全的前提下,把一部分交易放到主鏈之外進(jìn)行,好像鏈下多出來一層網(wǎng)絡(luò)。二層方案里表現(xiàn)比較突出的是狀態(tài)通道和 Plasma 側(cè)鏈。雖然這兩種方案誕生時(shí)間很早,但是發(fā)展的卻比較緩慢。其背后的原因歸根結(jié)底是數(shù)據(jù)的可用性(Data Availability)問題。

什么是數(shù)據(jù)可用性呢?這里有個(gè)不太恰當(dāng)?shù)睦印<僭O(shè)你去賭場(chǎng)玩撲克,首先要把現(xiàn)金換成籌碼,這可以理解成在鏈上創(chuàng)建狀態(tài)通道,并存入押金。然后你開始玩撲克,這就是所謂的鏈下交易。在贏得一手大牌之后,你想要兌現(xiàn)走人,突然有人給你腦后來了一悶棍,醒來后桌上的籌碼不翼而飛。你記不起來牌局的細(xì)節(jié),所以無法追回已經(jīng)贏得的籌碼,這就是所謂的“數(shù)據(jù)不可用”。無論是狀態(tài)通道還是 Plasma 側(cè)鏈,完整的交易記錄和見證數(shù)據(jù)都只保存在鏈下,出現(xiàn)爭(zhēng)端時(shí)如果參與者沒有及時(shí)提供正確的交易和見證數(shù)據(jù),交易的安全性就無法保證。就好像是那個(gè)忘記了牌局細(xì)節(jié)的人,很難追回屬于自己的籌碼。

就在二層擴(kuò)容技術(shù)舉步維艱的時(shí)候,一種名叫 Rollup 的新方案被提了出來。與狀態(tài)通道和 Plasma 不同的是,它可以“打包”交易,并將“打包”后的交易數(shù)據(jù)連同一個(gè) SNARK 零知識(shí)證明發(fā)布到鏈上。打包的正確性可以通過零知識(shí)證明來見證,負(fù)責(zé)“打包”的操作者不可能發(fā)布惡意或無效的交易。這就是后來被 Vitalik Buterin 稱之為 ZK Rollup 的二層擴(kuò)容方案。ZK Rollup 并非萬能,它遇到的最大問題是通用性。除非要證明的交易非常簡(jiǎn)單,否則創(chuàng)建 SNARK 證明的成本會(huì)非常高。因此,一種名叫 OptimisTIc Rollup 的折衷方案被提了出來。OpTImisTIc Rollup也是把交易數(shù)據(jù)都放到鏈上,但不是用 SNARK 做見證,而是采用“加密經(jīng)濟(jì)學(xué)有效性博弈”來實(shí)現(xiàn)有效性驗(yàn)證。

工作原理

Rollup 的核心思想是將“打包”后的交易數(shù)據(jù)區(qū)塊發(fā)布在鏈上,從而降低交易有效性驗(yàn)證的難度。交易數(shù)據(jù)的上鏈和驗(yàn)證是基于智能合約完成的。操作者收集到不同參與者提交的鏈下交易后,在鏈上執(zhí)行 Rollup 智能合約提供的腳本,將打包后的交易數(shù)據(jù)區(qū)塊作為參數(shù)提交給合約,合約驗(yàn)證數(shù)據(jù)有效后為每個(gè)參與者記賬。這相當(dāng)于一次性執(zhí)行了一批鏈下交易,但是在鏈上只執(zhí)行了一個(gè)交易。

下圖是 ZK Rollup 提交上鏈的打包數(shù)據(jù)。它包含一組壓縮后的交易數(shù)據(jù) [Tx](不包含任何簽名)、執(zhí)行這批交易之前的老的用戶狀態(tài)的 merkle 樹樹根,以及執(zhí)行交易之后的新的用戶狀態(tài)的 merkle 樹樹根。除此之外還包含一個(gè) SNARK 零知識(shí)證明,合約用它來驗(yàn)證在老的用戶狀態(tài)上施加這批交易 [Tx] 后結(jié)果就是新的用戶狀態(tài)。零知識(shí)證明具體是如何工作的?這不是三言兩語就能解釋清楚的,大家可以參考文章[2],里面對(duì)零知識(shí)證明的工作原理做了詳細(xì)闡述。

生成 SNARK 的成本非常高,所以 OpTImistic Rollup 采用了不同的方法——“欺詐證明”來驗(yàn)證交易有效性。這里的“欺詐證明”并非 SNARK 那樣的見證數(shù)據(jù),它實(shí)際上指的是加密經(jīng)濟(jì)學(xué)有效性博弈(Cryptoeconomic Validity Game)。越說越暈了#¥¥%......,其實(shí)很簡(jiǎn)單,就是每次打包后的交易被提交到鏈上時(shí),智能合約都假定它們是正確的,無需驗(yàn)證。如果有人篡改了交易,操作者或者其它參與者都可以挑戰(zhàn)非法交易,挑戰(zhàn)成功后通過智能合約回滾不正確的區(qū)塊,作弊者會(huì)受到懲罰,它的押金將會(huì)被沒收,部分押金會(huì)獎(jiǎng)勵(lì)給挑戰(zhàn)者。這就是所謂的基于加密經(jīng)濟(jì)學(xué)有效性博弈的“欺詐證明”,實(shí)際上是讓參與各方互相監(jiān)督,通過懲罰機(jī)制來提高作弊成本。為了實(shí)現(xiàn)“欺詐證明”,光有 ZK Rollup 那樣的交易數(shù)據(jù) [Tx] 是不夠的,Tx數(shù)據(jù)需要包涵交易提交者的簽名,合約通過校驗(yàn)簽名來判斷交易是否合法。

安全性

Rollup 的安全性來自于數(shù)據(jù)可用性和交易有效性。有了數(shù)據(jù)可用性和交易有效性,就能保證 Rollup 操作者永遠(yuǎn)不能破壞狀態(tài)或竊取資金,即使操作者不配合,參與者也能方便的追回 Rollup 網(wǎng)絡(luò)上的資產(chǎn)。Rollup 將交易數(shù)據(jù)發(fā)布到鏈上,就像“錨”一樣將 Rollup 網(wǎng)絡(luò)錨定到了以太坊主鏈上。就好比是賭場(chǎng)里裝上了攝像頭,即便是玩撲克的人被打了一悶棍,還是能通過視頻記錄證明自己確實(shí)贏了錢。

對(duì)于交易有效性驗(yàn)證,ZK Rollup 和 Optimistic Rollup 采取了不同的方法[3]。ZK Rollup 采用零知識(shí)證明來保證交易有效。它的安全性建立在密碼學(xué)基礎(chǔ)之上,智能合約僅在交易數(shù)據(jù)被證明為正確之后才會(huì)接受狀態(tài)轉(zhuǎn)換。每次狀態(tài)轉(zhuǎn)換都有一個(gè)零知識(shí)證明,這保證了鏈上總是對(duì)應(yīng)著一個(gè)正確的二層狀態(tài)。Optimistic Rollup 采用基于加密經(jīng)濟(jì)學(xué)有效性博弈的“欺詐證明”,它無需為每一次狀態(tài)轉(zhuǎn)換都提供證明,只在有人認(rèn)為狀態(tài)轉(zhuǎn)換有誤的時(shí)候提供。因?yàn)槌聊瑢⒈灰暈橥?,所以它要求交易方必須每時(shí)每刻都要在線。相比較 ZK Rollup,Optimistic Rollup 的安全性有所降低,它需要采取額外的措施來防止 DDoS 攻擊造成的“默許”。

可擴(kuò)展性

Rollup 通過一次鏈上交易可以執(zhí)行一大批打包后的鏈下交易,主鏈不需要通過執(zhí)行每筆交易來驗(yàn)證其有效性,而且交易數(shù)據(jù)是作為函數(shù)參數(shù)發(fā)布的,驗(yàn)證完有效性后就會(huì)被丟棄,這樣就不會(huì)占據(jù)主鏈的存儲(chǔ)空間。因此 Rollup 可以大幅度提升主鏈的可擴(kuò)展性。

但是這種提升并非沒有限制,雖然只有一次鏈上交易,但是它會(huì)受到交易數(shù)據(jù)本身 gas 成本的制約。以太坊數(shù)據(jù)的 gas 成本在伊斯坦布爾升級(jí)前是每字節(jié) 68 單位,而以太坊上每個(gè)地址就會(huì)占用 20 字節(jié),所以如果用以太坊交易的數(shù)據(jù)結(jié)構(gòu)來表示鏈下交易,gas 費(fèi)用會(huì)非常高,因此 Rollup 對(duì)交易數(shù)據(jù)進(jìn)行了壓縮。

ZK Rollup 在智能合約里用 merkle 樹來記錄地址,這樣地址就可以表示成樹的索引值,地址數(shù)據(jù)的大小就從原本的 20 bytes 減少到只有 3 bytes 到 4 bytes。每筆交易就被壓縮成 10 幾個(gè)字節(jié),再加上一個(gè)約 100-300 字節(jié)的 SNARK,理論上可以將以太坊吞吐量從 32 TPS 提升到約 680 TPS,伊斯坦布爾升級(jí)后可達(dá)到 2000 TPS。下圖是壓縮后 ZK Rollup 每筆交易數(shù)據(jù)的格式:

Optimistic Rollup 的吞吐量理論上只有 100 TPS,主要原因是上文提到過的,為了支持“欺詐證明”,Optimistic Rollup的每筆交易數(shù)據(jù)需要包涵交易提交者的簽名。每條簽名的大小是 64 bytes,這大大增加了提交上鏈的交易數(shù)據(jù)的字節(jié)數(shù),從而很快達(dá)到 gas 上限。為了減少交易數(shù)據(jù)的字節(jié)數(shù),一種 BLS 聚合簽名機(jī)制被提了出來。如下圖所示, BLS 聚合簽名機(jī)制是在操作者收集到所有交易后,將打包后的交易發(fā)送給每個(gè)交易提交者簽名,因?yàn)槊總€(gè)簽名都是針對(duì)相同的數(shù)據(jù),所以可以被操作者聚合成一個(gè) BSL 簽名。發(fā)送給鏈上合約的將是壓縮后的交易數(shù)據(jù)加上聚合后的 BLS 簽名,從而大幅減少了交易數(shù)據(jù)所消耗的 gas。BLS 簽名可以將 Optimistic Rollup 的吞吐量從100 TPS提升到 450 TPS,伊斯坦布爾升級(jí)后也可以達(dá)到 2000 TPS。

延遲

Optimistic Rollup 基于加密經(jīng)濟(jì)學(xué)有效性博弈,只有過了1~2周的挑戰(zhàn)期才能確認(rèn)交易生效。ZK Rollup的延遲相對(duì)較小,如果一個(gè)打包區(qū)塊中有 1000 筆交易,在普通的服務(wù)器上大概需要 20 分鐘可以構(gòu)造出一個(gè)證明。開發(fā)者已經(jīng)提出很多減少延遲的方法,比如采用 GPU 加速可以將零知識(shí)證明構(gòu)造時(shí)間壓縮到 1 分鐘。還有一種叫做“即時(shí)交易收據(jù)”(instant tx receipts)的方法兩種 Rollup 方案都適用。它主要借助經(jīng)濟(jì)學(xué)博弈來完成,就是負(fù)責(zé)打包的操作員需抵押一部分安全保證金,如果某個(gè)交易沒有被打包到區(qū)塊中,這筆錢就會(huì)被沒收。理論上“即時(shí)交易收據(jù)”可以將交易確認(rèn)時(shí)間壓縮到 1 秒以內(nèi),但是實(shí)現(xiàn)相對(duì)復(fù)雜,安全性有所降低。

通用性

通用性方面,Optimistic Rollup 明顯好于ZK Rollup,當(dāng)然它的設(shè)計(jì)目標(biāo)就是支持任意智能合約。而 ZK Rollup 目前僅適用于支付之類的特定交易,對(duì)于通用智能合約,由于創(chuàng)建零知識(shí)證明的成本非常高,部署起來困難較大。為了提高效率, 開發(fā)者正在開發(fā)專門的零知識(shí)證明虛擬機(jī),比如 ZEXE。它在一定程度上可以縮短創(chuàng)建證明的時(shí)間,但是缺點(diǎn)是合約開發(fā)者需要大量的專業(yè)知識(shí)。Matter Labs團(tuán)隊(duì)基于ZK Rollup開發(fā)的新一代區(qū)塊鏈擴(kuò)展方案 ZK Sync[4],設(shè)計(jì)開發(fā)了一款以委托的方式生成零知識(shí)證明的沙盒式虛擬機(jī),開發(fā)者不需要深入了解零知識(shí)證明領(lǐng)域的技術(shù)細(xì)節(jié)就可以編寫出高效且安全的智能合約。

總結(jié)與展望

本文簡(jiǎn)要介紹了區(qū)塊鏈擴(kuò)容方案 Rollup 的工作原理,對(duì)比分析了兩種 Rollup 方案 ZK Rollup 和 Optimistic Rollup 在可擴(kuò)展性、延遲、通用性、安全性上的優(yōu)劣。

(可擴(kuò)展性*伊斯坦布爾升級(jí)后可達(dá)到2000 TPS;延遲**使用“即時(shí)交易收據(jù)”優(yōu)化后可達(dá)1秒)

根據(jù)以上的對(duì)比分析,短期看來 Optimistic Rollup 由于較好的通用性會(huì)受到開發(fā)者的青睞;但從長(zhǎng)期來看,隨著零知識(shí)證明虛擬機(jī)的演進(jìn),ZK Rollup 會(huì)在通用性上不斷提高。它能否主宰智能合約可擴(kuò)展性的未來呢?這個(gè)問題只能留給時(shí)間來回答了。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉