2020-10-08 15:17:44 版本 : Fabric如何解决“双花”问题?
作者: 陈曦 于 2020年03月12日 发布在分类 / BSN 常见问题 / BSN 官方专网 / 技术类问题 下,并于 2020年10月08日 编辑
 历史版本

修改日期 修改人 备注
2020-10-08 15:20:28[当前版本] 陈曦 格式调整
2020-10-08 15:17:44 陈曦 格式调整
2020-03-23 14:22:38 陈曦 修改内容
2020-03-12 17:31:26 陈曦 创建版本

比如现在 A账户只有10元,A同时给B、C都转10元,两笔交易都成功就是 双花“ 问题 。在 F abric中 多个节点同时接到更新同一 key不同value的交易请求时, 背书节点 因是仿真操作,不会真的去改账本数据,所以两个 交易 都是成功的, 假设 当前 World state A的version为1,那么 两个 交易关于 A的 读集 version都是1,写集version都是2 。背书节点将 结果进行背书并响应给客户端,客户端 收集到足够的消息和背书签名之后,构建合法的交易请求并将交易请求广播给排序集群服务 排序集群服务 不检查交易中的数据只对交易按时间顺序排序 打成区块,将块 广播 记账节点。 记账节点 按照排序的顺序对区块中的交易进行 验证 先处理第一 笔交易 验证 是有效 交易后会 去更新 账本里的值 此时 World state A version就变成了2, 验证第二笔交易时 交易 A 的读集 version还是1,就和当前World state 中的 version不匹配了 就会被判定为 无效交易, 第二笔交易数据就 不能更新成功 ,就不会有 ”双花“问题了

历史版本-目录  [回到顶端]
    区块链服务网络发展联盟