区块见闻 区块见闻
Ctrl+D收藏区块见闻

GER:一张图看懂比特币、以太坊、联盟链等区块链系统架构_PEER

作者:

时间:

会当凌绝顶,一览众山小。进入区块链底层开发前,我们需要了解区块链底层的通用架构是如何设计的,从上而下地审视区块链底层的结构,做到了然于胸,才能胸有成竹。

他山之石,可以攻玉。在介绍区块链底层通用架构之前,我们不妨先从比特币、以太坊、Hyperledger的架构解读开始。

比特币架构

根据中本聪的论文《Bitcoin:APeer-to-PeerElectronicCashSystem》中对比特币系统的描述,我们可以整理出如下图所示的比特币系统架构。

以太坊架构

如图所示,以太坊架构分为7层,由下至上依次是存储层、数据层、网络层、协议层、共识层、合约层、应用层。

其中存储层主要用于存储以太坊系统运行中的日志数据及区块链元数据,存储技术主要使用文件系统和LevelDB。

数据层主要用于处理以太坊交易中的各类数据,如将数据打包成区块,将区块维护成链式结构,区块中内容的加密与哈希计算,区块内容的数字签名及增加时间戳印记,将交易数据构建成Merkle树,并计算Merkle树根节点的hash值等。

与比特币的不同之处在于以太坊引入了交易和交易池的概念。交易指的是一个账户向另一个账户发送被签名的数据包的过程。而交易池则存放通过节点验证的交易,这些交易会放在矿工挖出的新区块里。

Ledger通过Pontem钱包集成Aptos生态DApp:据官方消息,硬件钱包Ledger通过Pontem钱包集成Aptos生态DApp,Ledger用户可以连接到Aptos区块链并与Pontem钱包上的DApp交互。

Ledger用户只需将其设备连接到Pontem钱包并导入一个帐户,即可存储和交易APT代币。此外,用户可以在Liquidswap DEX上执行交易,直接在Ledger上确认所有操作。[2023/1/12 11:07:16]

以太坊的Event(事件)指的是和以太坊虚拟机提供的日志接口,当事件被调用时,对应的日志信息被保存在日志文件中。

与比特币一样,以太坊的系统也是基于P2P网络的,在网络中每个节点既有客户端角色,又有服务端角色。

协议层是以太坊提供的供系统各模块相互调用的协议支持,主要有HTTP、RPC协议、LES、ETH协议、Whipser协议等。

以太坊基于HTTPClient实现了对HTTP的支持,实现了GET、POST等HTTP方法。外部程序通过JSONRPC调用以太坊的API时需通过RPC(远程过程调用)协议。

Whisper协议用于DApp间通信。

LES的全称是轻量级以太坊子协议(LightEthereumSub-protocol),允许以太坊节点同步获取区块时仅下载区块的头部,在需要时再获取区块的其他部分。

共识层在以太坊系统中有PoW(ProofofWork)和PoS(ProofofStake)两种共识算法。

Voyager要求法院允许其兑现提款、清算加密货币等活动:金色财经报道,加密货币经纪商Voyager Digital已向美国联邦破产法院申请许可,以兑现大都会商业银行持有的超过3.5亿美元的客户提款。Voyager此前在一份声明中表示,他们拥有价值约13亿美元的加密资产,并且在大都会商业银行的客户利益(FBO)账户中持有超过3.5亿美元资金。该公司还表示,他们对三箭资本的索赔额超过了6.5亿美元。在其法庭文件中,Voyager还正在寻求法院授权进行其他金融行动,包括:从余额为负的客户账户中清算加密货币、在第三方交易所持有“转存现金”、对客户账户进行“常规过程对账”和“给予相关救济”。(The Block)[2022/7/16 2:17:19]

合约层分为两层,底层是EVM(EthereumVirtualMachine,即以太坊虚拟机),上层的智能合约运行在EVM中。智能合约是运行在以太坊上的代码的统称,一个智能合约往往包含数据和代码两部分。智能合约系统将约定或合同代码化,由特定事件驱动触发执行。因此,在原理上适用于对安全性、信任性、长期性的约定或合同场景。在以太坊系统中,智能合约的默认编程语言是Solidity,一般学过JavaScript语言的读者很容易上手Solidity。

