比特幣交易所 比特幣交易所
Ctrl+D 比特幣交易所
ads
首頁 > NEAR > Info

引介 | Layer 2 方案概覽:從狀態通道到 Roll Up_ROL

Author:

Time:1900/1/1 0:00:00

雖然區塊鏈得到了日趨廣泛的采用,當代協議的負載量卻十分有限,因此涌現出了許多Layer2協議,例如狀態通道、側鏈、Plasma和RollUp。本文深入探究了這些方案各自的技術細節和優缺點。

所有Layer2解決方案的核心思路都是讓多個參與方通過某種方式實現安全交互,無需將交易發布在主鏈上,不過在某種程度上還是要利用主鏈作為仲裁方來確保其安全性。

不同的Layer2方案有不同的特征和優缺點。我個人最看好的Layer2方案是RollUp,會在下文詳細闡述。

感謝Jones(PlasmaGroup)、TomClose(Magmo)、PetrKorolev和GeorgiosKonstantopoulos對本文初稿的審閱。

狀態通道

我們先來看看入門級的Layer2方案——支付通道。支付通道是如今最廣泛采用的Layer2方案。例如,閃電網絡就是建立在支付通道技術上的。

支付通道是狀態通道這個大概念下的一個具體實例。關于狀態通道的發展史可以參見維基上的概述。狀態通道是固定一組參與者之間的協議,用以實現安全的鏈下交易,其中支付通道專門用來支付。支付通道協議具體如下:兩名參與者各自通過鏈上交易在鏈上鎖定保證金,比方說,價值10美元的比特幣。一旦鎖定完成,參與者雙方即可互相發送形式為的狀態更新來實現轉賬,無需與主鏈進行交互,只要雙方的余額都還為正值即可。

一旦參與者中有一方想要停止使用支付通道,可以執行“退出”操作:將最后的狀態更新提交至主鏈,結算下來的余額會退給發起支付通道的兩方。主鏈可以通過核實簽名和最后結余來驗證狀態更新的有效性,從而防止參與者使用無效狀態來退出支付通道。

2巨鯨在過去7天以1.95美元的價格累計了292萬枚DYDX:金色財經報道,據The Data Nerd監測,DYDX是過去24小時內提款最多的代幣,2個可疑的巨鯨(0xe52和0x68e)在過去7天以1.95美元的價格累計了292萬枚DYDX(570萬美元)。此外,他們在FTX崩潰時的低點都積累了LDO、LINK和ETH 。[2023/9/3 13:15:17]

這種“退出”模式存在一個問題,即主鏈無法驗證支付通道是否提交了全部交易,也就是說,在提交了狀態更新之后是否不再出現新的狀態更新。我們可以考慮這樣一個場景:

假設在初始狀態下Alice有11美元而Bob有9美元,Alice向Bob發送了一個狀態更新——向Bob轉賬7美元,并等待Bob向她提供服務,然后在7美元還沒到賬之前就退出了支付通道。由于主鏈不知道還有另外的狀態更新,會將“退出”交易視為有效。

這個問題的解決方案是,在Alice發起退出交易之后,為Bob留出一段時間的“挑戰期”。在此期間,Bob可以提交未完成結算的狀態更新,里面包含Alice的簽名,而且輪次數也高于Alice在退出時提交的狀態更新。在上例中,Bob可以在挑戰期內提交最后一個狀態更新,也就是Alice向他轉賬7美元的狀態更新,并且索要16美元的余額,而不是被Alice提交的狀態搞得只剩下9美元。

雖然目前的退出機制設計非常安全,但是主要麻煩的一點在于:參與者可能得等待比較長的一段時間,通常是24小時,才能退出,而且需要頻繁監控主鏈以確保他們的交易對手方沒有使用過去的某個狀態退出。可以通過WatchTowers技術將監視全網的任務委托給第三方。更多關于暸望塔的文章可以閱讀這篇和這篇。

歐易Web3錢包預期將在22:00(HKT)內完成對Sei網絡的接入支持:金色財經報道,據Sei官方消息,Sei 主網已經發布上線。為支持新公鏈發展和促進多鏈生態繁榮,歐易 Web3 錢包預期將在 22:00(HKT) 內率先完成對Sei網絡的接入支持!屆時,用戶可使用 App 和插件 Web3 錢包管理自己的 Sei 資產。[2023/8/15 21:25:24]

為了避免這種不必要的等待,雙方可以通過許多實現來達成“協同關閉”。其中,參與者可以簽署一個“結束證明”。有了這個證明之后,另一方無需等待挑戰期結束即可退出。

支付通道可以廣泛應用于任意的狀態轉換,而非僅僅局限于支付一途,只要主鏈可以驗證這些狀態轉換的正確性即可。例如,狀態通道可以用來下棋,棋手可以將各自的走棋作為交易發送給對方。

