原文標題:Vitalik:Rollups不完全指南
Rollups解決方案在以太坊社區中正風靡一時,并有望在將來成為以太坊的關鍵擴容解決方案。但是這項技術究竟是怎樣的呢?它能給我們帶來什么?我們將如何使用這項技術呢?本文將盡量回答其中一些關鍵問題。
背景:何為一層、二層擴容?
區塊鏈擴容方式有兩種。第一種,可以提高區塊鏈本身的交易容量。這種技術的主要挑戰就是:當區塊容量越來越大時,區塊鏈將越來越難驗證,且中心化程度越來越高。為了避免此類風險,開發者可以提高客戶端軟件的效率。或者選擇另一種更為可持續的方式:利用諸如分片這類技術,使得區塊鏈上的構建區塊和驗證工作可以分散至許多節點(Eth2升級中就會將此技術引入以太坊)。
第二種,可以改變使用區塊鏈的方式。即用戶不是將所有交易都直接在區塊鏈上進行,而是通過二層協議在鏈下執行大部分交易。好比鏈上有一個智能合約,該合約只有兩個任務:處理存款和提款交易、以及驗證所有鏈下交易的有效性。對鏈下交易進行驗證的方法有多種,但他們都具有同一個特性:在鏈上驗證證明比在鏈下進行原始計算的成本要低得多。
狀態通道vsPlasmavsRollups
二層擴容方案的三種主要類型是:狀態通道、Plasma和rollups。他們是三種不同的范式,具有不同的優劣勢。我們可以把所有二層擴容解決方案大致地歸為這三類(盡管有的方案因分類模糊而存在命名爭議,如validium)。
狀態通道的原理
更多資料請參考:
https://www.jeffcoleman.ca/state-channelsandstatechannels.org
假設Alice正給Bob提供互聯網連接,作為交換,Bob每兆字節向她支付0.001美元。他們不需要每一次支付都執行交易,而是使用下面的二層解決方案。
首先,Bob向一個智能合約中存入1美元(或等值的ETH或穩定幣)。Bob在一張寫著“0.001美元”的票上進行簽名(一條鏈下信息),然后發給Alice,這樣就完成了對Alice的第一筆支付。而第二次支付時,Bob在另一張寫著“0.002美元”的票上進行簽名,然后發給Alice。以此類推,可以根據需要進行多次付款。當他們完成交易了,Alice可以將數值最高的票單發布到鏈上,并對其進行簽名。鏈上的智能合約將驗證Alice和Bob的簽名,然后向Alice支付Bob票據上的金額,并將剩余的錢退還給Bob。
如果Alice不愿意關閉他們之間的狀態通道(出于惡意行為或由于技術故障),則Bob可以啟動提款期(withdrawalperiod),如果Alice在這段期間內(比如7天)還是沒有向Bob提供票據,那么Bob就可以拿回他的所有錢。
該技術功能強大:可以對其進行調整,以進行雙向支付、處理智能合約關系(如,Alice和Bob在通道中簽訂金融合約)、以及對通道進行組合(比如,當Alice和Bob、Bob和Charlie之間有一條開放通道時,Alice和Charlie也可以進行去信任交易)。
V神發文探討代幣投票治理利弊,并提出替代解決方案:V神發文稱,去中心化治理是必要的,但目前形式的代幣投票治理存在許多公認和未公認的危險,因此擴大或超越代幣投票是解決方案的關鍵部分。關于代幣投票,V神稱主要擔心兩種類型的問題:1.不平等和激勵失調(即使在沒有攻擊者的情況下);2.通過各種形式的(通常是模糊的)買票形成直接攻擊。第一種問題具體包括:
- 小群體的富有參與者(鯨魚)比大群體的小型持有者更善于成功地執行決策;
- 代幣投票治理以犧牲社區的其他部分為代價,賦予持有者和權力和利益;
- 利益沖突問題。
V神就此給出以下解決方案:
解決方案1:有限治理
- 僅對應用程序使用鏈上治理,而不是基礎層;
- 將治理限制為固定的參數選擇;
- 添加時間延遲;
- 對于分叉更加友好。
解決方案2:非代幣驅動的治理
- 人格證明系統:該系統可驗證帳戶對應于唯一個人,因此治理可以分配給每人一票。可以還可查看正在開發的一些技術,ProofOfHumanity和BrightID是實現這一功能的兩種嘗試。
- 參與證明系統:該系統可證明帳戶對應于參與過某事件、通過了某些教育培訓或在生態系統中執行過一些有用工作的人。
解決方案3:風險共擔
通過改變投票規則來打破公地悲劇。代幣投票失敗的原因是,雖然選民需要對他們的決定承擔集體責任,但每個選民并不需要單獨承擔責任。所以V神提議創造一種投票系統來改變這種動態,讓選民們獨立而不是集體地為他們的決定負責。
其他方案:各種混合形式的futarchy治理、時間延遲加上選舉專家治理、松耦合(咨詢)代幣投票等。
V神總結道,目前的代幣投票形式是“safe defaults”,在更大的經濟壓力、更成熟的生態系統和金融市場條件下,它們的功能仍有很多有待觀察的地方,現在是開始同時試驗替代方案的時候了。[2021/8/16 22:17:20]
但狀態通道的作用是有限的:無法將資金在鏈外發送給沒有參與進來的用戶;通道不能代表那些邏輯上沒有明確所有者的對象(如Uniswap);并且如果要進行更為復雜的交易,需要在通道內鎖定大量資金。
Plasma的原理
更多資料請參考?
最早的Plasma論文:
http://plasma.io/plasma-deprecated.pdf
PlasmaCash:
https://ethresear.ch/t/plasma-cash-plasma-with-much-less-per-user-data-checking/1298
用戶向某個Plasma鏈的智能合約中發送一筆資產以完成存款。Plasma鏈給該資產分配一個唯一的ID(如537)。每條Plasma鏈都有一名運營者“operator”(他可以是一個中心化的角色、一個多簽名者、或諸如PoS/DPoS此類更為復雜的東西)。每隔一段時間(可以是15秒至1小時),運營者便會生成一個等待批量處理的匯總交易(由他們在鏈下收集到的所有Plasma交易組成)。
V神發布倫敦升級后鏈容量增加約9%的三個原因:V神(Vitalik Buterin)發文《鏈容量為什么在倫敦升級之后增加了約9%?》。V神表示有3個原因:
1. 冰河時代延遲
當倫敦分叉開始時,冰河時代才剛剛開始生效。倫敦之前的平均區塊時間約為13.5秒,倫敦之后的平均區塊時間回落到其長期正常水平約13.1秒。這是區塊速度約3%的差異,這解釋了鏈上gas使用量增加9%中的3%。
2. 目標值1500萬與最大1500萬
在倫敦升級之前,區塊最低gas使用量為1500萬,并非所有區塊都使用了整個1500萬,即使是功能最完善的區塊生產者也會留下0-20999未使用的gas,因為剩余空間太少,無法容納單筆交易,除此之外,總會有偶爾的區塊生產者制造空塊。4月份的一項分析表明,大約2%的區塊是空的。假設在倫敦之前有大約2-3%的未使用空間。然而,在倫敦之后,1500萬不是最大值,而是目標值。這意味著,如果使用的平均gas(包括空塊)低于1500萬,則基本費用將減少,直到平均值回到1500萬。所以這又占了大約2-3%。
3. basefee調整中的數學缺陷
EIP1559公式在目標為50%時并不完美。從最近觀察到的時間跨度中獲取數據,51.5%是完整區塊(full block)(因此,比預期的50%高約3%)。[2021/8/15 22:15:37]
這些運營者會生成一個默克爾樹,樹中每個索引X處,如有存在交易的話,會顯示某筆轉移交易資產IDX,如果沒有交易,葉子值為零。隨后他們將該默克爾樹的默克爾根發送到鏈上,同時還會將每個索引X的默克爾分支發送給其資產的當前所有者。
如果用戶想要進行提款,那么就要公布其最近向其發送資產的交易的默克爾分支。然后智能合約就將啟動挑戰期,在此期間,任何人都可以嘗試使用其他默克爾分支來證明該提款無效。需要至少證明其中一項:(i)發送方在發送資產時并不是該資產的所有者;(ii)發送方在后來將資產發給了其他人。如果在某個時間段內(如七天)沒有人證明該提款是欺詐性的,用戶便可以取出他的資產。
Plasma比狀態通道擁有更加強大的性能:使用Plasma,用戶可以將資產發送給從未加入其系統的參與者;對資本的要求也低許多。但Plasma也是有缺點的:在“正常操作”期間,通道不需要任何數據就可以在鏈上進行傳輸,而Plasma要求每條鏈定期發布一個哈希。此外,在Plasma上轉賬不是即時的:用戶需要等一段時間并且等到區塊被發布之后。
再者,Plasma和通道都有一個關鍵弱點:確保這兩種方案安全的前提是,這兩種系統所控制的對象都有邏輯上的“所有者”。如果該資產的所有者不關心其資產,那么可能會導致證明其資產無效的結果。這對許多應用程序來說是可以接受的,但是對于許多其他應用來說(如Uniswap)來說是破壞交易原則的。甚至在一些系統中如果對象的狀態不經其所有者的同意就可以被改變(如基于賬戶的系統,你可以不經某人的同意就可以提升其余額),這些系統也不適用Plasma。
V神發布針對信標鏈的終結性模型替代設計構想:金色財經報道,以太坊聯合創始人V神在Ethresearch論壇中發表針對信標鏈的替代設計方案《一個基于累積委員會的終局性模型》,他認為信標鏈從長期來看可以切換到這個方案,以取代此前計劃切換的CasperCBC方案。他表示該方案的核心屬性包括:可以在通常情況下提供單時隙(slot)的經濟終局性;即使發生了單時隙(slot)的重組(reorg),對于串通的多數人來說,執行也要昂貴的多,從而減少共識可提取價值CEV(consensus-extractablevalue);擺脫對LMDGHOST分叉選擇的嚴重依賴,避免已知的缺陷,并引入復雜的混合分叉選擇規則來修復這些缺陷;有可能允許較低的存款規模和較高的驗證人數量;保留了經濟終局性可以接近一個非常大的數字(數百萬ETH)。[2021/8/5 1:36:30]
這意味著,當部署任何實際Plasma或通道時,都需要大量的“某個特定應用程序的推理”,并且不可能創建一個模擬完全的以太坊環境(或“EVM”)的Plasma或者狀態通道系統。為了解決此問題,各種rollup方案出現了。
Rollups
其他資源參見?
EthHubonoptimisticrollups:
https://docs.ethhub.io/ethereum-roadmap/layer-2-scaling/optimistic_rollups/
ZKrollups:
https://docs.ethhub.io/ethereum-roadmap/layer-2-scaling/zk-rollups/
Plasma和通道類是“純粹”的二層方案,因為其將數據和計算都移至鏈下。然而,圍繞“數據可用性”的基本博弈論問題意味著這些方案不一定對于所有應用來說都是安全的。Plasma和通道方案的解決方式是依靠所有者完全知曉狀態,但這使得此類方案無法完全通用化。Rollups,則是一種“混合型”二層方案。Rollups將計算(以及狀態存儲)移至鏈下,但將每筆交易的一些數據放在鏈上。
為了提高效率,這類方案借助了許多復雜的壓縮技巧以盡可能使用計算替代數據。結果是系統的擴容性仍然受到底層區塊鏈的數據帶寬限制,但比較來看仍十分有利:以太坊基礎層ERC20通證的轉移成本約為45000gas,而rollup中的ERC20通證僅轉移占用16字節的鏈上空間,成本不到300gas。
數據在鏈上這一點很關鍵(請注意:將數據“放在IPFS上”是行不通的,因為IPFS不能就任何給定的數據是否可用提供共識;數據必須被記錄在鏈上)。將數據放在鏈上并對此達成共識,使得任何人都可以根據需要在本地處理rollup中的所有操作,從而允許其對欺詐進行監測、發起提款或親自開始批量生成交易。缺乏數據可用性意味著一名惡意的或是離線的運營者能夠產生的影響甚至會更小(例如他們無法造成一周的延遲),從而為有權發布批量交易的人打開更大的設計空間,并使rollup更容易有理可循。
動態 | V神發布關于“跨分片交易”的新建議:10月29日,以太坊聯合創始人Vitalik Buterin發表了一份關于“在以太坊網絡上實現跨分片事務”提案。根據文章,第二階段的主要要求之一是能夠在分片之間快速移動ETH。V神補充說,雖然通過接收機制通常可以實現跨分片事務,但是跨分片ETH需要更多的協議活動。[2019/10/30]
更重要的是,缺乏數據可用性意味著不再需要映射資產到所有者,從而我們能得出以太坊社區相較之前的二層擴容方案對rollups更加期待的關鍵原因之一:rollups是完全通用的,我們甚至還可以在rollup內部運行EVM,使得既有的以太坊應用幾乎不需要編寫新代碼就能遷移到rollups上。
Rollup的原理到底是什么?
在鏈上存在一份智能合約,其中包含一個狀態根,即rollup狀態的默克爾根(也就是rollup內部的賬戶余額、合約代碼等等)。
任何人都可以發布一批匯總交易(batch),這是一個經由高度壓縮的交易集合,其中包含之前的狀態根和新狀態根(處理交易之后的新默克爾根)。該合約會檢查batch中的舊狀態根是否匹配其當前的狀態根,如果匹配的話,合約會對狀態根進行更新。
為了支持存款和提款,我們增加了輸入和輸出在rollup狀態“外部”的交易的功能。如果一個batch中包含來自外部的輸入,則提交到該batch的交易也需要將資產轉移到rollup合約。如果一個batch中包含來自外部的輸出,則智能合約在處理該batch時會發起提款。
這就是rollup的工作原理了。但還有一個重要細節:如何得知batches里的后狀態根(post-stateroot)是正確的呢?如果某人能夠提交一個具備任意后狀態根的batch,而無需承擔任何后果,他們完全可以將rollup中的所有代幣都轉移給自己。這個問題很關鍵,因為由此誕生了兩種不同的解決方案,這兩種解決方案又衍生出了兩種不同的rollups。
Optimisticrollups與ZKrollups
這兩種rollups為:
1.Optimisticrollups,其解決方案為欺詐證明(fraudproofs):這類rollup會追蹤所有歷史狀態根以及每個batch的哈希值。如果任何人發現某個batch的后狀態根不正確,他可以向區塊鏈發布一個證明,證明該batch計算錯誤。合約會對證明進行驗證,并且對該batch及其之后的batches進行回滾。
2.ZKrollups,其解決方案為有效性證明(validityproofs):每個batch都包含一個稱作ZK-SNARK的密碼學證明(例如使用PLONK協議),以證明后狀態根是正確執行batch的結果。無論計算量有多大,該證明都能在鏈上得到極速驗證。
V神發火:你們再炫富,我就退出:以太坊已成為加密貨幣2.0代表,但以太坊創始人Vitalik Buterin卻時常充滿擔憂,他認為,加密貨幣技術正朝著錯誤的方向前進。他不希望以太幣淪為投機者的天堂,而是能夠滲透進所有的工業中,將全世界的經濟、社交、文化都去中心化。他警告說:數字貨幣隨時可能歸零,傳統資產仍是存款首選。他不希望人們帶著數千億美元的數字紙上財富到處炫耀,并威脅道,“如果你們再這樣的不成熟,我就將退出以太坊。”[2018/3/17]
這兩種rollup之間存在復雜的權衡:
總的來說,我個人的觀點是,在短期內,optimisticrollup的顯著優勢在于其通用的EVM計算,而ZKrollup更可能被用于支付、交易和其他特定用例。但中長期來看,隨著ZK-SNARK技術的成熟,ZKrollup會在所有用例中發揮出優勢。
解構欺詐證明
Optimisticrollup的安全性保障主要來自于:如果有人在rollup中發布了一個無效的batch,其他任何跟進該鏈的用戶監測到欺詐行為都可以發布欺詐證明,向合約證明該batch的無效性,并進行回滾。
在上圖中,聲稱某batch?無效的欺詐證明會包含綠色的數據:如果要證明特定賬戶被該batch讀取和/或被修改,則需要該batch本身(可以對照存儲在鏈上的哈希值進行檢查)以及Merkle樹的各個部分。不需要提供圖中黃色的節點,因為他們能夠被綠色的節點重構。該數據已經足夠執行batch并計算后狀態根了(這與無狀態客戶端驗證單個區塊的方式幾乎相同)。如果經計算的后狀態根以及獲得的batch中的后狀態根不一致,那么該batch就是無效的。
可以保證如果某個batch不正確,但之前所有的batches都是正確的,那么就能夠創建一個欺詐證明以表示該batch是不正確的。請注意對之前batch的聲明:如果有超過一個無效的batch被發布到rollup中,那么最好嘗試證明最早的無效batch。也可以說,如果某個batch是正確的,那么永遠都無法創建一個欺詐證明表示其無效。
如何進行壓縮?
一筆簡單的以太坊交易(發送ETH)大小約為110字節。而在rollup上進行ETH轉賬,大小僅為約12字節:
其中一部分只是簡單的高級編碼:以太坊的RLP編碼方式在每個值上會浪費1字節。但是其中還包括一些機智的壓縮技巧:
Nonce:這個參數的主要目的是預防重放攻擊。如果帳戶的當前隨機數為5,則該帳戶的下一個交易記錄必須包含隨機數5,但是交易一經處理,該帳戶中的隨機數將增加為6,因此無法再次處理該交易。在rollup中,我們可以完全省去隨機數,因為我們可以直接從前狀態中恢復隨機數;如果有人嘗試使用先前的隨機數重放交易,簽名將無法驗證,因為會依據包含較高隨機數的數據來對簽名進行檢查。
Gasprice:我們可以允許用戶按固定gas價格范圍進行支付,例如2的16次冪。或者我們可以在每個batch中收取固定的gas費用,甚至可以將gas費的支付完全移出rollup協議,讓交易者使用通道向batch創建者支付相應費用。
Gas:同樣地,我們可以將總gas設定為2的多次冪形式。或者我們也將gas限制在batch的水平。
To:可以用index來替換20字節的地址(例如,如果某地址是被添加到默克爾樹中的第4527個地址,我們只需使用index4527來表示即可。然后向狀態添加一個“子樹”(subtree)來存儲index和地址本身的映射關系)。
Value:我們可以用科學記數法儲存值。在大多數情況下,交易只需要1-3個有效位。
Signature:我們可以使用BLS聚合簽名將大量簽名聚合成一個約為32-96字節(取決于協議)的簽名。該聚合簽名可以依據消息集和batch的發送者集一次性進行檢檢查。表中的“~0.5”表示一個聚合簽名中可以包含的簽名數量是有限制的,因為需要能夠在一個欺詐證明中對聚合簽名進行驗證。
ZKrollups特有的一個重要壓縮技巧是:如果交易的一部分信息僅用于驗證,并且不用于計算狀態更新,那么該部分可以移至鏈下。Optimisticrollup無法做到這一點,因為該數據仍然需要存在鏈上,以備需要在欺詐證明中進行檢查的不時之需。而在ZKrollup中,SNARK已經證明了batch的正確性,也就是說驗證所需的數據已經齊全。
具備隱私保護功能的rollups是一個重要例子:在optimisticrollup中,每筆交易中用于隱私保護的ZK-SNARK證明需要在鏈上,需要占據約500字節。而在ZKrollup中,包含整個batch的ZK-SNARK已經證明了“內部”ZK-SNARK的有效性。
這些壓縮技巧是rollups擴容性的關鍵,否則rollups擴容性相較底層連只能提高約10倍(雖然對于某些特定的計算密集型應用來說,簡單的rollups方案已經足夠),而對數據進行壓縮后,幾乎對所有應用來說,擴容性都可以實現100倍以上的提升。
誰能批量打包交易并提交?
對于optimisticrollups和ZKrollups中交易的打包權有許多說法。一般來說,任何想要打包交易并且提交的用戶,必須要鎖定大量存款。如果用戶提交了包含欺詐/無效交易的batch(例如包含無效狀態根),那么該用戶的存款的一部分會被銷毀,另一部分則作為欺詐證明者的獎勵。除此之外,還存在其他可能性:
完全“無政府狀態”:任何人都可以在任何時候批量打包交易并提交。這是最簡單的方式,當然也存在缺陷。尤其是多個參與者同時嘗試提交但最終只有一個batch能被成功打包。這會導致大量生成證明的工作和/或發布batches的gas被白白浪費。
中心化處理:存在一個行為者即排序者(sequencer)提交batches(但提款存在例外:通常來說一個用戶可以首先提交提款請求,如果排序這沒有在下個batch中處理該提款,那么該用戶能夠自己提交一個batch)。這是最“高效”的方式,但是依賴于一個中心化的角色。
排序者拍賣:通過定期舉行拍賣的形式來確定誰有權成為下一個周期的排序者。其優點在于它可以籌集資金,并通過例如由rollup控制的機制(例如DAO)來進行分配。(參見MEV拍賣)
PoS集隨機選擇:任何人都可以將ETH(或是rollup協議的代幣)存入rollup合約,然后在存款人中隨機選擇每個batch的排序者,被選中的可能性與鎖定資產成一定比例。這個方式的主要缺點在于會有大量資本被鎖定,而這是不必要的。
DPoS投票:通過拍賣確定一個排序者,如果該行為人表現不佳,那么代幣持有者可以通過投票將其驅逐,并發起新的拍賣。
將批量打包和狀態根處理相獨立
目前正在開發的一些rollup項目采用了“獨立批量打包”的方式,也就是將提交二層交易的batch和提交狀態根的過程分離。這種做法的優勢在于:
1.使得多個排序者能夠同時發布batches,以提高扛審查性,而避免了因為一些batches被首先打包而導致其他batches無效的問題。
2.如果某個狀態根是無效的,我們不需要回滾整個batch,可以只回滾狀態根,并等待他人提供該batch的新狀態根。這保障了交易發送方的交易不會被回滾。
總之,在效率、簡潔性和抗審查性等方面的權衡十分復雜,許多方案也在進行探索。目前要判斷哪些概念是最佳組合還為時尚早,時間會證明一切。
rollup能在多大程度上實現擴容?
在現有的以太坊鏈上,gas上限是1250萬,一筆交易里,每個字節的數據花費16gas。這意味著如果一個區塊只包含一個batch(我們說相當于打包了一個zkrollup,在證明驗證上花費50萬gas),那一個batch可以包含?(1200萬/16)750,000字節的數據。如上文所示,對于一個以太坊轉賬的rollup,每一次用戶操作只需12個字節,也就是說該批交易可以包含高達6.25萬筆交易。現在平均出塊時間為13秒,即相當于大約每秒4807筆交易(相比之下,現在直接在以太坊上轉賬是每秒1250萬/21000/13~=45筆交易)
以下表格是其他用例的例子:
擴容的最高水平是這樣計算的:/*1200萬/1250千萬
現在,值得注意的是這些數據都過于樂觀了,原因有幾個。最重要的是,一個區塊幾乎不可能只包含一個batch,因為最起碼會有多個rollup。第二,存款和提款行為會一直存在。第三,在短期,使用率會比較低,所以固定成本會占主導。但即使這些因素都考慮到了,超過100倍的擴容水平也有望成為常態。
如果我們想每秒交易量達到1000-4000呢(取決于特定的用例)?這就是eth2數據分片發揮作用的時候了。分片協議為每12秒提供16MB的空間來容納任何數據,且系統確保數據可用性的共識。數據空間可以被rollup使用。這大約每秒1398kb的空間比現在以太坊鏈上每秒大約60kb提高了23倍,且在更長期來看,數據容量有望繼續增加。因此,使用eth2分片數據的rollup可以以每秒約10萬筆交易的吞吐量批量處理,在未來可能更多。
Rollup上還有哪些未解決的困難?
盡管rollup的基本概念現在已為人所了解,我們確信它們是完全可行且安全的,現在多種rollup已經部署到主網上,但rollup設計還有很多領域未被充分探索,以及在實現橋接以太坊生態上大部分的活動到rollup上,以利用它們的可擴容性這件事上,還存在不少困難。一些關鍵的困難包括:
用戶和生態的入駐——使用rollup的應用不多,用戶也不熟悉rollup,只有少數錢包開始集成rollup。商家與慈善機構也還不支持這種支付方式。
跨rollup交易——高效地從一個rollup移動資產與數據(例如:預言機輸出)到另一個,而無須產生經由基礎層的費用。
審計激勵——如何最大程度提高至少有一個誠實節點完整驗證一個optimisticrollup的機會,使得出現問題時他們會發布欺詐證明?對于小規模rollup(高至每秒幾百筆交易),這個問題不大,因為對礦工來說只是舉手之勞,但對于大規模的rollup來說,還需要更充分的理由以說服礦工去做驗證。
探索plasma和rollup之間的設計空間——是否有技術可以放一些狀態更新相關數據到鏈上而不是全部的數據,且這些數據會產生有用的東西?
最大程度提高提前確認的安全性——很多rollup都會為了更快的用戶體驗(UX)提供“提前確認(pre-confirmation)”,這里排序者(sequencer)會馬上承諾某筆交易會被打包到下一個batch里,而如果此承諾沒有被兌現,該排序者將損失其保證金。但這個方案的經濟安全性是有限的,因為排序者可以同時對非常多的人作出非常多的承諾。這個機制可以改善嗎?
提高缺席排序者的回應速度——如果一個rollup的排序者突然離線了,在最短的時間內以最低的成本從這種情況恢復過來是很重要的,方法不是快速且低成本地大規模退出到另一個rollup,就是換一個排序者。
高效ZK-VM——生成一個ZK-SNARK證明,證明通用的EVM代碼(或一些現有的智能合約可以編譯成的不同VM)已被正確執行和有一個給定結果的。
結論
Rollup是一個強大、新穎的二層擴容范式,并有望成為以太坊在中短期未來(也可能是長期)擴容的基石。以太坊社區已經表現出對rollup的強烈興趣,因為不像之前在二層擴容的嘗試,它們可以支持通用的EVM代碼,使得現有的應用可以輕易遷移。Rollup有一個重要的妥協:交易處理不是完全在鏈下進行,而是每筆交易留下一小部分數據在鏈上。
Rollup有很多種,在設計空間上有很多選擇:可以是使用欺詐證明的optimisticrollup,也可以是使用有效性證明(即ZK-SNARKs)的ZKrollup。排序者(可以發布打包好的batch到鏈上的用戶)可以是中心化的行動者、自由放任者、或兩者間的很多可能性。Rollup還是早期的技術,其開發在不斷快速地進行中,但它們是可行的,且其中有些(比較有名的是路印、ZKSync、和DeversiFi)已經運行數月了。期待今年rollup會有更多令人振奮的成果。
來源|?vitalik.ca
作者|VitalikButerin
原文鏈接:
https://vitalik.ca/general/2021/01/05/rollup.html
1.前言 2021年1月4號,美國貨幣監理署發了一份解釋函,批準美國銀行使用區塊鏈和穩定幣新技術。這向我們傳遞了一個重要信息.
1900/1/1 0:00:00|合規聯盟原創出品?| “信托”一詞對很多人來說并不陌生,但是人們更多的只是知道信托是一種特殊的理財方式和金融制度,并不清楚信托的內涵.
1900/1/1 0:00:00Plasm是一個基于波卡的可擴展的智能合約鏈,使用Parity的Substrate開發,并設計為Polkadot的平行鏈.
1900/1/1 0:00:00本周技術周刊包含以太坊、波卡、COSMOS、Filecoin網絡的技術相關消息。 以太坊網絡 V神:以太坊2.0上質押的3百萬美元ETH是“對進步的終極押注”目前,以太坊2.0存款合約中已經有2.
1900/1/1 0:00:00譯者:殷建松,《殷建松說區塊鏈》作者原標題:《Abeginner’sguidetoNFTs》譯者按:本文是LindaXie對區塊鏈最前沿的NFT領域的指南文章.
1900/1/1 0:00:00來源:CryptoSlate,原文作者:NickChong譯者:Odaily?星球日報念銀思唐在過去的幾個月里,Yearn.finance一直在大肆推進合作.
1900/1/1 0:00:00