以太坊聯合創始人VitalikButerin在發布的《
Rollups不完全匯總指南》中指出,匯總是一種強大的新的二層擴容范例,在短期和中期的未來中,有望成為以太坊擴容的基石。不過,目前,Rollups存在用戶難以理解、生態系統不支持、交叉Rollup、Plasma以及Rollups間設計空間的探索、最大化預確認安全性、高效的ZK-VM等關鍵挑戰。
匯總在以太坊社區中風靡一時,并有望在可預見的未來成為以太坊的關鍵可擴展性解決方案。但是,這項技術究竟是什么?您能從中得到什么期望?您將如何使用它?這篇文章將嘗試回答其中一些關鍵問題。
背景:什么是Layer1和Layer2擴容?
擴展區塊鏈生態系統有兩種方法。首先,您可以使區塊鏈本身具有更高的交易能力。這種技術的主要挑戰在于,具有“更大區塊”的區塊鏈本來就更難以驗證,并且可能變得更加中心化。為了避免此類風險,開發人員可以提高客戶端軟件的效率,或者更可持續地使用分片之類的技術,以使構建和驗證鏈的工作分散在多個節點上。目前,被稱為“eth2”的工作正在為以太坊構建這種升級。
其次,您可以更改使用區塊鏈的方式。用戶不再將所有活動直接放在區塊鏈上,而是通過“二層”協議在鏈下執行大量活動。在鏈上有一個智能合約,該合約只有兩個任務:處理存款和提款,以及核實證明鏈下發生的所有事情都遵循合約規則。進行這些證明的方法有多種,但是它們都具有以下特性:在鏈上驗證證明比在鏈下進行原始計算便宜得多。
狀態通道vsPlasmavsRollups
Layer2擴容的三種主要類型是狀態通道,Plasma和匯總。它們是三種不同的范式,具有不同的優勢和劣勢,在這一點上,我們相當有信心所有Layer2擴容都大致可歸為這三類。
狀態通道如何運作?
另請參閱:https://www.jeffcoleman.ca/state-channels?和statechannels.org?
想象一下,愛麗絲正在向鮑勃提供網絡連接服務,而鮑勃向她每兆字節支付0.001美元。愛麗絲和鮑勃使用以下Layer2方案,而不是每次付款都進行交易。
首先,鮑勃將1美元放入智能合約中。為了向Alice支付第一筆款項,Bob簽署了一張“票”,上面寫著“$0.001”,然后將其發送給Alice。要進行第二次付款,Bob將在另一張票上寫上“$0.002”,并將其發送給Alice。依此類推,可以根據需要進行多次付款。當愛麗絲和鮑勃完成交易后,愛麗絲可以發布價值最高的票證,用她自己的另一個簽名包裹起來。智能合約將驗證Alice和Bob的簽名,向Alice支付鮑勃票上的金額,并將剩余的錢退還給Bob。如果Alice不愿意關閉通道,則Bob可以啟動撤回期限;如果Alice在這段時間內不提供“票”,那么Bob的錢將會全部返還。
V神發布Gitcoin資助報告 以太坊項目共籌集超72萬美元:剛剛,V神發推公布《Gitcoin資助第7輪回顧》報告。報告顯示,以太坊項目在Gitcoin資助第7輪籌集的資金出現大幅增長,籌集到捐款資金274,830美元,以及分配給857個項目的配對資金450,000美元。[2020/10/19]
該技術功能強大:可以對其進行調整,以處理雙向支付,智能合約關系和組成,Alice可以不信任地與Charile互動)。但是通道可以做什么將會受到限制。不能使用通道將資金從鏈下發送給尚未參與通道的人。通道不能用于表示沒有明確邏輯所有者的對象。而且通道,特別是如果用來做比簡單的定期付款更復雜的事情的通道,需要鎖定大量資金。
Plasma如何工作?
另請參閱:最初Plasma白皮書?和PlasmaCash?。
要存入資產,用戶需將資產發送到管理Plasma鏈的智能合約。Plasma鏈為該資產分配一個新的唯一ID。每個Plasma鏈都有一個操作者。每隔一個間隔,操作者都會生成一個“批次”,其中包括著他們已從鏈下收到的所有Plasma交易。他們生成一個Merkle樹,其中在樹中的每個索引X處都有一個轉移資產IDX的事務,否則這個Merkle樹的葉子為零。他們發布這個樹的Merkle根進行鏈接。他們還將每個索引X的Merkle分支發送給該資產的當前所有者。要提取資產,用戶需要發布最近一筆交易的Merkle分支,并將資產發送給他們。合約將開始一個質詢期,在此期間,任何人都可以通過證明發送方在發送資產時不擁有這個資產,或在以后的某個時間他們還將這些資產發送給了其他人,來嘗試使用其他Merkle分支機構使取款無效。如果在7天內沒有人證明這個提款是欺詐性的,則用戶可以完成提取資產。
Plasma提供比通道更強大的屬性:您可以將資產發送給從未參與系統的參與者,并且資本要求低得多。但這是有代價的:在“正常操作”期間,通道不需要任何數據就可以在鏈上進行傳輸,但是Plasma要求每條鏈定期發布一個哈希。此外,Plasma傳輸不是即時的:您必須等待時間間隔結束并等待區塊被發布。
此外,Plasma和通道共有一個共同的弱點:為什么它們安全的博弈論依賴于這樣的思想,即由兩個系統控制的每個對象都具有一定的邏輯“所有者”。如果該所有者不關心其資產,則可能導致涉及該資產的“無效”結果。這對于許多應用都沒關系,但是對于其他許多應用卻是一個破壞交易的因素。即使在無需所有者同意的情況下可以更改對象狀態的系統也不適用于Plasma。這一切都意味著在任何實際的Plasma或通道部署中都需要大量的“特定于應用的推理”,并且不可能制作僅模擬整個以太坊環境的Plasma或通道系統。為解決此問題,我們走向了Rollups。
V神:期待社區提案EIP 1559能減少巨額轉賬費用的出現:為了解決最近屢次出現的以太坊網絡巨額轉賬手續費問題,V神提出EIP 1559這種能減少手動輸入費用的提案可以減少此類情況發生。EIP 1559是一個社區提案,旨在通過網絡需求調整基本網絡費用從而改變當前收費模式。當前收費模式允許用戶發起交易后自主選擇費用,這會導致網絡繁忙時轉賬費用提高。據悉,EIP 1559是旨在改變以太坊費用市場的提議,主要的變動涉及:1.目前1000萬gas限額會被兩個數值所取代,一個是“長期平均目標”(1000萬),另一個是“每個區塊的硬上限”(2000萬);2.交易需要支付一個基礎費用(BASEFEE,它會被燃燒掉),該費用按區塊進行調整,目標是確定一個value值,使得區塊gas平均使用量保持在1000萬左右。(ethereumworldnews)[2020/6/12]
匯總
另請參閱:關于optimisticrollups?和ZKrollups?。
Plasma和通道是“完整”的二層方案,因為它們試圖將數據和計算都移到鏈下。但是,圍繞數據可用性的基本博弈論問題意味著,不可能對所有應用都安全地做到這一點。Plasma和通道通過依賴所有者的明確概念來解決此問題,但這會阻止它們走向完全普及。另一方面,匯總是“混合”二層方案。匯總將計算移到鏈下,但每個事務在鏈上保留一些數據。為了提高效率,他們使用了許多花哨的壓縮技巧來盡可能地用計算替換數據。結果是系統的可擴展性仍然受到基礎區塊鏈的數據帶寬的限制,但是但是以一個非常有利比率:以太坊基礎層ERC20代幣傳輸成本約為45000gas,而匯總中的ERC20代幣傳輸占用16個字節的鏈上空間,成本不到300gas。
數據屬于鏈上這一事實很關鍵。將數據放在鏈上并對此達成共識,任何人都可以根據需要在本地處理匯總中的所有操作,從而允許他們檢測欺詐,發起提款或親自開始生成交易批次。缺乏數據可用性問題意味著惡意或離線操作者能夠造成傷害更少,從而為有權發布批次的人員開放了更大的設計空間,并使匯總工作變得非常容易推理一下。最重要的是,缺乏數據可用性問題意味著不再需要將資產映射到所有者,這是導致以太坊社區對匯總感到比以前的二層擴展更令人興奮的關鍵原因:完全通用,甚至可以在匯總中運行EVM,從而使現有的以太坊應用幾乎無需編寫任何新代碼即可遷移到匯總。
好的,那么匯總如何工作?
鏈上有一個智能合約,它維護狀態根:匯總狀態的Merkle根。
V神:以太坊可能是將全球社會凝聚在一起的粘合劑:金色財經報道,以太坊創始人V神今日在Ethereal峰會談到了加密貨幣在冠狀病后的世界中的作用。V神稱,以太坊可能是將支離破碎的全球社會凝聚在一起的粘合劑。不過,他目前并未預測全球會有大量資金涌入加密貨幣市場。當被問及他是否認為當前的量化寬松和大型技術審查浪潮會吸引更多的人使用加密貨幣時,V神同意這些因素有一定的影響,但強調了現在和12年前的金融差異。他表示,關于審查、隱私和制度的擔憂都是非常真實的。Tor、Bittotorrent等確實存在著較早的對審查制度的抵制。到2020年,我們肯定會看到(與2008年)相同的一些主題,但在金融方面將較少。[2020/5/7]
任何人都可以發布批次,這是一種以高度壓縮形式的交易集合,包含了先前的狀態根和新的狀態根。合約檢查批處理中的先前狀態根是否與其當前狀態根相匹配;如果是這樣,它將狀態根切換到新的狀態根。
為了支持存款和提款,我們增加了使輸入或輸出處于匯總狀態“之外”的交易的功能。如果批次具有來自外部的輸入,則提交該批次的事務也需要將這些資產轉移到匯總合約中。如果某個批次有外部輸出,則在處理該批次時,智能合約會啟動這些提款。
就是這樣!除了一個主要細節:如何知道批次中的后狀態根是正確的?如果某人可以提交具有任何后狀態根的批次而沒有任何后果,那么他們可以將匯總中的所有幣轉移給自己。這個問題很關鍵,因為有兩個非常不同的解決方案系列,而這兩個解決方案系列促成了兩種風格的匯總。
OptimisticrollupsvsZKrollups
匯總的兩種類型是:
Optimisticrollups,使用欺詐證明:匯總合約會跟蹤其整個狀態根歷史以及每個批次的哈希。如果有人發現某個批次的后狀態根不正確,則可以向鏈上發布一個證明,以證明該批次的計算不正確。合約將驗證該證明,并還原該批次及其之后的所有批次。
ZKrollups,使用有效性證明:每個批次都包含一個稱為ZK-SNARK的加密證明,這證明后狀態根是執行批次的正確結果。無論計算量有多大,都可以在鏈上非常迅速地驗證證明。
聲音 | V神:DeFi應用程序是最簡單的 因而將獲得最多的用戶:以太坊聯合創始人V神(Vitalik Buterin)在科羅拉多州舉行的年度區塊鏈黑客馬拉松大會上表示,DeFi應用程序是最簡單的,隨著其不斷發展將,DeFi將獲得最多的用戶。V神對以太坊2.0啟動日期表示了樂觀,并補充說,他“認為在過去的幾個月里,ETH2.0的發布速度非常快,也很有規律”。然而,V神也注意到,雖然以太坊2.0正在測試和開發中,但新的擴展解決方案(如rollups)正在涌現,可以為以太坊的持續增長提供一些額外的空間。此外,他表示,以太坊可以在沒有他的情況下生存,因為他在社區中的大多數辯論中都是徒勞的,以太坊社區有能力解決這些問題。(The Block)[2020/2/17]
兩種匯總類型之間存在復雜的權衡:
總的來說,我個人認為,在短期內,對于通用EVM計算而言,OptimisticRollup可能會勝出,而對于簡單付款,交易和其他特定于應用的用例,ZKRollup可能會勝出。隨著ZK-SNARK技術的改進,在中長期而言,ZKRollup將在所有用例中勝出。
剖析何為欺詐證明
OptimisticRollup的安全性取決于以下想法:如果有人將無效的批次發布到匯總中,則任何檢測到欺詐的人都可以發布欺詐證明,以向合約證明該批次無效并應該還原。
聲稱某批次無效的欺詐證明將包含上圖中綠色部分數據:該批次本身以及Merkle樹的各個部分,它們僅需要證明已讀取和//或按批次修改的特定的帳戶即可。可以從綠色的節點中重建黃色的樹中節點,因此無需提供。此數據足以執行批處理并計算后狀態根。如果批次中計算出的后狀態根與提供的后狀態根不同,則說明該批次是欺詐性的。
可以保證,如果一個批次的構造不正確,并且所有先前的批次都正確構造,則可以創建一個欺詐證明,證明該批次的構造不正確。請注意有關先前批次的聲明:如果有多個無效批次發布到匯總中,那么最好嘗試證明最早的無效批次。當然,還可以保證,如果正確構造了一個批次,則永遠不可能創建表明該批次無效的欺詐證明。
壓縮如何實現?
聲音 | V神:現專注于POS和分片機制的研究上:近日V神在接受采訪時表示,他最近花大量精力在權益證明(POS)和分片機制的研究上。以太坊的研究機構現在在這兩方面投入了最多的資源。POS和分片機制都很重要,過去幾個月已突破進展。同時,他也在從經濟分析的角度研究交易費用,意在通過改良交易費用算法來降低交易費用、使協議對準中心更好、更有效。[2018/8/19]
一個簡單的以太坊交易需要約110個字節。但是,匯總上的ETH傳輸僅占用?12個字節:
其中一部分只是簡單的高級編碼:以太坊的RLP在每個值的長度上每個值浪費1個字節。但是,還有一些非常聰明的壓縮技巧正在進行:
Nonce:該參數的目的是防止重放。如果帳戶的當前隨機數為5,則該帳戶的下一個交易記錄必須帶有5隨機數,但是一旦處理了該交易,該帳戶中的隨機數將增加為6,因此無法再次處理該交易。在匯總中,我們可以完全省略隨機數,因為我們只是從預狀態中恢復了隨機數。如果有人嘗試使用較早的隨機數重播事務,則簽名將無法驗證,因為將根據包含新的較高隨機數的數據檢查簽名。
Gasprice:我們可以允許用戶以固定價格范圍的gas價格進行支付,例如選擇2的16次連續冪。或者,我們可以將每個批次的費用定為固定水平,或者甚至將gas付款完全移到匯總協議之外,并讓交易者向批次創建者支付費用以通過通道將其包括在內。
gas:我們可以類似地將總gas選擇為2的連續次冪。另外,我們也可以只在批次級別設置gas限制。
To:我們可以用一個index替換這個20字節地址。
Value:我們可以用科學記數法存儲value。在大多數情況下,轉帳只需要1-3個有效數字。
Signature:我們可以使用BLS聚合簽名,該簽名允許將許多簽名聚合為單個?32-96字節的簽名。然后可以一次檢查整個簽名和發件人的簽名集。該表中的?0.5表示一個事實,即一個匯總中可以包含多少個簽名是有限制的,這僅僅是因為有必要在單個欺詐證明中驗證簽名。
ZK匯總特有的一個重要壓縮技巧是,如果事務的一部分僅用于驗證,而與計算狀態更新無關,則可以將該部分留在鏈下。OptimisticRollup中卻不能這么做,因為如果以后需要在欺詐證明中檢查數據,則仍需要將數據包含在鏈上,而在ZKRollup中,SNARK證明批次的正確性已經證明了任何數據提供了驗證所需的信息。一個重要的例子是隱私保護匯總:在OptimisticRollup中,每筆交易中用于隱私的ZK-SNARK需要上鏈,而在ZKRollup中,覆蓋整個批次的ZK-SNARK已經毫無疑問地證明了這個“內部”ZK-SNARK是有效的。
這些壓縮技巧是匯總的可擴展性的關鍵。沒有它們,匯總可能只會使基礎鏈的擴展能力提高約10倍,而采用壓縮技巧時,對于幾乎所有應用,擴展系數幾乎可以超過100倍。
誰可以提交一個批次?
有很多學派可以在OptimisticRollup或ZKRollup中提交批次。通常,一般認為,要能夠提交批次,用戶必須存入一筆大筆存款。如果該用戶曾經提交過欺詐性批次,則該存款將被部分銷毀,并作為對欺詐證明者的獎勵。除此之外,還有許多可能性:
完全無政府狀態:任何人都可以隨時提交批次。這是最簡單的方法,但是有一些重要的缺點。特別地,存在一個風險,即多個參與者將生成并嘗試同時提交批次,并且這些批次中只有一個可以被成功地包括在內。這導致在生成證明中浪費大佬工作,或在向鏈上發布批次時浪費gas費用。
中心化Sequencer:只有一個角色,即sequencer,可以提交批次。這是最“有效”的方法,但它依賴于中心角色的活躍性。
Sequencer拍賣:舉行拍賣,以確定誰有權在第二天成為Sequencer。該技術的優點在于它籌集了可以由例如Rollup控制的DAO分配的資金。
從PoS集中隨機選擇:任何人都可以將ETH存入到匯總合約中,并且從一批存放者中隨機選擇每一批次的Sequencer,被選擇的概率與存入代幣數量成正比。該技術的主要缺點是導致大量不必要的資本鎖定。
DPoS投票:在拍賣中選擇了一個Sequencer,但是如果它們的表現不佳,代幣持有者可以投票將其踢出并進行新的拍賣來替換它們。
拆分批次和狀態根供應
當前正在開發的一些匯總使用“拆分批次”范例,其中提交一批二層事務的動作和提交狀態根的動作是分別完成的。這具有一些關鍵優勢:
您可以允許許多Sequencer同時發布批次,以提高抗審查能力,而不必擔心某些批次將是無效的,因為其他批處理已首先被包含在內。
如果狀態根是欺詐性的,則無需還原整個批次。您可以只還原狀態根,然后等待某人為同一批次提供新的狀態根。這為交易發送者提供了更好的保證,即他們的交易將不會被還原。
因此,總而言之,有一個相當復雜的技術生態正在嘗試在涉及效率,簡單性,抗審查性和其他目標的復雜權衡之間取得平衡。現在說這些想法的最佳組合還為時過早。時間會證明一切。
匯總會給您帶來多少擴展?
在現有的以太坊鏈上,gas限制為1,250萬,交易中每個字節的數據花費16gas。這意味著,如果一個區塊只包含一個批次,則該批次可以擁有=750,000字節的數據。如上所示,ETH傳輸的匯總每個用戶操作僅需要12個字節,這意味著該批處理最多可包含62,500個事務。在平均13秒鐘的區塊時間上,這相當于?4807TPS。
這是其他一些示例用例的圖表:
按照/*1200萬/1250萬計算的可實現最大擴展性。
現在,值得注意的是,由于某些原因,這些數字過于樂觀。最重要的是,一個區塊幾乎永遠不會只包含一個批次,至少是因為有并且將會有多個匯總。第二,存款和取款將繼續存在。第三,短期內使用率較低,因此固定成本將占主導地位。但是,即使考慮到這些因素,仍有望實現超過100倍的擴展性。
現在,如果我們想超過?1000-4000TPS怎么辦?這里是eth2數據分片的來源。分片提議每12秒開放一個16MB的空間,可以填充任何數據,并且該系統保證就該數據的可用性達成共識。匯總可以使用此數據空間。每秒約1398KB是現有以太坊鏈的每秒約60KB的23倍,并且從長遠來看,數據容量有望進一步增長。因此,使用eth2分片數據的匯總可以共同處理多達10萬個TPS,將來甚至還會更多。
Rollup中有哪些尚未解決的挑戰?
Rollup的基本概念現在已得到很好的理解,我們可以肯定它們在根本上是可行且安全的,并且已經將多個rollup部署到了主網上,但仍有很多rollup設計領域尚未得到很好的探索,為了充分利用以太坊的可擴展性,將以太坊生態系統的大部分完全整合到rollup中會遇到很多挑戰。一些關鍵挑戰包括:
用戶和生態系統擴大——-很少有應用使用Rollup,用戶不熟悉Rollup,并且很少有錢包開始集成Rollup。商家和慈善機構尚未接受其付款。
交叉Rollup事務——將資產和數據從一個Rollup有效地移動到另一Rollup中,而不會花費通過基礎層的費用。
審計激勵——如何最大程度地提高至少一個誠實節點實際上將完全驗證OptimisticRollup的機會,以便在出現問題時發布欺詐證明?對于小規模Rollup,這不是一個重要的問題,可以簡單地依靠利他主義,但是對于大型匯總,則需要對此進行更明確的推理。
探索Plasma和Rollup之間的設計空間——是否有將某些狀態更新相關數據放到鏈上的技術,但不是全部數據,還有什么有用的方法可以用呢?
最大化預確認的安全性——許多Rollup提供了“預確認”的概念以實現更快的UX,其中sequencer立即提供一個承諾,即下一個批次中將包含一個事務,如果Sequencer食言,則其存款會被摧毀。但是該方案的經濟安全性受到限制,因為它可能同時對許多參與者做出許諾。這種機制可以改善嗎?
提高對不存在的Sequencer的響應速度——如果Rollup的Sequencer突然掉線,則以最大的速度和成本從該狀況中快速恢復是很有價值的,既可以快速廉價地批量退出到另一個Rollup,也可以替換這個Sequencer。
高效的ZK-VM——生成ZK-SNARK證明,證明通用EVM代碼已正確執行,并具有給定的結果。
結論
匯總是一種強大的新的二層擴容范例,在短期和中期的未來中,有望成為以太坊擴容的基石。他們看到了以太坊社區的極大熱情,因為與以前嘗試進行二層層擴展不同,Rollup可以支持通用EVM代碼,從而允許現有應用輕松遷移。他們通過做出一個關鍵的妥協來做到這一點:不嘗試完全轉向鏈下,而是在鏈上每個事務中保留少量數據。
匯總有很多種,在設計空間中有很多選擇:使用欺詐證明的OptimisticRollup,還有使用有效性證明的ZKRollup。Sequencer可以是中心化執行者,也可以是所有人都可以擔任的,也可以是兩者之間的許多其他選擇。匯總仍是一項早期技術,并且開發仍在繼續快速發展,但匯總功能已經可以正常工作,并且其中一些已經運行了幾個月。希望在未來的幾年中,會有更多激動人心的工作出現在匯總空間中。
1月2日晚8點20左右,比特幣日內漲幅超過5%,并且成功突破3萬美元,單枚幣價接近20萬人民幣。截至發稿,其價格在定格30600美元.
1900/1/1 0:00:00周五加密交易所Bittrex宣布將于2020年1月15日23時下架Monero、ZCash和Dash三種隱私幣.
1900/1/1 0:00:00最近幾周,加密世界一直在關注一個話題:比特幣的價格。在比特幣在12月16日已經能夠擺脫其之前的歷史高點之后,流行的加密貨幣的價格正在不斷上漲.
1900/1/1 0:00:00注:原文作者是以太坊聯合創始人VitalikButerin,在這篇文章中,Vitalik首先提到了傳統加密貨幣錢包存在的安全問題.
1900/1/1 0:00:00近日,中國人民大學財政金融學院黨委副書記、國際貨幣研究所副所長宋科在CMF宏觀經濟熱點問題研討會上發布了CMF中國宏觀經濟專題報告.
1900/1/1 0:00:00前言 2020年我們見證了太多歷史,同時我們也感受到太多的不確定性,而不確定性正是焦慮的來源之一.
1900/1/1 0:00:00