Hyperledger Besu 项目介绍

今天,我们很高兴地宣布Hyperledger Besu加入超级账本成为最新项目。Hyperledger Besu是一个基于Java的以太坊客户机,它以前叫做Pantheon,是提交给超级账本的第一个可以在公链上运行的区块链项目。Besu代表企业对为其

今天,我们很高兴地宣布Hyperledger Besu加入超级账本成为最新项目。Hyperledger Besu是一个基于Java的以太坊客户机,它以前叫做Pantheon,是提交给超级账本的第一个可以在公链上运行的 区块链 项目。Besu代表企业对为其应用构建许可型和开放型网络案例的兴趣在日益增长。



该项目的设计和架构策略致力于干净的界面和模块化,目标是使Hyperledger Besu成为开放的开发和部署平台。Besu被设计成尽可能模块化,它将共识算法和其他关键 区块 链 特点分离开来,使得这些组件易于升级或实现。通过在客户端中的元素之间创建干净的接口(例如,网络、存储、EVM等),我们相信企业将可以更容易地配置 以太坊 来满足他们的需求,同时也为其他超级账本项目创造机会来集成和使用Besu的代码库的元素。



Hyperledger Besu是什么?



Hyperledger Besu是一个开源的 以太坊 客户端,它采用Apache2.0许可协议,使用Java语言编写。它可以在 以太坊 公网或私有许可型网络上运行,也可以在Rinkeby、Ropsten和Göi等测试网络上运行。Hyperledger Besu包含了PoW、PoA和IBFT在内的几个共识算法,并且拥有专门为联盟链环境中使用而设计的全面的许可方案。



什么是 “ 以太坊 客户端”?



Hyperledger Besu是数种 以太坊 客户端之一。 以太坊 客户端执行 以太坊 协议。一个 以太坊 客户端包括:



· 一个在 以太坊 区块 链 中处理交易的执行环境
· 交易执行数据持久化所需存储
· 与其他 以太坊 节点通信、同步状态所需要的端到端(P2P)网络
· 应用开发人员与 区块 链 交互所需要的API



Hyperledger Besu有什么特点?



Hyperledger Besu执行 以太坊 企业联盟(EEA)规范。EEA规范是为了在 以太坊 中的各种开源和闭源代码项目之间创建通用接口,以确保用户没有供应商锁定,并为构建应用程序的团队创建标准接口。Besu通过与EEA客户机规范保持一致来实现企业特性。



Hyperledger Besu具有以下特点:



以太坊 虚拟机 (EVM): EVM是图灵完备的虚拟机,允许通过在 以太坊 区块 链 中部署和执行智能合约完成交易。



存储:Hyperledger Besu使用RocksDB键-值数据库来做本地持久化保存链数据。这个数据分成一些子类:



共识算法:Hyperledger Besu执行各种共识算法,涉及到交易验证、 区块 验证和 区块 生产(即挖矿中的工作量证明)。这些算法包括:



· PoA(Proof of Authority权威证明): Hyperledger Besu执行了几种权威证明协议。当参与者相互认识,并且有一定程度的信任(例如,在某个许可型联盟链中)时,将使用权威证明的共识协议。



· IBFT 2.0:IBFT 2.0网络中,交易和 区块 由被称为验证者的已批准的帐户进行验证。验证者轮流创建下一个 区块 。现有的验证者提议并投票决定是否添加或移除验证者。IBFT2.0有即时的结果。当使用IBFT2.0时,没有分支,所有有效的 区块 都包含在主链中。



· Clique: Clique比IBFT 2.0更具容错性。Clique容忍多达半数的验证者失效,而IBFT2.0网络需要大于或等于⅔验证者才能运行以创建 区块 。Clique没有即时的结果。使用Clique的实现必须认识到可能发生分叉和链重组。



· PoW ETHsh): PoW(Proof of Work工作量证明)用于 以太坊 主网的 挖矿 行为。



