以太坊交易所 以太坊交易所
Ctrl+D 以太坊交易所
ads
首頁 > BNB > Info

Vitalik:Rollup 不完全指南_BAT:注意力幣BAT免費挖礦

Author:

Time:1900/1/1 0:00:00

Rollup最近在Ethereum社區風靡一時,有望在未來成為Ethereum的主要擴容解決方案。但這項技術到底是什么樣的呢?它可以給我們帶來什么變化?我們如何使用這項技術?這篇文章將試圖回答其中的一些關鍵問題。

背景:什么是Layer1和Layer2擴容?

目前主要有兩種區塊鏈擴容方式。

首先,你可以直接提高區塊鏈交易吞吐量,但這類技術主要挑戰為「當區塊容量越大時,區塊鏈將更難以驗證,而且很可能逐漸變得更中心化」。為了避免這樣的風險,開發者可以提高客戶端軟件的效率,或者使用Sharding技術讓構建和驗證工作分散到許多節點上,目前Ethereum準備借助Eth2升級引入Sharding技術。

其次,你也可以改變使用區塊鏈的方式。用戶不必將所有交易放在區塊鏈上,而是可以通過Layer2協議在鏈下執行大部分交易。即鏈上的智能合約只需執行兩個任務:處理存取款和驗證鏈下交易的有效性。由此減輕鏈上負擔,提高交易處理效率。

Statechannelsvsplasmavsrollups

目前主要有三種Layer2擴容方案:Statechannels、Plasma和Rollups,這三種各有優劣。

譯者注:譯文中省略Statechannels和Plasma科普內容,主要講述Rollups部分。

術語說明

Batch:批處理交易,指將Layer2交易批量打包并提交到Layer1的Rollup合約。

Sequencer:排序者,指在Layer2上打包排序交易的角色,類似Layer1的礦工。

Stateroot:狀態根,指Layer2上所有狀態通過MerkleTree生成的哈希值。

Rollups

參考:Optimisticrollups和ZKrollups。

Plasma和StateChannels是「完全」的Layer2方案,因為它們試圖將數據和計算都轉移至鏈下。然而,由于存在「數據可用性的博弈問題」,意味著這兩種方案不可能安全地滿足所有應用場景。

Plasma和StateChannels通過依賴所屬權的owner來解決該問題,但這使它們無法完全通用化。

Cardano聯創:從未為Ripple工作,相關謠言可能把自己和Vitalik搞混了:6月24日消息,針對網上有關其曾在Ripple實習的傳聞,以太坊和Cardano聯合創始人Charles Hoskinson澄清稱,這是謠言,自己從未以任何身份為Ripple工作過。相關謠言應該是把他和Vitalik Buterin兩個人搞混了。

相關謠言疑似是基于一條早期的推文(已刪除):2019年4月,Vitalik回復Coinbase聯合創始人Brian Armstrong的推文時承認,早在2013年中期,當他住在加拿大時,曾試圖去加州在此后更名為Ripple Labs的公司當實習生,但由于贊助美國簽證的公司必須至少成立一年而未能成功。

Ripple前開發者關系總監Matt Hamilton于2023年5月1日證實,Vitalik當時確實希望能在Ripple實習。[2023/6/24 21:57:28]

另一方面,Rollups是一種「混合」的Layer2方案。Rollups將計算轉移至鏈下,但同時將每筆交易的部分數據保留在鏈上。

為了提高效率,他們使用了不少fancy的壓縮技巧,盡可能地使用「計算」代替「數據」。其結果是系統的擴容仍然受限于底層區塊鏈的數據帶寬,但效率是可觀的:EthereumERC20代幣轉賬成本約為45,000gas,而Rollup中的ERC20代幣轉賬僅使用16字節的鏈上空間,成本低于300gas。

事實上,數據上鏈是關鍵。將數據放在鏈上并獲得共識,如果任何人愿意,他們可以在本地處理rollup中的所有操作,從而允許他們監測欺詐交易,請求提款,或親自生成transactionbatches。

因為沒有數據可用性問題,所以惡意或離線運營者所造成的損失會更少,從而為誰有權發布batches打開了更大的設計空間,并簡化rollups系統。最重要的是,沒有數據可用性問題也意味著不再需要將資產映射到owners。

這是Ethereum社區對rollups比以往的Layer2擴容方案更興奮的關鍵原因:Rollups是完全通用的,我們甚至可以在rollup內運行一個EVM,使得現有的Ethereum應用不必編寫過多新的代碼就可以遷移到rollups上。

