以太坊2.0是一個“未來女友”
編者按:
信仰至上,區塊鏈的世界裡,以太坊是一個眾多開發者共同支撐起的龐大生態,而反之支撐開發者的也是信仰,但開發者想要實現的目標卻在不斷延後以太坊的進度。這就好像夢想中的女友,有憧憬,但始終存在於未來,甚是有趣。
以太坊始終代表著區塊鏈的應用型未來,因此無論以太坊已經被競爭鏈diss的多麼嚴重,其發展代表的依舊是主流,EDCON是以太坊繼巴黎會議後又一個大型的集會,金色財經與參會並發表演講的Speaker“CyberMiles首席科學家Michael Yuan”和CyberMiles的開發者 Timothy McCallum 共同約稿,寫下了他們在開發者大會上的所見所聞,其中將以太坊及一些工程化方案詳細敘述。由金色財經記者整理並加入了更多的輔助性內容。
作者介紹:
Michael Yuan 博士
Michael Yuan擁有美國德州大學奧斯汀分校天體物理學博士學位,並撰寫了5本關於軟體開發的書籍。他積極為大型開源專案貢獻編碼,如火狐瀏覽器、Fedora和JBoss等專案。他是企業和移動軟體專家,曾任多項美國政府支援的研究專案的負責人。
Timothy McCallum
Timothy McCallum專門研究區塊鏈在商業中的實現。他是金融科技程式設計專家,最新的專案是幫助地方政府進行金融資料遷移。2015年,他獲得AMP明日基金獎。他的工作中心是為複雜的問題找到不同尋常的解決方案。Timothy McCallum是谷歌開源專案Summer of Code的著名導師。2014年曾作為谷歌的嘉賓,在矽谷與來自世界各地的軟體開發人員合作。
EDCON2019已在澳大利亞悉尼落下帷幕,與6個月前的DEVCON4不同的是,Vitalik Buterin一轉平時技術天才的形象,帶領以太坊核心開發者進行了一場別開生面的Rap開場表演。隨及視訊在各個社群病毒式傳播,而讓這一次的開發者大會備受關注。整個會議的氛圍是歡快有趣的,不只是乾貨滿滿的會議演講,還有社群互動、思想碰撞,協作編碼機會,甚至是物理難題挑戰。
在開幕的Rap表演之後,Vitalik Buterin就回到了技術開發者的身份,介紹了Casper CBC。更具體地說,是Casper CBC共識協議系列如何在以太坊2.0中發揮作用的。Casper CBC是以太坊2.0階段中實現POS共識的重要工具,最終達到的目標是依靠Casper CBC可以在不斷變化的分叉中確定哪一條才是基礎鏈,也就是正確的廣播的路徑。
在他的演講中,我們發現了一個最有趣的事實是,Casper CBC實際上沒有“協議內”的錯閾值(閾值容錯?)(即向後相容後期的改動)。取而代之的是,客戶端要求了更高的安全性,以達到每個以太坊2.0客戶端都可以通過選擇自己的要求來選擇如何與協議進行互動。
重點:
l 終端是客戶端
l 以太坊2.0協議中沒有最終界限。
有趣的幾點:
l 驗證人根據fork選擇規則選擇哪個鏈是“規範”的
l 驗證人在特定的鏈上構建塊,這加強了該鏈的主導地位
l 驗證人不能惡意切換到另一個鏈,這會產生可證明的違規行為
這些要點最初由Vlad Zamfir發明,是安全、非同步的BFT共識新流派的一部分。
以太坊2.0驗證人
隨著演示的進行,以太坊2.0中,驗證人的角色和職責變得越來越明顯。例如,成為驗證人需要在以太坊1.0主鏈的相應智慧合約中存入32個ETH。 一旦這32個ETH得到確認,驗證人就在Beacon chain上開始行使職責。Beacon chain是以太坊2.0的系統鏈,是驗證人發揮作用,生成隨機數,存放存款和發生削減的地方。
一旦使用隨機抽樣選擇了驗證人,它們就會在beacon chain上服務大約2周。 這些驗證人承擔責任,需要提出有效的以太坊2.0區塊,建立交聯(分片鏈之間的通訊)和對正確的交叉分片連結進行投票選擇。
以太坊2.0驗證人獎勵和處罰
當然,如果沒有處罰,任何質押(staking)系統都不會完整。驗證人的懲罰包括但不限於一般的不作為、證明不正確的資料以及錯誤地證明實際上不可用的資料。在本次會議上,所有的演講都更多地關注了總體技術架構,因此沒有詳細介紹驗證人的盈利能力。根據特定的假設,以太坊2.0規範中懲罰和獎勵部分提供了具體值和年度獎勵百分比。
以太坊核心研究員Hsiao-Wei Wang發表了精彩的演講,主要概述了“以太坊beacon chain驗證人的一天”。DannyRyan則提供了很好地說明來如何將分片(sharding)和權益證明集合到一個設計中以建立以太坊2.0,其提供的簡單概述圖如下:
以太坊2.0路線圖(第0階段)
這次會議的大多數演示引用了以太坊2.0路線圖。具體而言,會議引用了以太坊2.0的第一階段(通常稱為階段0)。在這個階段,以太坊2.0的技術指標是具體的。前進的道路現在主要集中在工程和開發上。目標是在今年年底之前釋出上圖所示的beacon chain的核心繫統級權益證明。相比於去年11月在布拉格舉辦的以太坊開發者大會,這次召開的會議已經有明確的時間線,不再是泛泛而談。
第0階段實施計劃於2019年第4季度完成。以太坊2.0分階段實施的原因是可以讓開發人員,測試人員和社群採取更保守的方法。例如,階段0的目標是實現beacon chain,但仍不能有外部帳戶或任何使用者的活動。
類似地,階段1(當然將在階段0之後)將引入分片鏈(sharded chain),但是隻有測試資料。同樣沒有使用者帳戶或使用者活動。預計以太坊2.0的第2階段實施將增加賬戶,智慧合約等。
以太坊2.0客戶端
Prysmatic Labs的聯合創始人兼技術負責人Preston Van Loon做了題為“如何構建生產就緒的以太坊2.0客戶端”的精彩演講。雖然最初設想現有的以太坊1.0客戶端是可以更新或升級的,但開發人員在實際操作中已經認識到以太坊2.0客戶端必須從頭開始編寫。
這種新方法的優點之一是,開發人員現在可以接受全新的創意,而無需擔心如何與現有以太坊1.0客戶端整合的問題。這帶來的挑戰是最終所有不同的新客戶端都需要從互操作性的角度來調整。目前來自世界各地的100多名開發者正致力於開發幾十個不同的以太坊2.0客戶端。
以太坊社群中開發者異常活躍,已經出現非常多的專案提出了不同的想法,社群參與和合作的方式同樣適合CyberMiles,而目前,最重要的是可以提供創新的區塊鏈解決方案兼具高效能、安全、使用者適用。Michael Yuan博士將在後文演示CyberMiles如何提供了高效能同時安全且對使用者友好的解決方案。
以太坊1.x怎麼樣?
顯然,以太坊2.0距離可用的狀態還有漫長的時間。然而,這並不意味著當前的以太坊使用者和開發人員仍要使用過時和緩慢的技術。以太坊2.0的許多創新都在今天的以太坊區塊鏈中都可以實現。
例如,整個會議中最常見的討論主題之一是layer2網路。layer2網路可以將當前的以太坊區塊鏈擴充套件到每秒數萬個交易(TPS)。Plasma的各項實施工作顯然是最受關注的,但Liquidity網路、Celer網路等其他解決方案也在會議中進行了深入的討論。
新的開發工具也正在開發中,用來改善以太坊使用者和開發人員的體驗。其中特別有趣的示例有:用於整合DApp開發和部署的Embark框架,用於區塊鏈資料視覺化和查詢服務的Amberdata,以及用於錢包APP中的自動進行token相關操作的Tokenscript。開發者工具也是CyberMiles的創新重點。
與此同時,將整個應用程式資料儲存在區塊鏈上的“鏈上應用程式”正在成為以太坊標準基礎架構的一部分。這對於Uniswap、Kyber Network和MakerDAO等Defi(去中心化金融)應用更為重要。
例如,自6個月前推出以來,現已有價值1000萬美元的ETH鎖定在Uniswap的流動資金池中,並且Uniswap的每日交易達到200萬美元。另一方面,MakerDAO已在其存款池中鎖定了價值超過3億美元的ETH。 Defi,包括ERC220 token合約,很可能成為以太坊的標準基礎設施。
以太坊核心開發人員Lane Rettig就Ethereum 1.x路線圖發表了演講。他討論了當前PoW以太坊區塊鏈將會發生的有趣改進,包括對Solidity和Vyper語言的改進,以及Solidity和位元組碼之間的新中間語言,用來為Ethereum 2.0的新eWASM虛擬機器太坊風格的(以WebAssembly)做準備。這些改進將使以太坊平臺在虛擬機器層面更具可用性和高效能。同樣,這也是CyberMiles希望為社群做出積極貢獻的領域。
Lity and CyberMiles
CyberMiles首席科學家Michael Yuan博士闡述了Lity(Solidity語言的擴充套件語言)如何為區塊鏈程式設計提供創新功能。例如:
l 編譯器和執行時支援
l 內建函式,如安全的隨機數
l 純函式,如JSON庫
l 新資料型別,如安全整數(safeuint)
l 新的結構,如區塊鏈規則引擎
我們重點解釋規則引擎。
區塊鏈規則引擎可以幫助開發者適應更多的應用方向。智慧合約的程式碼是固化的,一旦部署,智慧合約的邏輯就不可更改。並且,在部署時,只會傳送一組有限的可能條件和邏輯結果,許多現實世界的應用與智慧合約的固化相沖突。這種剛性複雜的互動需要更動態的解決方案,因此規則引擎就成了救星。
規則引擎已經在許多“非區塊鏈”企業程式語言和框架中使用。例如Drools,Jess和Pega等業務規則平臺。也已經為許多行業提供了價值,包括金融,商業,旅遊和政府。Michael Yuan博士用程式碼演示瞭如何在區塊鏈程式設計的未來使用規則引擎。
支援模組化是規則引擎一個重要的特性,因為建立業務邏輯大多是業務分析人員的工作,而不是智慧合約程式設計師。模組化還允許程式碼重複使用,支援並行開發。CyberMiles所提供的區塊鏈規則引擎為業務分析師設計和建立規則提供了一種無需編寫智慧合約程式碼的機制。其中包括現實世界的應用,這些應用展現了規則引擎作為那些不是程式設計師的人的需求必要性。
最簡單舉例有快餐訂單,如果選單上的清單需要慢慢被加進“套餐”中,沒有規則引擎,傳統的智慧合約程式碼會變得很長,難以編寫且無人理解。而從下圖中可以看出,規則語法使其變得非常簡單。
規則引擎提供了一種適用於非程式設計師的簡潔解決方案,易於編寫,理解和維護。規則引擎非常強大,部署後,規則引擎採用Rete演算法,這是一種模式匹配演算法,用於確定規則執行的正確順序。
(Tim 與Uniswap創始人Hayden Adams)
寫在最後
在這次開發者大會上有很多令人驚歎的講者、團隊和專案。在最後,我們引出幾個專案,都是非常鼓舞人心並且很有趣的專案。
Embark
Embark最初於2015年釋出,是一個以太坊開發框架,為開發人員提供了建立私有區塊鏈,除錯智慧合約等的能力。從我們的理解上“Embark節省了時間”。 Embark擁有強大的CLI,Web UI儀表板,資源管理器,自己的程式碼編輯器,還集成了IPFS等去中心化服務。Embark是一個完全開源的專案,由開發人員建立,並且是為了開發人員而建立的。
以太坊Classic Labs
以太坊Classic Labs做了一個很棒的演講,為我們介紹了一個名為Open RPC的絕妙專案。在我們看來,這個專案將有助於提供無處不在的通訊協議,這將大大改善以太坊DApp的開發環境。以太坊Classic Labs還提供孵化器計劃,為創業公司提供資金。傳達的重要資訊是,雖然大部分開發都是由以太坊經典實驗室(ETC)建立的,但旨在被更廣泛的以太坊(ETH)社群使用。
以太坊貓牧人(Cat Herder)
以太坊Cat Herder專案旨在為像以太坊這樣的大型合作提供去中心化的專案管理支援。演講者回憶起以太坊的早期階段,那時候,決策中心化並且籌得的資金被隨意花費,和今天的許多加密專案非常相似。以太坊現在成為了一個高度組織化的專案,有許多相互衝突的利益相關者,這是對社群力量的一種考驗,也是其他專案的良好範例。
Virgil Griffith - 引數保險(基於可量化條件的保險)
以太坊基金會的特別專案負責人Virgil Griffith就去中心化的保險協議和產品進行了精彩的討論。Virgil舉例說明了現實世界的結果如何自動呼叫付款。一個典型的例子是天氣保險,其中保險單的購買者將基於諸如風速這樣的簡單度量自動接收保險支付。
例如,當氣象站(接近上了保險的財產)登記的風速超過閾值時,觸發即時支付。不需要保險評估員,也不會有延遲。另一個例子是航班延誤保險,根據航班延誤的時間實時發放支付。無需一堆檔案申報,無需等待。
這個演講使我們重新審視了Michael Yuan博士關於區塊鏈規則引擎的演講。Michael Yuan博士舉例說明了規則引擎如何解決複雜問題,例如在複雜情況下計算獎勵。例如,一名乘客在起飛後不久獲得金牌常飛旅客身份,但不能很快兌換該特定航班的獎勵。
許多現實場景中的引數保險領域和其他引數服務,如部分收穫的農作物,健康保險等等都可以用到這裡。在我看來,最終落到這樣的事實:業務分析師以及其他建立策略,模型和合同的專業人士都是在非常高階的抽象層級上工作。另一方面,區塊鏈開發人員和工程師在一個極其特定的層面工作,編寫和建立去中心化的基礎設施。規則引擎方法允許高階業務邏輯無縫地接入去中心化應用程式(DApp)層。
EDCON2019對於開發者以及各團隊來講,是一個成效卓著、輕鬆友好的社群活動。在加密貨幣的世界以及區塊鏈的世界中,以太坊必然是濃墨重彩的一筆,儘管以太坊已隨著行業變化趨於金融,但值得關注的是開發者們並不想侷限於此,仍然在不斷探索。V神雖固執,但整個以太坊的世界中,有很多人在嘗試補足以太坊生態,補足整個區塊鏈的生態,這就是我們共同期待的未來。