超级账本 --- ReadWriteSet的逻辑结构

简介: 用于时序校验,解决双花问题 (doublespending)• Endorser– 模拟执行交易,生成ReadSet和WriteSet– ReadSet是交易前key值的状态– WriteSet是交易产生的变化量• Committer– ReadSet作MVCC检查(Multi-VersionCon...

用于时序校验,解决双花问题 (double
spending)
Endorser
模拟执行交易,生成ReadSet和WriteSet
ReadSet是交易前key值的状态
WriteSet是交易产生的变化量
Committer
ReadSet作MVCC检查(Multi-Version
Concurrency Control),确保数据没有变

校验通过后,把交易的WriteSet写入状态
数据库
把Block写入区块链 (账本)

 

实例:

Block{
Transactions [
{
"Id" : txUUID2
"Invoke" : “Method(arg1, arg2,..,argN)"
“TxRWSet" : [
{ ”Chaincode” : “ccId”
“Reads”:[{"key" : “key1", "version” : “v1” }]
“Writes”:[{"key" : “key1", ”value" : bytes1}]
} // end chaincode RWSet
] // end TxRWSet
}, // end transaction with "Id" txUUID2
{ // another transaction },
] // end Transactions
}// end Block

 

相关文章
|
SQL 数据库
关系数据库——关系操作和关系完整性
关系数据库——关系操作和关系完整性
268 0
|
数据库
第2章 关系数据库——2.3关系的完整性
第2章 关系数据库——2.3关系的完整性
|
Unix 区块链 索引
比特币区块结构解析
前言 本文主要具体分析一个区块的值,通过逐字节分析,找出与比特币区块字段对应的部分,我们就可以加深对比特币区块的了解。 准备工作 我们在https://webbtc.com网站上查询区块哈希值为00000000d1145790a8694403d4063f323d499e655c83426834d4ce2f8dd4a2ee的区块,查询到该区块的json格式信息和十六进制格式信息。
2779 0
|
Linux
【超级账本】cryptogen 与 configtxgen 模块介绍(三)
目录 1. cryptogen模块 1.1 命令介绍 1.2 生成证书 1.2.1 生成模板配置文件 1.2.2 生成证书 2. configtxgen模块 2.1 configtxgen命令介绍 2.2 修改配置文件 2.3 配置信息介绍 2.4 生成创世块 2.5 生成通道文件 2.6 更新锚节点 最后
218 0
【超级账本】cryptogen 与 configtxgen 模块介绍(三)
|
存储 区块链
【超级账本】Fabric 层次结构以及核心模块的介绍(二)
目录 1. 结构介绍 2. 核心代码 3. 核心模块 3.1 peer 系统模块 3.2 order 系统模块 3.3 cryptogen 工具模块 3.4 configtxgen 工具模块 3.5 configtxlator 工具模块 最后
293 0
【超级账本】Fabric 层次结构以及核心模块的介绍(二)
|
区块链 开发工具 数据安全/隐私保护
|
区块链
SmartRaiden 和 Lighting Network 进行去中心化跨链原子资产交换
SmartRaiden 和 Lighting Network 进行去中心化跨链原子资产交换 前言 如果能够进行以太坊和比特币跨链原子资产交换,是不是一件很酷的事情? 目前链下的扩容方式有很多,最广为人知的就是比特币的闪电网络和以太坊的雷电网络,今天我就来告诉如何通过智能雷电和闪电网络来实现跨链原子资产交换。
1137 0
《孙子兵法》的逻辑结构
《孙子兵法》的逻辑结构   内容提要:本节主要论述《孙子兵法》对世界的部分影响以及《孙子兵法》的逻辑结构。《孙子兵法》从逻辑上可以分为三部分,包括战略、战术和环境。
2251 0