Vitalik Buterin:已把2011年制作的游戲上傳到IPFS:金色財經報道,以太坊聯合創始人Vitalik Buterin在社交媒體上稱,我把在加密前(2011年)做的一款游戲上傳到IPFS。祝好運。

對此,Aave及LensProtocol創始人Stani表示,一件很酷的事情是,有一個哈希值,所以你可以隨時找到游戲并玩它。不知道你用什么來創建它,但是帶有Unity的webGL使得為IPFS渲染變得非常容易。[2023/5/23 15:20:23]

那么Rollup到底是如何工作的呢?

鏈上會有一個智能合約維護著stateroot:rollup狀態的Merkleroot。

任何人都可以發布一筆batch交易,這是一個高度壓縮的交易集合,包含舊的stateroot和新的stateroot。合約會檢查batch中的舊stateroot是否匹配當前的stateroot,如果匹配,則將stateroot更新到新的stateroot。

為了支持存款和提款,我們增加了交易的能力,其輸入或輸出是「外部」的rollup狀態。如果一個batch來自外部的輸入,那么提交該batch的交易也需要將這些資產轉移到rollup合約中。如果一個batch有對外的輸出,那么在處理該batch時,智能合約將會執行「提現」操作。

這一切就這么簡單!除了一個主要的細節:如何知道batch中的post-stateroots是正確的呢?如果有人可以用任意post-stateroot提交一個batch而沒有任何懲罰,他們就可以直接將rollup內的全部資產轉給自己。這個問題有兩種截然不同的解決思路,從而衍生出兩種「口味」的rollup方案。

OptimisticrollupsVSZKrollups

以下是這兩種「口味」的rollups方案描述:

Optimisticrollups,采用欺詐性證明:rollup合約會跟蹤歷史的stateroots和每一個batch的哈希值。如果有人發現某個batch的post-stateroot不正確,那么他們可以向合約提交證明,證明該batch計算錯誤。合約驗證該證明有效后,會對該batch和之后的所有batch進行回滾。

Vitalik Buterin:區塊鏈和加密貨幣間存在“緊密聯系”,以至于“缺一不可”:11月21日消息,以太坊聯合創始人Vitalik Buterin在接受海峽時報采訪時表示,考慮到新加坡對加密資產類別持懷疑態度,新加坡在加密貨幣監管方面的善意嘗試可能不會奏效。V神說他很欣賞新加坡對加密行業的支持愿意,但這一切可能都是徒勞的。V神表示:“世界各地的監管機構都希望支持新興技術,但同時也覺得加密貨幣‘奇怪和可怕’。由于對加密貨幣缺乏理解和恐懼,監管機構試圖將區塊鏈作為一種獨立于加密貨幣的技術來對待。新加坡的情況就是如此。”V神表示,區塊鏈和加密貨幣之間存在“緊密聯系”,以至于“缺一不可”。

V神稱加密社區通常喜歡支持有權勢的人,這是愚蠢的。他重申了他對薩爾瓦多去年“自上而下”采用比特幣的批評,稱這是加密社區做錯的一個例子。他說,比特幣社區對這一消息感到高興,卻忽視了該國的嚴峻現實。盡管薩爾瓦多總統Nayib Bukele的政府“不太民主”,不善于“尊重人民的自由”,但該社區還是支持薩爾瓦多。此外,V神設為監管機構可以設置護欄,社區可以“教育用戶”。但“可以阻止多少不良活動終究是有限度的”,因為區塊鏈系統的性質要求它對所有人開放。[2022/11/21 22:12:29]

ZKrollups,采用有效性證明:每一個batch都包含一個稱為ZK-SNARK的密碼學證明,它可以證明post-stateroot是執行該batch的正確結果。無論計算量有多大,合約都可以迅速地在鏈上驗證證明。

但兩種「口味」的rollup之間有著復雜的權衡:

方案權衡

總的來說,我的觀點是:

短期內,Optimisticrollups很可能在通用的EVM計算中勝出,而ZKrollups則可能在簡單的支付、交易和其他特定應用場景中勝出,但最終從中長期來看,隨著ZK-SNARK技術的改進,ZKrollups將在所有場景中勝出。

欺詐性證明剖析

Optimisticrollup的安全性主要取決于:如果有人將一個無效batch發布到rollup合約中,那么保持跟蹤鏈上信息并發現欺詐的任何人都可以發布欺詐性證明,向合約證明該batch無效并回滾。

