以太坊2.0? 親歷3天的Devcon我看到了這樣一個以太坊 | 見聞錄

有人說,區塊鏈最大的應用就是發行 Token 和開會。作爲從業者,這一年多下來,我也參加過許多會議。但深深覺得以太坊 Devcon 是區塊鏈技術行業中最高水平的會議,這場會議指明瞭以太坊2.0的發展規劃與路徑,這是一場純粹的技術會議,參與者都是有高度技術信仰的程序員與自由主義者。

在區塊鏈的各種大會中,以太坊的 Devcon 是最爲技術最爲權威的,沒有之一。今年的 Devcon 三千張門票,每張近二千美元,在開售之後幾分鐘之內售完,搶購盛況堪比蘋果手機發佈。

我是從去年開始參加 Devcon 活動的。去年的 Devcon3 在墨西哥的海濱度假勝地坎昆,那時我們的項目 CyberMiles 剛剛成立,沒有人知道。

今年的 Devcon4 在捷克首都布拉格舉行,很多人一看見 CyberMiles 都知道這是在以太虛擬機上發明實現了 libENI 與 Lity 語言擴展的團隊。一年時間,我們與以太坊一起成長,也在開源技術社區中有了自己的一席之地。那麼,以太坊成長的未來又在哪裏呢?

以太坊要支持大規模的落地應用的必要不充分條件,是必須先解決安全、性能、可擴展性、易用性等技術問題。這些技術的研發藍圖也是這次 Devcon4 的主旋律。而這些技術可能產生的社會變革,怎麼安全公平地推廣使用技術,以及技術對個人自由,私有財產,等普適價值觀的影響,也是這次大會熱列討論的方向。

因爲 Devcon4 的參會者基本上都是有高度技術信仰的程序員與自由主義者,我在布拉客任何時間任何地點,都沒有聽到任何有關幣價的討論,也沒有看到人們爭着與名人照相。這與其它各種區塊鏈大會,反差強烈。

那麼,以太坊下面的技術藍圖是什麼呢?專門創作技術小調的網紅歌手 Jonathan Mann 的開場歌詞說明了一切,也是我們下文的大綱。

注:BUIDL 是專門把 Builder 這個詞拼錯。指區塊鏈世界裏真正寫軟件,貢獻價值的人。對應於幣圈的 HODL,holder,是指有信念長期持幣的人。

以太坊 2.0:沒有時間表的計劃

以太坊的下一個上線版本叫君士坦丁堡,再下一個叫做寧靜,也就是大家常說的以太坊 2.0。以太坊 2.0 的三大創新是:權益證明的共識機制、分片和 Ewasm 虛擬機。

注:從某種意義上講,區塊鏈軟件是永遠不會有 2.0 的。區塊鏈軟件必須在任何時候都能處理從第一個創世塊到現在的所有塊,不能有與 1.0 不兼容的 2.0 軟件。但是,以太坊的寧靜版有很大的改變,是對目前以太坊的硬分叉,所以也叫以太坊 2.0。

當然,雖然目標與路徑已經有了,以太坊寧靜版的具體實現仍然任重道遠。事實上,我注意到 Vitalik 的講話中沒有給任何時間點。這些功能可能在一年之內實現,也完全有可能是二年甚至三年。以太坊的目標是技術改變世界,不是幣市的牛熊。

Casper

以太坊寧靜版的最大特色,也是最大挑戰,是需要把以太坊從一個工作量證明的區塊鏈,變成一個權益證明的區塊鏈。這是對基本共識機制的改變,也是以太坊的未來基礎。這個改變帶來的好處是以太坊性能的大幅提升,因爲 PoS 是比 PoW 更有效率得多的共識機制

開發一個基於 PoS 的區塊鏈並不是尖端科學。CyberMiles 就是一個基於權益證明,兼容以太坊所有功能,但是有 PoS 性能的公鏈。

但是,對於以太坊來說,這個轉化涉及社區各方,尤其是礦工的利益,所以挑戰非常大。Casper 是以太坊由 PoW 轉向 PoS 的過渡軟件,在很長的一個過渡期,會有 PoW 與 PoS 兩個機制共存。

Casper 的測試鏈在去年 Devcon 之後上線,CyberMiles 團隊早期參與,見證了它從很不穩定到現在的相對穩定。

在 Devcon4,大家的共識是 Casper 的軟件已經基本穩定。這次大會關於 Casper 的設計與方向的討論已經沒有多少了。

分片

以太坊擴容的第二個重要想法是分片。