应用层有DApp(DecentralizedApplication,分布式应用)、以太坊钱包等多种衍生应用,是目前开发者最活跃的一层。

Hyperledger架构

超级账本(Hyperledger)是Linux基金会于2015年发起的推进区块链数字技术和交易验证的开源项目,该项目的目标是推进区块链及分布式记账系统的跨行业发展与协作。

声音 | Alex Krüger:此次下跌是简单的修正:据bitcoinexchangguide报道,经济学家和加密货币分析师Alex Krüger表示,加密市场在2月24日所经历的下跌只是一个简单的修正。加密货币的价格刚刚连续16天垂直上涨而没有回调。例如,以太坊(ETH)在这段时间内经历了超过38%的增长而没有回调。人们经历了错失恐惧症(FOMO),比特币在达到第一个强阻力位4200美元后下跌了9%。Krüger暗示,价格上涨的时间越长而没有回调,一旦发生崩盘就会更严重。资产不可能一直向同一个方向移动。[2019/2/26]

目前该项目最著名的子项目是Fabric,由IBM主导开发。按官方网站描述,HyperledgerFabric是分布式记账解决方案的平台,以模块化体系结构为基础,提供高度的弹性、灵活性和可扩展性。它旨在支持不同组件的可插拔实现,并适应整个经济生态系统中存在的复杂性。

HyperledgerFabric提供了一种独特的弹性和可扩展的体系结构,使其不同于其他区块链解决方案。我们必须在经过充分审查的开源架构之上对区块链企业的未来进行规划。超级账本是企业级应用快速构建的起点。

目前,HyperledgerFabric经历了两大版本架构的迭代,分别是0.6版和1.0版。其中,0.6版的架构相对简单,Peer节点集众多功能于一身,模块化和可拓展性较差。1.0版对0.6版的Peer节点功能进行了模块化分解。目前最新的1.1版本处于Alpha阶段。

在1.0版中,Peer节点可分为peers节点和orderers节点。peers节点用于维护状态(State)和账本(Ledger),orderers节点负责对账本中的各条交易达成共识。

现场 | Agriledger创始人吉纳维芙:区块链与农业的结合很有意义:金色财经现场报道,今日,2018中国国际区块链产业融合峰会暨区块链产品与应用展在石家庄举行,Agriledger创始人、英国区块链协会副主席吉纳维芙提到,区块链与农业的结合很有意义,运用区块链能够进行产品基本情况数据分析、农户种植经验分析、数据库市场预估、未来一年天气预报、作物基本情况分析、土壤数据分析等。通过智能算法分析数据,还可以达成数字资产融资、农业信托服务、农业授信服务,有了高性能的区块链,可以对农户的预期农业行为进行分析,并得出合理预期,从而为农民提供各类金融服务。

她提到区块链+农业的产品运作流程:每个农民都有一个数字身份,与二维码结合使用;查看市场趋势,以更好地规划并获取对农作物价值的洞察;让买家知道有什么(农作物) ,什么时候可以获取;数字账本与数字身份相关联,有助于证明收入、并在需要时获得财务帮助。[2018/9/21]

系统中还引入了认证节点(EndorsingPeers),认证节点是一类特殊的peers节点,负责同时执行链码(Chaincode)和交易的认证(EndorsingTransactions)。

HyperledgerFabric的分层架构设计如图下所示。

HyperledgerFabric的分层架构设计

HyperledgerFabric可以分为7层,分别是存储层、数据层、通道层、网络层、共识层、合约层、应用层。

其中存储层主要对账本和交易状态进行存储。账本状态存储在数据库中,存储的内容是所有交易过程中出现的键值对信息。比如,在交易处理过程中,调用链码执行交易可以改变状态数据。状态存储的数据库可以使用LevelDB或者CouchDB。LevelDB是系统默认的内置的数据库,CouchDB是可选的第三方数据库。区块链的账本则在文件系统中保存。

