Infura 現已支持以太坊之外的網路,包括 Arbitrum、Optimism 和 Polygon。
這三個項目都是全新的區塊鏈網路,相比以太坊,它們提供了更低的交易費和更快的交易確認速度,關鍵是,它們還提高了以太坊的易用性,因為用戶原本放在以太坊上的資產也能拿到這幾個網路中使用,
這種擴展方法被稱為 “鏈下協議”,我們寫了一篇簡短的文章來解釋它們如何能有助于擴展以太坊的吞吐量(并提高其易用性),
為什么不直接在以太坊上交易呢?吞吐量的瓶頸在哪?
– 圖 1. 過去三個月的平均 Gas 價格。在網路擁堵時就會飆升。-
以太坊只支持每秒 15 筆交易,而且,從圖 1 中可以看到,在用戶的需求超過吞吐量瓶頸時,手續費水平就會飆升,從某種程度上來說,吞吐量的限制是社區為了追求去中心化而制定的自我約束。
去中心化的目標是最大化全世界能夠實時驗證區塊鏈完整性的參與者的數量,這個目標對于最小化對區塊生產者的信任,是非常關鍵的,所以社區自我強制實施了界定區塊有效性的共識規則。為了達成參與者占世界人口比重的目標,需要限制交易處理所帶來的計算量、存儲量和帶寬負擔,
(譯者注:作者在此處的推理是成立的,但是表述卻是浪漫化的。我從來沒聽過誰能確定全節點(也即所謂的實時驗證者)的運行負擔與參與者數量的關系并以此提出計算量等方面的資源約束。這樣的研究有幾分可信度是值得質疑的,而現實也根本不是這樣運行的。我們只需知道,提高吞吐量并不是沒有代價的事情,就可以了,暗示大家有個一致的共識應該怎么控制吞吐量,則神化了 “社區” 這個概念,阻礙了人們認識實際的情形。)
我們的挑戰是,既要提高吞吐量,又不能逾越資源的約束,
為什么我需要了解鏈下協議比如側鏈和 rollup?
大部分擴展網路的方法都從下面幾點著手:
- 分發驗證負擔,驗證任務在網路的節點之間分配,而不是像以太坊當前這樣要求所有節點都做一模一樣的工作,
- 更好地利用網路中可用的資源,網路中的資源應該能持續不斷地得到利用,而不應出現閑置。舉個例子,縮短出塊的時間間隔以更好地利用帶寬。
這些可擴展方案可能仍需要很多年來實現,因為它們需要對底層的以太坊協議作重大變更,
但另一種更為流行的替代方案是鏈下協議,它們是現在就可用的,因為它會以如下的方式來擴展網路的吞吐量:
鏈下協議:交易處理的負擔從以太坊上轉移到另一個網路中,但這些交易所影響的資產仍然駐留在以太坊上。
這樣的擴展方案等于是動用了另一個區塊鏈網路,其資源約束也將與以太坊的不同。這樣的網路可以用來實驗多種擴展協議(也可以單純用來測試 go-etherum (以太坊網路當前的主流客戶端)的極限),同時提高以太坊的易用性。
當我把資產充進另一個網路時,這些資產去了哪里?
你的資產會轉移到以太坊上的一個專門的橋接合約里,然后目標網路里會你的賬戶中會出現等量的資產,資產鑄造完成后,你就可以在目標網路里使用這些資產了,并且最終,當你想把資產取出時,你需要通過相應的橋接合約來取回,
并非所有的橋接合約都具備同樣的功能和特性,我們必須考慮橋接合約是怎么決定在何時釋放資產、還給用戶的。理想狀態下,只有橋接合約確信對應的網路沒有遭到破壞時,才應該放行資產,這個就是所謂的 “信任假設”,是保護用戶資金的終極措施。在討論鏈下協議是否真的能擴展以太坊時,這一點經常會引發爭議。
一方面,有些用戶認為,另外的區塊鏈網路確實是一個擴展方案,因為它們能保證與以太坊同等(或非常接近)的安全性,常常被人討論的 “rollup” 協議最理想時是能實現這種程度的安全性的,但是,另一些用戶會接受更強的信任假設,相信鎖在另一個網路中的資產總是足夠安全的(只需要是 “側鏈” 就能讓他們滿意)。
與主鏈保持同樣安全性的 rollup 方案(相比于側鏈),會需要付出更多的資源。舉個例子,Rollup 網路中的每一筆交易都需要向橋接合約提交一次狀態更新,但側鏈協議就無需以太坊投入巨大的資源開銷,因為交易的驗證是由一組外部的參與方來執行的。(譯者注,確切來說,是因為側鏈無需把自己運行的任何細節暴露在以太坊區塊鏈上),這種 安全性/資源 的取舍,最終會轉化成用戶的經濟負擔,天下沒有免費的午餐。
不管怎么說,我們相信,采取不同信任假設的橋接合約都會出現。最終,所有支持交易以太坊上資產的網路都會提高以太坊的易用性,只是用戶在把資金鎖入橋接合約之前需要三思,需要意識到信任假設的區別和風險。
什么是側鏈?
“側鏈” 這個詞是始創于 Blockstream 的一篇論文,它是一種互操作性的解決方案,讓兩個區塊鏈網路能通過輕量級的證明來驗證有關彼此進展的資訊,這種構想的初衷是希望能在比特幣區塊鏈上鎖定比特幣,然后在另一個網路中釋放(或者反之),而無需信任任何中介。
但幾年過去,“側鏈” 這個詞獲得了自己的生命力,它通常用來指代與另一個區塊鏈網路有關聯的一個獨立的區塊鏈網路。實際上,這是通過一個允許資產從主鏈(比如以太坊)移到另一個區塊鏈網路的橋接合約來實現的,
側鏈可能會用到三種不同類型的橋接合約:
- 單組織型,單個團體托管了鎖定在橋接合約中的資金,
- 多組織型。特定的多個獨立參與方托管了鎖定的資金,N 個參與者中只需 K 個同意即可執行動作。
- 密碼經濟型,動態的參與者組合,由資產權重決定參與資格,決定鎖定資金的去向。
舉個例子,WBTC 就是一個單組織型的橋,因為 BTC 是由 BitGo 托管的,而 Liquid 網路和 RSK 區塊鏈則是由多組織橋來實現的,因為一組預先指定的參與方有權把資產從一條鏈轉移到另一條鏈(以多簽名來表示許可)。而 Polygon 是一個密碼學經濟橋,因為它依賴大于 (2/3) 的權益多數來指定驗證者,再由驗證者定期向橋接合約提交網路狀態檢查點(且這個檢查點可以用來授權用戶取款)。
最重要的是,側鏈的橋合約是不會去驗證其它網路的完整性的,因此,它需要一組參與者為有效性負責。也就是它假設了至少會有一定比例的參與者會因為經濟激勵而保持誠實并保護用戶的資產。
雖然側鏈交易不需要消耗以太坊的資源,代價就是它無法獲得以太坊同等的安全性以及(最終來看)免信任性。
什么是 rollup?
“Rollup” 一詞來源于 barry whitehat 提出的 zkrollup 概念,脫胎于 Plasma 的研究。
一個 Rollup 系統也是一個獨立的區塊鏈網路,但是 Rollup 系統中交易的資產留存在以太坊區塊鏈上并受到橋接合約的保護,橋接合約必須不斷確認 rollup 網路沒有被破壞、資金沒有處于風險之中。在最糟糕的情況下,橋接合約需要無視網路的請求,允許用戶取回資金,
Rollup 可以保持(至少是非常接近)以太坊的安全程度,代價是要解決以下幾個問題:
- 數據可得性。橋接合約必須確定所有數據都是公開可得的,這使得每個人都能獨立計算這個 rollup 的最新狀態。
- 狀態轉換的完整性,橋接合約必須確認,所有的狀態轉換(交易)都是有效的,
- 抗審查性。橋接合約可以自主執行交易,以保證如果網路被攻陷(或者不能推進),用戶最終可以自己取出資金。
快速總結一下解決方案,數據可得性問題通過把系統內所有交易的數據發布到以太坊區塊鏈上來解決,這也是 “rollup(卷)”名字的由來(它把交易都卷了起來成批上鏈),狀態轉換的完整性問題則使用錯誤性證明(fraud proof)(Optimistic rollup)或者有效性證明(ZK rollup)來解決,抗審查問題則有些棘手,通常也不會討論,但它需要橋接合約能夠自主接受和執行普通用戶發起的交易,
Rollup 有一個持續付出的成本,這樣的網路必須持續向橋接合約提供證明,證明所有得到處理的交易都是有效的,網路沒有被攻破。這需要消耗以太坊的資源,也影響了它的可擴展性,不過,從中期來看,它還是可以大幅降低用戶的交易成本。舉個例子,在 Arbitrum 上,一次幣幣互換的成本是 1600 gas,而在以太坊主網上需要 12 萬 gas,
側鏈與 Rollup 有何區別?
側鏈(比如 Polygon)和 Rollup(比如 Optimism 和 Arbitrum)都是獨立的區塊鏈網路,它們有自己的區塊生產者和智能合約運行環境。它們的關鍵區別在于鎖定資金的橋接合約,準確來說,是保護用戶資金的信任假設的區別,
- 側鏈,橋接合約會接收關于獨立網路的資訊,但不會驗證其正確性,一組掌控這個橋接合約的參與者會負責檢查獨立網路的狀態(確保其未被攻陷),并向橋接合約表示相關的事實。
- Rollup,一組參與者(定序器)負責為獨立網路的狀態更新提供證據,并由橋接合約來驗證這些證據的有效性(以及獨立網路是否完整而未遭破壞)。
這里面有個細微的區別,但歸根到底,在于主鏈上的橋接合約是否能強制保證獨立網路上的交易的有效性,還是說,它只能依賴于一組受信任的參與方來表示這些交易是有效的,
當然,天下沒有免費的午餐,Rollup 網路可以保持與以太坊主網同樣的安全性,但也要在以太坊網路中消耗更多的資源,這就拉高了在 rollup 網路上交易的成本,作為一個用戶或者開發者,你需要考慮網路所提供的額外安全性和額外付出的財務成本,
沒有最好的,只有最合適的,
那我要怎么開始使用 rollup 或者側鏈呢?
你可以回看一下我們的部落格公告,我們已經支持了包括 Arbitrum、Optimism 和 Polygon 在內的網路。
上述的所有網路都使用與以太坊網路相同的 JSON PRC 標準,也都支持兼容 EVM 的智能合約。你可以在自己的 Infura 賬戶中激活這些網路,更新供應商的 URL,然后就可以跟這些網路交互了。
Arbitrum 和 Optimism 都還是 beta 版本,還在正式版本發布的準備階段。你可能需要聯系他們團隊來部署你的合約。Polygon 已經啟動了,你現在就可以部署合約上去,
希望這篇文章能幫助你了解側鏈和 rollup,我們 Infura 已經支持以太坊網路超過 5 年時間,我們很激動能支持這些新項目并提高以太坊的易用性和可擴展性,