超级账本 --- 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

 

相关文章
|
存储 区块链
区块链技术中的数据结构
比特币中的数据结构
79 0
|
存储 区块链
分布式账本
分布式账本
98 0
分布式系统设计,中心化和去中心化设计需要知道的内容(2)
分布式系统设计,中心化和去中心化设计需要知道的内容(2)
280 2
|
Unix 区块链 索引
比特币区块结构解析
前言 本文主要具体分析一个区块的值,通过逐字节分析,找出与比特币区块字段对应的部分,我们就可以加深对比特币区块的了解。 准备工作 我们在https://webbtc.com网站上查询区块哈希值为00000000d1145790a8694403d4063f323d499e655c83426834d4ce2f8dd4a2ee的区块,查询到该区块的json格式信息和十六进制格式信息。
2648 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 更新锚节点 最后
178 0
【超级账本】cryptogen 与 configtxgen 模块介绍(三)
|
区块链 开发工具 数据安全/隐私保护
|
区块链 数据安全/隐私保护
区块链研习 | DAG网络:Blockless无区块概念将解决区块链交易性能问题
DAG网络中提出的无区块Blockless概念,将有可能在未来解决区块链交易中由于生成区块而产生的交易时间过长的问题。
1552 0