以太坊擴展性解決方案的進展如何了?
編者按:本文來自區塊鏈大本營編者按:本文來自
區塊鏈大本營
區塊鏈大本營
編者按:本文來自
區塊鏈大本營
區塊鏈大本營
編者按:本文來自
區塊鏈大本營
區塊鏈大本營
(ID:blockchain_camp),來源:Breakermag,作者:Andreas Wallendahl,譯者| Guoxi,責編| 喬治,Odaily經授權轉載。
可擴展性一直是以太坊的一大痛點,以太坊2.0 的升級計劃中關於可擴展性的改進佔據了半壁江山。在以太坊2.0 計劃面世半年後的今天,可擴展性問題有所好轉了麼?
本文主要概述現有以太坊可擴展性解決方案以及這些方案所做出的折衷,同時為區塊鏈開發人員總結了一些可以開箱即用的可擴展性解決方案。
可擴展性究竟難在哪裡?
為什麼可擴展性難題如此之難?我經常說到“可擴展性三元悖論( Trilemma ,也被稱為三難選擇)”,這是因為區塊鏈必須在各個屬性之間做出折衷。對於所有區塊鏈來說,同時獲得去中心化、可擴展性、安全性三個屬性並非易事。
— — 以太坊聯合創始人Vitalik Buterin,2017年11月
比特幣和以太坊等無需許可的公共區塊鏈在第一層選擇了優化去中心化和安全性這兩個屬性,因而它們在可擴展性上都表現不佳。
在這些區塊鏈中,任何參與者都可以花費相當低的時間和資本承諾成為一名驗證者,低門檻吸引了成千上萬的挖礦節點參與到工作量證明中,保護區塊鏈免受51% 算力攻擊,這種高度的去中心化帶來了高度的安全性,按照今年4 月份的數據來算,在以太坊區塊鏈上執行51% 算力攻擊的成本為每小時10萬美元,作為加密貨幣中的老大哥,在比特幣區塊鏈上執行51% 算力攻擊的成本為每小時35 萬美元。
得益於高度的去中心化和高度的安全性,以太坊備受人們的青睞,從而成為全球區塊鏈經濟中的首選,並為去中心化應用程序提供了一個良好的平台。
但是,以太坊在去中心化和安全性方面光鮮的背後則是在可擴展性上的巨大犧牲。雖說以太坊對於簡單交易的理論處理速度上限為每秒14-15 筆,但在當下,以太坊每秒只能處理大約5 筆交易,一旦達到每秒6 筆交易就會出現負載過重的現象。對於任何主流的消費者應用或金融應用來說,這個數量級都太小了,更何況是作為一個全球性的平台。
以太坊可擴展性最大的製約條件是,像以太坊這樣無需許可的公共區塊鏈需要每一個挖礦節點驗證每一筆交易。
— — Josh Stark,《深入理解以太坊第二層可擴展性解決方案》
這麼嚴重的問題,難道整個以太坊社區都坐視不管麼?並沒有,事實上以太坊基金會對以太坊2.0 中的區塊鏈基礎設施升級有著一個完整的規劃路線圖,在其中可擴展性佔據了重要的地位,也就是說在未來幾年里以太坊將集中力量解決可擴展性問題。
但是遠水解不了近渴,如果我們現在正在構建的應用程序需要可擴展性,那該怎麼辦呢?當然了,這取決於你具體的使用場景。即使將來以太坊2.0 在可擴展性方面取得了巨大成功,你可能也不希望將所有的交易都發送到以太坊主網/第一層上,你還是會選擇第二層解決方案。
如今以太坊仍存在以下3大痛點
價格昂貴:用戶需要為每筆交易支付燃料費用,而隨著交易數的增多,燃料費用以及以太幣價格也隨之水漲船高。
接下來,我們來聊聊當前業界都有哪些已經落地了的可擴展性解決方案,這裡我們只討論最常用的5 個,當然了這並不是全部,除此之外業界還有很多能提升區塊鏈交易吞吐量的可擴展性解決方案,就比如說區塊鍊鍊下計算,但由於篇幅原因這裡不做過多討論。
二級標題