與數據庫分片相似,區塊鏈分片可以由一部分節點處理一部分工作。這樣,整個系統能處理的總工作量就可以隨着節點數增加而增長。有了分片,以太坊的擴容就是增加更多的計算節點那麼簡單。

分片技術核心開發者王筱維(Hsiao-Wei Wang)

分片擴容聽上去容易,其實做起來非常難。怎麼分片,各個片之間怎麼共識?在研發 Casper 的過程中,大家發現 Casper 的共識機制也可以用來爲分片提供共識。因此,有人也就叫這種分片機制叫 Shasper。

我在 Devcon4 的感受是,Shasper 還有很多未解的問題。但是因爲這與廣大應用開發者關係不大,所以討論基本侷限在以太坊核心開發團隊之中。

當然,分片的想法不只是 Shasper 一個。針對應用的公鏈,比如針對電商的 CyberMiles,本身就是邏輯分片的。幾個,乃至幾百幾千個,針對各種應用的公鏈通過去中心化交易平臺連接,這就是通過應用邏輯分片。

Ewasm

如果 Casper 與分片是以太坊 2.0 的前期目標的話,EWASM 虛擬機就是它的後期目標。由於虛擬機是應用軟件與以太坊交互的窗口,廣大開發者社區對 EWASM 表現出了很大興趣。

今天以太坊的虛擬機叫 EVM,是加密專家寫的。它雖然圖靈完備,但是主要是爲加密共識算法設計的。作爲一個通用計算平臺,EVM 的效率,性能,安全性,可用性,都相當差。

EWASM 是基於開源的 WebAssembly 虛擬機,把虛擬機的一部分隔離出來做共識計算,然後讓正常的 WebAssembly 做通用計算。因爲 WebAssembly 已經有一個很大的開源社區,包括它的創造者 Mozilla Foundation、Google 與 Microsoft,這明顯是一個正確的選擇。

EWASM 的一個特點是支持多種編程語言。llvm 支持的十幾種編程語言都可以編譯在 EWASM 上運行。同時,EWASM 有一個擴展插件機制,可以支持用 C/C++ 語言寫的插件來拓展虛擬機的功能。比如,一個高性能的算法可以直接通過插件放入虛擬機,讓所有應用程序調用。

注:CyberMiles 的 libENI 爲今天的 EVM 提供了一個擴展插件的機制,包括通過共識機制讓插件上鍊的機制。這是以太坊社區在這方面的一個探索。

可是,在 Devcon4 參與了近十個小時的 EWASM 講座與實驗室,我的感覺是 EWASM 離真正上線還很遠(估計要兩年)。目前,它還沒有測試鏈,寫不出一個像樣的 “hello world”,而且路徑依賴於 Casper。

注:EWASM 是在 2015 年由 EIP-48 提出的,已經開發了三年。

其他技術熱點

以太坊寧靜是以太坊的下一個主鏈。從 Devcon4 可以清晰地看出,以太坊的力量在於圍繞主鏈的生態與社區。

側鏈

我們前面討論過了,以太坊生態的最大挑戰是擴容。在 Casper / 分片 / EWASM 爲基礎的主鏈擴容之外,另一個很重要的擴容方案是用側鏈。

側鏈的基本原理是在主鏈之外進行大量的交易,這些交易的正確性與安全性是由一個智能合約批量在主鏈上驗證的。

這其實就是爲比特幣成功擴容的閃電網絡的基本想法。只是以太坊的交易中含有代碼,比起比特幣的複雜性大大增加了。所以以太坊沒有閃電網絡,需要完整的區塊鏈智能合約平臺在主鏈之外執行交易,這就叫側鏈。

因爲側鏈是主鏈以外的“第二層”所以叫做 Layer 2 network。

可是如同上面講過的很多想法,側鏈也是一個看似簡單,實現很難的想法。側鏈的設計機制有好幾種,也有好幾個項目融了資,在這個領域探索。在 Devcon4 主會場上有影響的側鏈設計就是 Plasma。

以太坊首席歡樂官 Karl Floersch

Plasma 這個設計在幾個月前有一個最小驗證的產品叫 Plasma MVP,給了社會很大信心。但是 Plasma MVP 也有很多問題,不能在現實場景中使用。受到 Plasma MVP 的啓發與鼓勵,以太坊開發者社區目前有好幾個 Plasma 的實現項目在競爭。

以太坊核心工程師 Karl Floersch 給大會介紹了 Plasma 實現的現狀。他很樂觀,認爲在過去的幾個月之中,這些項目已經試通了一條路:“我們已經站在山頂,可以看見曙光”。但是對於應用開發工程師來說,我們還在等待第一個以太坊主鏈上可用的 Plasma 側鏈。

