雖然區塊鏈得到了日趨廣泛的采用,當代協議的負載量卻十分有限,因此涌現出了許多Layer2協議,例如狀態通道、側鏈、Plasma和RollUp。本文深入探究了這些方案各自的技術細節和優缺點。
所有Layer2解決方案的核心思路都是讓多個參與方通過某種方式實現安全交互,無需將交易發布在主鏈上,不過在某種程度上還是要利用主鏈作為仲裁方來確保其安全性。
不同的Layer2方案有不同的特征和優缺點。我個人最看好的Layer2方案是RollUp,會在下文詳細闡述。
感謝Jones(PlasmaGroup)、TomClose(Magmo)、PetrKorolev和GeorgiosKonstantopoulos對本文初稿的審閱。
狀態通道
我們先來看看入門級的Layer2方案——支付通道。支付通道是如今最廣泛采用的Layer2方案。例如,閃電網絡就是建立在支付通道技術上的。
支付通道是狀態通道這個大概念下的一個具體實例。關于狀態通道的發展史可以參見維基上的概述。狀態通道是固定一組參與者之間的協議,用以實現安全的鏈下交易,其中支付通道專門用來支付。支付通道協議具體如下:兩名參與者各自通過鏈上交易在鏈上鎖定保證金,比方說,價值10美元的比特幣。一旦鎖定完成,參與者雙方即可互相發送形式為的狀態更新來實現轉賬,無需與主鏈進行交互,只要雙方的余額都還為正值即可。
一旦參與者中有一方想要停止使用支付通道,可以執行“退出”操作:將最后的狀態更新提交至主鏈,結算下來的余額會退給發起支付通道的兩方。主鏈可以通過核實簽名和最后結余來驗證狀態更新的有效性,從而防止參與者使用無效狀態來退出支付通道。
卡塔爾基金Qatar Funds子公司將推出“Web 3.0 charity”區塊鏈慈善平臺:金色財經報道,卡塔爾基金Qatar Funds子公司Qatar Funds Charity宣布將推出一個名為“Web 3.0 charity”的區塊鏈慈善平臺,旨在推動區塊鏈技術在該地區的快速發展,為人們向慈善事業捐款提供一種更簡化的、更加透明、高效和安全的方式。此外,Qatar Funds Charity還透露未來將積極涉足加密貨幣,以改變人們向慈善機構捐款的方式。(digitaljournal)[2023/4/1 13:38:54]
這種“退出”模式存在一個問題,即主鏈無法驗證支付通道是否提交了全部交易,也就是說,在提交了狀態更新之后是否不再出現新的狀態更新。我們可以考慮這樣一個場景:
假設在初始狀態下Alice有11美元而Bob有9美元,Alice向Bob發送了一個狀態更新——向Bob轉賬7美元,并等待Bob向她提供服務,然后在7美元還沒到賬之前就退出了支付通道。由于主鏈不知道還有另外的狀態更新,會將“退出”交易視為有效。
這個問題的解決方案是,在Alice發起退出交易之后,為Bob留出一段時間的“挑戰期”。在此期間,Bob可以提交未完成結算的狀態更新,里面包含Alice的簽名,而且輪次數也高于Alice在退出時提交的狀態更新。在上例中,Bob可以在挑戰期內提交最后一個狀態更新,也就是Alice向他轉賬7美元的狀態更新,并且索要16美元的余額,而不是被Alice提交的狀態搞得只剩下9美元。
雖然目前的退出機制設計非常安全,但是主要麻煩的一點在于:參與者可能得等待比較長的一段時間,通常是24小時,才能退出,而且需要頻繁監控主鏈以確保他們的交易對手方沒有使用過去的某個狀態退出。可以通過WatchTowers技術將監視全網的任務委托給第三方。更多關于暸望塔的文章可以閱讀這篇和這篇。
阿聯酋中央銀行計劃推出數字迪拉姆,將開展CBDC戰略第一階段:3月23日消息,阿聯酋中央銀行 (CBUAE) 將實施其名為數字迪拉姆的中央銀行數字貨幣(CBDC)戰略。CBUAE 已分別邀請 G42 Cloud 和 R3 這兩個實體作為基礎設施和技術提供商。其 CBDC 戰略的第一階段將在未來 12 到 15 個月內進行,重點包括 mBridge 的軟啟動、與印度的雙邊 CBDC 橋的概念驗證工作以及涵蓋批發和零售的國內 CBDC 發行概念驗證工作用法。[2023/3/23 13:22:40]
為了避免這種不必要的等待,雙方可以通過許多實現來達成“協同關閉”。其中,參與者可以簽署一個“結束證明”。有了這個證明之后,另一方無需等待挑戰期結束即可退出。
支付通道可以廣泛應用于任意的狀態轉換,而非僅僅局限于支付一途,只要主鏈可以驗證這些狀態轉換的正確性即可。例如,狀態通道可以用來下棋,棋手可以將各自的走棋作為交易發送給對方。
雖然存在不便之處,但是狀態通道已廣泛應用于支付、游戲等用例,因為這種技術具有即時確定性,無需參與者交納除質押和退出費用以外的其他費用,而且在結構上相對簡單。
雖然狀態通道的廣義定義較為簡單,而且考慮到了所有極端情況,可以防止一方非法占有另一方的資產,但是實現起來比較復雜。Whiteboard系列中有一個視頻來自Magmo團隊的TomClose,深入分析了構建安全狀態通道的復雜性。
狀態通道網絡
狀態通道的另一個缺點是只能在兩個參與者之間開設。你可以通過N/N多簽機制在多個參與者之間維護一條狀態通道。不過相比之下,具備相同功能的Layer2方案更為理想,使得彼此之間未開設狀態通道的參與者也能直接進行交易。
Web3游戲和NFT發現平臺Playground完成超額認購種子前融資:9月13日消息,新加坡Web3游戲和NFT發現平臺Playground完成超額認購種子前融資,East Ventures 和 Mirana Ventures 共同領投,Arc Capital 以及天使投資者參投。
據悉,Playground旨在解決Web3生態系統中的信息問題。通常用戶很難在發現新的加密項目,因為基于區塊鏈的娛樂行業的快速增長使信息變得碎片化。該公司的平臺提供最新信息,以及訪問Web3娛樂項目及其社區。[2022/9/13 13:26:28]
狀態通道還有一種很有趣的架設方法。如果Alice跟Bob之間有一條狀態通道,Bob和Carol之間也有一條狀態通道,那么Alice就可以通過Carol安全且自動地轉賬給Bob。這樣就可以構建一個完整的狀態通道網絡,容許大批量的參與者彼此進行交易,無需在每一對參與者之間開設狀態通道。
這就是閃電網絡的設計思路。Whiteboard系列中有一個視頻是DanRabinson講解Interledger,深入分析了閃電網絡的設計,可以點擊這里查看。
側鏈
側鏈的核心思路是構建一條完全獨立的區塊鏈,有自己的驗證者和運營者,可以與主鏈互相轉移資產,而且會選擇性地將區塊頭的快照發送至主鏈,從而防止分叉產生。有了這些快照,就可以有效防止分叉,即便側鏈上的驗證者串謀起來發動分叉攻擊也沒用。
從上圖可以看出,側鏈會生成區塊并將它們的快照發送至主鏈。所謂的快照就是存儲于主鏈上的區塊哈希。側鏈上的分叉選擇規則是,合法的鏈必須構建在最近一個進行過快照的區塊之上。在上圖所示情況下,區塊A的快照已經發送至主鏈,即使側鏈上的驗證者勾結起來,試圖在區塊A生成之后生成一條更長的A’<-B’<-C’鏈來發動雙花攻擊,側鏈上的參與者也會忽略這條更長的鏈。
Slope安全事件更新:6月24日的錢包版本向Sentry發送了私鑰,無法證明根本原因在于Slope:8月17日消息,Slope今日公布了8月2日安全事件相關外部審計報告。報告稱,分析表明,2022年6月24日發布的Slope錢包版本向Sentry的服務發送了私鑰或助記詞(報告所涉及的Sentry服務是指Slope團隊私下部署的Sentry服務,并非Sentry官方提供的接口和服務)。但是,從對Slope錢包應用的調查到現在,無法明確證明事件的根本原因在于Slope錢包,于是慢霧安全團隊開始在Slope服務器上進行分析取證,需要進一步的證據來解釋這次事件的根本原因。
目前,通過對鏈下服務器和相關的后端服務的分析發現,未發現直接入侵外圍服務器的漏洞點,未發現服務器入侵痕跡。在對服務器入侵痕跡分析中,未發現服務器入侵痕跡。但可疑IP(113.*.*.*,114.*.*.*,153.*.*.*)仍需排查,此外,未在客戶端-服務器通信中發現DNS劫持的證據。在鏈上分析中,風險資本評估未發現大額可轉移風險資金和潛在風險資金。截至本文發表時,被盜資金并未進一步轉移。[2022/8/17 12:31:05]
如果參與者想要將主鏈上的資產轉移至側鏈,他們就要將這部分資產“鎖定”在主鏈上,并向側鏈提供鎖定證明。如果要解鎖主鏈上的資產,就要在側鏈上發起一個“退出”交易,并在該交易被打包上側鏈之后提供退出證明。
雖然側鏈可以利用主鏈的安全性來防止分叉,但是驗證者依然可以通過串謀來發動另一種叫做無效狀態轉換的攻擊。這種攻擊背后的思路是,主鏈本來就不可能驗證側鏈上的所有區塊。因此,如果有超過50%或66%的驗證者串謀的話,他們可以創建一個完全無效的區塊,竊取其他參與者的資產,并將這個區塊的快照發送至主鏈,發起并完成一個“退出”交易,就可以成功偷走這些資產。
觀點:加密熊市將為礦企提供“極好的”并購機會:8月5日消息,加密礦企White Rock Management首席執行官Andy Long認為,熊市為加密挖礦行業通過并購進行擴張“提供了絕佳的機會”。
Long在接受采訪時指出,在本輪熊市中,有效管理資產負債表的公司處于“良好狀態”,即使未來出現更多波動,它們也將繼續表現良好。他說:“熊市給那些在市場頂部舉債的礦企帶來了挑戰,不過,這個行業以前就有過這種情況,資金充足、效率高的礦企會做得很好。”
Long表示,目前的熊市趨勢將為這些公司提供關鍵的并購機會,因為它們將向投資者證明,自己可以在極端的市場條件下生存。(Cointelegraph)[2022/8/5 12:04:10]
我們之前寫過一篇關于分片機制下無效狀態轉換問題的概述。這個問題一對一對應到側鏈語境下,側鏈就相當于概述中的分片,主鏈就相當于概述中的信標鏈。
那篇概述中還提到了避免無效狀態轉換問題的解決方案,不過目前還沒有踐行。大多數側鏈都是基于驗證者串謀人數占比不超過50%的設想之上的。
Plasma
Plasma是一種可以實現“無監管”側鏈的技術,換言之,即使側鏈上所有驗證者串謀起來作惡,plasma鏈上的資產也是安全的,而且可以退回主鏈。
最簡單的plasma設計通常被稱為PlasmaCash,只支持簡單的非同質化代幣,而且每個交易轉移的資產只能是一個特定的常量。PlasmaCash的運行方式如下圖所示:
每個區塊都含有一個稀疏默克爾樹,它的葉節點則包含某個代幣所有權的變更。以上圖為例,一共有4個代幣處于流通中。在區塊B中,代幣1、3和4沒有被換手,而代幣2被轉移到了Alice手中。如果區塊D中包含一個由Alice簽署的將代幣2轉移至Bob的交易,則區塊D中的代幣2會從Alice手中轉移至Bob手中。
一個代幣從主鏈轉移到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區塊鏈的擴展性有了顯著提高的情況下。
新加坡國內稅務局發布的電子稅指南草案指出,介于加密貨幣是一種交易媒介,稅務局提議終止對加密貨幣征收的商品和服務稅。擬議的豁免若被接受,將于2020年1月1日生效.
1900/1/1 0:00:00央行研究局局長王信表示,央行直接發行數字貨幣有助于提升貨幣政策有效性,未來要推動央行數字貨幣研發,下一階段將研究Libra等加密數字貨幣相關問題,探索數字金融更好支持實體經濟發展.
1900/1/1 0:00:00系列 行業認知篇 關于行業 十年經濟周期如出一轍的再次上演,而區塊鏈行業用“跌宕起伏”來形容它的“悲慘”似乎還很欠缺力度.
1900/1/1 0:00:00主流幣種隔夜行情表現平穩,雖然BTC在凌晨時段借一波快速拉升實現了對于12000整數關口的重新收復,但是由于吸血效應的持續存在,其他主流幣種對于BTC短線上漲的跟進幅度仍然受限.
1900/1/1 0:00:00Eventtime:July11th,14:00:00-July25th,23:59:59(UTC8)Eventreward:20.
1900/1/1 0:00:00項目簡介:Litecoin是比特幣互補的點對點支付貨幣。 資金流入 LTC全網報價840.51CNY,日內下跌0.76%.
1900/1/1 0:00:00