今天,我們很高興地宣布Hyperledger Besu加入超級賬本成為最新項目。Hyperledger Besu是一個基于Java的以太坊客戶機,它以前叫做Pantheon,是提交給超級賬本的第一個可以在公鏈上運行的區(qū)塊鏈項目。Besu代表企業(yè)對為其應用構建許可型和開放型網絡案例的興趣在日益增長。
該項目的設計和架構策略致力于干凈的界面和模塊化,目標是使Hyperledger Besu成為開放的開發(fā)和部署平臺。Besu被設計成盡可能模塊化,它將共識算法和其他關鍵區(qū)塊鏈特點分離開來,使得這些組件易于升級或實現。通過在客戶端中的元素之間創(chuàng)建干凈的接口(例如,網絡、存儲、EVM等),我們相信企業(yè)將可以更容易地配置以太坊來滿足他們的需求,同時也為其他超級賬本項目創(chuàng)造機會來集成和使用Besu的代碼庫的元素。
Hyperledger Besu是什么?
Hyperledger Besu是一個開源的以太坊客戶端,它采用Apache2.0許可協(xié)議,使用Java語言編寫。它可以在以太坊公網或私有許可型網絡上運行,也可以在Rinkeby、Ropsten和G?i等測試網絡上運行。Hyperledger Besu包含了PoW、PoA和IBFT在內的幾個共識算法,并且擁有專門為聯盟鏈環(huán)境中使用而設計的全面的許可方案。
什么是 “以太坊客戶端”?
Hyperledger Besu是數種以太坊客戶端之一。以太坊客戶端執(zhí)行以太坊協(xié)議。一個以太坊客戶端包括:
· 一個在以太坊區(qū)塊鏈中處理交易的執(zhí)行環(huán)境
· 交易執(zhí)行數據持久化所需存儲
· 與其他以太坊節(jié)點通信、同步狀態(tài)所需要的端到端(P2P)網絡
· 應用開發(fā)人員與區(qū)塊鏈交互所需要的API
Hyperledger Besu有什么特點?
Hyperledger Besu執(zhí)行以太坊企業(yè)聯盟(EEA)規(guī)范。EEA規(guī)范是為了在以太坊中的各種開源和閉源代碼項目之間創(chuàng)建通用接口,以確保用戶沒有供應商鎖定,并為構建應用程序的團隊創(chuàng)建標準接口。Besu通過與EEA客戶機規(guī)范保持一致來實現企業(yè)特性。
Hyperledger Besu具有以下特點:
以太坊虛擬機 (EVM): EVM是圖靈完備的虛擬機,允許通過在以太坊區(qū)塊鏈中部署和執(zhí)行智能合約完成交易。
存儲:Hyperledger Besu使用RocksDB鍵-值數據庫來做本地持久化保存鏈數據。這個數據分成一些子類:
共識算法:Hyperledger Besu執(zhí)行各種共識算法,涉及到交易驗證、區(qū)塊驗證和區(qū)塊生產(即挖礦中的工作量證明)。這些算法包括:
· PoA(Proof of Authority權威證明): Hyperledger Besu執(zhí)行了幾種權威證明協(xié)議。當參與者相互認識,并且有一定程度的信任(例如,在某個許可型聯盟鏈中)時,將使用權威證明的共識協(xié)議。
· IBFT 2.0:IBFT 2.0網絡中,交易和區(qū)塊由被稱為驗證者的已批準的帳戶進行驗證。驗證者輪流創(chuàng)建下一個區(qū)塊?,F有的驗證者提議并投票決定是否添加或移除驗證者。IBFT2.0有即時的結果。當使用IBFT2.0時,沒有分支,所有有效的區(qū)塊都包含在主鏈中。
· Clique: Clique比IBFT 2.0更具容錯性。Clique容忍多達半數的驗證者失效,而IBFT2.0網絡需要大于或等于?驗證者才能運行以創(chuàng)建區(qū)塊。Clique沒有即時的結果。使用Clique的實現必須認識到可能發(fā)生分叉和鏈重組。
· PoW (Ethash): PoW(Proof of Work工作量證明)用于以太坊主網的挖礦行為。
存儲:Hyperledger Besu使用RocksDB鍵-值數據庫來做本地持久化保存鏈數據。這個數據分成一些子類:
· 區(qū)塊鏈:區(qū)塊鏈數據由塊頭和塊體組成,塊頭形成數據“鏈”,用來對區(qū)塊鏈狀態(tài)進行加密驗證;塊體包含已排序了的交易列表以及交易憑據,交易憑據包含與交易執(zhí)行相關的元數據(包括交易日志)。
· 全局狀態(tài)(World State):每個塊頭通過一個stateRoot 哈希表達一個全局狀態(tài)。全局狀態(tài)是從地址到帳戶的映射。外部擁有的帳戶包含一個以太余額,而智能合約帳戶則額外包含可執(zhí)行代碼和存儲。
P2P網絡:Hyperledger Besu執(zhí)行以太坊的devp2p網絡協(xié)議,用于客戶端之間的通信,并為IBFT2實現了附加的子協(xié)議:
· 發(fā)現(Discovery): 一個基于UDP的協(xié)議,用于網絡上查找端點
· RLPx: 一個基于TCP的協(xié)議,用于端點之間通過各種“子協(xié)議”進行通信:
· ETH子協(xié)議(Ethereum Wire Protocol):用于全網同步區(qū)塊鏈狀態(tài)和傳播新的交易。
· IBF子協(xié)議:被IBFT2用于共識協(xié)議,加速共識決策。
面向用戶的API:Hyperledger Besu通過HTTP和WebSocket協(xié)議以及GraphQL API提供了以太坊主網和EEA JSON-RPC API。
· JSON-RPC
· HTTP JSON-RPC服務
· WebSocket JSON-RPC服務
· GraphQL
監(jiān)控:Hyperledger Besu允許你監(jiān)控節(jié)點和網絡性能
· 節(jié)點性能采用Prometheus 或者debug_metrics JSON-RPC API進行監(jiān)控
· 網絡性能采用 Alethio工具例如Block Explorer和 EthStats Network Monitor進行監(jiān)控
隱私:Hyperledger Besu中的隱私指的是在交易當事人之間保持交易秘密的能力。其他方無法訪問交易內容、發(fā)送方或參與方列表。Besu使用一個私有交易管理器來實現隱私。
許可: 許可型網絡通過啟用節(jié)點許可和/或帳戶許可,只允許指定的節(jié)點和帳戶參與。
Hyperledger Besu支持什么?
Hyperledger Besu包括一個命令行界面,以及基于HTTP和WebSocket的API,用于在以太坊網絡中運行、維護和監(jiān)控節(jié)點。
Besu客戶端的API支持典型的以太坊功能,例如智能合約和dapp開發(fā)、部署和運營用戶案例。Truffle、Remix和 web3j 工具使這些活動成為可能??蛻舳藢崿F了標準JSON-RPC API,使得與生態(tài)系統(tǒng)工具的集成變得簡單。客戶端還支持創(chuàng)建私有的、經過許可的聯盟網絡。
出于安全考量,Hyperledger Besu不支持客戶端的密鑰管理。替代方案是,您可以使用EthSigner或任何與以太坊兼容的錢包來管理私鑰。EthSigner 提供了對您的密鑰存儲的訪問,并通過Hashicorp Vault和Microsoft Azure等工具對交易進行簽名。
在Besu中,可以使用基于智能合約和本地配置的節(jié)點和帳戶許可。在客戶端中可以使用零知識方法(包括Aztec協(xié)議的使用)進行私下交易。鏈下方法需要使用Orion,它是一個開源的私下交易管理器,由PegaSys單獨開發(fā)。
在更高層次上,Hyperledger Besu的架構如下:
誰參與了Hyperledger Besu?
PegaSys, 是ConsenSys的協(xié)議工程團隊,自從2018年11月啟動Pantheon項目以來,已經成為Hyperledger Besu核心代碼庫的主要的貢獻者和維護者。他們建立這個以太坊客戶端的目的是降低企業(yè)的進入壁壘,維護和擴展主網。他們已經開發(fā)了一個在代碼庫上使用和構建方面的活躍社區(qū)。此外,在Besu之上還有多個應用程序,以及在生產中使用Besu的聯合企業(yè)。PegaSys團隊很高興能與超級賬本社區(qū)合作,繼續(xù)加強Hyperledger Besu平臺。
來源: Hyperledger超級賬本