本文共 3586 字,大约阅读时间需要 11 分钟。
新组建的企业以太坊联盟(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正在对一些可能会成为未来以太坊区块一致性协议的方法作评估,其中包括:
\\另一些机会存在于以太坊的网络协议层中,在该层上需要“对节点状态序列的全序做原子广播,在这些节点组成的网络中可能存在拜占庭问题”。还有一些用于以太坊网络的一致性协议正在考虑中,包括:
\\一些方法组合了区块和网络的一致性协议,包括:
\\除了更改区块和网络一致性协议之外,还有一些扩展性方法也在正在探讨中,例如:分片、并行和状态通道。
\\共享数字架构管理
\\企业以太坊通过分布式总账技术(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. 交易和块传输延迟,处理延迟\
查看英文原文:
\\感谢对本文的审校。
\给InfoQ中文站投稿或者参与内容翻译工作,请邮件至。也欢迎大家通过新浪微博(,),微信(微信号:)关注我们。
转载地址:http://itwux.baihongyu.com/