摘要:区块链上的背书是什么意思『壹』区块链之联盟链(三)认识FabricFabric是超级账本联盟推出的核心区块链框架,它适合在复杂的企业内和企业间搭建联盟链。...
区块链上的背书是什么意思
『壹』 区块链之联盟链(三) 认识Fabric
Fabric 是超级账本联盟推出的核心区块链框架,它适合在复杂的企业内和企业间搭建联盟链。根据超级账本联盟的目标, Fabric 被建设为一个模块化的、支持可插拔组件的基础联盟链框架。;
与以太坊系的Quorum不同,Fabric从一开始就只考虑企业间的应用。其独有的channel概念,将企业根据业务目的不同以不同的子网连接起来, 每一个子网对应一个channel,而每个channel有自己独立的区块链。而Quorum很显然是只有一个公网(所有企业节点都加入进去),企业与企业间的私有业务是通过Private Manager 完成的。
理解channel的最简单方法就是,将它类比为一个消息服务提供的Topic,实际上Fabic最早就是基于Kafka 的分布式消息服务来实现。
在Fabric网络中,一个企业可以有一个或多个节点加入整个联盟链;一个企业可以加入1个或者多个Channel(子网); 一个节点可以加入1个或者多个channel。每个channel构成一个子网,所以Fabric 是 一种由子网组成的网络。
那么Fabric是怎么实现智能合约的执行和完成业务上链(将事务结果记录在区块链里)的呢?
与其它框架不同, Fabric 将整个过程分成了三个阶段:
业务背书阶段 : 客户的请求发送的背书节点,通过智能合约完成业务的计算(但不更新状态),并完成背书;将背书结果返回个客户端。
业务的排序阶段 : 客户端将背书结果通过Channel被发送到排序节点(orderer),在排序节点完成事务的排序,并打包到block里,最后下发给所有连接到channel的节点。
业务验证并写入账本阶段 : 通过Gossip 网络,所有Channel的节点都会接收到新的block,节点会验证block中的每一个事务,确定是否有效:有效地将会跟新world state,无效的将会标志为“无效”,不会更新World state,但整个block会被完整的加入到帐本中(包括无效的事务)。
根据以上的描述,Fabric 节点实际可以分为 ,普通节点和Order节点:
Peer, 普通节点, 完成背书(包括只能合约的执行)和验证.
orderer, 排序节点,完成排序。
加入orderer节点的Fabric网络可以被描述如下:
每一个Channel,都定义了所有属于channel的节点,但是并不需要所有节点都连接到Orderer 节点(节点间可以通过gossip 协议通讯来传播私有数据或事务).
在区块链中,共识是区块链的基础。与公有链不同,联盟链的共识要求所有加入账本的事务是确定的、最终的,也就是不可以有分叉,区块与区块间的顺序是一定的,只存在唯一条链。在Fabric 中,这个客观需求正是由排序实现的,所有的事务将被提交给orderer节点获得确定的顺序,并最终打包成block进入帐本。 Fabric 从1.4.1开始支持基于Raft实现排序服务, 可以认为基于Raft实现共识。
基于RAFT的排序服务相对于早期的Kafka 具有更好的分布性,配置更加简单,是联盟链里常用的一个常用的达成共识的算法,Quorum就 默认使用RAFT作为共识层。简单的说,RAFT是一个leader和follower的模式, 所有加入RAFT网络的节点,任意时候都有一个leader, 只有这个leader有权决定事务的顺序,并打包成Block,其它节点只能作为follower提交事务和同步block。
基于FAFT网络,每个企业可以有一个或多个节点参与到Orderer中去。在Frabric中企业间的网络连接可以变化成如下形式:
区块链的使用用户在以太网中被称作EOA(External of Account), EOA的载体是钱包。我们沿用这个概念,来看看Fabric是如何实现用户和发起事务的。Fabric中EOA是一个CA中心发布的certificate(x.509),一个Certificate代表一个Identity(这与以太坊还是有很大区别的, 以太坊中一个EOA其实是一个hash地址),EOA能够参与的channel以及被授权的操作是有channel的MSP( Membership Service Provider)决定的(如下图)。
注:certificate 是一种密码学上验证身份的通用做法; certificate包含了个人的信息,公钥以及发布这个certificate的CA的签名。验证方只需要拥有这个CA的证书(包含CA的公钥),就可以验证这个签名是否正确,certificate的内容是否有篡改。简单的说,通过CA和Certificate,我们可以获得一个可验证的的身份和信任链。
如上图,fabric中通要使用Wallet作为EOA的载体,一个Wallet中可以包含多个Identity(x.509 certificate)。 Identity 通过 CA提供的信任链来验证正确性。
验证了身份之后, Fabric 通过MSP在区块链网络中解决该身份是否代表组织的成员和在组织内具有什么角色。例如,channel首先会验证当前用户Identity是否是有效地身份,然后通过MSP查看其所处的企业和具有的角色,最终确定该用户是否有权执行操作。
可以说,Fabric的访问控制是通过MSP来完成的。在每一个需要访问控制的地方都需要定义一个MSP。 例如,每个channel都定义一个MSP,这个MSP规定了在channel范围内资源的访问权限。 MSP 是Fabric里一个晦涩难懂的概念,也是其赋予企业间安全访问的基础。
前文提到, Fabric 将业务处理和上网分成了三个部分, 背书,排序,验证后加入账本。
其中背书是Fabric执行智能合约的阶段。以太坊中,智能合约是在EVM中执行的,有多种语言支持。 在Fabric,智能合约被称为chaincode: 一个chaincode 可以理解为是智能合约的容器,可以包含一个或多个智能合约, 不用于EVM, chaincode是在 JVM 或NodeJS中执行。
客户应用程序通过智能合约来访问账本,每一个可访问的智能合约都被安装在客户端可以访问的节点上,并被定义在channel里。(有只能合约的节点被称为背书节点,没有只能合约的节点被称未提交节点,提交节点只维护账本)
客户应用提交一个交易请求, 请求到达背书节点, 背书节点首先会验证客户的签名,确保客户的身份有权执行本次交易,接着执行交易提及的智能合约(chaincode),并生成一个背书响应(或者叫做交易提案,tran-proposal)。这个背书响应中通常包含World state 的读集合,写集合, 以及节点对本次交易的签名。这里与以太坊系联盟链最主要的不同是: 背书阶段只模拟交易,并不真正更新交易结果。 而真正更新交易在第三阶段完成。背书节点最后将生成的背书响应fanhui给客户端, 智能合约部分的执行就结束了。
通常一个交易的执行需要多方的签名,所以客户端需要将一个交易发送给多个背书节点,这些背书节点的选择需要满足背书策略的要求。
下图是一个包含有客户、背书节点,提交节点的网络示意图。
根据Fabric官方的参考文档,客户交易的正果过程可使用下图描述。
如上图,从1到3,为背书阶段,4为排序阶段,4.1,4,2, 5为验证提交阶段。 参考 Frabic的节点 概念,可以了解更多在交易细节的概念。
总的来看, Fabric 更专注于企业间,通过上文,可以让大家对Fabric的基本构成与概念有一个总的了解。 Fabric本身并不神秘,都是使用的现有的企业间的技术。要更好的了解,建议参考阅读分布式消息系统和企业的安全基础设施(CA相关)的支持。与以太坊系联盟链实现比较, Fabric 的子网更概念对于复杂企业间应用适应更强,但是其复杂的安全考量,使得运营成本很高,另外,Fabric 使用Certificate做为用户身份,有很大的局限性,在新的2.0里,Fabric对于此处将有所改变。
下一篇,我们将来看看Sawtooth , 由Inter 提供的区块链框架。
区块链之联盟链(一) 认识以太坊
区块链之联盟链(二) 认识Quotum
区块链之联盟链(三) 认识Fabric
区块链之联盟链(四) 认识Sawtooth
『贰』 金融上有个名词‘背书’是什么意思。 谢谢。
票据的收款人或持有人在转让票据时,在票据背面签名或书写文句的手续。背书时写明受票人姓名或受票单位名称的,称记名背书;未写明受票人姓名或受票单位名称的,称空白背书。经过背书转让的票据,背书人负有担保票据签发者到期付款的责任,如果出票人到期不付款,则背书人必须承担偿付责任。经过背书,票据的所有权由背书人转给被背书人。一张票据可以多次背书、多次转让。背书按其附带的记载划分有限制性背书、委托收款背书、有条件背书、质押背书和部分背书(分割背书) 5种方式。 背书的目的:转让票据权利、委托收款、质押票据。 背书的作用:表明意向、担保承兑、担保付款、证明前手真实性。 2.现在兴于台北,意思是有人的产品需要推广,有相关人氏帮商家代言,推介。 3.或者指介绍宣传一些好的东西。 该词来自金融术语,英文endorse(ment).大陆也用,只是不大使用它的衍生意义,在民主选举中,经常使用“背书”来指代某位比较有人祥雹并望的谨迹政治人物公开的支持某位候选人,以期待“背书人“将其政治资源在选举的过程中临时的被该候选人借用,而大陆社会缺乏这种选举文化,所以背书的引申义不存在于大陆文化圈之中。 原肆举意指在支票等背后签名表示支付、收到或同意转让等, 在台湾经常使用其衍生意义,指认可、支持。如:为某人背书,意思就是对某人的话表示认可和支持。现在网络上说:在某事上甲人(集团)完全支持、拥护或服从乙人(集团),也有时形容为甲为乙“背书”。
『叁』 背书是什么意思
背书的意思有两种,一种是是指票据转让时原持有人在票据背面加盖自己的印鉴;另一种是指某一品牌要素以某种方式出现在包装、标号或者产品外观上,但不直接作为品牌名称的一部分。
从金融学方面来讲,背书是指票据转让时原持有人在票据背面加盖自己的印鉴,证明该票据真实有效。词源来自银行票据业务。主要目的就是为了在票据转让人和受让人之间建立起法律上的联系。烂腊扮背书意味着权利的传递,票据转让之后,背书人就要对后来取得该票据的人负责,保证其持有的票据能够得到饥灶兑付。
另外在新媒体行业里,品牌背书是指某一品牌要素以某种方式出现在包装、标号或者产品外观上,但不直接作为品牌名称的一部分。通常,这一特殊的品牌要素是公司的品牌或标识。品牌背书战略在局庆公司或企业品牌间形成了最大的距离,这样,公司或家族品牌影响与新产品的关系降到最小,同时,负面的反馈影响也降到最低。
『肆』 背书是什么意思
背书是指持票人为将票据权利转让给他人或者将一定的票据权利授予他人行使,而在票据背面或者粘单上记载有关事项并签章的行为。
背书按照目的不同分为转让背书和非转让背书,转让背书是以持票人将票据权利转让给他人为目的;非转让背书是将特定的票据权利授予他人行使,包括委托收款背书和质押背书。无论何种目的,都应当记载背书事项并交付票据。
(4)区块链上的背书是什么意思扩展阅读:
我国《票据法》第57条规定了付款人的票据审查义务及其过错付款的责任,其第2款规定:“付款人及其代理付款人以恶意或者重大过失付款的,应当承担责任”。
2000年11月《最高人民法院关于审理票据纠纷案件若干问题的规定》(以下简称《票据纠纷规定》)第69条规定:“付款人或者代理付款人未能识别出伪造、变造的票据或者身份证件而错误付款,属于《票据法》第57条规定的‘重大过失’”。
从该条规定的本意看,主要是为了解决票据伪造与变造发生后的损失分担问题。作为一项基本规则,由付款人承担错误付款的主要责任,是无可非议的,也早已为各国票据立法处理出票伪造、英美法处理背书伪造时所采用。
当然,如果由付款人对背书伪造承担错误付款的责任,那也就意味着付款人将对背书的实质连续承担审查义务。
然而,规定付款人承担背书实质连续的审查义务,须其他辅助性规则配套使用,才能真正体现有效和公正。单一使用该规则,则将会极大加重付款人在票据付款业务中的风险责任,从而影响银行票据付款业务,特别是支票付款业务的开展。
在英美法中,由一系列历史上法院案例形成的“但书”规则,诸如,被伪造人追认、禁止反言、被伪造人过失、怠于通知等,足以使付款人审查背书实质连续的义务软化。