存储:Hyperledger Besu使用RocksDB键-值数据库来做本地持久化保存链数据。这个数据分成一些子类:



· 区块 链 : 区块 链 数据由块头和块体组成,块头形成数据“链”,用来对 区块 链 状态进行加密验证;块体包含已排序了的交易列表以及交易凭据,交易凭据包含与交易执行相关的元数据(包括交易日志)。



· 全局状态(World State):每个块头通过一个stateRoot 哈希表达一个全局状态。全局状态是从地址到帐户的映射。外部拥有的帐户包含一个以太余额,而智能合约帐户则额外包含可执行代码和存储。



P2P网络:Hyperledger Besu执行 以太坊 的devp2p网络协议,用于客户端之间的通信,并为IBFT2实现了附加的子协议:



· 发现(Discovery): 一个基于UDP的协议,用于网络上查找端点
· RLPx: 一个基于TCP的协议,用于端点之间通过各种“子协议”进行通信:
· ETH 子协议(Ethereum Wire Protocol):用于全网同步 区块 链 状态和传播新的交易。
· IBF子协议:被IBFT2用于共识协议,加速共识决策。



面向用户的API:Hyperledger Besu通过HTTP和WebSocket协议以及GraphQL API提供了 以太坊 主网和EEA JSON-RPC API。



· JSON-RPC
· HTTP JSON-RPC服务
· WebSocket JSON-RPC服务



· GraphQL



监控:Hyperledger Besu允许你监控节点和网络性能



· 节点性能采用Prometheus 或者debug_metrics JSON-RPC API进行监控
· 网络性能采用 Alethio工具例如Block Explorer和 EthStats Network Monitor进行监控



隐私:Hyperledger Besu中的隐私指的是在交易当事人之间保持交易秘密的能力。其他方无法访问交易内容、发送方或参与方列表。Besu使用一个私有交易管理器来实现隐私。



许可: 许可型网络通过启用节点许可和/或帐户许可,只允许指定的节点和帐户参与。



Hyperledger Besu支持什么?



Hyperledger Besu包括一个命令行界面,以及基于HTTP和WebSocket的API,用于在 以太坊 网络中运行、维护和监控节点。



Besu客户端的API支持典型的 以太坊 功能,例如智能合约和dapp开发、部署和运营用户案例。Truffle、Remix和 web3j 工具使这些活动成为可能。客户端实现了标准JSON-RPC API,使得与生态系统工具的集成变得简单。客户端还支持创建私有的、经过许可的联盟网络。



出于安全考量,Hyperledger Besu不支持客户端的密钥管理。替代方案是,您可以使用EthSigner或任何与 以太坊 兼容的钱包来管理私钥。EthSigner 提供了对您的密钥存储的访问,并通过Hashicorp Vault和Microsoft Azure等工具对交易进行签名。



在Besu中,可以使用基于智能合约和本地配置的节点和帐户许可。在客户端中可以使用零知识方法(包括Aztec协议的使用)进行私下交易。链下方法需要使用Orion,它是一个开源的私下交易管理器,由PegaSys单独开发。



在更高层次上,Hyperledger Besu的架构如下:

谁参与了Hyperledger Besu?

PegaSys, 是ConsenSys的协议工程团队,自从2018年11月启动Pantheon项目以来,已经成为Hyperledger Besu核心代码库的主要的贡献者和维护者。他们建立这个 以太坊 客户端的目的是降低企业的进入壁垒,维护和扩展主网。他们已经开发了一个在代码库上使用和构建方面的活跃社区。此外,在Besu之上还有多个应用程序,以及在生产中使用Besu的联合企业。PegaSys团队很高兴能与超级账本社区合作,继续加强Hyperledger Besu平台。

声明:本文来自金色财经平台用户投稿,观点仅代表作者本人,不代表【金色财经-www.jsgu.cn】立场,文章内容仅供参考,如若转载请标注文章来源:【当前页面链接】

区块链相关

区块链媒体相关

区块链技术相关

挖矿相关

比特币相关