原文標題:Vitalik:Rollups 不完全指南
Rollups解決方案在以太坊社區中正風靡一時,并有望在將來成為以太坊的關鍵擴容解決方案。但是這項技術究竟是怎樣的呢?它能給我們帶來什么?我們將如何使用這項技術呢?本文將盡量回答其中一些關鍵問題。
區塊鏈擴容方式有兩種。第一種,可以提高區塊鏈本身的交易容量。這種技術的主要挑戰就是:當區塊容量越來越大時,區塊鏈將越來越難驗證,且中心化程度越來越高。為了避免此類風險,開發者可以提高客戶端軟件的效率。或者選擇另一種更為可持續的方式:利用諸如分片這類技術,使得區塊鏈上的構建區塊和驗證工作可以分散至許多節點 (Eth2 升級中就會將此技術引入以太坊)。
第二種,可以改變使用區塊鏈的方式。即用戶不是將所有交易都直接在區塊鏈上進行,而是通過二層協議在鏈下執行大部分交易。好比鏈上有一個智能合約,該合約只有兩個任務:處理存款和提款交易、以及驗證所有鏈下交易的有效性。對鏈下交易進行驗證的方法有多種,但他們都具有同一個特性:在鏈上驗證證明比在鏈下進行原始計算的成本要低得多。
狀態通道 vs Plasma vs Rollups
二層擴容方案的三種主要類型是:狀態通道、Plasma 和 rollups。他們是三種不同的范式,具有不同的優劣勢。我們可以把所有二層擴容解決方案大致地歸為這三類 (盡管有的方案因分類模糊而存在命名爭議,如 validium)。
更多資料請參考:
https://www.jeffcoleman.ca/state-channels and statechannels.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 可以啟動提款期 (withdrawal period),如果 Alice 在這段期間內 (比如7天) 還是沒有向 Bob 提供票據,那么 Bob 就可以拿回他的所有錢。
該技術功能強大:可以對其進行調整,以進行雙向支付、處理智能合約關系 (如,Alice 和 Bob 在通道中簽訂金融合約)、以及對通道進行組合 (比如,當 Alice 和 Bob、Bob 和 Charlie 之間有一條開放通道時,Alice 和 Charlie 也可以進行去信任交易)。
V神發布ChatGPT編碼試驗文章,表示AI不能替代程序員:12月6日,以太坊創始人Vitalik Buterin發布使用ChatGPT進行編碼試驗的文章。根據其試驗結果表示,ChatGPT在編碼過程中會出現錯誤,但也介紹了一些新的編碼模式,并且會加快編碼速度。V神表示:人工智能正在迅速改進,我希望它能繼續進一步優化,并隨著時間的推移消除此類錯誤。然而,人工智能遠不能替代人類程序員。[2022/12/6 21:26:23]
但狀態通道的作用是有限的:無法將資金在鏈外發送給沒有參與進來的用戶;通道不能代表那些邏輯上沒有明確所有者的對象 (如 Uniswap);并且如果要進行更為復雜的交易,需要在通道內鎖定大量資金。
更多資料請參考?
最早的 Plasma 論文 :
http://plasma.io/plasma-deprecated.pdf
Plasma Cash:
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 交易組成)。
這些運營者會生成一個默克爾樹,樹中每個索引 X 處,如有存在交易的話,會顯示某筆轉移交易資產 ID X,如果沒有交易,葉子值為零。隨后他們將該默克爾樹的默克爾根發送到鏈上,同時還會將每個索引 X 的默克爾分支發送給其資產的當前所有者。
如果用戶想要進行提款,那么就要公布其最近向其發送資產的交易的默克爾分支。然后智能合約就將啟動挑戰期,在此期間,任何人都可以嘗試使用其他默克爾分支來證明該提款無效。需要至少證明其中一項:(i) 發送方在發送資產時并不是該資產的所有者;(ii) 發送方在后來將資產發給了其他人。如果在某個時間段內 (如七天) 沒有人證明該提款是欺詐性的,用戶便可以取出他的資產。
Plasma 比狀態通道擁有更加強大的性能:使用 Plasma,用戶可以將資產發送給從未加入其系統的參與者;對資本的要求也低許多。但 Plasma 也是有缺點的:在“正常操作”期間,通道不需要任何數據就可以在鏈上進行傳輸,而 Plasma 要求每條鏈定期發布一個哈希。此外,在 Plasma 上轉賬不是即時的:用戶需要等一段時間并且等到區塊被發布之后。
再者,Plasma 和通道都有一個關鍵弱點:確保這兩種方案安全的前提是,這兩種系統所控制的對象都有邏輯上的“所有者”。如果該資產的所有者不關心其資產,那么可能會導致證明其資產無效的結果。這對許多應用程序來說是可以接受的,但是對于許多其他應用來說 (如 Uniswap) 來說是破壞交易原則的。甚至在一些系統中如果對象的狀態不經其所有者的同意就可以被改變 (如基于賬戶的系統,你可以不經某人的同意就可以提升其余額),這些系統也不適用 Plasma。
以太坊創始人V神發布關于“單槽終結路徑”的研究文章:金色財經報道,1月25日,以太坊創始人Vitalik發布了關于“單槽終結路徑”的研究文章,文章表示,由很多論據推論,盡管以太坊現在有超過28w個驗證者,但仍可以將以太坊最終確認時間減小至單個Slot時間。
實現“單槽終結”可以提升用戶體驗,減少以MEV為目的的重組鏈并減少協議復雜性和錯誤幾率。但這是一個是長遠的計劃,其順序會排在PoS、分片、Verkle樹之后。目前,實現這一目標主要思路有:
1.通過超級委員會實現,即通過至少數百名的超級委員會驗證者完成共識中單個slot內的驗證工作。
2.讓如今的巨量的驗證者更快更高效的發揮作用,即讓聚合簽名過程更高效。
此外,對于“單槽終結”實施有具體如下4點要求。
1.加緊優化簽名聚合工作;2.確定超級委員會規模;3.研究、達成一致并指定一個理想的共識和分叉機制選擇;4.同意并在實施路徑上執行這些。[2022/1/25 9:11:04]
這意味著,當部署任何實際 Plasma 或通道時,都需要大量的“某個特定應用程序的推理”,并且不可能創建一個模擬完全的以太坊環境 (或“EVM”) 的 Plasma 或者狀態通道系統。為了解決此問題,各種 rollup 方案出現了。
其他資源參見?
EthHub on optimistic rollups:
https://docs.ethhub.io/ethereum-roadmap/layer-2-scaling/optimistic_rollups/
ZK rollups:
https://docs.ethhub.io/ethereum-roadmap/layer-2-scaling/zk-rollups/
Plasma 和通道類是“純粹”的二層方案,因為其將數據和計算都移至鏈下。然而,圍繞“數據可用性”的基本博弈論問題意味著這些方案不一定對于所有應用來說都是安全的。Plasma 和通道方案的解決方式是依靠所有者完全知曉狀態,但這使得此類方案無法完全通用化。Rollups,則是一種“混合型”二層方案。Rollups 將計算 (以及狀態存儲) 移至鏈下,但將每筆交易的一些數據放在鏈上。
為了提高效率,這類方案借助了許多復雜的壓縮技巧以盡可能使用計算替代數據。結果是系統的擴容性仍然受到底層區塊鏈的數據帶寬限制,但比較來看仍十分有利:以太坊基礎層 ERC20 通證的轉移成本約為 45000 gas,而 rollup 中的 ERC20 通證僅轉移占用 16 字節的鏈上空間,成本不到 300 gas。
數據在鏈上這一點很關鍵 (請注意:將數據“放在 IPFS 上”是行不通的,因為 IPFS 不能就任何給定的數據是否可用提供共識;數據必須被記錄在鏈上)。將數據放在鏈上并對此達成共識,使得任何人都可以根據需要在本地處理 rollup 中的所有操作,從而允許其對欺詐進行監測、發起提款或親自開始批量生成交易。缺乏數據可用性意味著一名惡意的或是離線的運營者能夠產生的影響甚至會更小 (例如他們無法造成一周的延遲),從而為有權發布批量交易的人打開更大的設計空間,并使 rollup 更容易有理可循。
動態 | V神發5篇博文談以太坊2.0未來將遇到的難題:據Coindesk文章報道,在以太坊Devcon大會期間,V神筆耕不輟,連發5篇博客文章,談論以太坊2.0未來將遇到的難題。現整理如下:
1.在短期內(指如果ETH2.0發布),將ETH從以太坊2.0轉移到以太坊1.0仍然存在這個可能。以太坊2.0開發人員Preston Van Loon表示,在ETH 2.0和 ETH 1.0之間創建雙向橋的復雜性給兩個鏈帶來了“安全風險”。Buterin提出了兩種可能的方法來在兩個區塊鏈之間建立“橋梁”。他承認,“如果以太坊2.0遭到破壞,這兩項建議都需要在以太坊1.0方面采取緊急補救措施。”為了降低此類風險,Buterin建議在投票期間啟用“人為干預”,以逆轉從以太坊1.0網絡進行的遷移。目前這仍然是項建議,研究人員還沒在 ETH 2.0中設計遷移“橋梁”。
2.在ETH2.0和ETH1.0完全合并之前,以太坊2.0可能會與ETH1.0并行使用多年。區塊鏈研究員Mihailo Bjelic表示,在開發人員確定其可靠性之前,以太坊2.0這樣的復雜系統不應取代當前的以太坊主網。V神在博客文章中稱,希望這種過渡是平穩的。
3.調用有關以太坊2.0區塊鏈的數據將比以前更加昂貴。V神針對這些問題,在博客文章中建議開發人員可以在編寫驗證器時控制其規模等。
4.以太坊將失去原子交易的能力。ETH 2.0將破壞以太坊上原子交易能力,即一次完成所有交易(交易拆會在不同分片間完成)。V神認為,不同應用之間可以具備更強交互能力,但也會使一些活動受阻,使得更難吸引加密貨幣交易者。
5.V神在博客文章中提出ETH 2.0 在發布時分片數量會降低,先前為1024個分片,現在提出的為64個分片,主要好處是以太坊2.0的分片之間可以通信更快,更簡單。[2019/10/25]
更重要的是,缺乏數據可用性意味著不再需要映射資產到所有者,從而我們能得出以太坊社區相較之前的二層擴容方案對 rollups 更加期待的關鍵原因之一:rollups 是完全通用的,我們甚至還可以在 rollup 內部運行 EVM,使得既有的以太坊應用幾乎不需要編寫新代碼就能遷移到 rollups 上。
在鏈上存在一份智能合約,其中包含一個狀態根,即 rollup 狀態的默克爾根 (也就是 rollup 內部的賬戶余額、合約代碼等等)。
任何人都可以發布一批匯總交易 (batch),這是一個經由高度壓縮的交易集合,其中包含之前的狀態根和新狀態根 (處理交易之后的新默克爾根)。該合約會檢查 batch 中的舊狀態根是否匹配其當前的狀態根,如果匹配的話,合約會對狀態根進行更新。
為了支持存款和提款,我們增加了輸入和輸出在 rollup 狀態“外部”的交易的功能。如果一個 batch 中包含來自外部的輸入,則提交到該 batch 的交易也需要將資產轉移到 rollup 合約。如果一個 batch 中包含來自外部的輸出,則智能合約在處理該 batch 時會發起提款。
動態 | V神發起DAI貸款年利率超國債的投票 半數用戶認為DAI隨時可能面臨崩盤:以太坊創始人V 神今日在推特發起關于“DAI 的貸款年利率與美國 10 年國債收益率差距”的投票,V 神指出,DAI 貸款可以提供 11.5% 的年利率。而美國 10 年期國債收益率僅為 1.5%。為什么會出現這種差距呢?,同時給出了四個選項,1. 臨時現象,受市場影響;2. DAI 有隨時崩盤的風險;3. Compound 倒閉的風險;4. 其他,請回復在評論中。截至目前,結果顯示超半數用戶認為DAI隨時可能崩盤的風險導致了它的高年利率。V神在評論中表示,這就是為什么我認為“貸款”是整個defi的錯誤隱喻的部分原因。大多數在發展中國家發放的貸款并不是由其他高流動性加密資產(或一般的高流動性或數字資產)擔保的150%。[2019/8/24]
這就是 rollup 的工作原理了。但還有一個重要細節:如何得知 batches 里的后狀態根 (post-state root) 是正確的呢?如果某人能夠提交一個具備任意后狀態根的 batch,而無需承擔任何后果,他們完全可以將 rollup 中的所有代幣都轉移給自己。這個問題很關鍵,因為由此誕生了兩種不同的解決方案,這兩種解決方案又衍生出了兩種不同的 rollups。
這兩種 rollups 為:
1. Optimistic rollups,其解決方案為欺詐證明 (fraud proofs):這類 rollup 會追蹤所有歷史狀態根以及每個 batch 的哈希值。如果任何人發現某個 batch 的后狀態根不正確,他可以向區塊鏈發布一個證明,證明該 batch 計算錯誤。合約會對證明進行驗證,并且對該 batch 及其之后的 batches 進行回滾。
2. ZK rollups,其解決方案為有效性證明 (validity proofs):每個 batch 都包含一個稱作 ZK-SNARK 的密碼學證明 (例如使用 PLONK 協議),以證明后狀態根是正確執行 batch 的結果。無論計算量有多大,該證明都能在鏈上得到極速驗證。
這兩種 rollup 之間存在復雜的權衡:
總的來說,我個人的觀點是,在短期內,optimistic rollup 的顯著優勢在于其通用的 EVM 計算,而 ZK rollup 更可能被用于支付、交易和其他特定用例。但中長期來看,隨著 ZK-SNARK 技術的成熟,ZK rollup 會在所有用例中發揮出優勢。
解構欺詐證明
Optimistic rollup 的安全性保障主要來自于:如果有人在 rollup 中發布了一個無效的 batch,其他任何跟進該鏈的用戶監測到欺詐行為都可以發布欺詐證明,向合約證明該 batch 的無效性,并進行回滾。
以太坊創始人V神發推詢問網友:可以接受的51%算力攻擊頻率是多少?:以太坊創始人V神在推特上發起投票,問“針對公有鏈,可以接受的51%算力攻擊頻率是多少?”。總共12700人參與投票,52%認為100年發生一次是可以接受的,13%選擇10-100年,19%認為1-10年,還有16%的投票人表示可以接受1年一次51%算力攻擊。[2018/1/22]
在上圖中,聲稱某 batch ?無效的欺詐證明會包含綠色的數據:如果要證明特定賬戶被該 batch 讀取和/或被修改,則需要該 batch 本身 (可以對照存儲在鏈上的哈希值進行檢查) 以及 Merkle 樹的各個部分。不需要提供圖中黃色的節點,因為他們能夠被綠色的節點重構。該數據已經足夠執行 batch 并計算后狀態根了 (這與 無狀態客戶端 驗證單個區塊的方式幾乎相同)。如果經計算的后狀態根以及獲得的 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個地址,我們只需使用 index 4527 來表示即可。然后向狀態添加一個“子樹” (subtree) 來存儲index和地址本身的映射關系)。
Value:我們可以用科學記數法儲存值。在大多數情況下,交易只需要 1-3 個有效位。
Signature:我們可以使用 BLS 聚合簽名將大量簽名聚合成一個約為 32-96 字節 (取決于協議) 的簽名。該聚合簽名可以依據消息集和 batch 的發送者集一次性進行檢檢查。表中的 “~0.5” 表示一個聚合簽名中可以包含的簽名數量是有限制的,因為需要能夠在一個欺詐證明中對聚合簽名進行驗證。
ZK rollups 特有的一個重要壓縮技巧是:如果交易的一部分信息僅用于驗證,并且不用于計算狀態更新,那么該部分可以移至鏈下。Optimistic rollup 無法做到這一點,因為該數據仍然需要存在鏈上,以備需要在欺詐證明中進行檢查的不時之需。而在 ZK rollup 中,SNARK 已經證明了 batch 的正確性,也就是說驗證所需的數據已經齊全。
具備隱私保護功能的 rollups 是一個重要例子:在 optimistic rollup 中,每筆交易中用于隱私保護的 ZK-SNARK 證明需要在鏈上,需要占據約 500 字節。而在 ZK rollup 中,包含整個 batch 的 ZK-SNARK 已經證明了“內部” ZK-SNARK 的有效性。
這些壓縮技巧是 rollups 擴容性的關鍵,否則 rollups 擴容性相較底層連只能提高約 10 倍 (雖然對于某些特定的計算密集型應用來說,簡單的 rollups 方案已經足夠),而對數據進行壓縮后,幾乎對所有應用來說,擴容性都可以實現 100 倍以上的提升。
誰能批量打包交易并提交?
對于 optimistic rollups 和 ZK rollups 中交易的打包權有許多說法。一般來說,任何想要打包交易并且提交的用戶,必須要鎖定大量存款。如果用戶提交了包含欺詐/無效交易的 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萬,一筆交易里,每個字節的數據花費 16 gas。這意味著如果一個區塊只包含一個batch (我們說相當于打包了一個 zk rollup,在證明驗證上花費 50 萬 gas),那一個 batch 可以包含 ?(1200 萬 / 16) 750,000 字節的數據。如上文所示,對于一個以太坊轉賬的rollup,每一次用戶操作只需 12 個字節,也就是說該批交易可以包含高達 6.25 萬筆交易。現在平均出塊時間為 13 秒,即相當于大約每秒 4807 筆交易 (相比之下,現在直接在以太坊上轉賬是每秒 1250萬/21000/13~=45筆交易 )
以下表格是其他用例的例子:
擴容的最高水平是這樣計算的:(一層的 gas消耗)/(rollup所占的字節 *16)*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 移動資產與數據 (例如:預言機輸出) 到另一個,而無須產生經由基礎層的費用。
審計激勵——如何最大程度提高至少有一個誠實節點完整驗證一個 optimistic rollup 的機會,使得出現問題時他們會發布欺詐證明?對于小規模 rollup (高至每秒幾百筆交易),這個問題不大,因為對礦工來說只是舉手之勞,但對于大規模的 rollup 來說,還需要更充分的理由以說服礦工去做驗證。
探索 plasma 和 rollup 之間的設計空間——是否有技術可以放一些 狀態更新相關數據到鏈上而不是全部的數據,且這些數據會產生有用的東西?
最大程度提高提前確認的安全性——很多 rollup 都會為了更快的用戶體驗 (UX) 提供“提前確認 (pre-confirmation)”,這里排序者 (sequencer) 會馬上承諾某筆交易會被打包到下一個batch里,而如果此承諾沒有被兌現,該排序者將損失其保證金。但這個方案的經濟安全性是有限的,因為排序者可以同時對非常多的人作出非常多的承諾。這個機制可以改善嗎?
提高缺席排序者的回應速度——如果一個 rollup 的排序者突然離線了,在最短的時間內以最低的成本從這種情況恢復過來是很重要的,方法不是快速且低成本地大規模退出到另一個 rollup,就是換一個排序者。
高效 ZK-VM——生成一個 ZK-SNARK 證明,證明通用的 EVM 代碼 (或一些現有的智能合約可以編譯成的不同 VM) 已被正確執行和有一個給定結果的。
Rollup 是一個強大、新穎的二層擴容范式,并有望成為以太坊在中短期未來 (也可能是長期) 擴容的基石。以太坊社區已經表現出對 rollup 的強烈興趣,因為不像之前在二層擴容的嘗試,它們可以支持通用的EVM代碼,使得現有的應用可以輕易遷移。Rollup 有一個重要的妥協:交易處理不是完全在鏈下進行,而是每筆交易留下一小部分數據在鏈上。
Rollup 有很多種,在設計空間上有很多選擇:可以是使用欺詐證明的 optimistic rollup,也可以是使用有效性證明 (即 ZK-SNARKs) 的 ZK rollup。排序者 (可以發布打包好的 batch 到鏈上的用戶) 可以是中心化的行動者、自由放任者、或兩者間的很多可能性。Rollup 還是早期的技術,其開發在不斷快速地進行中,但它們是可行的,且其中有些 (比較有名的是路印、ZKSync、和DeversiFi) 已經運行數月了。期待今年 rollup 會有更多令人振奮的成果。
來源 |?vitalik.ca
作者 | Vitalik Buterin
原文鏈接:
https://vitalik.ca/general/2021/01/05/rollup.html
Tags:ROLLROLBATatcTROLL價格CoinControllerCash注意力幣BAT官網chatcoin幣還有救嗎
加密市場全面升溫,在以太坊價格持續攀升的同時,隨之而來的是以太坊的網絡效用幾乎觸及天花板。最新的Gas利用率數據顯示,優化網絡費用結構已經迫在眉睫,一起探討下當前的行業解決方案.
1900/1/1 0:00:00以太坊一直遵循其向權益證明共識協議持續發展的路線圖,并在2020年為以太坊2.0奠定了堅實的基礎.
1900/1/1 0:00:00區塊鏈或許是人類歷史近期內最有可能的財富轉移方式之一,而我仍然相信,2021年或許是ETH最有機會的一年,我們或許將見證加密貨幣歷史上最偉大的一年.
1900/1/1 0:00:001月6日,全球權威咨詢機構國際數據公司(IDC)發布的《IDC MarketScape:中國區塊鏈即服務(BaaS)平臺廠商評估,2020》報告顯示,浪潮集團位居中國區塊鏈平臺領導者象限.
1900/1/1 0:00:00本文作者為 New Bloc 策略分析師 Barry 原創,Barry有5 年外匯黃金市場交易經歷。授權金色財經首發.
1900/1/1 0:00:00我國DCEP(央行數字貨幣)進程從2014年開始啟動,從2019年下半年進入應用落地階段。2021年1月1日,深圳開展數字人民幣第三輪大規模試點,向在深個人發放2000萬元數字人民幣紅包,抽簽結.
1900/1/1 0:00:00