声音 | Roger Ver:比特币无法一直维持目前的市场份额:比特币耶稣Roger Ver在其社交媒体表示:“如果你认为比特币及其全部区块,和高收费政策将能够维持市场份额,那你就错了。它不会,现在是时候转移到其他事情(币种)上了。”[2018/6/29]

数据层主要由交易(Transaction)、状态(State)和账本(Ledger)三部分组成。

其中,交易有两种类型:

部署交易:以程序作为参数来创建新的交易。部署交易成功执行后,链码就被安装到区块链上。调用交易:在上一步部署好的链码上执行操作。链码执行特定的函数,这个函数可能会修改状态数据,并返回结果。状态对应了交易数据的变化。在HyperledgerFabric中,区块链的状态是版本化的,用key/valuestore(KVS)表示。其中key是名字,value是任意的文本内容,版本号标识这条记录的版本。这些数据内容由链码通过PUT和GET操作来管理。如存储层的描述,状态是持久化存储到数据库的,对状态的更新是被文件系统记录的。

账本提供了所有成功状态数据的改变及不成功的尝试改变的历史。

账本是由OrderingService构建的一个完全有序的交易块组成的区块哈希链(HashChain)。

账本既可以存储在所有的peers节点上,又可以选择存储在几个orderers节点上。此外,账本允许重做所有交易的历史记录,并且重建状态数据。

通道层指的是通道(Channel),通道是一种HyperledgerFabric数据隔离机制,用于保证交易信息只有交易参与方可见。每个通道都是一个独立的区块链,因此多个用户可以共用同一个区块链系统,而不用担心信息泄漏问题。

网络层用于给区块链网络中各个通信节点提供P2P网络支持,是保障区块链账本一致性的基础服务之一。

在HyperledgerFabric中,Node是区块链的通信实体。Node仅仅是一个逻辑上的功能,多个不同类型的Node可以运行在同一个物理服务器中。Node有三种类型,分别是客户端、peers节点和OrderingService。

其中,客户端用于把用户的交易请求发送到区块链网络中。

peers节点负责维护区块链账本,peers节点可以分为endoringpeers和committingpeers两种。endoringpeers为交易作认证,认证的逻辑包含验证交易的有效性,并对交易进行签名;committingpeers接收打包好的区块,并写入区块链中。与Node类似,peers节点也是逻辑概念,endoringpeers和committingpeers可以同时部署在一台物理机上。

OrderingService会接收交易信息,并将其排序后打包成区块,然后,写入区块链中,最后将结果返回给committingpeers。

共识层基于Kafka、SBTF等共识算法实现。HyperledgerFabric利用Kafka对交易信息进行排序处理,提供高吞吐、低延时的处理能力,并且在集群内部支持节点故障容错。相比于Kafka,SBFT(简单拜占庭算法)能提供更加可靠的排序算法,包括容忍节点故障以及一定数量的恶意节点。

合约层是HyperledgerFabric的智能合约层Blockchain,Blockchain默认由Go语言实现。Blockchain运行的程序叫作链码,持有状态和账本数据,并负责执行交易。在HyperledgerFabric中,只有被认可的交易才能被提交。而交易是对链码上的操作的调用,因此链码是核心内容。同时还有一类称之为系统链码的特殊链码,用于管理函数和参数。

应用层是HyperledgerFabric的各个应用程序。

此外,既然是联盟链,在HyperledgerFabric中还有一个模块专门用于对联盟内的成员进行管理,即MembershipServiceProvider(MSP),MSP用于管理成员认证信息,为客户端和peers节点提供成员授权服务。

区块链通用架构

至此,我们已经了解了比特币、以太坊和Hyperledger的架构设计,三者根据使用场景的不同而有不同的设计,但还是能抽象出一些共同点,我们可以基于这些共同点设计企业级联盟链的底层架构。

本文提供的联盟链底层架构如下图所示。

联盟链底层架构

我们将区块链底层分为6层,从下至上分别是存储层、数据层、网络层、共识层、激励层和应用层。

