区块链学习8:超级账本项目Fabric中的背书、背书节点、背书策略、背书签名

Fabric v1.x 背书策略 一、背书策略是什么 Committing Peers在验证交易的时候,通过背书策略来验证一个交易是否有效,背书策略里面定义了一些要求,只有根据背书策略进行背书的交易才被认为是有效的。每个智能合约在部署的时候,都会指定背书策略。 Fabric定义了ESCC和VSCC两个system chaincode来为交易进行背书和验证: ESCC (Endorsement System ChainCode)在... 阅读详情
☞ ░ 前往老猿Python博文目录 ░

在Hyperledger Fabric区块链中,有背书节点进行背书,Hyperledger Fabric 使用背书策略来定义哪些节点需要执行交易。

Hyperledger Fabric在区块链交易方面采取了一个新颖的思路,将智能 合约的执行与账本的更新分开使它可以提高交易吞吐量,支持更细粒度 的隐私控制,实现更灵活强大的智能合约。而这些特性得以实现的一个 关键因素就是在交易加入账本之前进行显式地交易背书。

1、背书

背书”这个词源来自银行票据业务,传统意义上的背书是指请具有一定公信力的人在票据背面签字以表达对信用的加强和支持,就是让别人提供信誉以及影响力进行支持,让被背书(endorsed)人或者事物提升可信度,更加具有公信力。需要注意的是背书不是担保,而是证明或声明的意思。

老猿认为在区块链中背书可以理解为承担背书任务的节点为区块链交易进行交易信息验证,对验证通过的交易声明此交易合法的过程和机制。

并不是所有区块链都采用了背书机制,比特币和以太坊等公有链一般都不采用背书机制,联盟链中Hyperledger Fabric采用了背书机制。

2、背书节点(endorsement、endorsor)

在区块链中承担背书任务的节点即是背书节点。背书节点必须通过有效证书的预期信息的有效签名来证明其合法性。

3、背书策略

背书策略(endorsement policy)可以理解为是对交易进行背书必须满足的条件,即要得到背书成功的结论,必须满足背书策略中给出的条件。

区块链节点有预先指定的背书策略集,这些背书的条件判断在链码(Chaincode)中实现,所有的交易都必须依据背书策略进行交易,因为只有经过背书处理的交易才是合法、被认可的交易。因此背书策略也可以说就是用来指导被选中的节点(背书节点)如何决策交易是否正确的条件。

由于背书策略是链码,只要能进行链码开发的语言都可以进行背书策略的开发,同一区块链中的链码可以使用多种语言进行开发。

一些背书策略样例:

  • 节点A、B、C和F都需要对类型为T的交易进行背书
  • 通道中的大部分节点必须对类型为U的交易进行背书
  • A、B、C、D、E、F、G中的至少3个节点必须对类型为V的交易进行背书

4、背书验证过程

Fabric交易需要首先通过节点的背书,然后再进行交易排序,最后才利用有序交易进行账本的更新。下面是Fabric背书策略验证过程:

  1. 发起交易的时候,发起端应用一般调用SDK指定交易提议发给一个或多个背书节点进行背书验证,接收提议的背书节点在SDK的交易提议请求中指定,如果未指定,则会将交易提议请求发送给加入该通道的所有节点,发送后客户端应用等待背书节点的返回
  2. 背书节点收到提议后,首先进行一些检查和签名的验证,包括用客户端(SDK)的公钥验证它的签名、核实客户端是否可以在该channel进行操作、交易是否已被提交、交易提议组织是否正确。验证通过后模拟执行chaincode(不会将结果写入到账本里),生成一个提议结果,并对结果进行背书,即在结果中添加数字签名并利用私钥对结果进行签名
  3. 客户端(SDK)收到足够多(背书策略要求)的背书节点的结果后,表示这个交易已经正确背书,然后将交易提议、模拟结果和背书信息打包发给orderer排序节点;如果客户端没有收集到足够多的背书节点反馈的背书信息,这个交易就会被舍弃
  4. Orderer节点对来自客户端(SDK)的信息进行排序,并创建区块,然后在通道channel上进行广播;
  5. channel上的peer节点接收到交易区块后,验证背书策略是否满足,然后更新账本,至此,背书策略的验证过程完成。

