Hyperledger Fabric 中的世界状态和区块链

Hyperledger Fabric 中的世界状态和区块链,第1张

参考

Hyperledger Fabric 官方文档

账本

在 Hyperledger Fabric 中,账本由两个不同但相关的部分组成——世界状态和区块链。所谓世界状态,就是保存了一组当前值的数据库(世界状态的实现就是通过 levelDB 或者 CouchDB 这两个可选,可插拔的数据库);而区块链则是记录导致当前世界状态的所有更改的事务日志。

世界状态

世界状态就是存储的当前值,其目的是,因为当前值往往存在频繁的 *** 作,如果通过遍历的方式获取,那么就太麻烦了。
同时世界状态还有一个版本号,用于反应状态的更新。

区块链

区块链在超级账本中以文件的方式实现。

和其他区块链基本相同,不过在超级账本的区块链中,创世区块包含的是该区块链的一些配置信息。

区块

交易


上图中,Proposal(提议)的作用是作为智能合约调用是的输入参数,这些参数与当前的世界状态结合,形成新的世界状态(用于更新数据)。

而 Response 用于输出,如果交易成功了,则用于更新世界状态。

Endorsements 这是来自每个所需组织的签名交易响应列表,足以满足背书策略。如果不满足背书策略,则不会更新。

命名空间

事实上,在超级账本中并不是只有一个区块链,更确切的说,这是一个区块网,超级账本的另一个概念 channel 是一个区块网中的一个子网络(子账本)。而子账本中装载的智能合约(链码)拥有一个世界状态,同一链码中的数据位于相同的命名空间。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/716452.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-25
下一篇 2022-04-25

发表评论

登录后才能评论

评论列表(0条)

保存