博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
企业以太坊联盟发布了愿景文件
阅读量:5765 次
发布时间:2019-06-18

本文共 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年确定了五个短期目标,分别是:

\\
\
  1. \

    开发完全模块化的以太坊实现,分离网络和存储层并定义清晰的接口。实现一个可插拔共识的原型,在转换为共识算法时最小化对代码的更改。

    \ \\
  2. \

    随数据隐私和许可架构一并测试潜在可用的一致性算法。

    \ \\
  3. \

    开发一套清晰的能力和性能特性,适合如下的企业需求:\

    a. 在有十方参与的网络中达到每秒100次交易。\\
    b. 高容量、高价值的用例。\\
    c. 高可用性和高可靠性。\\
    d. 并行,水平可扩展。

    \ \\
  4. \

    根据在上述目标实现中所学到的,以及从联盟成员处收集的路线图和需求,开发企业以太网第一版规范,即形成一个参考实现。

    \ \\
  5. \

    借助稳健的治理过程,确保在方法上保持一致。

    \ \
\\

可插拔共识

\\

共识是区块链范围内节点就如何在交易状态中取得一致的做法,它取决于参与节点一致过程的算法。鉴于当前以太坊的实现并非是模块化的,当企业需要在共识算法中添加隐私等额外特性时,可能最终会实现为一个以太坊的分支。分支的问题在于对各分支的投资是难以共享的,此外分支还造成了存储碎片化。为满足互操作的需求,EEA正寻求提供基于模块化的共识算法。在EEA的愿景文件中,解释了可插拔共识的重要性所在:

\\
\

通用、模块化的实现不仅为企业以太坊规范的开发提供了代码库,而且可以测试联盟共识算法。可插拔共识需要提供清晰接口的模块化客户。这样的接口除了用于联网,还可用在以太坊虚拟机(EVM)与共识算法之间。正是这样的接口使得共识层具备了可插拔能力。

\
\\

EEA对于模块化方法的考虑是:

\\
\

并非约定俗成使用特定的算法,而应允许根据不同的用例使用各种算法。

\
\\

企业以太坊规范第一版

\\

EEA的目标并非仅是开发一种实现,还包括发布规范。规范应:

\\
\

通过增强API的可用性,加速整个生态系统的发展,以便与开发、DevOps和管理工具集成,并与遗留系统进行集成。

\
\\

根据给出的规范,厂商可以提供自己的以太坊实现。由于在实现中给出了接口形式的互操作点,企业就能聚焦于自身的特定需求了。兼容性和互操作性不仅是企业以太坊的目标,而且也是公共以太坊的目标。

\\

稳健的治理

\\

联盟的当前目标是构建一个基于美国的非盈利组织。除了承担日常管理职能的执行主管之外,联盟还在寻求一位执行主管和志愿主席。

\\

EEA已指明,联盟的核心功能在于联盟的各个成员,以及由成员参与的特定兴趣组。这些以编写原型、架构、路线图和业界分组为重点的兴趣组将按以下四个指导原则组建:

\\
\
  1. 开发开源的标准。 \\
  2. 与建立者和实干者共事,构建通用的系统。 \\
  3. 保持与公共以太坊的兼容。 \\
  4. 避免在数据标准上做重复的基础性工作。\
\\

以互操作性为重点

\\

尽管要实现跨区块链协议互操作性可能还需要一些时间,但EEA已经在构建一系列以互操作性为重点的需求,其中包括:

\\
\
  1. 保持应用的可移植性和网络交易的同时,能够在企业以太坊的各层上切换组件。 \\
  2. 能提供与核心规范互操作的非标准扩展。 \\
  3. 入站和出站的数据接口,以及以太坊虚拟机的钩函数(EVM hook)。 \\
  4. 与公共链的兼容性。\
\\

为了实现互操作性,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聚焦于如下的性能特性:

\\
\
  1. 基于对已识别特性的参数化,定义有用的基准测试。 \\
  2. 对客户测定各类性能参数的操作方法进行概述。 \\
  3. 相关的性能参数包括:\
    a. 节点连接性\\
    b. 最优网络拓扑(连接的数量和模式)\\
    c. 连接的可靠性(维护节点间的连结性)\\
    d. 故障实例:何时节点停止互相通信\\
    e. 安全性\\
    f. 活跃度\\
    g. 正当操作所需的最小健康诚实节点数\\
    h. 交易终结的时机\\
    i. 网络节点总数\\
    j. 节点拓扑\\
    k. 以传输时间表示的节点间距离\\
    l. 同步和异步通信\\
    m. 以每秒交易数表示的吞吐量\\
    n. 交易和块传输延迟,处理延迟\
\\

查看英文原文:

\\

感谢对本文的审校。

\

给InfoQ中文站投稿或者参与内容翻译工作,请邮件至。也欢迎大家通过新浪微博(,),微信(微信号:)关注我们。

转载地址:http://itwux.baihongyu.com/

你可能感兴趣的文章
ASM的文件管理深入解析
查看>>
bzoj1913
查看>>
烂泥:VMWare Workation双网卡配置IP地址
查看>>
bzoj2301(莫比乌斯反演)
查看>>
【转】对于HttpClient和HtmlUnit的理解
查看>>
L104
查看>>
深入理解脚本化CSS系列第四篇——脚本化样式表
查看>>
分镜头脚本
查看>>
ASP.NET中的cookie编程技术
查看>>
链表基本操作的实现(转)
查看>>
邮件发送1
查看>>
[转] libcurl异步方式使用总结(附流程图)
查看>>
编译安装LNMP
查看>>
git学习,git上建立自己的项目
查看>>
AndroidStudio 常用快捷键
查看>>
[转]基于display:table的CSS布局
查看>>
企业级 SpringBoot 教程 (二)Spring Boot配置文件详解
查看>>
crm 02--->讲师页面及逻辑
查看>>
Docker: 如何修改 Docker 的镜像存储位置
查看>>
AS3.0 Bitmap类实现图片3D旋转效果
查看>>