“ 區塊鏈無法擴展 ”?你可能已經聽過一百萬次了。幾年前,這感覺像是對該行業的真正威脅。如果我們甚至不能每秒處理 15 筆交易,我們如何為沒有銀行賬戶的人提供銀行服務?
但大問題推動了創新,區塊鏈的可擴展性是一個大問題。它很快引起了工程師和科學家的注意,直至今天,我們對區塊鏈可以擴展越來越有信心。事實上,當前的大多數爭論都關注哪種可擴展性解決方案將獲勝。這就是為什么在這篇文章中,我將分解一些在過去五年中探索過的以太坊可擴展性解決方案——并解釋這些解決方案如何成為可能成為贏家的墊腳石:匯總
面對 “ 可擴展性三難 ”
如果不提到著名的 “ 可擴展性三難困境 ”,我們就無法談論可擴展性。該術語由Vitalik(V神)創造,用于解釋區塊鏈旨在擁有的三個屬性:可擴展性、去中心化和安全性。很明顯,到目前為止,我們可以實現其中兩個屬性。但是要同時獲得這三個是非常非常困難的。
在我們理解為什么之前,讓我們把我們的條款弄清楚。
可擴展性只是意味著區塊鏈可以處理大量事務,以每秒事務數 (TPS) 衡量。
去中心化意味著區塊鏈由世界各地的許多“去信任”節點運行——而不是由一小群集中的“受信任”節點運行。
安全性意味著即使網絡中一定百分比的節點是惡意的,區塊鏈也能抵抗攻擊。理想情況下,它應該能夠處理多達 50% 的惡意節點。
Vitalik 創建了一個簡單的三角形,每條邊代表三個屬性之一。三角形的每一邊代表能夠實現 3 個屬性中的 2 個的不同類型的區塊鏈解決方案。
去中心化和安全
三角形的底部是傳統的區塊鏈,如比特幣和以太坊 1.0(一層)。
這些類型的區塊鏈是:
去中心化:是的。因為世界上任何人都可以選擇成為挖礦節點。全世界有成千上萬的礦工參與保護比特幣和以太坊網絡的安全。也無需授權自己為礦工;這是完全不信任的。
安全:是的。因為網絡中的每個節點都保留了區塊鏈的副本并驗證每筆交易。此外,工作量證明旨在處理高達 50% 的惡意節點。
可擴展性:不能。憑借其安全性,網絡中的每個節點都保留一份區塊鏈副本并驗證每筆交易。雖然安全,但效率低下,導致延遲和吞吐量非常低。對于比特幣,每秒大約 7 筆交易,對于以太坊,每秒大約 15 筆交易。
安全且可擴展
三角形右邊是典型的高TPS鏈,比如幣安智能鏈。他們使用一種稱為“ Proof-of-stake-authority ” 的共識算法,其中 “ 選舉 ” 了 21 個節點來生成新塊。每 24 小時,2月15號更名為BNBChiin,從21個節點擴展到41個節點。將選出一組新的 41 個節點來在 24 小時內生成新塊。
?安全:是的。每個 “ 選舉 ” 節點被授權,因此我們控制系統中的對手。
可擴展:可以。由于少量的選舉節點在任何時候都會產生新的塊,因此我們可以獲得更高的事務吞吐量和更低的延遲,這意味著與每個節點都必須驗證每個事務相比,交互費用更低。
去中心化?:?不夠去中心化。?由于只有 41 個選舉產生的驗證者,它比傳統的區塊鏈去中心化要少得多。此外,每個?“?選舉?”?節點被授權,因此我們將信任介紹到系統中,使其減少分散。
可擴展和去中心化
三角形的左側是多鏈生態系統,例如 Cosmos、Polkadot 和 Avalanche。這些系統有許多獨立的區塊鏈網絡,它們都作為更大區塊鏈網絡的一部分進行通信。
可擴展:是的。由于我們不再需要將所有狀態存儲在單個區塊鏈上,因此我們可以將狀態拆分到許多獨立的區塊鏈中,從而實現比傳統區塊鏈更高的可擴展性。
去中心化:看情況而定。生態系統中的每個區塊鏈都有一組驗證區塊鏈的節點。生態系統中的一些鏈會有很多驗證者(例如需要去中心化的穩定幣鏈),而另一些鏈可能很少甚至只有一個(例如不需要太多去中心化的企業鏈)。因此,去中心化的程度取決于我們所指的生態系統中的哪條鏈。
安全:不太安全。如果生態系統中有一條鏈受到攻擊,那么它可能會對系統的其余部分產生連鎖反應。例如,如果鏈 B 受到攻擊,而鏈 A、C 和 D 都依賴它,那么其他鏈也會受到影響。
數據平臺Satsuma完成500萬美元種子輪融資:金色財經報道,區塊鏈數據索引平臺Satsuma宣布完成500萬美元種子輪融資,Initialization Capital和Archetype領投,OpenSea、 Y Combinator、 Homebrew、South Park Commons等參投。
Satsuma 成立于去年3月。該項目使用The Graph的開源技術查詢和索引鏈上數據。Satsuma并非去中心化協議,而是一個SAAS(軟件即服務)模式的業務實體。[2023/4/5 13:45:15]
如您所見,在擴展區塊鏈方面有許多不同的嘗試,但它幾乎總是以這三個屬性之一為代價。Vitalik 和以太坊社區一直不愿意做出這種妥協,他們的目標是獲得所有三個。
在我們了解這如何可能之前,了解另一件事很重要:第 1 層擴展與第 2 層擴展。
在最高級別,第 1 層擴展是指擴展核心區塊鏈本身。相比之下,第 2 層擴展是指將交易從主區塊鏈層移到可以與主鏈通信的單獨層中。
以太坊希望同時使用第 1 層和第 2 層解決方案來解決可擴展性的三難困境,分片是以太坊的第 1 層解決方案,而匯總是以太坊的第 2 層解決方案。
但是匯總和分片必須等待片刻。首先,我們應該記錄以太坊過去探索的第 2 層擴展解決方案,然后最終得出匯總,即以太坊的 “ 圣杯 ” 。畢竟,這就是工程的工作方式——我們提出想法、測試它們并進行迭代,直到找到可行的解決方案。
狀態通道
狀態通道已經存在了很長時間,所以它們并不是什么新鮮事。以下是它們如何工作的快速說明。假設我們有兩個人,愛麗絲和鮑勃,他們想互相交易。愛麗絲每次發推文都會向鮑勃支付 1 美元。但是由于 Bob每天發很多推文,使用以太坊進行交易會太慢而且太貴。
相反,他們使用 “ 狀態通道 ” :
愛麗絲在以太坊的智能合約中投入了 500 美元。
每當 愛麗絲 想給 鮑勃 1 美元時,她都會簽署一條消息,表明她想給 鮑勃?多少錢。她一直在簽署消息,直到 鮑勃?準備好 “ 兌現 ” 他的資金。
鮑勃 提交一條新消息,表明他已準備好關閉狀態通道。以太坊上的智能合約驗證愛麗絲和鮑勃的簽名,向鮑勃支付應付金額,并將其余款項返還給愛麗絲。
請注意,只有第一步和最后一步需要我們在區塊鏈上進行交易,在這些步驟之間,愛麗絲?和 鮑勃?可以向對方發送無限數量的簽名消息,指示付款。在這種情況下,以太坊區塊鏈僅用作結算層來處理一次性付款的最終交易,這減輕了底層區塊鏈的負擔。
重點是:通過開辟一個在區塊鏈之外進行交易的渠道,我們在保持低成本的同時大幅提高了交易容量和速度。這是可能的,因為:
首先,大部分交易都發生在鏈下,這意味著付款可以即時處理,因為兩方之間的鏈下更新不需要額外的時間來處理和驗證區塊鏈網絡。
其次,支付產生的費用較低,因為我們只需要在打開和關閉狀態通道時進行鏈上交易。這意味著大多數交易都是在鏈下進行的,費用要低得多。
那么,為什么這不是最終的解決方案呢?好吧,狀態通道可以做的事情是有限制的。例如,我們不能使用狀態通道與不屬于狀態通道的人進行交易,我們也僅限于狀態通道中可能的狀態更新類型。像 Uniswap 這樣的復雜應用程序不能在狀態通道中使用,因為當我們在 Uniswap 上交換兩個代幣時,智能合約會自動執行一系列中間步驟來進行交換,這些步驟沒有授權用戶在每個步驟上簽字。狀態通道的另一個缺點是它們要求我們鎖定流動性以實例化通道并防止惡意交易對手可能永遠不會真正支付承諾資金的情況。這對于單一渠道來說可能沒問題,但是當我們試圖通過狀態渠道網絡進行支付時,鎖定在中間渠道中的流動性使其相當“資本效率低下”。最后,狀態通道需要可以定期監視網絡的人(或將此責任委托給其他人)。這確保了您的資金安全,這又增加了一層復雜性和低效率。總而言之,狀態通道適用于兩方需要在一段時間內快速、廉價地進行交易的用例(例如商家和客戶)。但鑒于它們有限的用例和資本效率低下,我們并不認為狀態通道是以太坊的最終擴展解決方案。
側鏈
側鏈也已經存在很長時間了,而且很容易理解。簡而言之,側鏈是與主區塊鏈?“?掛鉤?”?的獨立區塊鏈。
當我們將一個區塊鏈“掛鉤”到另一個區塊鏈時,這意味著我們可以在兩個區塊鏈之間移動資產。“單向”掛鉤是我們將資產從主區塊鏈移動到側鏈的地方,而不是其他方式。這是通過將主區塊鏈上的代幣發送到不可使用的地址來“燒掉”代幣,然后在側鏈上?“?鑄造 ” 等價的代幣來實現的。
DappRadar研究人員:Arbitrum空投對DeFi表現出興趣:金色財經報道,DappRadar 的研究主管 Pedro Herrera 表示,傳統市場的銀行業緊張局勢以及監管機構對中心化交易所的打擊可能會促使用戶轉向去中心化金融應用程序。如果你開始看到 DeFi 的這些用例如何開始適應并賦予你更多的自主權來基本管理自己的資產和投資,這就是 DeFi 被高度使用的原因。像 Arbitrum 這樣的項目正在他們的社區中創造一種忠誠度和參與感,這反過來又可以“吸引開發人員構建更好的產品,并最終吸引更多用戶參與該項目。
DappRadar 的一份新報告發現,第一季度 DeFi 鎖定的總價值從去年第四季度的 600 億美元增長了 37% 至 833 億美元。[2023/4/4 13:43:11]
那么,“ 雙向掛鉤?”?是我們可以將資產移入和移出主區塊鏈和側鏈的時候。這需要在主鏈上?“?鎖定 ”?我們的代幣,然后在側鏈上?“?鑄造 ”?等量的代幣。當我們想要轉換回原始代幣時,我們會 “ 燒掉?”?側鏈上的代幣,然后解鎖主鏈上的代幣。
因此,側鏈是當我們創建一個與主區塊鏈雙向掛鉤的新區塊鏈時。當我們想要更快交易時,我們可以將我們的資金從主鏈轉移到側鏈并在那里進行交易。完成后,我們將資金轉移回主鏈。
比特幣側鏈的一個例子是Liquid Network。Liquid Network 與比特幣掛鉤,允許更快、更便宜的比特幣支付。另一個流行的例子是Polygon,它是與以太坊掛鉤的側鏈。
當用戶想要更快交易時,他們可以鎖定一些 ETH 并在 Polygon 側鏈上創建等量的 Matic 代幣。在 Polygon 側鏈上,他們可以享受更快、更便宜的交易。當他們完成交易后,他們可以將他們的 Matic 代幣轉換回 ETH。
注意:從技術上講,Matic 不是側鏈,因為它會定期將側鏈的狀態提交給以太坊。因此,他們喜歡稱自己為?“?提交鏈?”。
總體而言,側鏈是可擴展的,因為它們通常通過使用允許可擴展性的不同共識算法在去中心化和/或安全性方面進行權衡。對于以太坊網絡上的大量擁塞,側鏈是一個很好的權宜之計,但以太坊也不認為這是最終的可擴展性解決方案。隨著您繼續閱讀,原因將變得清晰:)
Plasma 是另一個 “ 第 2 層?”?解決方案,可以讓我們將交易移出基礎層。在我們進入 Plasma 之前,重要的是要注意,隨著時間的推移,Plasma 已經進行了多次迭代,每一次都有自己的權衡取舍。您可以查看Plasma世界地圖,其中列出了人們為解決Plasma帶來的挑戰而嘗試創建的許多不同類型的設計,有很多!
當然,為了這篇文章的目的,我必須概括 Plasma 的概念,而不是過多地關注個別的實現。如果您想深入挖掘,請務必查看世界地圖。那么,什么是Plasma?Plasma 本質上是一系列在主區塊鏈之外運行的智能合約(或 “ Plasma鏈?”?)。
Plasma 鏈就像一棵樹的樹枝,以太坊是主干,每條 Plasma 鏈都是一個分支,每個分支都被視為具有自己的區塊鏈歷史和計算的區塊鏈。“?根區塊鏈?”(即以太坊區塊鏈)使用稱為 “?欺詐證明?”?的東西來強制 Plasma 鏈中狀態的有效性。欺詐證明是我們提供某些數據的一種機制,任何人都可以使用數學證明來確定數據是否無效。
每個 Plasma 區塊鏈不需要將交易數據發布到根鏈上。相反,每個 Plasma 鏈都有一個?“ 操作員 ”。這可能是一個中心化的參與者,一個代表多個人的多重簽名,甚至是一個參與成為運營商的委員會。Plasma 鏈的運營商提交 Plasma 鏈上發生的轉移的 Merkle 根。注意:如果您不知道 Merkle(默克爾樹)樹的工作原理,那么我強烈建議您在繼續之前閱讀此解釋器。在高層次上,Merkle 樹讓我們可以獲取一個大型數據集(例如,一個塊中的交易)并生成一個代表整個數據集的單個根哈希。
美SEC將對網絡安全、消費者隱私規則提案進行投票,或涉及加密貨幣:金色財經報道,美國證券交易委員會將對新的規則和變化進行投票,以加強對網絡安全、隱私和技術基礎設施的要求,官員們稱這可能包括加密貨幣。
美國證券交易委員會將投票決定是否提出修改意見,要求經紀人、交易商、投資公司、注冊投資顧問和轉讓代理人在受到數據泄露影響時告訴人們。
據美國證券交易委員會一位官員稱,這兩項提案不會包括對加密貨幣的特殊分割或分割。就信息系統與加密貨幣交互的程度而言,網絡安全變化將涵蓋這一點。 而美國證券交易委員會的一位官員表示,如果國家證券交易所交易加密證券,則該規則將適用。[2023/3/16 13:06:42]
稍后,我們可以很容易地證明來自大數據集的一條數據(即,來自一個事務塊的單個事務)存在于該數據集中,只需提供通往該數據的分支。
如果有人試圖證明欺詐交易的存在,那么哈希值將不匹配,我們會立即知道。
好的,回到 Plasma。
每個 Plasma 鏈都在提交發生在其上的轉移的 Merkle 根。當用戶稍后試圖將他們的資產從 Plasma 鏈移回根鏈時,用戶可以提交將資產發送給他們的最新交易的 Merkle 分支(最近的交易足以讓我們知道當前余額在等Plasma上)。這開始了一個挑戰期,任何人都可以嘗試證明用戶的 Merkle 分支是欺詐性的。如果 Merkle 分支存在欺詐,則可以提交欺詐證明。由于根區塊鏈僅跟蹤 Merkle 根,因此與那些發生在主鏈上的交易相比,它必須處理的數據要少得多。這顯著減少了存儲在根區塊鏈上的數據量,并使我們能夠擴展根鏈。此外,如果某個特定的 Plasma 鏈受到惡意攻擊,人們可以從腐敗的子鏈中 “?大規模退出 ”。
等Plasma 比狀態通道更有利,因為您可以將資產發送給任何人,而使用狀態通道,您只能與狀態通道中的人進行交易。此外,等Plasma相對于側鏈的好處是等離子鏈由以太坊保護。
兩者(Plasma 與側鏈)的根本區別在于側鏈有自己的安全模型。他們有自己的共識機制和一組單獨的節點來驗證狀態。即使側鏈受到攻擊,主鏈也不會發生任何事情,反之亦然。如果側鏈發生攻擊,主鏈無法保護用戶。
另一方面,等Plasma具有依賴的安全模型,每個 Plasma 鏈都可以使用自己的機制來驗證交易,但它仍然使用以太坊區塊鏈作為最終的真相仲裁者。在拜占庭攻擊的情況下,等離子鏈用戶可以退出到以太坊。
但是 Plasma 有幾個缺點,使其成為一個平淡無奇的可擴展性解決方案。
首先,當用戶想要將他們的資產從 Plasma 合約轉移到以太坊主區塊鏈時,他們需要等待 7 天。這足以讓人們驗證提款交易不是欺詐性的。如果是,他們可以使用 Plasma 鏈上的 Merkle 樹構建欺詐證明。
其次,每個 Plasma 鏈都需要一個運營商將 Merkle 根承諾發布到主鏈。這需要我們依靠第三方來準確地將 Merkle 根承諾發布到鏈上。不幸的是,運營商可以執行所謂的“ 數據可用性攻擊 ”,他們出于惡意原因拒絕將某些交易發布到主鏈上。
在這種情況下,運營商可以說服網絡接受無效塊,而無法證明無效塊。這可以防止其他用戶知道區塊鏈的準確狀態。這也阻止了人們創建區塊或交易,因為他們缺乏構建證明的信息。與欺詐不同,數據可用性攻擊并不是唯一可歸因的。我們無法知道攻擊正在發生。
運營商也可以通過更明確的方式進行惡意操作,例如通過提交欺詐性交易。在這種情況下,人們可以“大規模退出,” 如上所述。但事實證明,這些在實踐中實施起來要困難得多。如果很多用戶想要大規模退出,可能會導致主鏈擁堵,用戶可能無法及時退出,導致資金損失。
第三,Plasma 要求交易資產的所有者在場。這確保了 Plasma 鏈的安全,因為它有效地使未經所有者同意無法進行交易(例如將 ERC 20 代幣發送到批準的地址)。Plasma 最適合簡單的轉賬,但隨著交易變得越來越復雜,設計空間變得不規則。
Justin Sun過去1小時向Binance地址轉移近1.5億枚USDT:3月12日消息,據 Whale Alert 數據顯示,被標記為 Justin Sun 的地址于過去 1 小時內從 Tether 處收到 1.98 億枚 USDT,隨后向 Binance 地址轉移 1.497 億枚 USDT,共分 3 次轉移,每次轉移 4990 萬枚 USDT。[2023/3/13 12:59:10]
出于上述原因,Polygon 和 OMG 網絡最初追求 Plasma 架構以進行擴展,但后來又放棄了。正是在這種情況下,在提出了各種解決方案之后,我們得到了匯總。
就像狀態通道、側鏈和等Plasma一樣,匯總是“第 2 層”解決方案。事實上,rollup 與 Plasma 非常相似,因為我們在鏈下批量處理交易并將更新發布到主區塊鏈。然而,關鍵的區別在于,通過匯總,我們還將每批交易的交易數據發布到鏈上。使用 Plasma,我們只發布 Merkle 根。
換句話說,通過匯總,我們在鏈下進行交易處理,但我們在鏈上發布交易數據。我們在鏈上發布的數據量是本地驗證匯總交易所需的最小數量。通過將數據上鏈,任何人可以檢測欺詐、發起提款或親自開始生成交易批次。因此,匯總比 Plasma 鏈或側鏈為我們提供了更高的安全保證。rollups 和 Plasma 之間的另一個關鍵區別是我們不必擔心數據可用性問題。畢竟,我們將交易數據發布到主鏈上。這是一個巨大的勝利。使用匯總,我們有效地在匯總層內運行 EVM 的一個版本。這意味著以太坊上任何可能的交易都可以在匯總中執行。這就引出了一個問題:如果我們仍然在鏈上發布交易數據,那么這將如何擴展第 1 層?擴展性不還是受限于主鏈的數據帶寬嗎?是的。這里的關鍵是我們通過匯總獲得 5 到 100 倍的可擴展性,但不是無限的可擴展性。Rollups 還使用了許多花哨的壓縮技巧來最小化我們在鏈上發布的交易數據,因此鏈上的數據存儲比其他方式少得多。
同時,我們將鏈下交易執行的所有繁重工作外包給匯總。回想一下,在交易執行期間,交易必須由以太坊虛擬機 (EVM) 處理并與狀態交互(例如存儲、賬戶余額等)。這是昂貴的。
然而,對于匯總,我們通過在匯總中運行 EVM 的一個版本來將此執行轉移到匯總層——所以我們仍然在執行相同的執行,但匯總層的 gas 成本比以太坊便宜得多。
現在,讓我們看看匯總是如何在幕后工作的。主鏈上有一個“匯總合約”,用于維護匯總層的當前狀態。這包括在其上進行交易的用戶的賬戶余額和其中存在的合約的智能合約代碼。簡而言之,匯總合約跟蹤匯總層中交易的“狀態根”。
“狀態根”由一個鍵值映射組成,其中鍵是地址,值是賬戶。每個賬戶最多有 4 個屬性:余額、隨機數、代碼(僅適用于智能合約)和存儲(僅適用于智能合約)。?
當事務發生在匯總層時,會發生狀態更改。當然,這意味著狀態根也需要更新。但不是為每筆交易更新狀態根,而是將交易“批量”發送到主鏈上的匯總合約。該批次將包括該批次事務的壓縮形式和一個更新的狀態根,該狀態根表示該批次事務處理后的數據。主鏈上的匯總合約檢查批次中的前一個狀態根是否與其當前狀態根匹配——如果匹配,它將狀態根切換到新的狀態根。
由于發布的交易數據實際上并沒有被 EVM 解釋,我們沒有訪問或寫入狀態——這太昂貴了。相反,我們將壓縮的交易數據作為“calldata”參數發布到匯總合約。
這就是為什么這很整潔,在 Solidity 中,calldata(是一種數據結構存儲方式)是最便宜的存儲形式。事實上,作為 calldata 參數傳遞的參數根本不會存儲在以太坊的狀態中,這意味著我們避免了很多 gas 費用。同時,以太坊節點仍然可以在創建區塊時存儲交易數據(在歷史日志中)。
精明的讀者可能想知道 Plasma 和匯總之間有什么區別。這是關鍵的區別:通過匯總,我們將交易數據與狀態根一起發布到鏈上。使用 Plasma,我們只需發布交易的狀態根。
與 Plasma 不同,我們有一個將 Merkle 根發布到根鏈的操作員,rollups 允許任何人將新一批交易發布到鏈上的 rollup 合約,稍后我們將更深入地探討。
Avalanche主網集成Chainlink Keepers和Chainlink VRF:6月10日消息,據官方公告,Chainlink去中心化交易自動化服務Chainlink Keepers以及Chainlink VRF現已上線Avalanche主網。
據悉,Chainlink Keepers是一種去中心化服務,用于基于預定義條件(如時間推移和市場事件)自動執行智能合約任務。Chainlink VRF是可驗證隨機函數,通過密碼證明的生成和鏈上驗證來保證隨機數的完整性。[2022/6/10 23:05:58]
再一次,這引出了一個問題:既然我們只是將交易數據發布到主鏈而不是執行鏈上的交易,我們怎么知道發布在主鏈上的交易數據和狀態根不是欺詐性的?
輸入:樂觀匯總和零知識匯總,每種都有自己的處理和驗證批次正確性的方式。
您可能可以根據名稱猜出樂觀匯總是什么,當一批新的交易 “ 匯總 ” 到主鏈時,每批的狀態根和哈希都會被發布,但我們實際上并沒有驗證交易是否正確執行,至少在發布時沒有。通過這種方式,我們 “ 樂觀地 ” 將新的狀態根和交易數據發布到主鏈上的匯總合約。當某人將新的狀態根發布到主鏈時,匯總智能合約會簡單地接受他們的話。如果有人發現向匯總智能合約發布了無效的狀態轉換,他們可以生成 “ 欺詐證明 ”。欺詐證明包括:
“ 預先狀態”的證明,或者,在應用交易之前事情的樣子
“ 后狀態 ” 的證明,或者,在應用交易后狀態應該如何處理
在狀態轉換期間應用的交易證明
工作流程很簡單:這個欺詐證明被發布到主鏈上的匯總合約中。然后匯總合約驗證證明并將交易邏輯應用于預狀態。然后,它將結果與后狀態進行比較。如果存在不匹配,則證明發布批次的人沒有正確應用交易。然后,智能合約會還原該批次的交易以及之后的所有批次。
為此,任何將批次發布到主鏈的人都必須存入保證金,因此如果他們表現出惡意并被抓到,他們可能會被 “ 罰沒 ”。
如果樂觀匯總使用“在被證明有罪之前是無辜的”心態,那么 ZK 匯總使用“不信任,驗證”心態。使用 ZK 匯總,每個批次都包含一個稱為 ZK-SNARK 的加密證明,它證明狀態根是執行該批次事務的正確結果。ZK-SNARK 證明是一個哈希值,表示在 zk-rollup 層中執行交易后區塊鏈狀態的變化。該有效性證明被發布到匯總合約中,因此任何人都可以使用它來驗證匯總層上特定批次中的交易。這里的魔力在于 ZK-SNARK 的工作方式。它們讓我們在不泄露數據的情況下生成底層數據的證明。任何人以后都可以驗證數據是否存在,即使他們無權訪問數據本身。ZK-SNARKS 的數學基礎很復雜,超出了我們的范圍,但如果你好奇,我鼓勵你去 Google 或 YouTube 上花點時間了解它們的工作原理。
顯而易見的下一個問題是……哪個更好?很難說。各有優缺點,接下來我們來看看。
“ 成本 ” 在抽象中并沒有太大的意義,但是當我們將其分解時,樂觀和 ZK 匯總的性能開始出現分歧。
在鏈上發布新批次的 Gas 成本:樂觀匯總成本更低。我們樂觀地發布新的狀態根和數據,所以這是一個簡單的交易。ZK 匯總成本更高。當我們在鏈上發布新批次時,我們必須驗證 ZK-SNARK 有效性證明。這在計算上更昂貴。
發布在鏈上的每筆交易的 Gas 成本:樂觀的匯總成本更高。我們必須在鏈上發布足夠的數據,以便稍后驗證欺詐證明。ZK 匯總成本更低。我們可以省略大部分交易數據,因為有效性證明足以讓任何人驗證批次的正確性。
鏈下計算成本:樂觀匯總成本更低。我們只發布新的狀態根,而不是執行/驗證交易。也就是說,我們仍然需要一些人來觀察新批次的創建和新交易的執行,以確保批次的正確性。ZK 匯總成本更高。ZK-SNARK 的計算成本很高(成本高出 20 到 1000 倍,盡管隨著創新它繼續變得更便宜)。
旁注:盡管 ZK-rollups 的鏈下計算成本更高,但考慮到鏈下的 gas 價格要低得多也很重要。
速度
樂觀匯總很慢。通常,用戶必須等待大約一周才能提取他們的資產。如果用戶試圖在匯總層上提取他們實際上并不擁有的代幣,這可能會給某人足夠的發布欺詐證明的機會。ZK 匯總很快。用戶通常等待不到 10 分鐘來提取他們的資產。我們只需要等到下一批來處理提款,因為所有的匯總狀態都已經過驗證。旁注:有一些方法可以通過使用“快速提款”來繞過這個一周的等待期。這是通過流動性提供者完成的,他們在主鏈上維護一個 “ cookie jar ” 資金。當用戶快速提取資金時,他們給流動性提供者一張借條用于匯總中的資金,然后他們立即獲得主鏈上的流動性提供者的付款(收費)。稍后,當一周期限結束并且用戶從匯總層取回資產時,用戶可以將欠他們的資金發送給流動性提供者。流動性提供者甚至可以選擇運行一個驗證節點來驗證用戶在匯總上的交易,然后再在主鏈上向他們發放資金,從而進一步降低他們的風險。然而,這種 “ 快速提現 ” 方案對于 NFT 來說是不可能的,因為任何 NFT 中只有一個存在,并且流動性提供者無法在鏈上創建相同的 NFT。
復雜
樂觀匯總更簡單,欺詐證明的概念由來已久,因此解決方案相對簡單。ZK 匯總更復雜,ZK-SNARK 是新的并且在數學上很復雜。
廣泛性
樂觀匯總更容易廣泛化,工程師們已經構建了一個與 EVM 兼容的虛擬機,稱為 OVM(樂觀虛擬機),它允許樂觀匯總處理可以在以太坊上處理的任何事務。ZK 匯總更難概括。使用 ZK-SNARK 證明通用 EVM 執行比證明簡單計算(如價值轉移)要困難得多。也就是說,這個領域發生了很多創新。事實上,StarkNet alpha引入了一種名為 Cairo 的新編程語言,它是以太坊上的圖靈完備 ZK 驗證器,可讓我們驗證通用計算智能合約。
樂觀匯總的可擴展性較差。當我們在鏈上發布數據時,它通常包括一些狀態(例如交易細節)和見證人(例如證明交易方同意的數字簽名)。使用樂觀匯總,我們必須為每筆交易發布見證,以便人們以后可以證明欺詐。見證人占用大量存儲空間,是交易數據的 3-10 倍。ZK 匯總更具可擴展性:我們不需要為每筆交易包括見證人,因為在計算 ZK-SNARK 時所有數字簽名都已驗證。相反,我們每批只需要一個見證人,這大大減少了存儲在鏈上的數據。
安全
樂觀匯總不太安全,樂觀匯總依賴于加密經濟學來確保鏈的安全性。換句話說,他們必須激勵人們觀看發布在鏈上的批次并檢測欺詐行為。ZK 匯總更安全,ZK 匯總依賴于數學,它們不需要激勵。他們使用密碼學而不是密碼經濟學。那么,既然我們已經分解了這些,哪個更好?仍然很難說,但這證明了這些程序背后的工程師所做的偉大工作。我們有像 Optimism 和 Arbitrum 這樣的團隊正在努力開發樂觀匯總,這些已經可供以太坊開發人員使用。我們有StarkWare和Zksync這樣的公司將通用 ZK-rollups 引入以太坊。這兩種解決方案都處于起步階段。但是樂觀匯總更接近于被采用,因為它們不太復雜并且可以用于當今的通用計算。另一方面,ZK rollups 需要一些時間才能趕上,但許多工程師會認為 ZK rollups 是一項卓越的技術。畢竟,它們依賴于數學而不是加密經濟學,而且它們比樂觀匯總更具可擴展性。也就是說,最好的技術并不總是贏。我們不能忽視的是,一旦一項技術變得根深蒂固,它就很難被取代。樂觀的匯總肯定是領先的——所以只有時間才能證明從長遠來看哪個會 “ 贏 ”。
在我們討論匯總的一些持久挑戰之前,讓我們看一下匯總使用的壓縮技巧如此高效。
隨機數:在典型的以太坊交易中,我們包含隨機數以防止雙花攻擊。Rollups 完全省略了它們,因為它們可以使用區塊鏈的先前狀態重新計算。通過這種方式,匯總盡可能用計算替換數據。
Gas 價格:與其以 gwei 計價(其中 1 gwei 是 10^-9 ETH),不如將 Gas 價格限制在固定的價格范圍內,從而顯著減少在交易數據中記錄 Gas 價格所需的存儲量,這真的加起來了!
費用:同上。
To:一個地址是 20 字節長,加上 1 個字節用于 RLP 編碼。匯總可以存儲索引到地址的映射,而不是包括地址,并且只在 “ to ” 字段(例如,1234)中包括索引。這就像將坐標留給目的地,而不是渲染整個位置本身。
值:?“ 值 ” 字段為 9 字節,因為 ETH 和 ERC-20 代幣最多有 9 位小數。匯總可以改為把值限制為最多 3 個小數位,為我們節省 6 個字節。看起來很實用!
簽名:如上所述,數字簽名的 “ 見證 ” 占用了大量存儲空間。Rollups 可以使用 BLS簽名(簽名聚合和密鑰聚合的算法),它允許我們將許多簽名聚合為一個,這節省了大量的存儲空間!
讓我們把這一切付諸行動,使用所有這些壓縮技巧,我們可以為 ETH 傳輸減少多少字節?典型的 ETH 傳輸需要 112 個字節,但是有了這些壓縮技巧?只有 12 個字節,這幾乎提高了 10 倍的效率!ZK rollup 可以獲得比樂觀 rollup 更多的優化,因為它們在將交易數據發布到主鏈之前進行鏈下交易驗證。他們也不需要包含交易數據的“驗證”部分;有效性證明就足夠了。所有 ZK 匯總需要存儲的是計算狀態轉換所需的數據。因此,重要的一點是匯總不僅因為它們將計算移出鏈而高效,而且因為它們非常聰明的數據壓縮技巧。
Rollups 并不完全是“圣杯”
但不要太興奮,盡管匯總非常有希望,但仍有很多問題需要解決,以下是您應該注意的一些挑戰。
可擴展性有天花板
到目前為止,您已經了解匯總和其他第 2 層解決方案(如 Plasma 和側鏈)之間的主要區別。你會記得,匯總將計算移出鏈,但將數據存儲在鏈上。這對于解決數據可用性問題非常有幫助。但是由于我們將交易數據存儲在鏈上(盡管是以非常壓縮的形式),我們仍然受到以太坊存儲容量的限制。我們可以通過一些粗略的數學來看看理論上的 TPS 將使用匯總。
以太坊區塊gas限制:1250萬gas
每字節存儲在鏈上的數據成本:16 gas
每個塊的最大字節數:~781,000 字節(1250 萬氣體/每字節 16 氣體)
使用匯總進行 ETH 傳輸所需的數據字節:12 個字節(參見上一節中的數學)
每塊交易:~65,000(每塊約 781,000 字節/每個 ETH 傳輸 12 字節)
以太坊的平均出塊時間:13秒
每秒交易數:~5000 TPS(每塊約 65,000 筆交易/每塊 13 秒)
當然,這個數學假設一個區塊中的所有交易都是 ETH 轉賬,并且一個區塊中除了批量匯總交易之外沒有其他任何東西,這是極不可能的。大多數區塊將包含各種交易,包括一些第 1 層交易,這些交易將花費超過 16 個氣體費用。此外,如果這些是 ZK-rollup 批次,則將不包括在鏈上驗證 SNARK 證明的成本,這大約是 500,000 gas。盡管如此,這為您提供了使用匯總的 TPS 的起點,5,000 遠不及 Visa 顯然擁有的 65,000 TPS ,但它比今天的 TPS 以太坊要好得多。
破碎的流動性
Rollup 技術是作為獨立項目創建的,而不是由以太坊協議本身創建的。因此,將會有幾種不同的匯總技術并行存在,這就是流動性斷裂的地方。隨著流動性從主鏈轉移到匯總,它會 “ 破壞 ” 不同匯總網絡的流動性。盡管一旦有跨匯總通信的機制就可以解決這個問題,一些聰明的工程師已經在研究這些機制!
降低可組合性
在以太坊上構建的主要好處之一是可組合性。在以太坊上構建的每個新協議都像樂高積木一樣,其他協議可以輕松地在其上構建。例如,這就是讓 DeFi 如此強大的原因。它讓我們創造了金錢樂高積木。當應用程序和流動性轉移到匯總時,我們會失去一些可組合性。畢竟,在匯總層和主鏈之間傳遞消息和事務并不像在基礎層的上下文中那樣容易。但解決這個問題可能只是時間問題。我當然可以看到一個存在于不同匯總上的智能合約仍然可以相互通信的世界。與往常一樣,我們離解決這些問題只有幾個聰明的工程師。
集權
我們忽略了討論誰實際負責將新批次發布到主鏈的部分,所以讓我們回到這個話題。大多數匯總依賴于 “ 定序器 ” 來完成這項工作:定序器是一個節點,它對交易進行批處理并將結果發布到鏈上的匯總合約。對于 Arbitrum、Optimism 和 StarkNet,sequencer 是它們自己運行的單個節點。
我知道。“ 去中心化 ” 是區塊鏈的核心,雖然效率很高,但顯然是非常中心化的,如果定序器出現故障或審查交易怎么辦?好吧,事情沒那么簡單。這些項目目前采用這條路線的原因是因為使用這種方法進行迭代更容易、更快捷。為了降低集中化的風險,隨著時間的推移,大多數匯總都希望對排序器進行某種去中心化——其中許多確實有這樣做的計劃。測序儀的去中心化將如何運作?有幾種方法。一方面,我們可以創建一個類似 Proof-of-Stake 的系統,在該系統中,測序人員必須質押代幣才能有機會提出下一批。或者我們可以進行 Delegated-Proof-of-Stake,其中一個排序器被選舉出來,如果它做得不好,可以不被選舉。總而言之,測序儀將如何去中心化還有待觀察!
呸。希望您對匯總有更好的理解——以及為什么以太坊將其押注(和分片!)作為可擴展性解決方案。當然,Rollups 坐在它之前的巨人的肩膀上——如果沒有側鏈、狀態通道和 Plasma,我們就不會擁有它。
使用去中心化、安全性和可擴展性的“三難”框架將匯總與其他第 2 層解決方案進行比較也是有益的。除了我將添加一個額外的維度:通用性。多年來,我們已經意識到第 2 層解決方案的通用性非常重要,這樣它就可以用來做任何可以在主鏈上做的事情。
這清楚地表明,Rollups 在不犧牲去中心化、安全性和通用性的情況下為我們提供了適度的可擴展性。?
然而,權衡是可擴展性。因為我們仍然在鏈上存儲數據,所以與在鏈下存儲數據的第 2 層擴展解決方案相比,我們的可擴展性受到限制。此外,在短期內,匯總依賴于集中式排序器,這降低了安全性。但這是一個短期問題,隨著時間的推移,rollup 很可能會分散排序器,使其成為優于 Plasma、側鏈和狀態通道的技術。
那么匯總是圣杯嗎?我會讓你決定。
PS..
為了簡潔起見,我省略了很多關于匯總如何工作的有趣細節。但我也遺漏了一個新的第 2 層擴展方案,稱為 “ Validium ”。
Validium 與 Plasma 的相似之處在于我們將數據和計算移至鏈下。關鍵區別在于 Validium 不依賴欺詐證明來驗證交易。相反,運營商需要使用零知識證明來做出新的狀態承諾,這使得操作員無法推進無效的狀態轉換。
它還消除了對 “ 大規模退出 ” 計劃或協議中長期退出延遲的需要。但是我們仍然獲得了 Plasma 鏈的無限可擴展性,因為我們沒有將交易數據存儲在鏈上。總之,值得一提,我鼓勵你閱讀它!
這篇文章比我預期的要長得多,如果您仍在閱讀,那么您就是我喜歡的類型。盡管篇幅較長,但這確實是您對匯總有基本了解所需了解的最低限度。畢竟,匯總只是以太坊可擴展性解決方案的一半。另一半是分片,如果您對構建 Web 3.0 應用程序感興趣,請注冊我們的下一個DappCamp隊列,在那里您將學習如何在以太坊上構建和部署安全的智能合約。
本文提供的信息僅用于一般指導和信息目的。本文的內容在任何情況下均不應被視為投資,業務,法律或稅務建議。對于根據本文做出的個人決定,我們不承擔任何責任,我們強烈建議您在采取任何行動之前進行自己的研究。盡管已盡最大努力確保此處提供的所有信息都是準確的和最新的,但可能會發生遺漏或錯誤。
文章作者:Preethi Kasireddy
文章翻譯:Block unicorn
我們一直在聊 NFT 技術和行業變化,每天都會有新的人物/品牌/企業入駐 NFT 行業。 知名電子科技博客 Engadget 上的高級編輯 Karissa Bell 在推特上表示:馬克·扎克伯格.
1900/1/1 0:00:00我記得在2021年12月的時候,我可以肯定整個游戲行業都在談論NFT的光明前景以及它們與游戲的整合.
1900/1/1 0:00:00為什么合并會在六月發生,其對 ETH 意味著什么? 離合并還有三個月 SuperPhiz 是 EthStaker 和 Rocketpool 社區的活躍成員.
1900/1/1 0:00:00比特幣的難度是衡量在比特幣區塊鏈上挖掘到區塊的難易程度。這是一個定制的評分系統,分值范圍是1到(理論上)無窮大(例如,比特幣的起始難度值為1,但在撰寫本文時,比特幣的難度值為27.55萬億).
1900/1/1 0:00:00Cointelegraph Research 的一份新報告分析了 GameFi 的 2021 年大豐收以及未來的發展趨勢.
1900/1/1 0:00:00本文由公眾號“老雅痞”laoyapicom授權轉載對于SOL,我們應該是既熟悉又陌生的。熟悉的點在于它的鏈上生態應用產品是除ETH之外最多的公鏈項目之一(當然也有SBF帶貨推薦的原因),且去年也.
1900/1/1 0:00:00