参考:
1、《Fabric背书策略相关概念与背书验证过程》
2、《Fabric交易背书原理及流程》
3、《区块链原理之交易背书基本流程(二) 》

关于老猿的付费专栏

老猿的付费专栏《使用PyQt开发图形界面Python应用》专门介绍基于Python的PyQt图形界面开发基础教程,付费专栏《moviepy音视频开发专栏》详细介绍moviepy音视频剪辑合成处理的类相关方法及使用相关方法进行相关剪辑合成场景的处理,两个专栏加起来只需要19.9元,都适合有一定Python基础但无相关专利知识的小白读者学习。这2个收费专栏都有对应免费专栏,只是收费专栏的文章介绍更具体、内容更深入、案例更多。

付费专栏文章目录:《moviepy音视频开发专栏文章目录》、《使用PyQt开发图形界面Python应用专栏目录》。

关于Moviepy音视频开发的内容,请大家参考《Python音视频剪辑库MoviePy1.0.3中文教程导览及可执行工具下载》的导览式介绍。

对于缺乏Python基础的同仁,可以通过老猿的免费专栏《专栏:Python基础教程目录》从零开始学习Python。

如果有兴趣也愿意支持老猿的读者,欢迎购买付费专栏

☞ ░ 前往老猿Python博文目录 ░
超级账本Fabric中的权限管理和策略 权限管理是区块链网络十分重要的功能,负责控制某个身份在某个场景下是否允许采取某个操作(如读写某个资源)。 超级账本 Fabric 项目通过策略(Policy)来灵活指定各场景下的操作权限。 策略应用场景 具体来看,常见的策略场景包括如下表所示。其中,大部分都与系统配置链码相关,可以在通道配置中进行指定;部分为代码中的规定。 对于存储在通道配置中的策略,可以利用 configtx.yaml ... 阅读详情

相关推荐

易懂案例:用班费记账来理解区块链Fabric背书管理系统链码、背书节点调用、背书签名、响应消息、Invoker()方法是什么?各自原理、数学逻辑、区别和联系是什么?

摘要: Hyperledger Fabric的背书机制通过班费记账场景类比解析: ESCC 是审批规则执行器,验证背书节点权限(如班长+财务委员双签) 背书节点调用 类似将申请提交给指定审批人,确保权限合规 背书签名 采用加密签名(如ECDSA),保证唯一性和防篡改 响应消息 包含模拟结果和签名,作为记账凭证 Invoke() 执行实际业务逻辑(如计算余额),生成读写集供背书验证 整个流程分离业务逻辑与审批规则,通过密码学签名和策略验证确保交易合法性。

通俗易懂学IT 1420

区块链-背书

1.背书,这个词源来自银行票据业务,是指票据转让时,原持有人在票据背面加盖自己的印鉴,证明该票据真实有效、如果有问题就可以找原持有人。 区块链中的背书就好理解了。可以简单的理解为验证交易并声明此交易合法(或不合法)的链中节点 2.背书节点(endorsement、endorsor) 在区块链中承担背书任务的节点即是背书节点。背书节点必须通过有效证书的预期信息的有效签名来证明其合法性 3.背书策略 背书策略(endorsement policy)可以理解为是对交易进行背书必须满足的条件,即要得到背书

nature_ph的博客 5906

《区块链国产化实践指南——基于Fabric 2.0》