存储层主要存储交易日志和交易相关的内容。其中,交易日志基于LogBack实现。交易的内容由内置的SQLite数据库存储,读写SQLite数据库可以基于JPA实现;交易的上链元数据信息由RocksDB或LevelDB存储。

数据层由区块和区块“链”(区块的链式结构)组成。其中,区块中还会涉及交易列表在Merkle树中的存储及根节点哈希值的计算。交易的内容也需要加密处理。由于在联盟链中有多个节点,为有效管理节点数据及保障数据安全,建议为不同节点分配不同的公、私钥,以便加密使用。

网络层主要提供共识达成及数据通信的底层支持。在区块链中,每个节点既是数据的发送方,又是数据的接收方。可以说每个节点既是客户端,又是服务端,因此需要基于长连接来实现。我们可以基于WebSocket用原生方式建立长连接,也可以基于长连接第三方工具包实现。

共识层采用PBFT(PracticalByzantineFaultTolerance)共识算法。不同于公链的挖矿机制,联盟链中更注重各节点信息的统一,因此可以省去挖矿,直奔共识达成的目标。

激励层主要是币(Coin)和Token的颁发和流通。在公链中,激励是公链的灵魂;但在联盟链中不是必需的。

应用层主要是联盟链中各个产品的落地。一般联盟链的应用层都是面向行业的,解决行业内的问题。

Java版联盟链的部署架构如下图所示。

Java版联盟链的部署架构

联盟链由1个超级节点和若干个普通节点组成,超级节点除具备普通节点的功能外,还具备在联盟中实施成员管理、权限管理、数据监控等工作。因此相较于完全去中心化的公链,联盟链是部分去中心化的,或者说联盟的“链”是去中心化的,但是联盟链的管理是中心化的。

整个开发环境建议基于SpringBoot2.0实现。基于SpringBoot开发,可以省去大量的xml配置文件的编写,能极大简化工程中在POM文件配置的复杂依赖。SpringBoot还提供了各种starter,可以实现自动化配置,提高开发效率。

标签:区块链EERPEERGER玩区块链的都是什么人TEER币PeerguessBABYCRAZYTIGER币

比特币行情热门资讯
IRA:氢燃料电池汽车优缺点分析_CryptoPirates

点击上面“电动知家”可以订阅哦 氢燃料电池是使用氢这种化学元素,制造成储存能量的电池。其基本原理是电解水的逆反应,把氢和氧分别供给阳极和阴极,氢通过阳极向外扩散和电解质发生反应后,放出电子通过外.

ANTE:Arbitrum会是下一个百倍币?怎么其交互并获得空投资格?_加密货币

PanteraCapital认为,比特币正在开始其"第七个牛市周期",投资者不应该对FTX之后的加密货币感到害怕.

APP:山寨币摩尔链,归零致歉,币友自嘲良心项目方_区块链最大局

作者丨莱道君 来源丨莱道区块链 2019年2月27日,摩尔链官网发布一则公告,声称金融市场血腥,币圈熊市无期,前路漫漫,风险重重,无奈之下只有宣布,将剩余募资到以太坊归还给社区.

HYP:戴着墨镜的时尚传奇‘老佛爷’—卡尔拉格斐巴黎辞世_HyperExchange

作为香奈儿超过30年的领导者,老佛爷从不懈怠,在80多岁时,当他的大部分同龄人退休,搭著游艇或在乡村庄园过著悠哉生活时,他持续每年平均设计并且推出推出14个时装系列.

888:香港有什么好玩的?网评香港必去的三个地方,你去过几个?_888币值多少钱

香港地方不大,素有「购物天堂」的美称,许多服饰店都提供量身订制服务,另外还有人声鼎沸的庙街夜市,蕴含着道地的香港情怀,高楼林立的中环,海景优美的离岛,适合各样的人群.

iVeryOne:第二次金特会无协议而终,中国外交部:半岛问题解决非一蹴而就_iVeryOne

据美国白宫发布声明称,美国总统特朗普与朝鲜领导人金正恩的第二次会晤没有达成任何协议。白宫发言人桑德斯指出,两名领导人讨论了实现无核化和推动经济的各种方法,但双方现阶段没有达成协议.