如何解决当多个客户端想要更新同一个资产时,Hyperledger Fabric 如何处理交易执行?
由于 Hyperledger Fabric 有一种解决方法,可以通过检查读取集版本控制和世界状态版本控制来避免双花。 假设有一个客户端发出交易来更新相同的资产,那么根据我的知识,即将到来的交易将被同行无效。 据我了解,这意味着在一个区块中,一项资产更新应该只有一笔交易,并且要注意更多。
任何帮助,请您确认我的假设。
高度赞赏。
谢谢。
解决方法
Hyperledger Fabric 使用 Multi-Version Concurrency Control (MVCC)
来解决双花问题。
Fabric 的底层数据库使用 MVCC 来确保不会出现双花或数据不一致的情况。用可以理解的术语来说,这意味着它使用版本化的文档或记录(因为它是一个键值存储,我们称每一行为一个文档或记录)。当更新相同的状态时,现有文档的新版本将覆盖旧文档。在此期间执行的任何事务都不会被清除,并且会触发 MVCC 错误。与其他数据库一样使用版本控制的优势在于,即使在高负载下,数据库也可以异步全速运行。这就是为什么在现代数据库中 MVCC 被更广泛使用的原因。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。