Vitalik為印度新冠援救運動捐贈100個枚ETH和100枚MKR:4月25日,Polygon聯合創始人Sandeep推特顯示,Vitalik為印度新冠援救運動捐贈超60萬美元加密貨幣。目前印度新冠疫情嚴重,Polygon聯合創始人Sandeep發起了援救運動,發動加密貨幣圈提供幫助。根據Etherscan信息,以太坊聯合創始人 Vitalik Buterin 已經捐贈已捐贈了 100 個 ETH 和 100 個 MKR。[2021/4/25 20:55:41]

如圖所示,聲稱某batch無效的欺詐性證明將會包含這些綠色數據:該batch本身和Merkletree的部分內容,從而證明該batch讀取或修改特定賬戶。

而該樹中的黃色節點可以從綠色的節點重建,所以不必提供。這些數據足以執行該batch并計算post-stateroot。如果計算出的post-stateroot和該batch中提供的post-stateroot不一樣,那么說明該batch具有欺詐性。

如果一個batch存在錯誤,但之前所有的batches都是正確的,那么就可以創建一個欺詐性證明以表示該batch是錯誤的。

請注意對舊的batches聲稱無效的處理:如果存在多筆無效batches提交到rollup中,那么最好盡量證明最早無效的batch。當然,如果一個batch是正確的,那么永遠不可能創建一個欺詐性證明以表示其無效。

Rollups是如何壓縮數據的?

一筆簡單的Ethereum交易通常消耗約110字節。然而,在Rollup上發送ETH僅僅消耗約12字節。

字節消耗對比

為了達到這樣的壓縮效果,一方面是采用了更簡單高級編碼,而目前Ethereum的RLP在每個值的長度上都浪費了1字節。另一方面,還有一些巧妙的壓縮技巧:

Nonce:該參數的目的是為了防止「重放」。如果賬戶的當前nonce是5,那么該賬戶的下一筆交易必須使用nonce5,但一旦交易被處理,那么該賬戶中的nonce就會被遞增到6,這樣采用nonce5的交易就不會被執行。在rollup中,我們可以完全省略nonce,因為我們只是從pre-state中恢復nonce。同時由于簽名會采用最新的nonce進行檢查,如果有人試圖使用舊的nonce重放交易,那么簽名將無法通過驗證。

動態 | 以太坊創始人Vitalik Buterin被巴塞爾大學授予榮譽博士學位:據coindesk報道,以太坊創始人Vitalik Buterin剛被巴塞爾大學授予榮譽博士學位。[2018/11/30]

Gasprice:我們可以允許用戶使用固定范圍的gasprices進行支付,例如2的16次冪。或者,我們也可以在每筆batch中收取固定費用,甚至可以將gas支付完全移到rollup協議之外,讓交易者通過特定渠道向batch創建者支付費用。

Gas:我們同樣也可以將gas設置為2的多次冪。另外,我們也可以在batch層面設置gas限制。

To:我們可以使用「索引」來代替20字節的地址。

Value:我們可以用科學計數法存儲value。在大多數情況下,轉賬僅需1~3有效位。

Signature:我們可以使用BLS聚合簽名,它允許許多簽名聚合成一個約32-96字節的簽名。然后,這個簽名可以一次性對整個消息集和發送者進行batch檢查。表中的~0.5表示一個區塊中可驗證的聚合簽名的數量是有限制的,因為它需要在一次欺詐證明中驗證簽名。

ZKrollups特有的一個重要壓縮技巧:如果交易的一部分僅用于驗證,并與計算狀態更新無關,那么這部分可以省略。這在Optimisticrollup中是做不到的,因為該數據仍然需要包含在鏈上,以防將來欺詐性證明檢查所需,而在ZKrollup中,證明數據正確性的SNARK已經提供了任何驗證所需的數據。

一個重要的例子是隱私保護rollups:在Optimisticrollup中,每筆交易中~500字節用于隱私的ZK-SNARK需要上鏈,而在ZKrollup中,覆蓋整個batch的ZK-SNARK已經足以表明「內部」的所有ZK-SNARKs是有效的。

這些壓縮技巧是rollup擴容的關鍵,如果沒有這些技巧,rollup或許只能在基礎鏈的擴容上有大約10倍的提升,但有了這些壓縮技巧,幾乎所有應用的擴容系數都可以超過100倍。

誰可以提交batch?