本书以主流开源区块链技术Hyperledger Fabric v2.0.0为研究对象,全书共分为三部分。 第一部分,第1至12章,从源码层面深入刨析Hyperledger Fabric的实现。 第二部分,第13章,讲述如何部署应用Hyperledger Fabric,包括使用k8s进行部署。 第三部分,第14至17章,叙述了区块链技术在国内的发展和对Hyperledger Fabric进行国产化改造的实践,包括4个方向:国密改造、性能改造、BaaS服务平台和与物联网相结合。

609127400的博客 1万+

解析fabric中各节点(排序、背书、提交等节点)

1)交易提案的格式完整,(2)且验证该交易提案之前没有被提交过(重放攻击保护),(3)验证签名是有效的(使用 MSP),(4)验证交易提交客户端是否有权在该通道上执行该操作(也就是说,每个背书节点确保发起者满足通道。:对于经过背书检验的交易,客户端会提交交易【包括交易反馈在内的交易内容】进行交易排序(按照时间),打包成一个个区块分发给每个组织的Leader节点再进行下一步的节点间的共识。注:如果是在一个通道内进行的隔离交易,则会维护对应的一个通道账本,只保存在加入通道的节点而不会是所有的组织节点。

weixin_45270330的博客 1355

易懂案例:用班费记账来理解区块链Fabric的节点、对等、验证者、背书者、排序者是什么?各自的原理、数学逻辑、区别和联系是什么?

Fabric节点角色分工如同班级联合管理班费:对等节点是记账员,负责维护账本;背书者担任审核员,验证交易合法性并签名;验证者作为确认员,最终检查交易并更新账本;排序者则像单据整理员,确保所有交易按统一顺序记录。这种角色划分通过数学验证(哈希、签名、共识算法)实现多组织协作下的数据一致与安全,体现了联盟链在效率与安全间的平衡智慧。

通俗易懂学IT 808

HyperLedger Fabric 交易流程

在生产环境中,一个最小的Fabric联盟链网络由4个结点组成,如下图: 为了避免单点故障,进行结构冗余,每个节点的角色安排如下: 192.168.1.120 peer1, orderer1, zookeeper0, kafka0, ca1, 192.168.1.121 peer2, orderer2, zookeeper1, kafka1 ca2 192.168.1.122 peer3...

坚强的区块链技术专栏 4069

Fabric源码分析之四背书(endoser)节点分析

一、记帐介绍 背书节点只是一个逻辑意义上的节点,并不说专门有一个背书节点的模块。这个在前面的分析中已经提到过。背书和背书策略,在Fabric中是很重要的一个环节,他是整个交易流程中直到确认交易的一个重要环节。背书是对交易的确认(正如银行业的背书),而背书策略是对交易确认的条件。如果不指定背书策略,默认是当前组织的任意成员实现背书即可。 二、启动流程 1、入口 背书节点的启动一如普通的Peer节点启...

fpcc的专栏 3659

Fabric 超级账本学习【12】Hyperledger Fabric 2.4+Gin框架+Gateway 读取/写入账本数据 (Go版本)

Fabric 超级账本学习【12】Hyperledger Fabric 2.4+Gin框架+Gateway 读取/写入账本数据 (G版本)

weixin_42694422的博客 2883

Hyperledger fabric介绍(三)——网络拓扑结构

1.2.3.4.5.

qq_65114400的博客 750

华为AR3260路由器NAT回流配置实战:从WEB界面到命令行的完整避坑指南

本文详细解析了华为AR3260路由器NAT回流(Hairpin NAT)的配置原理与实战方法。针对内网用户无法通过公网地址访问内部服务器的常见问题,文章不仅剖析了WEB界面配置的常见报错原因,更提供了清晰、可靠且一劳永逸的命令行(CLI)配置方案与排错指南,帮助企业网络工程师彻底解决内外网访问不一致的难题。

u6v7w8x的博客 872

SAP生产订单成本‘还原’实战:从标准成本到实际费用,一步步拆解差异来源(附物料分类账提示)

本文深入解析SAP生产订单成本差异分析的全过程,从标准成本到实际费用的追踪方法,揭示差异根源的六维分析法。特别强调物料分类账(CKMLCP)在成本还原中的关键作用,帮助财务人员精准定位价格差异、用量差异等问题,提升制造业成本管理的效率和准确性。

weixin_28705087的博客 532

超级账本Fabric的架构与设计

超级账本Fabric项目自诞生之日起就吸引了全球众多企业的密切关注,已经先后发布了两个大的版本,0.6实验版本(2016年9月)和1.0正式版本(2017年7月)。

区块链大本营 3万+

Rocky Linux 9 远程桌面配置全攻略:从零搭建XRDP服务(含防火墙设置)

本文提供了在Rocky Linux 9上从零开始配置XRDP远程桌面服务的完整指南。详细介绍了系统准备、XRDP服务安装、防火墙与SELinux安全设置、多用户性能优化以及多平台客户端连接实测。重点解决了使用Windows远程桌面协议(RDP)连接Rocky Linux时常见的配置难点与安全问题,帮助用户获得稳定高效的图形化远程访问体验。

vodka的博客 646

Fabric背书策略

1 用途 1.1 交易流程回顾 Hyperledger Fabric 区块链网络交易的执行分为以下几个步骤。Endorser 与 Committer 都是 Hyperledger Fabric 区块链网络中 Peer 节点的具体角色。与背书策略强相关的是第3步。 Client 构造交易并发往 Endorser 节点,Endorser 节点执行交易并调用系统链码 ESCC 对交易签名(背书),结果返回 Client Client 将交易响应发送给 Orderer 节点进行排序出块,Orderer 节点

建建的博客 2312

手把手教你用ECharts打造炫酷3D饼图(附完整源码)

本文详细介绍了如何使用ECharts创建炫酷的3D饼图,从环境配置到完整源码实现,涵盖参数解析、视觉优化和交互增强技巧。通过实战案例,帮助开发者快速掌握3D数据可视化技术,提升数据展示效果。

weixin_29031057的博客 279

从 0 到 1,实战 Power BI 电商销售可视化看板全流程

本文详细介绍了从零开始使用Power BI构建电商销售可视化看板的全流程,涵盖数据准备、建模、可视化设计及高级功能应用。通过实战案例展示如何将复杂销售数据转化为直观图表,帮助电商从业者快速掌握销售趋势、热销产品和用户画像等关键信息,提升数据分析效率。

weixin_29061041的博客 483

区块链-超级账本Hyperledger-fabric初步认识

Fabric的整体架构 交易流程 1. 应用程序通过SDK发送请求到Peer节点(一个或多个) 即发起交易 客户A发起交易请求:合约设置的背书策略规定所有交易需要经过两个Peer节点的签名背书,因此请求需要被同时发往Peer A和Peer B. 客户端应用程序利用任意SDK(nodeJS,java,go)构造交易提案。该提案是一个调用智能合约功能函数的请求,用来确认哪些数据可以读取或写入账本(即更新资产的Key/Value)。 SDK将交易提案打包为可识别的格式(如gRPC上的protocol buf

绯色之空丶 2100

线性代数知识点整理

线性代数基础知识点摘要整理

cuguanren的博客 3万+

fabric知识梳理图解

1.整体架构 2、交易流程   流程步骤: 应用程序通过SDK发送请求到Peer节点(一个或多个) 即发起交易 客户A发起交易请求:合约设置的背书策略规定所有交易需要经过两个Peer节点的签名背书,因此请求需要被同时发往Peer A和Peer B. 客户端应用程序利用任意SDK(nodeJS,java,go)构造交易提案。该提案是一个调用智能合约功能函数的请求,用来...

weixin_42117918的博客 4790

UE5 Niagara基础知识讲解

在UE5版本中,Niagara粒子系统引入了许多可添加的模块,分别用于控制发射器的生成和更新、粒子的生成和更新以及渲染效果。本文采用虚幻5.2.1版本,以图文方式对Niagara基础知识进行讲解。

一碗清深的博客 2468

【TC397第23篇】深度解析TC397 EB MCAL开发系列:UART配置与POLL模式数据交互

通过本文,我们深度解析了TC397 EB MCAL开发系列中UART配置的POLL模式下的数据交互。从技术要点的介绍到实际案例的演示,希望读者能够更好地理解UART在POLL模式下的配置与应用。这不仅是对嵌入式系统开发的一次深刻探索,更是为项目提供了一种高效通信的解决方案。在未来的文章中,我们将继续深入研究嵌入式系统开发的各个方面,为广大开发者提供更多实用的技术知识。敬请期待,一同迎接嵌入式技术的新篇章!

一直在水些技术小文 470

Hyperledger Fabric权限管理和策略

权限管理是区块链网络十分重要的功能,负责控制某个身份在某个场景下是否允许采取某个操作(如读写某个资源)。 超级账本 Fabric 项目通过策略(Policy)来灵活指定各场景下的操作权限。 策略应用场景 具体来看,常见的策略场景包括如下表所示。其中,大部分都与系统配置链码相关,可以在通道配置中进行指定;部分为代码中的规定。 对于存储在通道配置中的策略,可以利用 configtx.yaml 指...

w365904的博客 3150

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

超级账本与区块链应用场景

区块链3.0 去中心化应用的新需求 区块链技术在行业应用中的条件 区块链3.0架构与超级账本 区块链3.0架构 超级账本(Hyperledger Fabric) 超级账本的项目 Fabric Fabric的典型运行模型 在Fabric中完成一次交易的整体步骤 Fabric的节点 链码(Chaincode) 数字身份证书 组织 通道 区块链技术的典型应用场景 区块链技术实现版权登记 广告传媒的去中心化

timerring的博客 1909

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

Hyperledger Fabric1.4学习笔记(包括官方文档翻译)

目录 名词概念 账本Ledger 区块 交易 各种节点 fabric1.0典型交易流程 组织 fabric系统逻辑结构图 通道channel 各个命令详解 背书策略 Fabric1.4 fabric1.4新特性 Fabric1.4应用程序开发文档——链码+SDK 相关学习连接 名词概念 账本Ledger In Hyperledger Fabric, a led...

ASN_forever的博客 9557

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

hyperledger fabric 1.4 背书与背书策略

hyperledger fabric中的背书是一个较为复杂的概念,如需视频学习fabric,可以参考视频教程。 背书就是在执行某些操作之前,进行数字签名的过程,在fabric中的所有上块的所有操作都需要进行背书。进行背书的节点就是背书节点。背书的规则叫做背书策略。 在fabric中的策略分为三种: 系统级别的策略 Chaincode级别的策略 Key级别的策略(较少用) 系统级别的策略指的...

u013782473的博客 1914

Hyperledger Fabric cli 调用链码背书失败

至此发现,在 fabric 2.x 版本中 configtx.yaml 的改变,增加了政策 policy 的部分,包含了背书 endorsement、生命周期 lifecycle,因此在对应的提交、执行链码的地方,都会跟着有一定的变化。因此需要 majority 组织的背书,就需要发送给多个组织的 peer 节点,peer 节点执行链码并进行签名的过程,就可以进行背书。链码执行交易时,需要获得大多数参与通道的组织的背书,具体来说,如果有两个或两个以上的组织参与通道,则至少需要其中两个组织的背书。

weixin_44095191的博客 2020
上一篇: Python音视频开发:消除抖音短视频Logo的图形化工具实现
下一篇: 人工智能数学基础1:三角函数的定义、公式及固定角三角函数值
LaoYuanPython
LaoYuanPython 2020年博客之星Top3 2020年博客之星Top3 领域专家: Python技术领域 领域专家: Python技术领域
博客等级 码龄8年 15万+粉丝 1324原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

LaoYuanPython

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值