比特幣都破8000美元了, 以太坊的可擴充套件性解決方案怎麼樣了?

買賣虛擬貨幣

作者 | Andreas Wallendahl

譯者 | Guoxi

責編 | 喬治

出品 | 區塊鏈大本營(blockchain_camp)

可擴充套件性一直是以太坊的一大痛點,以太坊 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 ):透過交易轉接橋智慧合約以及相應的交易中繼機制將包含以太坊完整功能的側鏈錨定到以太坊主網上。

  • Plasma 鏈:包含以太坊所有功能的子鏈,Plasma 鏈會定期將其狀態的變化提交到根區塊鏈(例如以太坊主網)上。

可擴充套件性解決方案的折衷

各個解決方案的安全性、吞吐量、可用性以及使用成本怎麼樣?下表做了詳細的總結。

各解決方案的原理及具體實現

以下介紹的可擴充套件性解決方案都是開源且支援開箱即用的,你可以將它們用在去中心化應用程式中。不過需要注意的是,這些可擴充套件性解決方案都仍處於開發階段,在你的應用主網上線之前一定要仔細審計它們的安全性。

為了方便使用,這裡並沒有列出那些還沒有真正落地或是程式碼還未開源的可擴充套件性解決方案。

1、區塊鏈鏈下交易簽署(元交易)

  • 使用者使用以太坊公鑰私鑰對在區塊鏈鏈下籤署交易,公鑰私鑰對可以由 keccak256 雜湊演算法計算得出。

  • 這筆簽署後的交易可以儲存在星際檔案系統中( InterPlanetary File System,IPFS )或資料庫中,然後分批加入到以太坊主網上的一筆筆交易中。

  • 就比如說,如果你想要在以太坊主網上宣告一些東西的所有權,你可以將這些宣告彙總起來作為主網上的一筆交易,而不需要分別為每一個宣告發起一筆交易。

  • 你可以透過點對點日誌儲存系統 scuttlebot 來點對點地傳遞這筆交易,當接收方透過公鑰驗證交易有效時,交易就可以用作以太坊主網上智慧合約的預言機輸入。

  • 如果交易的設定允許,那麼智慧合約在接收交易後可以執行交易中的內容。

  • 在以太坊柏林開發者大會上,穩定幣 MakerDAO 團隊基於鏈下交易簽署的方法提出了一種鏈下價格預言機的解決方案。

可參考資源

  • Karl Floersch:雜湊函式以及交易簽署基礎教程

    https://cryptoeconomics.study/

  • Mario Conti:基於鏈下交易簽署的價格預言機

    https://view.ly/v/Rt275OYzLCI1

  • Vitalik Buterin:以太坊預言機

    https://blog.ethereum.org/2014/07/22/ethereum-and-oracles/

2、支付通道與狀態通道

狀態通道

  • 交易的雙方將各自的區塊鏈初始狀態(例如,每一方的賬戶餘額)鎖定在一個智慧合約中,你可以簡單地把這個智慧合約看作是一個多重簽名的錢包。這樣確保了在狀態通道執行期間智慧合約中的資金一直處於凍結狀態,直到雙方共同簽名進行解鎖。

  • 交易的雙方透過不斷傳遞狀態的更新(例如各自賬戶餘額的更新)來進行交易。只要雙方對最終的狀態更新沒有異議,他們隨時可以共同簽名來解鎖智慧合約中鎖定的資金。

  • 當雙方完成交易時,他們會各自向智慧合約提交狀態更新。如果他們的狀態更新相匹配,那麼最終的狀態(就比如說每一方的賬戶餘額)會被寫入到區塊鏈中,通常情況下,這時的狀態會與狀態通道開啟時的初始狀態有所不同。

支付通道

狀態通道只能用以太幣以及 ERC-20 通證計價,而支付通道沒有這種侷限性。

支付通道精簡的結構允許更大的吞吐量和更高效的設計,因為支付通道只會更新一個(或很少的幾個)狀態:淨差額(the net balance)。

出現爭議該怎麼辦?

  • 根據協議設計,由交易雙方簽名的每個狀態更新都會被分配一個唯一的隨機數( nonce ),用以標識出每一次狀態更新。在遇到爭議時,以隨機數較新的狀態為參考。

  • 在一次交易中,當甲方提交狀態更新時,他的挑戰期也隨之開始。在此期間,乙方可以提交一個隨機數較新的狀態更新。如果乙方沒有提交狀態更新,挑戰期計時器到期,智慧合約將會選擇隨機數較新的狀態(即甲方最後提交的狀態)作為最終狀態,將此狀態上傳至區塊鏈並按照此狀態解鎖並返還資金。