雖然存在不便之處,但是狀態通道已廣泛應用于支付、游戲等用例,因為這種技術具有即時確定性,無需參與者交納除質押和退出費用以外的其他費用,而且在結構上相對簡單。

雖然狀態通道的廣義定義較為簡單,而且考慮到了所有極端情況,可以防止一方非法占有另一方的資產,但是實現起來比較復雜。Whiteboard系列中有一個視頻來自Magmo團隊的TomClose,深入分析了構建安全狀態通道的復雜性。

狀態通道網絡

狀態通道的另一個缺點是只能在兩個參與者之間開設。你可以通過N/N多簽機制在多個參與者之間維護一條狀態通道。不過相比之下,具備相同功能的Layer2方案更為理想,使得彼此之間未開設狀態通道的參與者也能直接進行交易。

狀態通道還有一種很有趣的架設方法。如果Alice跟Bob之間有一條狀態通道,Bob和Carol之間也有一條狀態通道,那么Alice就可以通過Carol安全且自動地轉賬給Bob。這樣就可以構建一個完整的狀態通道網絡,容許大批量的參與者彼此進行交易,無需在每一對參與者之間開設狀態通道。

安全團隊:2018年Gate.io攻擊事件黑客已將1944.72枚ETH轉移至不同錢包:金色財經報道,據CertiK監測,黑客正在轉移2018年Gate.io攻擊事件中的被盜資金。截止目前,賬戶地址(0xff8...)已將1944.72枚ETH(約314.9萬美元)轉至不同錢包。[2023/2/23 12:24:15]

這就是閃電網絡的設計思路。Whiteboard系列中有一個視頻是DanRabinson講解Interledger,深入分析了閃電網絡的設計,可以點擊這里查看。

側鏈

側鏈的核心思路是構建一條完全獨立的區塊鏈,有自己的驗證者和運營者,可以與主鏈互相轉移資產,而且會選擇性地將區塊頭的快照發送至主鏈,從而防止分叉產生。有了這些快照,就可以有效防止分叉,即便側鏈上的驗證者串謀起來發動分叉攻擊也沒用。

從上圖可以看出,側鏈會生成區塊并將它們的快照發送至主鏈。所謂的快照就是存儲于主鏈上的區塊哈希。側鏈上的分叉選擇規則是,合法的鏈必須構建在最近一個進行過快照的區塊之上。在上圖所示情況下,區塊A的快照已經發送至主鏈,即使側鏈上的驗證者勾結起來,試圖在區塊A生成之后生成一條更長的A’<-B’<-C’鏈來發動雙花攻擊,側鏈上的參與者也會忽略這條更長的鏈。

如果參與者想要將主鏈上的資產轉移至側鏈,他們就要將這部分資產“鎖定”在主鏈上,并向側鏈提供鎖定證明。如果要解鎖主鏈上的資產,就要在側鏈上發起一個“退出”交易,并在該交易被打包上側鏈之后提供退出證明。

雖然側鏈可以利用主鏈的安全性來防止分叉,但是驗證者依然可以通過串謀來發動另一種叫做無效狀態轉換的攻擊。這種攻擊背后的思路是,主鏈本來就不可能驗證側鏈上的所有區塊。因此,如果有超過50%或66%的驗證者串謀的話,他們可以創建一個完全無效的區塊,竊取其他參與者的資產,并將這個區塊的快照發送至主鏈,發起并完成一個“退出”交易,就可以成功偷走這些資產。

金融技術公司Party Round更名為Capital:10月8日消息,金融技術公司Party Round宣布更名為Capital,主要提供針對創始人構建的產品,包括融資、(持有)管理資產、支出和匯款等業務,其中融資業務允許創始人使用加密貨幣或者法定貨幣來使用使用標準的Y Combinator SAFE籌集資金,一旦資金匯入,創始人可以使用Capital創建一個商業支票賬戶,獲得一張借記卡并進行付款。

此前消息,去年11月份,Party Round完成700萬美元融資,Seven Seven Six等參投。[2022/10/8 12:49:45]

我們之前寫過一篇關于分片機制下無效狀態轉換問題的概述。這個問題一對一對應到側鏈語境下,側鏈就相當于概述中的分片,主鏈就相當于概述中的信標鏈。

那篇概述中還提到了避免無效狀態轉換問題的解決方案,不過目前還沒有踐行。大多數側鏈都是基于驗證者串謀人數占比不超過50%的設想之上的。

Plasma

Plasma是一種可以實現“無監管”側鏈的技術,換言之,即使側鏈上所有驗證者串謀起來作惡,plasma鏈上的資產也是安全的,而且可以退回主鏈。