關于哪些人可以在Optimisticrollup或ZKrollup中提交batch的問題存在許多流派。一般來說,大家都認為提交batch的用戶必須先交納一大筆押金,如果該用戶提交欺詐性的batch,那么這筆押金的一部分將被燒掉,另一部分作為獎勵給到提交欺詐性證明的用戶。但除此之外,還存在許多可能性:

Totalanarchy:任何人都可以在任何時候提交batch。這是最簡單的方法,但它有一些嚴重的缺點,比如存在這樣的問題:多個參與者同時生成并試圖提交batch,而其中僅有一個batch可以成功被收錄。這將導致大量的浪費,比如沒有意義的生成batch證明或者提交batch到鏈上。

中心化的Sequencer:通過Sequencer這樣的角色提交batch。這是最「高效」的,但它依賴于一個中心化的角色。

Sequencer拍賣:通過拍賣來決定誰有權利成為第二天的Sequencer。這種方案的優點是可以籌集資金,而這些資金可以通過rollup的DAO來分配。

從PoS集合中隨機選擇:任何人都可以將ETH存入rollup合約中,每一個batch的sequencer都會從其中一個存款人中隨機選擇,被選中的概率與存款金額成正比。這種方案的主要缺點是大量資產被鎖定,導致資金效率低。

DPoS投票:Sequencer通過拍賣選中,但如果他們表現不佳,那么代幣持有者可以投票將其踢出,并舉行新的拍賣來替代他們。

改進提交batch和stateroot的方式

目前一些正在開發的rollup方案采用的是“splitbatch”模式,即提交Layer2batch的動作和提交一個stateroot的動作分開執行,這會有一些關鍵優勢:

你可以允許許多sequencers并行發布batch,以提高抗審查能力,而不用擔心一些batch會因為其他batch已經被打包而無效。

如果一個stateroot存在欺詐,你不需要回滾所有batch,僅恢復該stateroot即可,并等待有人為該batch提供新的stateroot。這樣可以更好地保障交易發送者的交易不會被回滾。

總的來說,這是一個相當復雜的技術組合,它們試圖在涉及效率、簡單性、抗審查和其他目標的復雜權衡中獲得平衡。但現在談哪種組合最有效還為時過早,而時間會證明一切。

Rollups將會帶來多大的擴容?

目前Ethereum的gaslimit是1,250萬,交易中每個字節的數據需要消耗16gas。那么如果一個區塊僅包含一個batch,那么該batch會有=75萬字節。如上圖所示,每一位用戶轉賬ETH僅消耗12字節,那么也就是說,該batch最多可以包含62,500筆交易。

在平均區塊時間為13秒的情況下,這相當于達到約4,807TPS。

部分用例擴容提升規模

那么擴容上限可以這么計算:

(L1gascost)/(bytesinrollup*16)*12million/12.5million

現在值得注意的是這些數字還是過于樂觀,原因有幾個:

首先,最重要的是一個區塊幾乎永遠不會僅包含一個batch,因為將可能會存在多個rollup方案同時運作。第二,存款和提款將持續存在。第三,短期內使用量會很低,所以固定成本成為主要消耗。但即使將這些因素考慮在內,預計擴容規模也會超過100倍。

現在,如果我們想要超過~1,000-4,000TPS,該怎么辦呢?這就是ETH數據分片的意義所在,sharding建議每12秒開辟一個16MB的空間,這個空間可以被任何數據填滿,系統保證對這些數據的可用性達成共識,而這些數據空間可以被rollup使用。

這個約1,398kB/s的數據量比當前Ethereum60kB/s提高了23倍,從長遠來看,數據容量有望進一步增長。因此,使用Eth2分片數據的rollup可以處理高達約100kTPS,未來甚至會更多。

Rollup還有哪些尚未解決的挑戰?

雖然現在Rollup的基本概念已經被大家所熟知,我們也很確認它們從根本上是可行的、安全的,以及已有多個rollup方案被部署到主網上,但rollup的設計仍然存在許多地方沒有被很好地探索,將Ethereum生態系統的大部分內容完全遷移到rollup上以利用其擴容能力也存在不少挑戰:

Userandecosystemonboarding-使用rollups的應用不多,用戶對rollups也不熟悉,目前很少有錢包開始整合rollups,而商家和慈善機構還不接受它們用于支付。

Cross-rolluptransactions-有效地將資產和數據(例如oracle輸出)從一個rollup轉移到另一個rollup中,而不會產生經過Layer1的費用。

