以太坊聯合創始人VitalikButerin在發布的《Rollups不完全匯總指南》中指出,匯總是一種強大的新的二層擴容范例,在短期和中期的未來中,有望成為以太坊擴容的基石。不過,目前,Rollups存在用戶難以理解、生態系統不支持、交叉Rollup、Plasma以及Rollups間設計空間的探索、最大化預確認安全性、高效的ZK-VM等關鍵挑戰。匯總在以太坊社區中風靡一時,并有望在可預見的未來成為以太坊的關鍵可擴展性解決方案。但是,這項技術究竟是什么?您能從中得到什么期望?您將如何使用它?這篇文章將嘗試回答其中一些關鍵問題。
背景:什么是Layer1和Layer2擴容?
擴展區塊鏈生態系統有兩種方法。首先,您可以使區塊鏈本身具有更高的交易能力。這種技術的主要挑戰在于,具有“更大區塊”的區塊鏈本來就更難以驗證,并且可能變得更加中心化。為了避免此類風險,開發人員可以提高客戶端軟件的效率,或者更可持續地使用分片之類的技術,以使構建和驗證鏈的工作分散在多個節點上。目前,被稱為“eth2”的工作正在為以太坊構建這種升級。
其次,您可以更改使用區塊鏈的方式。用戶不再將所有活動直接放在區塊鏈上,而是通過“二層”協議在鏈下執行大量活動。在鏈上有一個智能合約,該合約只有兩個任務:處理存款和提款,以及核實證明鏈下發生的所有事情都遵循合約規則。進行這些證明的方法有多種,但是它們都具有以下特性:在鏈上驗證證明比在鏈下進行原始計算便宜得多。
狀態通道vsPlasmavs?Rollups
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神:分布式存儲擴展能力是有限的:DFINITY創始人兼首席科學家Dominic Williams在推特上和以太坊創始人Vitalik進行互動,他表示:我一直被告知,Filecoin/IPFS可以擴展智能合約,因為它可以存儲數據。但是必須將Merkelized數據傳遞會參數(昂貴)當中,這是一個不同的信任區,想法糟透了。
對此,以太坊創始人Vitalik回復道:是的,我同意。很多人似乎認為分布式存儲對于區塊鏈擴展具有神奇的功能,但實際上它能夠做的就是允許每個人成為無狀態客戶端。這會稍微提升區塊鏈擴展能力,但是不會產生那么大的效果。你依然需要去驗證它。[2020/11/25 22:02:38]
該技術功能強大:可以對其進行調整,以處理雙向支付,智能合約關系和組成,Alice可以不信任地與Charile互動)。但是通道可以做什么將會受到限制。不能使用通道將資金從鏈下發送給尚未參與通道的人。通道不能用于表示沒有明確邏輯所有者的對象。而且通道,特別是如果用來做比簡單的定期付款更復雜的事情的通道,需要鎖定大量資金。
Plasma如何工作?
另請參閱:最初Plasma白皮書?和PlasmaCash?。
要存入資產,用戶需將資產發送到管理Plasma鏈的智能合約。Plasma鏈為該資產分配一個新的唯一ID。每個Plasma鏈都有一個操作者。每隔一個間隔,操作者都會生成一個“批次”,其中包括著他們已從鏈下收到的所有Plasma交易。他們生成一個Merkle樹,其中在樹中的每個索引X處都有一個轉移資產IDX的事務,否則這個Merkle樹的葉子為零。他們發布這個樹的Merkle根進行鏈接。他們還將每個索引X的Merkle分支發送給該資產的當前所有者。要提取資產,用戶需要發布最近一筆交易的Merkle分支,并將資產發送給他們。合約將開始一個質詢期,在此期間,任何人都可以通過證明發送方在發送資產時不擁有這個資產,或在以后的某個時間他們還將這些資產發送給了其他人,來嘗試使用其他Merkle分支機構使取款無效。如果在7天內沒有人證明這個提款是欺詐性的,則用戶可以完成提取資產。
Plasma提供比通道更強大的屬性:您可以將資產發送給從未參與系統的參與者,并且資本要求低得多。但這是有代價的:在“正常操作”期間,通道不需要任何數據就可以在鏈上進行傳輸,但是Plasma要求每條鏈定期發布一個哈希。此外,Plasma傳輸不是即時的:您必須等待時間間隔結束并等待區塊被發布。
聲音 | V神:BCH升級并沒有提供更多的免費資金:金色財經報道,比特幣無限首席科學家Peter R Rizun推特轉發了“BCH將實施基礎設施融資計劃,礦工捐贈比例改為5%”的消息,剛剛V神對此評論道:我最簡單的建議就是用代幣投票來確定白名單。它并不完美,但這種兩院制體系結構本身就可以減輕持有者或礦工驅動的治理的風險。升級并沒有提供更多的免費資金,而是將現有免費資金的5%重新分配給了礦工。不要給我‘礦工為它努力工作’的理由,好像開發者不這樣做。[2020/2/17]
此外,Plasma和通道共有一個共同的弱點:為什么它們安全的博弈論依賴于這樣的思想,即由兩個系統控制的每個對象都具有一定的邏輯“所有者”。如果該所有者不關心其資產,則可能導致涉及該資產的“無效”結果。這對于許多應用都沒關系,但是對于其他許多應用卻是一個破壞交易的因素。即使在無需所有者同意的情況下可以更改對象狀態的系統也不適用于Plasma。這一切都意味著在任何實際的Plasma或通道部署中都需要大量的“特定于應用的推理”,并且不可能制作僅模擬整個以太坊環境的Plasma或通道系統。為解決此問題,我們走向了Rollups。
匯總
另請參閱:關于optimisticrollups?和ZKrollups?。
Plasma和通道是“完整”的二層方案,因為它們試圖將數據和計算都移到鏈下。但是,圍繞數據可用性的基本博弈論問題意味著,不可能對所有應用都安全地做到這一點。Plasma和通道通過依賴所有者的明確概念來解決此問題,但這會阻止它們走向完全普及。另一方面,匯總是“混合”二層方案。匯總將計算移到鏈下,但每個事務在鏈上保留一些數據。為了提高效率,他們使用了許多花哨的壓縮技巧來盡可能地用計算替換數據。結果是系統的可擴展性仍然受到基礎區塊鏈的數據帶寬的限制,但是但是以一個非常有利比率:以太坊基礎層ERC20代幣傳輸成本約為45000gas,而匯總中的ERC20代幣傳輸占用16個字節的鏈上空間,成本不到300gas。
數據屬于鏈上這一事實很關鍵。將數據放在鏈上并對此達成共識,任何人都可以根據需要在本地處理匯總中的所有操作,從而允許他們檢測欺詐,發起提款或親自開始生成交易批次。缺乏數據可用性問題意味著惡意或離線操作者能夠造成傷害更少,從而為有權發布批次的人員開放了更大的設計空間,并使匯總工作變得非常容易推理一下。最重要的是,缺乏數據可用性問題意味著不再需要將資產映射到所有者,這是導致以太坊社區對匯總感到比以前的二層擴展更令人興奮的關鍵原因:完全通用,甚至可以在匯總中運行EVM,從而使現有的以太坊應用幾乎無需編寫任何新代碼即可遷移到匯總。
動態 | V神發布關于“跨分片交易”的新建議:10月29日,以太坊聯合創始人Vitalik Buterin發表了一份關于“在以太坊網絡上實現跨分片事務”提案。根據文章,第二階段的主要要求之一是能夠在分片之間快速移動ETH。V神補充說,雖然通過接收機制通常可以實現跨分片事務,但是跨分片ETH需要更多的協議活動。[2019/10/30]
好的,那么匯總如何工作?
鏈上有一個智能合約,它維護狀態根:匯總狀態的Merkle根。
任何人都可以發布批次,這是一種以高度壓縮形式的交易集合,包含了先前的狀態根和新的狀態根。合約檢查批處理中的先前狀態根是否與其當前狀態根相匹配;如果是這樣,它將狀態根切換到新的狀態根。
為了支持存款和提款,我們增加了使輸入或輸出處于匯總狀態“之外”的交易的功能。如果批次具有來自外部的輸入,則提交該批次的事務也需要將這些資產轉移到匯總合約中。如果某個批次有外部輸出,則在處理該批次時,智能合約會啟動這些提款。
就是這樣!除了一個主要細節:如何知道批次中的后狀態根是正確的?如果某人可以提交具有任何后狀態根的批次而沒有任何后果,那么他們可以將匯總中的所有幣轉移給自己。這個問題很關鍵,因為有兩個非常不同的解決方案系列,而這兩個解決方案系列促成了兩種風格的匯總。
Optimisticrollupsvs?ZKrollups
匯總的兩種類型是:
Optimisticrollups,使用欺詐證明:匯總合約會跟蹤其整個狀態根歷史以及每個批次的哈希。如果有人發現某個批次的后狀態根不正確,則可以向鏈上發布一個證明,以證明該批次的計算不正確。合約將驗證該證明,并還原該批次及其之后的所有批次。
ZKrollups,使用有效性證明:每個批次都包含一個稱為ZK-SNARK的加密證明,這證明后狀態根是執行批次的正確結果。無論計算量有多大,都可以在鏈上非常迅速地驗證證明。
兩種匯總類型之間存在復雜的權衡:
總的來說,我個人認為,在短期內,對于通用EVM計算而言,OptimisticRollup可能會勝出,而對于簡單付款,交易和其他特定于應用的用例,ZKRollup可能會勝出。隨著ZK-SNARK技術的改進,在中長期而言,ZKRollup將在所有用例中勝出。
BM回懟V神:加密經濟治理的局限性:Vitalik最近聲稱委托權益證明(DPOS)導致財閥統治(由富人統治的政府)。然后,他繼續主張通過加密經濟學進行治理,即使用經濟激勵和密碼學來治理。BM則認為,他和Vitalik都試圖解決人類治理中一些非常具有挑戰性的問題。我選擇承認某些關于客觀證據范圍的現實情況,并接受現實,即每個社區都可能有自己的“正確與錯誤”的定義,只能通過對社區成員的主觀意見進行投票來衡量。真正的目標是降低創建新社區的準入門檻,并允許自由市場競爭來獎勵最有效的社區和懲罰最腐敗的社區。BM想參與的社區將驅逐那些只想著租賃的投票買家;并獎勵那些利用選舉出來的廣播權為所有社區成員帶來利益的人,獎勵的那些人不是為了給特殊的利益群體(如投票賣家)帶來利益。這樣一個社區在選擇投票買家的市場競爭中會更有競爭力。[2018/3/31]
剖析何為欺詐證明
OptimisticRollup的安全性取決于以下想法:如果有人將無效的批次發布到匯總中,則任何檢測到欺詐的人都可以發布欺詐證明,以向合約證明該批次無效并應該還原。
聲稱某批次無效的欺詐證明將包含上圖中綠色部分數據:該批次本身以及Merkle樹的各個部分,它們僅需要證明已讀取和//或按批次修改的特定的帳戶即可。可以從綠色的節點中重建黃色的樹中節點,因此無需提供。此數據足以執行批處理并計算后狀態根。如果批次中計算出的后狀態根與提供的后狀態根不同,則說明該批次是欺詐性的。
可以保證,如果一個批次的構造不正確,并且所有先前的批次都正確構造,則可以創建一個欺詐證明,證明該批次的構造不正確。請注意有關先前批次的聲明:如果有多個無效批次發布到匯總中,那么最好嘗試證明最早的無效批次。當然,還可以保證,如果正確構造了一個批次,則永遠不可能創建表明該批次無效的欺詐證明。
壓縮如何實現?
一個簡單的以太坊交易需要約110個字節。但是,匯總上的ETH傳輸僅占用?12個字節:
其中一部分只是簡單的高級編碼:以太坊的RLP在每個值的長度上每個值浪費1個字節。但是,還有一些非常聰明的壓縮技巧正在進行:
Nonce:該參數的目的是防止重放。如果帳戶的當前隨機數為5,則該帳戶的下一個交易記錄必須帶有5隨機數,但是一旦處理了該交易,該帳戶中的隨機數將增加為6,因此無法再次處理該交易。在匯總中,我們可以完全省略隨機數,因為我們只是從預狀態中恢復了隨機數。如果有人嘗試使用較早的隨機數重播事務,則簽名將無法驗證,因為將根據包含新的較高隨機數的數據檢查簽名。
以太坊創始人V神:以太坊的治理模式并非有缺陷,只是溝通不暢:一月份以太坊改進方案EIP 867公布后,開發人員展開了激烈的討論。周五,以太坊創始人Vitalik Buterin在開發者會議上表示,他個人認為,以太坊的治理模式并非有缺陷,只是溝通不暢。根據V神的說法,例如有爭議的EIP 867,在與平臺的實時代碼合并之前所經歷的流程建議不明確。以太坊Mist瀏覽器的開發者Alex van de Sande提出了另一項提供拒絕資金回收標準的提案,該提案向社區表明,社區成員可以提出有爭議的提案,一個標準參與另一個標準,兩者都可以批準為草案。V神表示贊同這是更聰明的一種方式。[2018/2/24]
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可以是中心化執行者,也可以是所有人都可以擔任的,也可以是兩者之間的許多其他選擇。匯總仍是一項早期技術,并且開發仍在繼續快速發展,但匯總功能已經可以正常工作,并且其中一些已經運行了幾個月。希望在未來的幾年中,會有更多激動人心的工作出現在匯總空間中。
2021年1月7日,中國通信工業協會區塊鏈專委會輪值主席、火幣大學校長于佳寧跨年演講--?“乘風而上”在杭州大劇院和大家見面了.
1900/1/1 0:00:00每次行情都來的很晚,昨天的行情白天雖然提前爆發了一波,晚上更加火爆啊,不過總算沒有遺憾,成功達到預估目標,我們堅持看多的思路沒有錯,不要一下子回踩把你搞蒙圈了,心態要擺正.
1900/1/1 0:00:00鏈聞消息,據Coindesk報道,數字資產托管商BitGo在Tron區塊鏈上推出WrappedBitcoin和WrappedEther.
1900/1/1 0:00:00尊敬的ZT用戶: 雙重壕禮瓜分26萬枚IPFST雙重壕禮活動已結束。活動獎勵已于1月6日發放至用戶ZT賬戶中,用戶可登陸自己ZT賬戶,在資產中查看是否已到賬。未達到活動要求的用戶則不予發放獎勵.
1900/1/1 0:00:00親愛的用戶: 紅米交易所將于1月7日18:00上線ZEN/USDT聚合交易對。由于為聚合交易幣對,所以暫時不開放充幣和提幣,充幣和提幣開放時間之后將會以公告另行通知.
1900/1/1 0:00:00目前以太坊Layer1上的DEX的交易體驗不夠好,首先是交易費用很貴,其次交易等待時間過長,最后是有些代幣的交易滑點過高。其中前兩個問題的根源在于Layer1自身的可擴展性問題.
1900/1/1 0:00:00