現有的專案以及實現

  • 以太坊雷電網路(Raiden):一種支付通道解決方案,它支援近乎即時、費用低廉且可擴充套件的交易。閃電網路是對以太坊區塊鏈功能的完善,它相容所有 ERC-20 通證。

  • Connext:Connext 正在構建一個開源的點對點微支付基礎設施。他們的第一款產品使用了以太坊區塊鏈上的支付通道,支付通道可以將許多區塊鏈鏈下交易彙整合數量很少的鏈上交易。

3、側鏈以及轉接橋

轉接橋(或稱中繼)將交易資訊從執行著各自共識演算法的側鏈傳遞到以太坊主網中。它會在主網上鎖定資金或狀態(或是同時鎖定),並在側鏈上執行去中心化應用程式收集並處理交易。

  • 使用者將其在以太坊主網上的以太幣/ ERC-20 通證存入轉接橋智慧合約。

  • 期間去中心化應用程式會一直執行,當所有交易完成後,使用者可以在以太坊主網上取回自己的以太幣/ ERC-20 通證。

  • 使用者只需要支付存款和取款這兩筆交易的手續費。

  • 對於在側鏈上執行的交易,使用者可能還需要支付較少的交易費用,側鏈 Loom 和 POA 都存在執行成本,因而 Loom 向去中心化應用程式以 Loom 通證的形式收取手續費,POA 則要求使用者在側鏈上以 POA 通證的形式支付燃料費用。

  • 想要消除側鏈上的燃料費用,你完全可以把去中心化應用程式執行在一條私有區塊鏈上,但這樣做最大的一個挑戰是,你需要吸引礦工來私有區塊鏈上挖礦。

可參考資源

  • 觀看影片:Parity 轉接橋在以太坊測試網路 Ropsten 和 Kovan 上使用以太幣/ ERC-20 通證的測試部署

    Parity Bridge Ropsten-Kovan Ether-ERC20 Test Deployment

  • 區塊鏈資產管理公司 Melonport 和區塊鏈平臺公司 Colony 已經開始實現並測試 Parity 轉接橋,去中心化商業平臺 Swarm.City 和區塊鏈非營利組織 Giveth 正在測試轉接橋上的訊息傳遞機制

  • 轉接橋技術詳解:

    https://wiki.parity.io/Bridge

  • 轉接橋智慧合約程式碼:

    https://github.com/poanetwork/poa-bridge-contracts

現有的專案以及實現

  • POA 網路是一個基於以太坊旨在為智慧合約提供開源框架的平臺。

    POA 網路是以太坊的一個側鏈解決方案,在共識機制方面它使用了權威證明( Proof of Authority,POA )。

  • Loom 是一個以太坊第二層可擴充套件性解決方案,它專為社交、遊戲等需要非常高吞吐量的去中心化應用程式設計。開發人員可以使用 Loom 軟體開發工具包( SDK )建立一條專為可擴充套件性最佳化的側鏈:去中心化應用程式區塊鏈(dAppChain),其使用了 DPoS 共識機制。

  • SKALE 的彈性側鏈繼承了標準側鏈的全部優點,同時它還提供完全去中心化網路帶來的安全保障。彈性側鏈具有效能強大、可配置、相容以太坊/ Web3 協議的特點。

4、Plasma 鏈

Plasma 鏈技術概覽

  • 初始化 Plasma 鏈,編寫智慧合約,並將其提交給根區塊鏈;

  • 交易都在 Plasma 鏈中執行,Plasma 鏈會定期向根區塊鏈提交資料(Plasma 鏈中的區塊雜湊值);

  • Plasma 鏈的共識規則建立在防偽證明( fraud proofs )上。如果某一區塊是無效的,任何人都可以提交區塊無效的證據來回滾區塊鏈;

  • 每條 Plasma 鏈都可以設定獨有的規則,以便對特殊用途的去中心化應用程式做出最佳化。

現有的專案以及實現

正在開發 Plasma 鏈的團隊:包括 FourthStateLabsOmiseGoKyokan 和 Plasma 團隊。

  • Kyokan 最小可行 Plasma 鏈:為了方便開發人員快速上手,Kyokan 面向支付場景實現了最小可行 Plasma 鏈( minimal viable plasma,MVP )。

  • Plasma 團隊:Plasma 團隊致力於為整個以太坊社羣提供開源的 Plasma 鏈實現,他們的使命是透過探索 Plasma 鏈的全部潛力來推動第二層可擴充套件性技術的發展。

以上為以太坊可擴充套件性解決方案的原理及具體實現,你看好哪一種?或者說你還是否看好以太坊,請留言告訴營長吧

免責聲明:

  1. 本文版權歸原作者所有,僅代表作者本人觀點,不代表鏈報觀點或立場。
  2. 如發現文章、圖片等侵權行爲,侵權責任將由作者本人承擔。
  3. 鏈報僅提供相關項目信息,不構成任何投資建議

推荐阅读

;