Auditingincentives-如何最大限度地提高至少一個誠實節點會真正全面驗證一個Optimisticrollup的概率,以便出錯時他們會發布欺詐性證明。對于小規模的rollup來說,這不是一個重要的問題,可以簡單地借助利他主義,但對于更大規模的rollup來說,需要更嚴謹地推理這個問題。

Exploringthedesignspaceinbetweenplasmaandrollups-是否存在一些方法可以將狀態更新的相關數據放在鏈上,而不是所有的數據。

Maximizingsecurityofpre-confirmations-許多rollup為了更快的用戶體驗,提供了一個「預確認」的概念,即sequencer立即給予一個承諾,交易將被包含在下一個batch中,如果他們食言,sequencer的押金將被銷毀。但這種方案的經濟安全性是有限的,因為可能同時向許多用戶做出承諾,這種機制能否獲得改進?

Improvingspeedofresponsetoabsentsequencers-如果一個rollup的sequencer突然下線,那么快速和經濟地從這種情況中恢復過來將是非常有價值的:要么快速且經濟地大規模退出到另一個rollup,要么更換sequencer。

EfficientZK-VM-生成通用EVM代碼的ZK-SNARK證明可以被正確執行,并且有一個明確結果。

結論

Rollups是一種強大的Layer2擴容范式,預計將成為Ethereum短期和中期擴容的基石。我們已經看到了Ethereum社區對此感到大大的興奮,因為這與之前的Layer2擴容方案不同,它們可以支持通用的EVM代碼,允許現有的智能合約輕松遷移。

這是通過一個關鍵的妥協來實現的:放棄將數據和計算完全放在鏈下,而是將每筆交易的少量數據留在鏈上。

Rollups方案有很多種,在設計空間上會有很多選擇:可以采用欺詐性證明的Optimisticrollup,或者采用有效性證明的ZKrollup。Sequencer可以是一個中心化的角色,也可以是一個去中心化的角色,或者是介于兩者之間的其他選擇。

總的來說,Rollup仍然是一項早期階段的技術,一切仍在迅速發展,特別是Loopring,ZKSync和DeversiFi已經運作了幾個月。

期待在未來的幾年內,Rollup領域會出現更多令人興奮的工作成果。

原文:AnIncompleteGuidetoRollups

作者:Vitalik

譯者:阿樹

Tags:ROLLROLatcBATTROLL價格CoinControllerCashCATCEO注意力幣BAT免費挖礦

BNB
AEX安銀恢復ZER充提公告_比特幣:comb幣最高的價格

親愛的AEX安銀小伙伴:此前因ZER錢包節點維護,現錢包節點已恢復,自發布公告起,已恢復充提。 風險提示: 數字資產交易存在較大的風險,請您根據自身的實際情況決定是否參與交易,切勿盲目.

1900/1/1 0:00:00
BKEX Global 關于開啟九折認購BCH五倍杠桿ETP產品福利活動的公告_USD:USDM

親愛的BKEXer: BKEXGlobal將于2021年1月15日14:00于SeedIncubatorPro開啟九折認購BCH五倍杠桿ETP產品福利活動.

1900/1/1 0:00:00
2021配置哪些幣?_以太坊:DEFI

大家好,我是加密氣氛組成員佩佩,其實往年這個時候,是應該出一些預測類的內容,我看圈內的主流媒體也都轉載了很多大V的預測,不過在氣氛組待久了,也越來越覺得預測沒有太多的用處.

1900/1/1 0:00:00
Hotbit 定于2021年1月25日上線 GOGO(GOGO Finance)_TBI:BIT

尊敬的用戶: Hotbit即將在開啟GOGO數字資產服務。 具體安排如下: 充值時間:2021年01月25日14:00交易時間:2021年01月25日16:00(香港時間)提現時間:2021年0.

1900/1/1 0:00:00
CITEX杠桿ETF交易對份額合并公告_FLM:CZUSD價格

尊敬的CITEX用戶: 由于當前杠桿ETF產品AVAX3S、MKR3S、SRM3S、ZRX3S、AAVE3S、YFI3S、SUSHI3S、ETH3S、FLM3S、FLM3L、COMP3S、BTC.

1900/1/1 0:00:00
Stacks 推出比特幣上的應用和智能合約_STAC:quack幣的前景

Stacks2.0推出比特幣上的應用和智能合約,終于可以在比特幣上編寫智能合約創建dapp。在最有價值、最安全的網絡上創建dapp:https://www.stacks.co以太坊證明服務EAS.

1900/1/1 0:00:00
ads