欢迎您访问365答案网,请分享给你的朋友!
生活常识 学习资料

HyperledgerFabric中的世界状态和区块链

时间:2023-05-19
参考

Hyperledger Fabric 官方文档

账本

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

世界状态

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

区块链

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

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

区块 交易


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

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

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

命名空间

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

Copyright © 2016-2020 www.365daan.com All Rights Reserved. 365答案网 版权所有 备案号:

部分内容来自互联网,版权归原作者所有,如有冒犯请联系我们,我们将在三个工作时内妥善处理。