為什么擴容:在layer1上,交易速度慢,燃料價格高
擴容的目的:在保證去中心化和安全性的前提下,提升交易速度,更快確定交易,提升交易吞吐量(提升每秒交易量)
目前方案有:
on-chain鏈上擴容
更改現有區塊鏈結構
off-chain鏈下擴容
不更改layer1區塊鏈結構
on-chain鏈上擴容,對區塊鏈本身性能進行提升
一層解決方案:
1·更改共識機制:PoW->PoS
2·分片:橫向分割數據庫
3·擴大區塊規模
可能會導致硬分叉
off-chain鏈下擴容:無需更改現有以太坊協議
1·側鏈 Side chains
定義:獨立的區塊鏈,與以太坊并行獨立運行,不會將狀態更改和交易數據發布回以太坊主網;犧牲安全性和去中心化換取高吞吐量
方法:雙向錨定的跨鏈橋
主鏈資產鎖定,側鏈鑄造相同的資產
側鏈種類
1·單一托管模式 Centralized (basic third partyauthority)
存在交易所,過于中心化
2·聯盟模式 Federation - multisig federation中心化
公證人多簽
3·簡單支付驗證 SPV(simple payment verification)去中心化
(不重要)驅動鏈模式 Drivechain
(不太重要)混合模式驅動鏈 +公證人/側鏈
側鏈安全性自身協議保證
項目:Polygon POS,Polygon POS,Gnosis Chain, Skale, Palm.Ronin,分片鏈(ETH 2.0)
優點
兼容性高,支持智能合約
性能高,TPS高
低費用
用于探索和測試
缺點
安全性不受保障
去中心化程度低
隱私性較弱
側鏈上的交易公開可見
2·二層解決方案Layer2(直接從第一層以太坊共識中獲得安全性,二層執行交易,數據/結果錨定會主鏈)
1·Channel
特點:
更注重安全性,而非可用性
通道采用多簽合約,使參與者能夠在鏈下快速自由地進行交易,然后再與主網結算
數據可用性:所有的數據存在Layer2,由Channel雙方保證DA狀態
有效性**:挑戰期(參與者質押)、(參與者內部) 欺詐證明 Fraud Proof**
通過質疑者質疑扣除質押
a1.支付通道 Payment Channel
a2.狀態通道State Channel
優點
適合高頻、小額支付
交易成本低
狀態有效性高
隱私性強
具有即時的最終確定性
缺點
提幣慢
不適用于偶爾轉賬給對方的用戶
不支持開放參與
TPS一般
不支持智能合約
所有者需100%在線
不能用于表示沒有明確邏輯所有者的對象
通道上的交易公開可見
2·Plasma:解決了將資產可以發送給任意目標人
因為通道無法支撐大規模,大資金和復雜交易的局限性
特點:
解決了channel的局限性(結合了側鏈的設計:解決了將資產發送給任意目標人的問題,同時也能夠確保TPS的提升)
Plasma 鏈是獨立的區塊鏈,但它們錨定在以太坊主網上 (安全性)。也可以稱為子鏈,因為它們是以太坊主網的較小副本
不支持智能合約,僅支持基本的代幣轉移、交換和其他一些交易類型
可以無限創建“鏈中鏈”
運營商提供周期性的“狀態承諾”
也是merkle樹保證,但是只用提交狀態根
1任何一個狀態的變化都會導致Root hash發生變化
2如果兩棵樹的根哈希值相同,那說明他們的葉子結點存儲的信息完全一致了
3可以確認某一個狀態信息存在于某個哈希樹中
如果發現和自己交易的merkle樹根不一樣,就可以提交欺詐證明,扣除欺詐人的押金
觀察期:用戶需要每隔一段時間記錄一次等離子鏈,作為驗證者,提交欺詐證明,哪怕就只有一個誠實節點,就可以提交欺詐證明,維護安全
數據不可用,如果運營商作惡,就沒有辦法,因為他可以不公開交易
大規模退出方案,發現作惡,自動提款
項目:matic
優點
吞吐量高
交易成本低
適用于任意用戶之間的交易
不需要提前鎖定資金
安全性高
缺點
無法運行智能合約
固定提交周期
提款慢(觀察區,欺詐證明導致)
需要定期觀察網絡
依靠一個或多個運營商來存儲數據并根據要求提供服
大規模退出問題
3·rollup
Plasma運營商負責發布交易的狀態根,他可能作惡,不上傳所有交易,運行商數據有效性,權力過大
Roll-Up(在第一層之外執行任務,并在達成共識時,在第一層公開數據。 由于交易數據包含在第一層區塊中,因此可以通過原生的以太坊安全性來保證卷疊的安全性)
和plasma相同:主鏈之外執行交易,將交易成批處理,最后將狀態發回主網
和plasma不同:將交易數據提交給主鏈
和plasma不同:最大限度壓縮交易數據,同時基于自身的特性適當刪除和縮減部分數據
State Root狀態根(默克爾樹 Merkle Tree概念)
Batch批次
壓縮
種類
Optimistic Roll-Up樂觀卷疊
假設所有交易都是有效的,并在沒有任何初始證明的情況下提交批次
欺詐證明:任何人可以在挑戰期內,檢測并證明有數據是虛假的
項目
優點
高吞吐量
低交易成本
安全性高,依賴于主網的安全性和共識
保證了去信任的最終性,
狀態的有效保證了數據的可用性
EVM的兼容性(solidity)
缺點
提款慢
安全模型依賴于至少一個誠實節點
必須在鏈上發布交易數據,也需成本
Zero Knowledge Roll-Up零知識證明卷疊
零知識證明 (ZKP):證明者能夠在不向驗證者提供任何有用的信息的情況下,使驗證者相信某個論斷是正確的
與OP Rollup相同: Rollup也是將交易捆綁成批次,鏈下執行,一同上鏈
與Optimistic Rollup不同: ZK Rollup 提交者多提交一個“有效性證明
證明可以在提交batch幾分鐘后完成
省略掉了驗證者保存數據,在挑戰期提交欺詐證明的環節
也不再需要在提交后再等待7-14天來做驗證
智能合約進行驗證(但是證明過程不兼容evm)
壓縮
1,生成的證明體積遠遠小于證明內容的體積(因此比op 上傳到主網的字節要小很多)
2,如果事務的一部分僅用于驗證,并且與狀態更新無關,那么該部分可以下鏈,從而減少字節。但這不能在optimistic roll-up中完成因為該數據仍然需要包含在鏈上,以防以后需要在欺詐證明中進行檢查(比較zk不需要挑戰期和欺詐證明)
生成、驗證一個zk證明需要非常非常大量且復雜的計算,因此研發進度和實際應用非常慢
EVM不兼容
zk-SNARK (Succinct Non-Interactive Argument ofKnowledge)簡潔非交互式知識論證
ZK-STARK(Scalable Transparent Argument ofKnowledge) 可擴展的透明知識論證
優點
正確性高
交易快
數據可用性依賴代碼和密碼學而非經濟激勵機制
安全性高
效率優化度高(目前最高)
交易費用低
缺點
開發速度慢
應用不廣泛
EVM不兼容
硬件方面的中心化風險
Validium
類似于ZK rollup (零知識證明) ,不同之處在于數據被保存在鏈下
吞吐量不受以太坊數據處理能力的限制、提高擴展性、交易速度、降低用戶費用
存款和取款類似rollup
純鏈下:運營商無需發布交易數據
數據可用性問題:運營商作惡,隱藏鏈下數據而用戶無法過的具體交易數據,用戶就沒有辦法計算merkle證明
因為是提交有效性證明進行提款,所以運行商作惡,用戶無法得到hsah root,就無法提款
而Plasma中,運營商作惡可以盜取用戶資金,因為使用的是欺詐證明,用戶又無法證明自己欺詐了,因為運行商不給所有正確的交易數據
鏈下數據可用性管理方法:
1)數據可用性委宏會數據可用性委員會
指定一組受信任的實體(統稱為數據可用性委員會)來存儲鏈下數據副本
緊急情況下將鏈下數據副本變為公開可訪問
用戶可以無需通過運營商,直接調用主合約的提款功能,將他們的資金提回。
+ve: 容易實施并且只需較少的協調
-ve:集中化風險
2)綁定數據可用性
通過經濟激勵機制和去中心化的形式來保證鏈下數據的可用性
質押代幣、分配存儲鏈下數據
擴大人數,減少集中性風險,更去中心化
項目
優點
有效性證明防止運營商作惡
交易速度快
適用于特定用例 (eg 隱私交易、可擴展應用)
高吞吐量
交易費用低
可擴展性
缺點
開發速度慢
應用不廣泛
EVM不兼容
硬件方面的中心化風險
安全性低(賴于信任假設和加密經濟激勵)
鏈下數據可用性問題: (運營商作惡),用戶可能無法從鏈上合約中提取資金
總結
1.各方案對比,rollup有效地保證了狀態有效性+數據可用性,保留了先前方案的優勢,同時解決了他們的局限性。從而成為目前擴容領域的的龍頭。
2.在roll-up方案中,短期optimistic roll-up;長期ZK roll-up
https://www.youtube.com/watch?v=I598C9GFDvk
說明:
筆記總結為了方便學習
對作者RJ小姐姐Twitter: https://twitter.com/0xRJ_eth表示感謝🙏.