零知識證明

在過去兩年中,零知識證明一直是區塊鏈研究的重點之一。零知識證明可以在所有交易都上鍊透明的區塊鏈上保證交易的保密與隱私。這裏突出的例子是 zcash。

去年區塊鏈技術圈的大新聞是以太坊引入了對 zkSNARK 的支持。這樣零知識的可能被應用於智能合約,比如構建有隱私保護的數據市場。目前零知識算法的可用性與性能都有諸多不足之處,所以應用還相當有限。

但是就在最近,Vitalik 發表了一篇文章講零知識證明可以用來成批次地打包驗證交易。這樣,以太坊會有第二種不依賴側鏈的交易打包擴容方案。

安全

在去年 Devcon3 期間,以太坊聯合創始人 Gavin Wood 的融資智能合約被人發現一個安全問題,導致時價2.8億美元的930,000個 ETH 被鎖在智能合約裏,沒人能動。

之後,以太坊智能合約的安全問題頻出,造成了大量的經濟損失。以太坊智能合約的安全工具與諮詢公司也進入了我們的視野。在市場上聲音比較大的是各種形式化驗證工具,從數學上證明軟件的正確性。

但軟件安全最終是一個系統工程,需要工具,也需要流程與系統。今年的 Devcon4 有好幾個關於智能合約安全的討論會,其內容包括了系統化的方法論,安全測試,驗證與項目管理的工具,以及具體項目安全評估之後的覆盤。

我感覺,Devcon4 是區塊鏈開發者向傳統軟件開發工程系統靠近的一年。

UI / UX

區塊鏈開發以前一直是加密學專家與系統程序員的天下。在過去的一年,大家發現區塊鏈應用對於廣大用戶來說太難了,落地很難,就象早期撥號上網的互聯網。

所以,今年 Devcon4 請了去年比較成功的應用項目介紹 UI / UX 的經驗,同時也請來了傳統互聯網世界的著名 UI / UX 設計師來給大家講解一些基本概念與技巧。

以太坊生態中用戶最多的項目是錢包項目。面向開發者的錢包 Metamask 已經有一百萬用戶,並且有計劃向面向消費者的移動錢包發展。Metamask 在主會場分享了他們的經驗與發展計劃。

同時,開發者也在試圖建設讓整個以太坊更加易用的基礎設施。

比如以太坊的域名服務(ENS)是一個社區設立的智能合約,可以把以太坊的賬號或者合約地址映射到人類可讀的名字(就像 DNS 把數字的 IP 地址映射到人類可讀的域名)。

技術的社會責任

從比特幣之初,加密貨幣的技術社區就一直強調技術對社會的責任。我們開發的新技術是會被用來戰爭,壓迫個人自由,還是會增加人類的幸福?

這是幾十年前愛因斯坦,奧本海默的困惑,也是今年 Google 僱員的鬥爭。技術的力量能不能建成核電站,但是不造原子彈?加密貨幣是加劇社會的貧富差距,還是爲個人自由賦能?

嘉賓 Steward Brand 與 Corey Doctorow 等人帶來了精彩的演講與討論。

這屆 Devcon4 可能有 1/4 的時間在探討這個問題。比如,可以擁有財產,根據規則自主決策,甚至有性複製的智能合約是一種“法人”嗎?該不該有“人權”?會不會在以後統治人類?而人類社會本身,能不能通過數學化的極端市場,去掉公司,政府,甚至私有財產本身?

看到這些討論,我突然覺得程序員真的是未來世界的主宰,軟件已經吃掉了全社會。

寫在最後

以太坊 Devcon 是名符其實的代表區塊鏈技術最高水平的大會,它定下了下一年區塊鏈技術發展的方向。與我今年在亞洲美國參加的各種大會小會相比,Devcon 是一股清流:這裏只談技術,不談幣價。

大會演講視頻鏈接: https://slideslive.com/38911427/

Michael Yuan博士,CyberMiles基金會聯合創始人&首席科學家。畢業於美國德克薩斯大學奧斯汀分校,獲天體物理學博士學位。 Michael在開源軟件開發方面擁有豐富經驗,曾參與火狐瀏覽器、Fedora 和JBoss等項目,也是多項美國政府支持研究項目的負責人。 2005年,Michael被社區選爲“Java冠軍”。迄今爲止,Michael 撰寫了6本關於軟件開發的書籍,其中新書《Building BlockchainApps》由世界上最大的高等教育出版商 Addison Wesley出版。

--【完】--

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章