【发布时间】:2019-02-16 09:11:14
【问题描述】:
我有几个关于 Hyperledger-Fabric 的问题,但我在文档中没有找到明确的答案。
1.) 世界状态
账本由区块链(包含交易)和世界状态(存储在数据库中)组成。每笔交易都永久存储在区块链中。此外,似乎数据库不仅存储键/变量的当前值,还存储过去的版本(参见文档中的下图):
那么我的理解是正确的,即分类帐不仅保存所有交易,而且还保存所有曾经存在的世界状态? 如果是这样,为什么将所有状态从状态 0 保存到当前状态?为什么不只保存 a) 所有交易和 b) 只保存当前的世界状态?这还不够吗?
****************************
2.) 频道和世界状态
假设我有一个 Hyperledger-Fabric 应用程序,不同的成员可以在其中评论彼此的个人资料图片。
进一步假设有三个成员(“组织”):Adam、Bob 和 Sara。
此外,Adam 和 Bob 之间还有一个通道。亚当和莎拉之间还有第二个频道。
显然,这意味着
- Adam 和 Bob 之间的交易对 Sarah 不可见
- Adam 和 Sarah 之间的交易对 Bob 不可见
假设有一个名为“addCommentToProfile”的事务,可用于将 cmets 添加到其他配置文件中。
假设 Sarah 发送交易“addCommentToProfile”,添加评论“你的头发看起来很不错!”到亚当的个人资料。
显然,交易对 Bob 是不可见的(因为它只是 Adam 和 Sarah 之间通道的一部分。)
但是交易的结果(亚当的个人资料上的一条新评论“你的头发看起来很不错!”)也是不可见的吗?
换一种说法,鉴于亚当参与两个不同的渠道 - 亚当是否也有两种不同的世界状态 - 一种对 Bob 可见,另一种对 Sarah 可见?
****************************
3.) “Hyperledger Explorer”与“Hyperledger Composer Historian”
有“Hyperledger Composer Historian”(https://hyperledger.github.io/composer/v0.16/business-network/historian)和“Hyperledger Explorer”(https://www.hyperledger.org/projects/explorer)
它们是一样的吗(即如果使用 Hyperledger Composer 框架,那么“Hyperledger Explorer”就简称为“Hyperledger Composer Historian”)?还是它们是两种不同的东西? 如果它们是不同的东西:如何防止业务网络的参与者访问“Hyperledger Explorer”记录?
【问题讨论】:
标签: hyperledger-fabric hyperledger-composer