最簡單的plasma設計通常被稱為PlasmaCash,只支持簡單的非同質化代幣,而且每個交易轉移的資產只能是一個特定的常量。PlasmaCash的運行方式如下圖所示:

每個區塊都含有一個稀疏默克爾樹,它的葉節點則包含某個代幣所有權的變更。以上圖為例,一共有4個代幣處于流通中。在區塊B中,代幣1、3和4沒有被換手,而代幣2被轉移到了Alice手中。如果區塊D中包含一個由Alice簽署的將代幣2轉移至Bob的交易,則區塊D中的代幣2會從Alice手中轉移至Bob手中。

數據:二季度Web3行業共發生48起重大安全事件,被盜資金總額超7億美元:7月15日消息,BEOSIN Blockchain Security與Footprint Analytics聯合發布的2022年二季度Web3安全報告指出,二季度Web3行業共發生48起重大安全事件,被盜資金總額為7.1834億美元。

報告指出,二季度以太坊鏈上項目因安全事件損失最大,占被盜資金總額的53%。BNB鏈上項目被攻擊次數最多,共發生26起安全事件。[2022/7/15 2:15:58]

一個代幣從主鏈轉移到Plasma鏈上之后,如果一方要將這個代幣轉移給另一方,則需要提供這個代幣的完整歷史。在上例中,如果Bob想要將代幣2轉給Carol,那么之前每個區塊內的交易情況就會作為條目記錄在這個交易內,如果之前發生過所有權變更,需將相關默克爾證明記錄在內,反之記為空值。

Plasma鏈會將所有區塊頭的快照發送到主鏈上,Carol可以驗證是否所有的默克爾證明都跟之前通過快照發送至主鏈的哈希值相符,以及每個區塊中的所有權變更是否有效。一旦這個交易被打包成區塊放到plasma鏈上,Bob將代幣2轉給Carol的條目就會記錄在默克爾樹上,Carol就成了代幣2的所有者。

因為Plasma是建立在運營者隨時都能串謀作惡的設想上的,所以用戶沒法做到即時退出,而且需要有一個退出機制。盡管我們上文討論的架構相對簡單,但是退出機制非常復雜。Whiteboard系列視頻中有一節是由來自LoomNetwork的GeorgiosKonstantopoulos分享的,深入分析了PlasmaCash的技術細節,介紹了LoomNetwork采用的退出機制,其中還提到了一個例子是,運營者可以通過隱瞞數據從誠實的參與者處竊取代幣,或是發起攻擊之后,DanRobinson提出了一個較為簡單的退出機制,可以解決這個問題,然后又發現通過給區塊重新排序可以打破這個機制。

總而言之,Plasma最大的優點是存儲在plasma鏈上的代幣安全性很高。無論發生了以下何種情況:plasma運營者創建了一個無效狀態轉換、plasma運營者發起扣塊攻擊、plasma運營者徹底停止出塊,誠實的參與者都可以確信自己能夠取回代幣。在上述情況下,或者籠統地說,在任何情況下,代幣都不會丟失。

缺點在于,在轉移代幣之時必須提供該代幣的完整歷史,另外就是退出機制非常復雜。

想了解更多技術細節的話,可以參見上文提過的LoomNetwork團隊人員的分享視頻,以及來自Plasma團隊的BenJoines的分享視頻。其中,Ben談到了PlasmaCashFlow,這是一個比較復雜的PlasmaCash設計,能夠實現任意金額的交易。

RollUp

正如我在討論側鏈時提到的那樣,解決側鏈的無效狀態轉換問題的方法之一是提供密碼學證明來證明之前每次狀態轉換都是正確的。最近,MatterLabs就依據這種方法構建了一個叫做RollUp的技術,其構想最初是由BarryWhiteHat在ethresear.ch上提議的。

RollUp實際上是一條側鏈,因此它會生成區塊,并且將這些區塊的快照發送到主鏈上。不過,RollUp上的運營者是無需信任的。也就是說,RollUp假定運營者可以在任何時候做出停止出塊、生成無效塊、隱瞞數據等惡意行為。

與一般的側鏈相似的是,如果某個區塊的快照已經發送至主鏈,那么RollUp上的運營者只能在這個區塊之后發動分叉攻擊。因此,一旦某個區塊的快照發送到了主鏈上,這個區塊就得到了最終確定,RollUp鏈上進行過快照的區塊也是如此。

為了避免狀態有效性問題,每當RollUp運營者要對某個區塊進行快照之時,都要提供一個SNARK,證明鏈已經使用相關的一組交易執行了有效的狀態轉換。以下圖為例:

RollUp鏈上有三個區塊:A、B和C。它們的快照分別對應主鏈上的區塊X、Y和Z。每到一個時間點,主鏈只需要存儲RollUp鏈上最新狀態的默克爾根。在區塊A進行快照之時,發送到主鏈上的交易包括:

新狀態S2的默克爾根h(S2)。

S2的完整狀態數據,或區塊中的所有交易。

一個zk-SNARK,證明在從狀態哈希h(S1)到狀態哈希h(S2)之間的所有交易都是有效的,并且這些交易都與中提供的數據相匹配。

該交易證實了zk-SNARK是有效的,并在鏈上存儲了新的默克爾根h(S2)。重要的是,該交易雖然不會將A中的完整數據存儲在狀態中,但是會將其保存在調用數據內,以便日后調用。

事實上,將完整的區塊存儲在調用數據中的做法在某種程度上是個瓶頸,不過可以解決數據可用性問題。目前,MatterLabs構建的RollUp需要1分鐘的時間來計算出一個交易的SNARK,每個交易需要消耗1Kgas,并占用主鏈上9個字節的調用數據。

在這樣的設計下,除了離線之外,運營者不能做其他惡意行為:

不能隱瞞數據,因為對區塊進行快照的交易必須提交完整的區塊或者完整的狀態作為證明,并驗證交易內容是正確的,之后交易內容會保存在主網上的調用數據內。

不能生成含有無效狀態轉換的區塊,因為必需提交一個zk-SNARK來證明狀態轉換的正確性,而無效區塊是無法計算出zk-SNARK的。

無法發動分叉攻擊,因為分叉選擇規則始終認可最新進行過快照的區塊所在的那條鏈,即使這條鏈不是最長鏈。

雖然這種Layer2方案沒有顯著擴大調用數據中的存儲空間,但是實際消耗的可寫存儲量是恒定的,鏈上驗證的gas成本低至1kgas/tx,是主鏈交易的1/21。

重要的是,假設RollUp上的運營者彼此合作的話,就可以實現即時退出,不會涉及到退出機制。這些特征使得RollUp鏈成了目前最炙手可熱的Layer2方案之一。

結束語

我目前在開發一個名為Near的Layer1分片協議。一個常見的誤解是Layer1分片協議與Layer2擴容方案存在競爭關系。實際上并非如此,分片協議的實現不會影響到Layer2擴容方案的使用。

Layer2為特定用例而設計,能夠在維持較低成本的同時提供較高的吞吐量,即使是在Layer1區塊鏈的擴展性有了顯著提高的情況下。

Tags:ROLLASMSMAASMBankRollPlasmaPaySMARTRealtyJASMY

NEAR
這件事遠比幣圈發生的還無下限_MET

在波點錢包以及波場超級社區暴雷之后,孫宇晨終于發微博表示波場基金會不負責協議外應用的開發,號召大家選擇將私鑰持有在個人手中的錢包。至于之前為何不作回應估計也是想通過資金盤來為項目增添大量的買盤.

1900/1/1 0:00:00
用戶協議_UMEX

請認真閱讀用戶協議和KuMEX參考導航欄下所有文檔。點擊“Starttrading”或訪問或使用我方提供的任何服務,表示貴方同意接受用戶協議、隱私條款和前述引用的所有條款的法律約束.

1900/1/1 0:00:00
新浪財經上線了各類數字資產的報價 松綁信號?_LTC

狂人說 今天市場仍然一片冷清,老美的國慶還沒放完,一個個吃的肥頭大耳,爽的不要不要的,根本懶得顧及行情,反觀國內,炒幣炒的戰戰兢兢,生怕睡覺的時候被人偷襲.

1900/1/1 0:00:00
關于 Voken 交易活動推遲上線的公告_LBA

尊敬的LBank用戶: 為慶祝?VO(Voken)上線LBank,并支持社區生態。LBank推出了將于7月11日12:00啟動的「總獎勵10,000,000Voken的交易即挖礦及交易大賽」,但.

1900/1/1 0:00:00
關于 LBank 下架 DXN/USDT、BOT/ETH、TEN/USDT、BSV/BTC交易對的公告_ANK

尊敬的LBank用戶:???由于DXN/USDT、BOT/ETH、TEN/USDT、BSV/BTC交易對流動性不足,LBank將在7月10日16:00下線以上交易對和其相關充值功能.

1900/1/1 0:00:00
BiKi.com關于上線MYCOIN的預告(07-04)_HTT

尊敬的用戶: BiKi.com即將上線MYCOIN,具體信息請關注官方公告。 幣種介紹: 代幣名稱:MYCOIN 英文縮寫:MYCOIN 發行總量:1,680,000,000流通量:5,000,

1900/1/1 0:00:00
ads