區塊鍊鍊下交易簽署(元交易):使用以太坊的公鑰私鑰對來在區塊鍊鍊下簽署交易,你可以把交易存儲在本地或發送出去,甚至還可以以點對點的形式傳遞,最終交易被發送到區塊鏈上時會按照交易的內容和數字簽名更新區塊鏈的狀態(例如,增加投票( #votes ),更新以太坊預言機( oracle )價格)。
二級標題
二級標題
側鏈以及轉接橋( Bridges ):通過交易轉接橋智能合約以及相應的交易中繼機制將包含以太坊完整功能的側鏈錨定到以太坊主網上。
二級標題
二級標題
可擴展性解決方案的折衷
各個解決方案的安全性、吞吐量、可用性以及使用成本怎麼樣?下表做了詳細的總結。
二級標題
各解決方案的原理及具體實現
以下介紹的可擴展性解決方案都是開源且支持開箱即用的,你可以將它們用在去中心化應用程序中。不過需要注意的是,這些可擴展性解決方案都仍處於開發階段,在你的應用主網上線之前一定要仔細審計它們的安全性。
為了方便使用,這裡並沒有列出那些還沒有真正落地或是代碼還未開源的可擴展性解決方案。
https://cryptoeconomics.study/
1、區塊鍊鍊下交易簽署(元交易)
https://view.ly/v/Rt275OYzLCI1
用戶使用以太坊公鑰私鑰對在區塊鍊鍊下簽署交易,公鑰私鑰對可以由keccak256 哈希算法計算得出。
https://blog.ethereum.org/2014/07/22/ethereum-and-oracles/
這筆簽署後的交易可以存儲在星際文件系統中( InterPlanetary File System,IPFS )或數據庫中,然後分批加入到以太坊主網上的一筆筆交易中。
就比如說,如果你想要在以太坊主網上聲明一些東西的所有權,你可以將這些聲明匯總起來作為主網上的一筆交易,而不需要分別為每一個聲明發起一筆交易。
你可以通過點對點日誌存儲系統scuttlebot 來點對點地傳遞這筆交易,當接收方通過公鑰驗證交易有效時,交易就可以用作以太坊主網上智能合約的預言機輸入。
如果交易的設置允許,那麼智能合約在接收交易後可以執行交易中的內容。
在以太坊柏林開發者大會上,穩定幣MakerDAO 團隊基於鏈下交易簽署的方法提出了一種鏈下價格預言機的解決方案。
可參考資源
Karl Floersch:哈希函數以及交易簽署基礎教程
Vitalik Buterin:以太坊預言機
支付通道
2、支付通道與狀態通道
狀態通道
交易的雙方將各自的區塊鏈初始狀態(例如,每一方的賬戶餘額)鎖定在一個智能合約中,你可以簡單地把這個智能合約看作是一個多重簽名的錢包。這樣確保了在狀態通道運行期間智能合約中的資金一直處於凍結狀態,直到雙方共同簽名進行解鎖。
交易的雙方通過不斷傳遞狀態的更新(例如各自賬戶餘額的更新)來進行交易。只要雙方對最終的狀態更新沒有異議,他們隨時可以共同簽名來解鎖智能合約中鎖定的資金。
當雙方完成交易時,他們會各自向智能合約提交狀態更新。如果他們的狀態更新相匹配,那麼最終的狀態(就比如說每一方的賬戶餘額)會被寫入到區塊鏈中,通常情況下,這時的狀態會與狀態通道開啟時的初始狀態有所不同。
支付通道
狀態通道只能用以太幣以及ERC-20 通證計價,而支付通道沒有這種局限性。
支付通道精簡的結構允許更大的吞吐量和更高效的設計,因為支付通道只會更新一個(或很少的幾個)狀態:淨差額(the net balance)。
出現爭議該怎麼辦?
根據協議設計,由交易雙方簽名的每個狀態更新都會被分配一個唯一的隨機數( nonce ),用以標識出每一次狀態更新。在遇到爭議時,以隨機數較新的狀態為參考。
在一次交易中,當甲方提交狀態更新時,他的挑戰期也隨之開始。在此期間,乙方可以提交一個隨機數較新的狀態更新。如果乙方沒有提交狀態更新,挑戰期計時器到期,智能合約將會選擇隨機數較新的狀態(即甲方最後提交的狀態)作為最終狀態,將此狀態上傳至區塊鏈並按照此狀態解鎖並返還資金。
現有的項目以及實現
以太坊雷電網絡(Raiden):一種支付通道解決方案,它支持近乎即時、費用低廉且可擴展的交易。閃電網絡是對以太坊區塊鏈功能的完善,它兼容所有ERC-20 通證。
Connext:Connext 正在構建一個開源的點對點微支付基礎設施。他們的第一款產品使用了以太坊區塊鏈上的支付通道,支付通道可以將許多區塊鍊鍊下交易匯集成數量很少的鏈上交易。
Parity Bridge Ropsten-Kovan Ether-ERC20 Test Deployment
3、側鏈以及轉接橋
轉接橋(或稱中繼)將交易信息從運行著各自共識算法的側鏈傳遞到以太坊主網中。它會在主網上鎖定資金或狀態(或是同時鎖定),並在側鏈上運行去中心化應用程序收集並處理交易。
https://wiki.parity.io/Bridge
用戶將其在以太坊主網上的以太幣/ ERC-20 通證存入轉接橋智能合約。
https://github.com/poanetwork/poa-bridge-contracts
期間去中心化應用程序會一直運行,當所有交易完成後,用戶可以在以太坊主網上取回自己的以太幣/ ERC-20 通證。
用戶只需要支付存款和取款這兩筆交易的手續費。
對於在側鏈上運行的交易,用戶可能還需要支付較少的交易費用,側鏈Loom 和POA 都存在運行成本,因而Loom 向去中心化應用程序以Loom 通證的形式收取手續費,POA 則要求用戶在側鏈上以POA 通證的形式支付燃料費用。
想要消除側鏈上的燃料費用,你完全可以把去中心化應用程序運行在一條私有區塊鏈上,但這樣做最大的一個挑戰是,你需要吸引礦工來私有區塊鏈上挖礦。
可參考資源
觀看視頻:Parity 轉接橋在以太坊測試網絡Ropsten 和Kovan 上使用以太幣/ ERC-20 通證的測試部署

區塊鏈資產管理公司Melonport 和區塊鏈平台公司Colony 已經開始實現並測試Parity 轉接橋,去中心化商業平台Swarm.City 和區塊鏈非營利組織Giveth 正在測試轉接橋上的消息傳遞機制
轉接橋技術詳解:
轉接橋智能合約代碼:
現有的項目以及實現
POA 網絡是一個基於以太坊旨在為智能合約提供開源框架的平台。
POA 網絡是以太坊的一個側鏈解決方案,在共識機制方面它使用了權威證明( Proof of Authority,POA )。
Loom 是一個以太坊第二層可擴展性解決方案,它專為社交、遊戲等需要非常高吞吐量的去中心化應用程序設計。開發人員可以使用Loom 軟件開發工具包( SDK )建立一條專為可擴展性優化的側鏈:去中心化應用程序區塊鏈(dAppChain),其使用了DPoS 共識機制。
SKALE 的彈性側鏈繼承了標準側鏈的全部優點,同時它還提供完全去中心化網絡帶來的安全保障。彈性側鏈具有性能強大、可配置、兼容以太坊/ Web3 協議的特點。
4、Plasma 鏈


