新組建的企業以太坊聯盟(EEA,Enterprise Ethereum Alliance)發布了一份遠景文件,名為《企業以太坊協議的愿景:用戶和利益相關者對以太坊協議的建議和實現,以及進展在以太坊協議中的集成》。在這份文件中,EEA探討的主題包括:可插拔共識(Pluggable Consensus)、監管、互操作性、以太坊協議更新、安全代碼執行、存儲和性能優化等。
這份愿景文件的發布,與EEA發布的30家企業共聚一堂探討以太坊企業用例這一標志性事件是密切相關的。EEA的聯盟成員有一些是具有良好業務基礎的大型企業,例如Microsoft、J.P.Morgan、Intel和Thomson Reuters等;也有一些是區塊鏈的初創企業,例如BlockApps、String Labs和ConsenSys等。
EEA為2017年確定了五個短期目標,分別是:
開發完全模塊化的以太坊實現,分離網絡和存儲層并定義清晰的接口。實現一個可插拔共識的原型,在轉換為共識算法時最小化對代碼的更改。
隨數據隱私和許可架構一并測試潛在可用的一致性算法。
開發一套清晰的能力和性能特性,適合如下的企業需求:
a. 在有十方參與的網絡中達到每秒100次交易。
b. 高容量、高價值的用例。
c. 高可用性和高可靠性。
d. 并行,水平可擴展。
根據在上述目標實現中所學到的,以及從聯盟成員處收集的路線圖和需求,開發企業以太網第一版規范,即形成一個參考實現。
借助穩健的治理過程,確保在方法上保持一致。
可插拔共識
共識是區塊鏈范圍內節點就如何在交易狀態中取得一致的做法,它取決于參與節點一致過程的算法。鑒于當前以太坊的實現并非是模塊化的,當企業需要在共識算法中添加隱私等額外特性時,可能最終會實現為一個以太坊的分支。分支的問題在于對各分支的投資是難以共享的,此外分支還造成了存儲碎片化。為滿足互操作的需求,EEA正尋求提供基于模塊化的共識算法。在EEA的愿景文件中,解釋了可插拔共識的重要性所在:
通用、模塊化的實現不僅為企業以太坊規范的開發提供了代碼庫,而且可以測試聯盟共識算法。可插拔共識需要提供清晰接口的模塊化客戶。這樣的接口除了用于聯網,還可用在以太坊虛擬機(EVM)與共識算法之間。正是這樣的接口使得共識層具備了可插拔能力。
EEA對于模塊化方法的考慮是:
并非約定俗成使用特定的算法,而應允許根據不同的用例使用各種算法。
企業以太坊規范第一版
EEA的目標并非僅是開發一種實現,還包括發布規范。規范應:
通過增強API的可用性,加速整個生態系統的發展,以便與開發、DevOps和管理工具集成,并與遺留系統進行集成。
根據給出的規范,廠商可以提供自己的以太坊實現。由于在實現中給出了接口形式的互操作點,企業就能聚焦于自身的特定需求了。兼容性和互操作性不僅是企業以太坊的目標,而且也是公共以太坊的目標。
穩健的治理
聯盟的當前目標是構建一個基于美國的非盈利組織。除了承擔日常管理職能的執行主管之外,聯盟還在尋求一位執行主管和志愿主席。
EEA已指明,聯盟的核心功能在于聯盟的各個成員,以及由成員參與的特定興趣組。這些以編寫原型、架構、路線圖和業界分組為重點的興趣組將按以下四個指導原則組建:
開發開源的標準。 與建立者和實干者共事,構建通用的系統。 保持與公共以太坊的兼容。 避免在數據標準上做重復的基礎性工作。以互操作性為重點
盡管要實現跨區塊鏈協議互操作性可能還需要一些時間,但EEA已經在構建一系列以互操作性為重點的需求,其中包括:
保持應用的可移植性和網絡交易的同時,能夠在企業以太坊的各層上切換組件。 能提供與核心規范互操作的非標準擴展。 入站和出站的數據接口,以及以太坊虛擬機的鉤函數(EVM hook)。 與公共鏈的兼容性。為了實現互操作性,EEA在設計中采用了:
具有清晰接口和API的抽象和模塊化。
EEA期望接口一旦發布就難以更改,由此認為互操作性是:
關鍵的,即便是處于這樣的早期階段。
更新以太坊協議
當前的以太坊協議取決于節點如何為最長鏈的選取下一個區塊,它是基于代價高昂的工作量證明(PoW,Proof of Work)算法的。這一方法的缺點在于限制區塊鏈提交新區塊的周期為10秒左右。隨著以太坊不斷在企業中取得進展,需要擴展到服務百萬用戶的能力,這對現有的協議提出了挑戰。
EEA為改進區塊鏈的擴展性并降低計算代價,正在尋求一些PoW的替代方法。EEA正在對一些可能會成為未來以太坊區塊一致性協議的方法作評估,其中包括:
授權股權證明機制(DPoS,Delegated Proof of Stake) Ouroboros算法 Casper算法 權威性證明(PoA,Proof of Authority)另一些機會存在于以太坊的網絡協議層中,在該層上需要“對節點狀態序列的全序做原子廣播,在這些節點組成的網絡中可能存在拜占庭問題”。還有一些用于以太坊網絡的一致性協議正在考慮中,包括:
HoneyBadger HydraChain Tendermint一些方法組合了區塊和網絡的一致性協議,包括:
HydraChain Ethermint除了更改區塊和網絡一致性協議之外,還有一些擴展性方法也在正在探討中,例如:分片、并行和狀態通道。
共享數字架構管理
企業以太坊通過分布式總賬技術(DLT,Distributed Ledger Technology)將企業聚合在一起。這會使治理領域中出現一些挑戰,例如,在對共享程序或合約做版本管理和更新時將會發生什么?EEA正尋求:
除了可用于更新已部署系統作業代碼的設計模式之外,探究如何開發用于共享管理的合約接口和類。
可信計算與預言機(Oracle)/數據饋送(Data feed)
有一些對被執行的可信代碼做安全的方法。其中一種是使用主流的硬件。舉個例子,“Intel SGX提供了一種內存加密的硅基電路Enclave,它只能運行經簽名和驗證的代碼,使用一種不能被其它過程訪問的方式。”
另一種問題解決方法是借助于Microsoft Azure的Cryptlets這類服務。Cryptlets是Microsoft的Bletchley項目方案的組成部分,側重于提供一種安全的區塊鏈中間件服務。
試圖將數據饋送加入分布式應用或智能合約中時,運行可信代碼的安全位置是非常重要的。企業以太坊方案正嘗試通過下面的方法解決安全代碼的執行問題:
從一開始就聚焦于協議層的實現,隨時間的推移,有望由聯盟成員給出一些有意義的設計模式,這樣的設計模式是圍繞預言機(Oracle)數據構建的(可能更為重要的是,如何懲處發布惡意數據的壞角色)。
存儲
一些去中心化應用具有存儲文檔和媒體這類數據的需求。當前對于這類數據的存儲,區塊鏈并未給出具有良好成本效益的方法,因而需要提出一種塊外安全存儲數據的方法。現在已有一些方案正試圖解決這個問題,例如,IPFS和Swarm。
性能改進和優化
當前以太坊區塊鏈具備每秒處理數十個交易的能力。在企業環境中,各個企業由于用例不同而具有不同的需求。非常有必要提供對地理位置的靈活處理,以及具備靈活確定可變連接中交易數量的能力。為了解決這些企業需求,EEA聚焦于如下的性能特性:
基于對已識別特性的參數化,定義有用的基準測試。 對客戶測定各類性能參數的操作方法進行概述。 相關的性能參數包括:a. 節點連接性
b. 最優網絡拓撲(連接的數量和模式)
c. 連接的可靠性(維護節點間的連結性)
d. 故障實例:何時節點停止互相通信
e. 安全性
f. 活躍度
g. 正當操作所需的最小健康誠實節點數
h. 交易終結的時機
i. 網絡節點總數
j. 節點拓撲
k. 以傳輸時間表示的節點間距離
l. 同步和異步通信
m. 以每秒交易數表示的吞吐量
n. 交易和塊傳輸延遲,處理延遲
查看英文原文: Enterprise Ethereum Alliance Releases Vision Paper