Hyperledger交易流程
Hyperledger Fabric Network中的角色
在Hyperledger中,由三种类型的角色:
Client:应用客户端,用于将终端用户的交易请求发送到区块链网络;
Peers:负责维护区块链账本,分为endoring peers和committing peers,其中,endorser为交易做背书(验证交易并对交易签名),committer接收打包好的区块,然后写入区块链中。Peers节点是一个逻辑的概念,endorser和committer可以同时部署在一台物理机上。
Ordering Service:接收交易信息,并将其排序后打包成区块,放入区块链,最后将结果返回给committer peers。
Hyperledger交易流程
1、客户端通过SDK接口,向endorsing peer节点发送交易信息:
2、每个endorsing peer节点模拟处理交易,此时并不会将交易信息写入账本。然后,endorser peer会验证交易信息的合法性,并对交易信息签名后,返回给client。此时的交易信息只是在client和单个endorser peer之间达成共识,并没有完成全网共识,各个client的交易顺序没有确定,可能存在双花问题,所以还不能算是一个“有效的交易”。同时,client需要收到“大多数”endorser peer的验证回复后,才算验证成功,具体的背书策略由智能合约代码控制,可以由开发者自由配置。
3、client将签名后的交易信息发送给order service集群进行交易排序和打包。Order service集群通过共识算法,对所有交易信息进行排序,然后打包成区块。Order service的共识算法是以组件化形态插入Hyperledger系统的,也就是说开发者可以自由选择合适的共识算法。
4、ordering service将排序打包后的区块广播发送给committing peers,由其做最后的交易验证,并写入区块链。ordering service只是决定交易处理的顺序,并不对交易的合法性进行校验,也不负责维护账本信息。只有committing peers才有账本写入权限。
Hyperledger交易流程的更多相关文章
- [转] 深度探索Hyperledger技术与应用之超级账本的典型交易流程
转自: https://blog.csdn.net/HiBlock/article/details/80212499 个人感觉对交易流程描述的比较清楚,转载以备查看. 1 典型交易流程 下图所示为Hy ...
- HyperLedger Fabric 1.4 交易流程(6.3)
区块链最主要的特性之一是去中心化,没有了中心机构的集中处理,为了达成数据的一致性,就需要网络中全民参与管理,并以某种方法达成共识,所以区块链的交易流程也就是共识的过程. 在Fabric中, ...
- QPBOC扩展应用交易流程
1 Q扩展部分数据 增加3个DGI,分别为:A001,8020,9020 9103中增加DF60(9F38中),DF61 增加DF62,DF63 1.1 A001扩展应用配置 DGI 长度 值(示例 ...
- Fabric 1.0交易流程
这篇文章详细介绍fabric的交易流程,以图片加文字的形式呈现. Fabric 1.0交易流程 fabric中的所有交易都是通过chaincode执行 1.应用程序客户端通过SDK调用证书服务(CA) ...
- PBOC电子现金的交易流程
做一个电子现金的交易: 第一步当然是选中当前的应用, 方法是调用select命令, 传入当前的应用AID号, 如果卡片的状态码返回9000,则表示选中成功. 下面举一个例子: 发送: 00 a4 04 ...
- 详细讲解:零知识证明 之 ZCash 完整的匿名交易流程
作者:林冠宏 / 指尖下的幽灵 博客:http://www.cnblogs.com/linguanh/ 掘金:https://juejin.im/user/587f0dfe128fe100570ce2 ...
- 架构设计 | 基于电商交易流程,图解TCC事务分段提交
本文源码:GitHub·点这里 || GitEE·点这里 一.场景案例简介 1.场景描述 分布式事务在业务系统中是十分常见的,最经典的场景就是电商架构中的交易业务,如图: 客户端通过请求订单服务,执行 ...
- 区块链Fabric 交易流程
1. 提交交易预案 1)应用端首先构建交易的预案,预案的作用是调用通道中的链码来读取或者写入账本的数据.应用端使用 Fabric 的 SDK 打包交易预案,并使用用户的私钥对预案进行签名. 应用打包完 ...
- PBOC2.0中消费交易流程
消费交易允许持卡人使用电子存折或电子钱包的余额进行购物或获取服务.此交易可以在销售点终端(POS)上脱机进行.使用电子存折进行的消费交易必须提交个人识别码(PIN),使用电子钱包则不需要. 1.1 终 ...
随机推荐
- MySQL数据库生成数据库说明文档
在半年多前为一个MySQL数据库生成过数据库说明文档,今天要重新生成一份,但是发现完全不记得当时是怎么生成的,只能在网上搜索重来一遍,所以今天特意把这个过程记录一下. 一.安装 使用MySQL数据库表 ...
- Vue 2.0 入门系列(15)学习 Vue.js 需要掌握的 es6 (2)
类与模块 类 es6 之前,通常使用构造函数来创建对象 // 构造函数 User function User(username, email) { this.username = username; ...
- 由于;引发的Oracle的BadSqlExecption
一.在使用单引号进行各种转换合并的时候发生的异常: 1:首先单引号的表示符为 ' 在Oracle中如果SQL语句带上了分号是会报错的, 在SQL传入进行执行的时候会报BadSQLExecption,这 ...
- P1177快速排序
这是一个快速排序的模板题.拿到题后便写了quicksort(确定一个基准数,利用两个哨兵,把大的放右边,小的放左边,再递归实现排序),但是竟然TLE了60pts(???),于是翻看dalao们的题解, ...
- c++多线程并发学习笔记(0)
多进程并发:将应用程序分为多个独立的进程,它们在同一时刻运行.如图所示,独立的进程可以通过进程间常规的通信渠道传递讯息(信号.套接字..文件.管道等等). 优点:1.操作系统在进程间提供附附加的保护操 ...
- Scrapy 教程(三)-网站解析
有经验的人都知道,解析网站需要尝试,看看得到的数据是不是想要的,那么在scrapy中怎么尝试呢? 调试工具-shell 主要用于编写解析器 命令行进入shell scrapy shell url 这个 ...
- ES6 系列之异步处理实战
前言 我们以查找指定目录下的最大文件为例,感受从 回调函数 -> Promise -> Generator -> Async 异步处理方式的改变. API 介绍 为了实现这个功能,我 ...
- 56. Merge Intervals (JAVA)
Given a collection of intervals, merge all overlapping intervals. Example 1: Input: [[1,3],[2,6],[8, ...
- Nginx中配置https中引用http的问题
Nginx中配置https中引用http的问题 遇到问题: 今天公司要在后台增加直播入口,使用腾讯云的实时音视频,要求是必须使用https,在配置完强制跳转https候,发现后台无法上传图片,在浏览器 ...
- ubuntu14.04首次安装.md
ubuntu14.04 安装后的工作 1.换软件源 sudo cp /etc/apt/sources.list /etc/apt/sources.list_backup 网易163更新服务器(广东广州 ...