0

我目前正在使用 Fabric 1.4 进行项目工作,我能够对事情的进展情况有一个不错的了解,但我对智能合约和背书政策协同工作的方式感到很困惑。

我所理解的是,背书策略是在链码实例化期间定义的,其中两个或三个组织将签署交易以使其有效。这种背书只是验证交易签名对吗?没有数据级别检查。

就像说我有这种情况:我有三个组织(Org1,Org2,Org3),每个组织都有一个同伴。现在通过客户端 Web 应用程序,每个对等点将数据放入区块链。现在我如何验证数据(我在区块链中提交的信息)是否例如名称和 ID 由另一个对等方正确验证,然后才添加到世界状态。

示例:如果 org1 中的 peer0 添加数据,名称和 id 并且 ID 错误。Org2 有一个 ID 列表,它应该检查 org1 添加的 ID 是否与它匹配并验证它。如果验证成功,则可以将数据放入世界状态

如何定义这种交易状态级验证(更多的是数据级验证而不仅仅是签名验证)?这可以在 Go 智能合约中完成吗?

任何帮助和建议都会有所帮助。

谢谢

4

1 回答 1

1

在背书期间,每个选定的背书者执行(或模拟)交易并返回其响应,读取集和写入集签名。客户端检查签名并且来自不同背书者的响应匹配(或者至少它应该这样做,无论如何,提交者稍后会再次执行此检查),因此存在数据级别检查(您的前提是错误的)。客户端将所有背书组装成一个交易并广播它,以便它到达排序服务。排序服务将交易添加到一个块中,并且该块被发送到加入通道的每个(提交者)对等点。提交者再次执行他们的检查并将事务提交到状态。

在这里完美解释:https ://hyperledger-fabric.readthedocs.io/en/release-1.4/txflow.html 。

于 2020-04-07T06:22:26.323 回答