真正的以太坊,遠比你想象的簡單(上篇)

買賣虛擬貨幣

在過去的文章裡,我們看到了太多關於區塊鏈的內容,卻如水中月鏡中花,讀完依舊迷茫。於是我們本能的反省,是不是區塊鏈真的只有技術人員能懂?其實不然... 除去市面上故弄玄虛的小眾人群,其實區塊鏈涵蓋的加密技術、分散式儲存等,早已經不是什麼新鮮事。有太深入淺出的文章我們沒有讀過,以至於覺得這個領域過於神秘。


今天這篇文章來自Josh Stark雖然有7000字,看似很長,但通篇沒有廢話沒有故作高深,是為數不多能將區塊鏈技術原理講的通俗易懂的文章,如果你能耐心讀完,一定會對以太坊、對layer2有個全新的認識,可能也會重燃起你對以太坊的信仰。



未來我們也將帶來更多此類文章。我們想做的,是讓更多人看到、看懂區塊鏈,更多人轉發此類深入淺出的好文章。只有更多人進入這個領域,所謂的區塊鏈「共識」,才會有未來。

—DapDap全體



2018年是以太坊建設基礎設施的一年。在這一年內,大家對網路侷限性進行了測試,重新把精力集中到擴容技術上。


以太坊仍然是非常稚嫩的,如今還不夠安全,無法擴充套件。這是每個熟悉以太坊的人的共識。但是在過去一年裡,由投機驅動的炒作,過分誇大了區塊鏈的能力。


以太坊與web3——一個安全、易於使用的分散式網路,受一套共識機制約束,併為數十億人使用——仍處於即將到來的狀態,在關鍵基礎設施完善之前,都很難實現。


構建這一基礎設施、擴充套件以太坊容量的專案,都被稱作擴容方案。有許多不同形式的方案,但往往都是相互相容或互補的。


在這篇文章中,我將深入探討一種擴容方案:“鏈下”或者“layer2”。


首先,我將討論以太坊(以及所有區塊鏈)擴容需要面臨的挑戰。


其次,我將談到解決擴容問題的不同方案,並闡述“layer1”和“layer2”的不同之處。


第三,我將介紹layer2,並分析它是如何工作的,特別是狀態通道(state channels)、Plasma、和Truebit。


本文的重點是讓讀者對layer2的工作原理有個全面而詳細的理解。但我不會深入到程式碼研究和特定的使用場景。相反,我們專注於讓讀者理解構建這種系統的經濟機制,以及所有layer2技術的原理。

03

通道狀態特點和限制




首先,必須要有這樣的概念——“擴容”不是單一的、具體的問題,它是一系列問題,如果以太坊想要為全球幾十億使用者提供服務,就必須克服這些阻礙。


最普遍的問題就是交易吞吐量。目前,以太坊每秒可以處理15筆交易,相較而言,Visa處理速度可以達到45000筆/秒。在過去一年裡,因為類似Cryptokitties這樣的應用程式太過流行,導致整個網路執行速度也開始放緩,交易價格增加。


類似以太坊這樣的公鏈,要求網路中每一個節點參與處理每一筆交易,這也正是其主要侷限所在。再以太坊上的每個操作——轉賬,Cryptokitty的誕生,ERC20合約的生成——都必須由網路中的每個節點一起執行。這是設計時決定的,也是公鏈權威的保證。節點不需要從外部得知區塊鏈的狀態,它們自己可以解決。


這意味著以太坊的交易吞吐量存在基本限制:不能高於從單個節點獲得的資料的速度。


我們可以要求每個節點做更多的工作。如果我們將區塊大小加倍(不考慮gas的限制),這將意味著每個節點所做的工作量大約是現在工作量的兩倍。但這是以犧牲去中心化為代價的:需要每個節點完成更多的工作,那麼功能較弱的計算機(如消費者的裝置)就可能會退出網路,而挖礦的權利將集中到強大的運營商手上。


因此我們需要一種方案,既能不增加單個節點的負荷,又能處理更多交易。


從概念上講,我們可以採取兩種方法來解決這個問題:


1) 如果每個節點不必並行處理每個操作呢?


第一種方法,改變前提:我們是否可以構建一個區塊鏈,鏈內節點都不必參與處理每筆交易呢?是否可以將網路分成兩個部分,半獨立地運作呢?


分開後,A部分可以處理一批交易,B部分也可以處理一部分,這樣區塊鏈交易吞吐量就提高一倍,因為我們現在設定每兩個節點可以同時工作。如果我們把區塊鏈分成許許多多不同區域,那吞吐量會提高許多倍。


這就是“分片(sharding)”背後的理念,是由以太坊V神和其他科研人員提出來的。將一個區塊鏈分成許多不同的“片”,每個“片”都可以獨立處理交易。分片一般是指layer1的擴容方案,因為它是在以太坊的基層協議上實現的。


2) 如果為以太坊建立協議層網路呢?


第二種選擇和第一種恰恰相反:與其增加以太坊自身的處理能力,不如在現有的基礎之上採取措施。在以太坊區塊鏈基本層的吞吐量不變的基礎上,嘗試執行更多操作,比如交易、狀態更新或簡單的計算。


這就是“鏈下”技術背後的原理,具體的技術包括狀態通道,Plasma,Truebit。雖然每一種技術旨在解決不同問題,但它們都需要在保證安全性的前提下,進行“鏈下”操作。


這也被稱作layer2,因為它們是建立在以太坊主鏈之上的,不需要在基礎層上進行改變,相反,只是作為與鏈下軟體互動的智慧合約存在的。


02

Layer2是加密經濟學解決方案




在深入解釋layer2解決方案前,我們先來了解一下其背後的原理。


公鏈的基本力量在於加密經濟共識。


透過仔細調整激勵措施,並將其與軟體和密碼學結合,我們能夠透過網路對系統內部達成共識。這也是中本聰白皮書中提到的重點,這點現在已經被應用到許多不同的公鏈中,包括比特幣和以太坊。


加密經濟共識給了我們一個確定性核心——除非發生像51%攻擊這樣極端事件,否則所有操作(包括支付,或者智慧合約)都將按書寫程式執行。


Layer2背後的原理是,我們可以將這個確定性核心作為一個錨——在此基礎之上附加其他經濟機制。Layer2可以將公有鏈的效用擴充套件到鏈外,讓我們在鏈外互動成為可能,在需要的時候,這些互動仍然可以返回到主鏈。


這些layer都是建立在以太坊主鏈之上的,所以它並不能持續保證與鏈上操作同樣的安全性。但是仍然可以確保它們是最終地、安全地、實用地——尤其是隻需要犧牲一點操作許可權,就可以提高運作效率,降低手續費用。


加密經濟學的起源並不是中本聰的白皮書,但這同樣不是終點——這是我們正在嘗試應用的技術。不僅在核心協議的設計上,也體現在旨在擴充套件底層鏈功能的layer2的設計中。

免責聲明:

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

推荐阅读

;