超级账本 --- ReadWriteSet的逻辑结构
用于时序校验,解决双花问题 (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
超级账本 --- ReadWriteSet的逻辑结构的更多相关文章
- SAP云平台,区块链,超级账本和智能合约
前一篇文章<Hyperledger Fabric on SAP Cloud Platform>,我的同事Aviva已经给大家介绍了基于区块链技术的超级账本(Hyperledger)的一些概 ...
- Hyperledger Fabric Model——超级账本组成模型
超级账本组成模型 本文主要讲述Hyperledger Fabric的关键设计特性,并细述如何实现了一个全面的.可定制的企业级区块链解决方案: 资产定义--资产这里理解为任何具有货币价值的东西,它们都可 ...
- Hyperledger超级账本在Centos7下搭建运行环境
超级账本(hyperledger)是Linux基金会于2015年发起的推进区块链数字技术和交易验证的开源项目,加入成员包括:荷兰银行(ABN AMRO).埃森哲(Accenture)等十几个不同利益体 ...
- HyperLedger Fabric 1.4 超级账本项目(5.4)
超级账本(Hyperledger)项目分框架类和工具类两种项目,框架类有Hyperledger Burrow.Hyperledger Fabric.Hyperledger Indy.Hyperledg ...
- HyperLedger Fabric 1.4 超级账本组织(5.3)
超级账本组织分为TSC(技术指导委员会).Governing Board(董事会成员).LF Staffs(工作人员)三个组织,组织架构图如下: TSC:技术指导委会员,主导社区的开发工作,下设多个工 ...
- HyperLedger Fabric 1.4 超级账本简介(5.2)
超级账本(Hyperledger)是推动区块链跨行业应用的开源项目的总称,组织成员可以发起新的区块链项目,加入到超级账本项目(Hyperledger)中,但需要遵循Hyperledger的生命周期. ...
- HyperLedger Fabric 1.4 超级账本起源(5.1)
至比特币开源以来,无数技术人员对其进行研究,并且对该系统经过了无数次改进,超级账本项目(Hyperledger)最初也是用来改善比特币的底层技术,最终由Linux基金会组织发展起来. 开放 ...
- 联盟链IBM的超级账本Hyperledger Fabric框架,JP Morgan’s Quorum
联盟链IBM的超级账本Hyperledger Fabric框架,JP Morgan’s Quorum JP Morgan’s Quorum https://www.coindesk.com/jpmor ...
- 阿里云成为Hyperledger超级账本全球会员,发力区块链生态建设
摘要: 阿里云将会与Hyperledger社区共同推进全球区块链技术和商业生态在多行业领域的建设. 2018年12月12日在瑞士巴塞尔的2018Hyperledger全球峰会上,阿里云正式加入Hype ...
随机推荐
- RHEL SHELL快捷键
Shell快捷键 CTRL+a 调到命令行头 e 调到命令行尾 CTRL+u 光标前面的删除 k 光标后面的删除 CTRL+→词的头 词的尾 ESC+. 粘贴上个命令的尾词 杀掉远 ...
- Unable to instantiate application com.txrj.sms.activity.TxrjApplication
07-18 12:04:57.413: E/AndroidRuntime(4448): FATAL EXCEPTION: main 07-18 12:04:57.413: E/AndroidRunti ...
- ios中图层的ancorPoint
@interface MJViewController () { CALayer *_layer; } @end @implementation MJViewController - (void)vi ...
- iOS 10 的一个重要更新-用 UIViewPropertyAnimator 编写动画
曾经的黑暗年代 用基于 block 的 UIView animation 来编写 view 属性(frame, transform 等等)变化的动画非常简单.只需要短短几行代码: view.alpha ...
- 【LeetCode】Longest Substring with At Most Two Distinct Characters (2 solutions)
Longest Substring with At Most Two Distinct Characters Given a string, find the length of the longes ...
- CentOS 7.0关闭默认firewall防火墙启用iptables防火墙
操作系统环境:CentOS Linux release 7.0.1406(Core) 64位CentOS 7.0默认使用的是firewall作为防火墙,这里改为iptables防火墙步骤. 1.关闭f ...
- 【Oracle】Oracle中常用的系统函数
Oracle SQL 提供了用于执行特定操作的专用函数.这些函数大大增强了 SQL 语言的功能.函数可以接受零个或者多个输入参数,并返回一个输出结果.在Oracle还可以自定义函数,关于更多信息可以查 ...
- windows Maven3.0 服务器配置搭建
搭建nexus私服,原因很简单,不必多说,本文重点说下最新版的Maven 3.0.x系列的安装步骤. 最新版的网上中文资料很少,参考后都没成功.最后在官网的英文资料中得到答案,成功搞定. 1.确定我们 ...
- UIAlertView 点击按钮后控制其是否消失
新建NotDismissAlertView类,继承UIAlertView. 设置控制是否消失的标示符 重写 在-(void)dismissWithClickedButtonIndex:(NSInte ...
- C# 自定义控件入门
原文地址:http://www.itdaan.com/blog/2008/03/29/95500785fa538b3900b34ee824376e8b.html 这几天为了什么"评估&quo ...