CN109493056A - 一种基于供应链生态应用场景的区块链共识机制 - Google Patents
一种基于供应链生态应用场景的区块链共识机制 Download PDFInfo
- Publication number
- CN109493056A CN109493056A CN201811472729.3A CN201811472729A CN109493056A CN 109493056 A CN109493056 A CN 109493056A CN 201811472729 A CN201811472729 A CN 201811472729A CN 109493056 A CN109493056 A CN 109493056A
- Authority
- CN
- China
- Prior art keywords
- block chain
- transaction
- main body
- common recognition
- node
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3829—Payment protocols; Details thereof insuring higher security of transaction involving key management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3821—Electronic credentials
- G06Q20/38215—Use of certificates or encrypted proofs of transaction rights
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3827—Use of message hashing
Landscapes
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Accounting & Taxation (AREA)
- Computer Security & Cryptography (AREA)
- Finance (AREA)
- Strategic Management (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本发明提出了一种基于供应链生态应用场景的区块链共识机制,在供应链生态应用场景中每一笔交易,必然存在多个利益相关主体或利害关系人,即经济活动中在经济利益上具有直接相关性和间接相关性的主体,由这些与交易相关的主体,基于直接发生交易的主体在区块链外达成的交易意向,达成的区块链共识机制;交易涉及的一个相关主体(共识发起方)负责打包交易数据,由与交易相关的主体对应或委托授权的主体对应的区块链节点负责验证;再由共识发起方的用户端程序将交易数据和验证数据一起提交到区块链,进行排序和区块打包,完成区块链记账;本共识机制既提高了区块链的效率,也提高了区块链的安全信用。
Description
技术领域
本发明涉及区块链技术领域,特别涉及一种基于供应链生态应用场景的区块链共识机制。
背景技术
现有去中心化的分布式系统,一是因为去掉了中心化的服务器,没有了记账权威,二是因为各种意外可能,有的服务器可能会崩溃或变得不可靠,就不能和其他服务器达成一致状态,为了完成全网数据的统一和一致性,必须存在一个共识机制,否则全网各个节点,各自为政,数据的内容和记账顺序就会各不相同。借助这个共识机制,确保全网各自独立操作的各个网络节点实现数据的一致。
目前流行的共识机制主要有:工作量证明机制(POW)、权益证明机制(POS)、股份授权证明机制(DPOS)、实用拜占庭PBFT机制和RAFT机制等等。
1、工作量证明机制(POW)以比特币和以太坊为主要代表。工作量证明机制就是给定一个特定工作量的工作任务,哪个节点先完成工作,就获得从上次一致性确认(区块打包)以来,新区块的打包权(包括交易记账内容和记账顺序的确定权)。其他没有来得及完成任务的节点,放弃自身自上个区块提交以来的交易记账内容和记账顺序,完全复制获得区块打包权的节点的区块内容(含交易记账内容和记账顺序),从而实现全网的数据一致性。具体到比特币和以太坊,特定工作量任务就是计算满足特定标准特征的随机哈希散列的数值解,哪个节点先找到符合条件的解,谁就获得区块的打包权(即获得该区块内记账及其顺序的主导权)。
工作量证明机制具有完全去中心化的优点,在以工作量证明机制为共识的区块链中,节点可以自由进出。大家所熟知的比特币网络就应用工作量证明机制来生产新的货币。然而,由于工作量证明机制在比特币网络中的应用已经吸引了全球计算机大部分的算力,其他想尝试使用该机制的区块链应用很难获得同样规模的算力来维持自身的安全。同时,基于工作量证明机制的挖矿行为还造成了大量的资源浪费,达成共识所需要的周期也较长,导致系统效率低下,比特币网络效率为3TPS左右,即比特币网络每秒只能处理3笔交易左右,根本不能满足高效率的商业应用的需要。
2、权益证明机制(POS)
权益证明机制(POS)是用资产的多寡来取来分配获得记账顺序主导权的机制。权益证明机制有一个前提,就是首先要基于某种全网统一的资产(比如某种代币),其次因为资产分布是不可能动态调节,必然导致记账权被某些节点长期垄断。这可能会导致严重的信任问题,比如有部分节点为了自身的利益需要,贿赂记账节点,非法篡改记账数据,并同步到全网,导致虚假记账,严重损害区块链的信用。虽然POS机制,避免了工作量证明(POW)导致的算力浪费,可以极大提高区块链的记账效率,可以达到10万TPS以上。但不管是公链还是商业联盟链,权益证明机制,都有不可克服的严重缺陷。
3、代理权益证明机制(DPOS)
代理权益证明机制(DPOS)以EOS为典型的代表,是在权益证明机制的基础上演变而来,为了克服POS机制中,记账权被大股东长期垄断,导致的信用损害。DPOS机制引入了多个大股东的选举机制,即记账顺序主导权不再被某个大股东唯一垄断,而是在一定数量的大股东中投票选举出来。即这些特定数量的大股东中,谁在选举中得票最多,谁就获得本轮的记账权,这就有效避免了POS中不可避免的腐败可能导致的信用损害,又具有POS机制的高效率。DPOS机制依然存在一个前提,那就是必须存在全网统一的某种资产(代币),这在以商业交易为目的的联盟链中,因为不可能存在全网统一的代币,依然不适用。
4、实用拜占庭算法(PBFT)
PBFT算法最大的好处是可以容忍全网任意不超过三分之一的节点宕机(不工作,断网,但不会主动作恶)和作恶(节点可能会故意发送虚假消息,欺骗其他节点)。这是其他算法都难以解决的问题,因此PBFT算法一度被认为是联盟链的最佳共识算法,IBM Fabric也在最早的0.6实验版本中,采用了PBFT共识算法。PBFT算法最大的不足是,算法复杂度同阶于网络节点数N的平方,当网络节点数N足够大之后,达成共识的网络通信压力,足以让全网瘫痪。因此,PBFT算法,只适用网络规模较小的网络。这也应该是IBM在Fabric1.0版本之后,不得不放弃PBFT算法的原因。
5.RAFT共识算法
RAFT算法是传统分布式系统中最常用的共识算法,RAFT算法最大的好处就是效率特别高,逻辑也特别简单。而且具备相当好的容错性,所以RAFT算法成为传统分布式系统事实上的主流算法。
RAFT算法中,首先选举出一个Leader,其他节点就作为该Leader从属节点,简单拷贝leader的数据。如果Leader出现问题,不能再继续正常工作,则系统再选出一个新的Leader,如此往复。在RAFT算法中,如果一个Leader一直正常工作,则其Leader角色会一直保持不变,系统暂时成为一个中心化的系统,理论上,任何节点勾结该Leader节点作恶,系统将毫无抵御能力。因此,RAFT算法只能用于给节点之间具备高度信任的私链环境,完全不可能用于节点间完全没有信任的公链和节点间部分信任的联盟链。
经过前面的分析,不考虑效率前提下,工作量证明POW是最简单,最易实现,也最可靠的共识算法。但效率是POW的死穴,无法克服,无法用于对效率要求很高的商业联盟链环境。权益证明POS和代理权益证明DPOS,因为要求必须存在全网统一的代币,不可能用于联盟链。PBFT不适用大规模的联盟链,已被IBM Fabric放弃。RAFT算法,虽然效率很高,但仅适用与节点间具备高度信任的私链,也不适用于要求高效率、动态扩展的商业联盟链。
综合分布式系统各种共识算法的本质和区块链的信用本质,共识算法必须具备两个本质特征:
一是为了达成共识,必然存在作为共识来源的权威。
二是为了解决节点间的信任,这个作为共识来源的权威不能固定,只能动态产生。
基于这两个本质特征,我们发明了基于供应链生态应用场景的区块链共识机制,用于解决前述联盟链共识机制中存在的困境。
发明内容
为了解决以上的问题,本发明提出了一种全新的区块链共识算法,由与交易相关的主体,基于直接发生交易的主体在区块链外达成的交易意向,达成的区块链共识机制,可以释放区块链网络的通信和计算压力,大幅度提高区块链的运行效率,同时解决了区块链的效率问题和安全信用问题。
本发明的技术方案是这样实现的:基于具体供应链生态应用场景,每一笔交易,必然存在多个利益相关主体或利害关系人,即经济活动中在经济利益上具有直接相关性和间接相关性的行为主体及其构成的集合。在每一笔交易中,由直接发生交易的主体在区块链外达成交易意向;基于此交易意向,由所述交易涉及的一个相关主体(共识发起方)用户端程序负责打包交易数据,与交易相关的主体(包括交易直接/间接相关主体、现实和潜在的直接/间接利益相关主体,下同)负责验证;由共识发起方用户端程序将交易数据和验证数据一起提交到区块链,进行排序和区块打包,完成区块链记账;
S01.所述每一个区块链节点对应一个唯一的标识(ID);
S02.所述与交易相关的主体通过对应的区块链节点,来参与区块链共识验证;
S03.所述直接发生交易的主体在区块链外达成交易意向;
S04.所述共识发起方用户端程序负责根据交易意向打包交易数据;
S05.所述与交易相关的主体对应节点验证交易;
S06.所述共识发起方用户端程序将交易数据和验证数据打包,并一起提交到区块链,进行排序和区块打包,完成区块链记账;
以上达成基于供应链生态应用场景的区块链共识机制。
进一步方案为,给每一个区块链节点颁发一对唯一的基于非对称加密技术的公钥/私钥对,公钥全网公开,以此公钥为基础,创建节点唯一的标识(ID),私钥唯一保存在该节点。
进一步方案为,所述与交易相关的主体通过对应的区块链节点,参与区块链共识验证的方法如下:
a.与交易相关的主体直接通过其对应的区块链节点参与共识验证;
b.与交易相关的主体通过商业协议委托其他主体,通过其对应的区块链节点,参与区块链共识验证。
进一步方案为,所述与交易相关的主体通过对应的区块链节点,参与共识验证的方法如下:
a.对于直接对应区块链节点的与交易相关的主体,通过商业协议及技术,建立所述的区块链节点标识(ID)和所述与交易相关的主体实体身份(即第三方CA数字证书公钥或此公钥对应的实体身份)的对应关系;
b.共识发起方打包交易数据后,根据交易确定验证主体,将验证请求发送到该主体对应的区块链节点;
c.对于不直接对应区块链节点的与交易相关的主体,通过商业协议,确定该主体实体身份和被委托主体实体身份的委托关系;
d.共识发起方打包交易数据后,根据交易确定验证主体,将验证请求发送到该验证主体委托的主体对应的区块链节点。
与交易相关的主体可以通过商业协议授权委托其他主体,通过被委托主体对应的区块链节点,参与区块链共识验证;与此对应地,共识发起方打包交易数据后,根据交易确定验证主体,将验证请求发送到该验证主体委托的主体对应的区块链节点验证。
进一步方案为,所述直接发生交易的主体在区块链外达成交易意向,所述共识发起方用户端程序根据交易意向打包交易数据,方法是,共识发起方用户端程序根据交易意向,用区块链可以识别的格式打包交易请求,并发送到需要参与验证的交易相关方区块链节点。
进一步方案为,所述一个相关主体(简称共识发起方)用户端程序负责根据交易意向,生成交易数据,并提交给与交易相关的主体对应的区块链节点(或其委托的主体对应的区块链节点)。
进一步方案为,所述与交易相关的主体对应的区块链节点(或其委托的主体对应的区块链节点),验证交易数据,并将结果返回给所述共识发起方。
进一步方案为,所述验证交易数据的技术原理和流程如下:
a.用哈希散列算法对交易数据进行哈希运算,生成与之唯一对应的数字摘要(D);
b.签名节点用经区块链CA服务体系颁发的数字证书之私钥,对交易数据的数字摘要(D)+时间戳(T)进行加密,生成对应密文(C),并附上CA证书上的公钥和签名主体信息;
c.验证签名时,用与签名时相同的哈希散列算法对待验证的交易数据进行哈希运算,生成与交易数据唯一对应的数字摘要(D1);
d.用签名数据中记录的公钥,解密密文(C),得出签名的摘要(D)和时间戳(T);
e.如果D等于D1,则签名背书的交易数据未被篡改,真实可靠;
f.如果D不等于D1,签名背书的交易数据已被篡改;
g.如果签名的公钥能够正确解密密文,则说明此拥有此公钥的节点确实在T时间对此交易进行了签名确认,因为这是经过他唯一知道的私钥进行加密的,技术上不可伪造。
进一步方案为,所述共识发起方用户端程序收集到所需要的全部验证数据之后,将交易数据和验证数据一起提交给区块链,进行排序和区块打包,完成区块链记账。
所述基于供应链生态应用场景的区块链共识机制还包括管理的多个后台服务器、多个终端构成的用户端,所述的后台服务器以无线或有线的方式连接所述的用户端,所述终端包括PC端和/或移动端。
所述后台服务器包括处理器及含有计算机程序代码的存储器,所述存储器和所述的计算机程序代码被配置为利用所述处理器,并能处理操作任何一个所述的方法。
实施本发明的基于商业生态和应用场景的共识机制,具有以下有益的技术效果,不难发现,本发明的共识机制完全符合共识算法的两个本质特征;
1.每次交易,天然存在共识来源,就是该笔交易的各利益相关主体。
2.因为每次交易的利益相关主体都有可能不同,因此,共识来源是动态产生的,无法预测,因此也不存在被恶意勾结导致的信用缺失。
3.共识来源本身就是利益相关方,与共识来源的任何勾结不仅没有必要,技术上也完全不可能。
4.本共识机制统一了市场共识和机器共识,共识过程只在交易的利益相关主体之间完成,和区块链节点数量无关,从而彻底解放了P2P网络的机器共识过程带来的计算和网络通信压力。因此,具有极高的运行效率。理论上效率超过现存的任何其他共识算法,而且随联盟链节点的不断增长变化,永远不会降低共识效率。此外,因为共识来源本身就是互相制约的利益相关方,每一次交易的共识来源不仅无法提前预测,而且勾结共识来源不仅毫无必要,而且技术上完全不可行。
因此,本共识机制同时解决了区块链的效率问题和安全信用问题,是适合商业联盟区块链的共识算法。
附图说明
图1为本发明的实施例的基于供应链生态应用场景的区块链共识机制工作原理图;
图2为本发明的实施例的基于供应链生态应用场景的区块链共识机制验证过程执行逻辑示意图;
图3为本发明的实施例的签名背书的技术原理和流程示意图;
图4为本发明的实施例的Fabric区块链的常规交易流程示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1至图4所示,基于具体供应链生态应用场景,每一笔交易,必然存在一个利益相关主体,即经济活动中在经济利益上具有相关性的行为主体及其构成的集合。任何交易,必须在这些利益相关方中达成共识。区块链公链环境中,交易的利益相关方,互不相识,物理上也无法通信,因而无法在链外实现验证和共识,只能借助公链的共识机制,来达成一致。
这给区块链带来沉重的通信和计算压力,当然这也是区块链公链的价值所在,互不相识的交易者,可以借助区块链网络达成信任和交易。但对于商业主体之间的联盟链,交易的利益相关方,首先必须是实名的法人主体,可以互相通信的,在商业信用的基础上是互相信赖的。完全可以利用基于业务的共识来代替区块链虚拟世界的共识,释放区块链网络的通信和计算压力,大幅度提高区块链的运行效率。
请参阅图1至图4,本发明实施例,一种基于供应链生态应用场景的区块链共识机制,一个相关主体(简称:共识发起方)负责基于交易意向打包交易数据,发送给参与验证的与交易相关的主体对应的区块链节点,这些与交易相关的主体对应的节点负责验证,再由共识发起方一起提交到区块链,进行排序和区块打包,完成区块链记账;
S01.每一个区块链节点对应一个唯一的标识(ID);
S02.与交易相关的主体通过对应的区块链节点,来参与区块链共识验证;
S03.直接发生交易的主体在区块链外达成交易意向;
S04.共识发起方用户端程序负责根据交易意向打包交易数据;
S05.与交易相关的主体对应节点验证交易;
S06.共识发起方用户端程序将交易数据和验证数据打包,并一起提交到区块链,进行排序和区块打包,完成区块链记账;
以上达成基于供应链生态应用场景的区块链共识机制。
进一步地,给每一个区块链节点颁发一对唯一的基于非对称加密技术的公钥/私钥对,公钥全网公开,以此公钥为基础,创建节点唯一的标识(ID),私钥唯一保存在该节点。
进一步地,与交易相关的主体通过对应的区块链节点,参与区块链共识验证的方法如下:
a.与交易相关的主体直接通过其对应的区块链节点参与共识验证;
b.与交易相关的主体通过商业协议委托其他主体,通过其对应的区块链节点,参与区块链共识验证。
进一步地,与交易相关的主体通过对应的区块链节点,参与共识验证的方法如下:
a.对于直接对应区块链节点的与交易相关的主体,通过商业协议及技术,建立区块链节点标识(ID)和所述与交易相关的主体实体身份(即第三方CA数字证书公钥或此公钥对应的实体身份)的对应关系;
b.共识发起方打包交易数据后,根据交易确定验证主体,将验证请求发送到该主体对应的区块链节点;
c.对于不直接对应区块链节点的与交易相关的主体,通过商业协议,确定该主体实体身份和被委托主体实体身份的委托关系;
d.共识发起方打包交易数据后,根据交易确定验证主体,将验证请求发送到该验证主体委托的主体对应的区块链节点。
进一步地,通过商业协议及技术,建立区块链节点标识(ID)和所述的主体实体身份(第三方CA数字证书公钥或此公钥对应的实体身份)的对应关系,并通过数据库表,实现技术上的对应捆绑。
进一步地,通过商业协议,确定不直接对应区块链节点的主体和被委托授权主体的委托关系,通过被委托主体对应的区块链节点,参与区块链共识验证,并通过数据库表,实现该主体和被委托主体对应区块链节点标识(ID)的对应捆绑。
进一步地,直接发生交易的主体达成交易意向。
进一步地,一个交易相关方(共识发起方)用户端程序负责根据交易意向,打包交易数据,并提交给与交易相关的主体对应的区块链节点(或被委托的主体对应的区块链节点),请求验证。
进一步地,与交易相关的主体对应的区块链节点,或被委托的主体对应的区块链节点,验证交易数据,并将验证结果返回给共识发起方。
进一步地,验证交易数据的技术原理和流程如下:
a.用哈希散列算法对交易数据进行哈希运算,生成与之唯一对应的数字摘要(D);
b.签名节点用经区块链CA服务体系颁发的数字证书之私钥,对交易数据的数字摘要(D)+时间戳(T)进行加密,生成对应密文(C),并附上CA证书上的公钥和签名主体信息;
c.验证签名时,用与签名时相同的哈希散列算法对待验证的交易数据进行哈希运算,生成与交易数据唯一对应的数字摘要(D1);
d.用签名数据中记录的公钥,解密密文(C),得出签名的摘要(D)和时间戳(T);
e.如果D=D1,则签名背书的交易数据未被篡改,真实可靠;
f.如果D不等于D1,签名背书的交易数据已被篡改;
g.如果签名的公钥能够正确解密密文,则说明此拥有此公钥的节点确实在T时间对此交易进行了签名确认,因为这是经过他唯一知道的私钥进行加密的,技术上不可伪造。
进一步地,共识发起方用户端程序收集到所需要的全部验证数据之后,将交易数据和验证数据一起提交到区块链,进行排序和区块打包,完成区块链记账。
进一步地,基于供应链生态应用场景的区块链共识机制还包括管理的多个后台服务器、多个终端构成的用户端,后台服务器以无线或有线的方式连接用户端,终端包括PC端和/或移动端。
进一步地,后台服务器包括处理器及含有计算机程序代码的存储器,存储器和计算机程序代码被配置为利用处理器,并能处理操作方法。
如图4所示,借助IBM联盟链平台Fabric说明本发明的具体实现和实施方式,Fabric区块链的常规交易流程如下:
1)Fabric节点需要通过Fabric证书服务(CA)进行注册和登记,获取数字证书,才能加入Fabric区块链网络;
2)应用程序客户端通过SDK调用证书服务(CA)服务,进行注册和登记,并获取身份数字证书;
3)应用程序客户端通过SDK向区块链网络发起一个交易提案(Proposal),交易提案把带有本次交易要调用的合约标识、合约方法和参数信息以及客户端签名等信息发送给背书(Endorser)节点。
4)背书(Endorser)节点收到交易提案(Proposal)后,验证签名并确定提交者是否有权执行操作,同时根据背书策略模拟执行智能合约,并将结果及其各自的CA证书签名发还给应用程序客户端。
5)应用程序客户端收到背书(Endorser)节点返回的信息后,判断提案结果是否一致,以及是否参照指定的背书策略执行,如果没有足够的背书,则中止处理;否则,应用程序客户端把数据打包到一起组成一个交易并签名,发送给Orderers。
6)Orderers对接收到的交易进行排序,然后按照区块生成策略,将一批交易打包到一起,生成新的区块,发送给提交(Committer)节点;
7)提交(Committer)节点收到区块后,会对区块中的每笔交易进行校验,检查交易依赖的输入输出是否符合当前区块链的状态,完成后将区块追加到本地的区块链,并修改世界状态。
Fabric的所有交易逻辑都由链码(chiancode)完成,任何交易逻辑,都必须先完成相应的链码,部署到区块链并实例化之后,才能进行。链码实例化的时候,必须指定交易背书策略,Fabric目前的版本尚未支持动态指定背书节点(以后会支持)。因此,希望应用本发明共识机制的每一类资产(已知发行方和发行见证方),都需要创建并部署相应的交易链码,并在实例化链码时指定背书策略必须包含可以事先确定的资产交易相关方节点(一般是资产的发行方节点和发行见证方节点)的验证背书。其他交易相关方的验证背书,由客户端根据具体的交易内容动态指定。
如图2、图4所示,共识发起方客户端程序将交易数据发送给验证节点(与交易相关的主体所对应的节点),这些验证节点模拟执行交易,验证通过后,将验证结果返回给共识发起方客户端。共识发起方客户端程序在收集到足够的验证数据之后,将交易数据和验证数据一起提交到区块链,区块链根据链码背书策略检验验证情况,因为与交易相关的主体所对应的节点已经完成验证,所以排序环节的验证通过,进行数据的排序和区块打包,完成区块链记账。
至此,完成了基于供应链生态应用场景的共识机制。
区块链技术,使人类第一次不需要经过权威的第三方,即可让互不认识的交易双方仅凭技术即可产生信任。这注定要重组人类的未来生活,未来人类社会的商业形态,特别是B2B的商业形态,很可能大部分都会通过区块链网络来组织。人类社会的技术竞争胜出者,必然是更低的成本、更好的便利性和更高的安全性。据此,我们不难看出,未来的区块链世界,很可能是少数几条全球范围的大规模公链。再加上众多企业主体间的商业联盟链。
本发明的共识机制,完全符合共识算法所要求的两个本质特征,可以完美解决联盟链的共识问题。同时,又最大限度解放了联盟链的共识效率,使广受诟病的区块链低效率问题得以解决,使实用意义的联盟链成为可能。
共识机制是区块链信用的核心,如果全网达不成可靠的共识,确保数据的一致性,如果全网达成共识的过程,存在被操纵的可能,区块链的信用也无从谈起。为此,以比特币为代表的传统的区块链,为了解决信用问题,不得不采用低效的工作量证明机制,而且不区分市场共识和机器共识,通通集成在一起。IBM公司率先发现这种实现方案的潜在问题,从Fabric1.0开始,把共识机制从区块链节点功能中独立出来,并且一分为二,分成背书和排序两个独立的服务。本发明在IBM Fabric的基础上,进一步把背书共识机制和供应链生态应用场景结合,创造了独特的,又十分自然合理的共识机制,创造了对区块链技术的全新理解。将会极大促进未来联盟链的发展和演化。很可能会演变为未来联盟链的共识标准。
可以看出,本共识机制统一了市场共识和机器共识,以技术支持的业务共识代替了区块链虚拟世界的机器共识过程,具有极高的运行效率。理论上效率超过世面上的其他任何共识算法,因为任何交易的相关方数量不随区块链节点数的增加而变化,所以,不管联盟链节点数量怎么变化,区块链的共识效率不受影响。此外,因为共识来源本身就是互相制约的利益相关方,每一次交易的共识来源不仅无法提前预测,而且勾结共识来源不仅毫无必要,而且技术上完全不可行。
因此,本共识机制可以彻底解决区块链网络的共识过程潜在的被操纵风险问题,具备最高等级的信任度。因此,本发明同时解决了区块链的效率问题和安全信用问题,是适合商业联盟链的共识算法。当然,并非所有的联盟链都一定会进行交易,但绝大数联盟链都会交易某种资产。个别不进行任何交易的联盟链,不适用本发明的方法,不在考虑之列。
以上所述仅为本专利优选实施方式,并非限制本专利范围,凡是利用说明书及附图内容所作的等效结构或等效流程变换,直接或间接运用在其它相关的技术领域,均属于本专利保护范围。
Claims (9)
1.一种基于供应链生态应用场景的区块链共识机制,其特征在于:在供应链生态应用场景中每一笔交易,交易涉及的一个相关主体(共识发起方)用户端程序负责打包交易数据;由与交易相关的主体对应节点或委托授权的主体对应的区块链节点负责验证;再由所述共识发起方的用户端程序将交易数据和验证数据一起提交到区块链,进行排序和区块打包,完成区块链记账;
所述基于供应链生态应用场景的区块链共识机制,操作流程如下:
S01.所述每一个区块链节点对应一个唯一的标识(ID);
S02.所述与交易相关的主体通过对应的区块链节点,来参与区块链共识验证;
S03.所述直接发生交易的主体在区块链外达成交易意向;
S04.所述共识发起方用户端程序负责根据交易意向打包交易数据;
S05.所述与交易相关的主体对应节点验证交易;
S06.所述共识发起方用户端程序将交易数据和验证数据打包,并一起提交到区块链,进行排序和区块打包,完成区块链记账;
以上达成基于供应链生态应用场景的区块链共识机制。
2.根据权利要求1所述的基于供应链生态应用场景的区块链共识机制,其特征在于,所述每一个区块链节点对应一个唯一的标识(ID),实现方法为:给每一个区块链节点颁发一对唯一的基于非对称加密技术的公钥/私钥对,公钥全网公开,以此公钥为基础,创建节点标识(ID),私钥唯一保存在该节点。
3.根据权利要求1所述的基于供应链生态应用场景的区块链共识机制,其特征在于,所述与交易相关的主体通过对应的区块链节点,参与区块链共识验证的方法如下:
a.与交易相关的主体直接通过其对应的区块链节点参与共识验证;
b.与交易相关的主体通过商业协议委托其他主体,通过其对应的区块链节点,参与区块链共识验证。
4.根据权利要求1所述的基于供应链生态应用场景的区块链共识机制,其特征在于,所述与交易相关的主体通过对应的区块链节点,参与共识验证的方法如下:
a.对于直接对应区块链节点的与交易相关的主体,通过商业协议及技术,建立所述的区块链节点标识(ID)和所述与交易相关的主体实体身份(即第三方CA数字证书公钥或此公钥对应的实体身份)的对应关系;
b.共识发起方打包交易数据后,根据交易确定验证主体,将验证请求发送到该主体对应的区块链节点;
c.对于不直接对应区块链节点的与交易相关的主体,通过商业协议,确定该主体实体身份和被委托主体实体身份的委托关系;
d.共识发起方打包交易数据后,根据交易确定验证主体,将验证请求发送到该验证主体委托的主体对应的区块链节点。
5.根据权利要求1所述的基于供应链生态应用场景的区块链共识机制,其特征在于,所述共识发起方用户端程序根据交易意向打包交易数据,方法是,共识发起方用户端程序根据交易意向,用区块链可以识别的格式打包交易请求,并发送到需要参与验证的与交易相关的主体对应的区块链节点。
6.根据权利要求1所述的基于供应链生态应用场景的区块链共识机制,其特征在于,所述验证交易数据的技术原理和流程如下:
a.用哈希散列算法对交易数据进行哈希运算,生成与之唯一对应的数字摘要(D);
b.签名节点用经区块链CA服务体系颁发的数字证书之私钥,对交易数据的数字摘要(D)+时间戳(T)进行加密,生成对应密文(C),并附上CA证书上的公钥和签名主体信息;
c.验证签名时,用与签名时相同的哈希散列算法对待验证的交易数据进行哈希运算,生成与交易数据唯一对应的数字摘要(D1);
d.用签名数据中记录的公钥,解密密文(C),得出签名的摘要(D)和时间戳(T);
e.如果D等于D1,则签名背书的交易数据未被篡改,真实可靠;
f.如果D不等于D1,签名背书的交易数据已被篡改;
g.如果签名的公钥能够正确解密密文,则说明拥有此公钥的节点确实在T时间对此交易进行了签名确认,因为这是经过他唯一知道的私钥进行加密的,技术上不可伪造。
7.根据权利要求1所述的基于供应链生态应用场景的区块链共识机制,其特征在于,所述交易数据经相关方验证完成之后,由共识发起方用户端程序负责将交易数据和各验证节点返回的验证数据一起提交给区块链,进行排序和区块打包,完成区块链记账。
8.根据权利要求1所述的基于供应链生态应用场景的区块链共识机制,其特征在于,所述基于供应链生态应用场景的区块链共识机制还包括管理的多个后台服务器、多个终端构成的用户端,所述的后台服务器以无线或有线的方式连接所述的用户端,所述终端包括PC端和/或移动端。
9.根据权利要求8所述的基于供应链生态应用场景的区块链共识机制,其特征在于,所述后台服务器包括处理器及含有计算机程序代码的存储器,所述存储器和所述的计算机程序代码被配置为利用所述处理器,并能处理操作权利要求1~8中任何一个权利要求所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811472729.3A CN109493056A (zh) | 2018-12-04 | 2018-12-04 | 一种基于供应链生态应用场景的区块链共识机制 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811472729.3A CN109493056A (zh) | 2018-12-04 | 2018-12-04 | 一种基于供应链生态应用场景的区块链共识机制 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109493056A true CN109493056A (zh) | 2019-03-19 |
Family
ID=65699378
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811472729.3A Pending CN109493056A (zh) | 2018-12-04 | 2018-12-04 | 一种基于供应链生态应用场景的区块链共识机制 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109493056A (zh) |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110223170A (zh) * | 2019-05-15 | 2019-09-10 | 北京瑞卓喜投科技发展有限公司 | 基于联盟链的证券型通证的发行方法及系统 |
CN110223178A (zh) * | 2019-06-06 | 2019-09-10 | 杭州趣链科技有限公司 | 一种用于联盟链的跨链系统和跨链方法 |
CN110232572A (zh) * | 2019-06-10 | 2019-09-13 | 深圳市链联科技有限公司 | 一种联盟区块链系统中的交易实现方法 |
CN110472979A (zh) * | 2019-07-16 | 2019-11-19 | 中央财经大学 | 基于区块链的交易主客体的验证方法 |
CN110727712A (zh) * | 2019-10-15 | 2020-01-24 | 腾讯科技(深圳)有限公司 | 基于区块链网络的数据处理方法、装置、电子设备及存储介质 |
CN110730241A (zh) * | 2019-10-22 | 2020-01-24 | 河海大学常州校区 | 面向全局规模的区块链基础设施 |
CN111310219A (zh) * | 2020-03-06 | 2020-06-19 | 广东工业大学 | 一种供应链加密议价方法及系统 |
CN111464633A (zh) * | 2020-03-31 | 2020-07-28 | 成都质数斯达克科技有限公司 | 用于区块链的交易信息的共识方法及系统 |
CN111478878A (zh) * | 2020-02-28 | 2020-07-31 | 新华三技术有限公司 | 一种防攻击方法及装置 |
CN112261155A (zh) * | 2020-12-21 | 2021-01-22 | 哈尔滨工业大学(深圳)(哈尔滨工业大学深圳科技创新研究院) | 一种基于联盟区块链具有动态共识的物联网访问控制方法 |
WO2021143027A1 (zh) * | 2020-01-16 | 2021-07-22 | 平安科技(深圳)有限公司 | 交易背书处理方法、服务器及计算机可读存储介质 |
CN113158227A (zh) * | 2021-03-08 | 2021-07-23 | 重庆邮电大学 | 一种基于Fabric的数据库访问日志上链方法及系统 |
CN113436015A (zh) * | 2021-06-30 | 2021-09-24 | 中元众诚(北京)科技有限公司 | 一种基于区块链的链化数据库及操作方法 |
CN113610523A (zh) * | 2021-08-05 | 2021-11-05 | 润联软件系统(深圳)有限公司 | 一种提升联盟链性能的可信合约共识方法、装置及其设备 |
CN114140239A (zh) * | 2021-12-03 | 2022-03-04 | 西华大学 | 一种基于区块链技术的反垄断平台网络他证校验方法 |
CN114745135A (zh) * | 2022-04-19 | 2022-07-12 | 西南石油大学 | 一种基于V-raft共识算法进行能源交易的区块链系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106157142A (zh) * | 2016-06-30 | 2016-11-23 | 惠众商务顾问(北京)有限公司 | 一种区块链共识及同步方法、系统和装置 |
WO2017148527A1 (en) * | 2016-03-03 | 2017-09-08 | Nec Europe Ltd. | Method for managing data in a network of nodes |
CN107239940A (zh) * | 2017-05-11 | 2017-10-10 | 北京博晨技术有限公司 | 基于区块链系统的网络交易方法及装置 |
US20170323392A1 (en) * | 2016-05-05 | 2017-11-09 | Lance Kasper | Consensus system for manipulation resistant digital record keeping |
CN108470276A (zh) * | 2018-03-12 | 2018-08-31 | 成都零光量子科技有限公司 | 一种采用代理记账的区块链共识方法 |
-
2018
- 2018-12-04 CN CN201811472729.3A patent/CN109493056A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017148527A1 (en) * | 2016-03-03 | 2017-09-08 | Nec Europe Ltd. | Method for managing data in a network of nodes |
US20170323392A1 (en) * | 2016-05-05 | 2017-11-09 | Lance Kasper | Consensus system for manipulation resistant digital record keeping |
CN106157142A (zh) * | 2016-06-30 | 2016-11-23 | 惠众商务顾问(北京)有限公司 | 一种区块链共识及同步方法、系统和装置 |
CN107239940A (zh) * | 2017-05-11 | 2017-10-10 | 北京博晨技术有限公司 | 基于区块链系统的网络交易方法及装置 |
CN108470276A (zh) * | 2018-03-12 | 2018-08-31 | 成都零光量子科技有限公司 | 一种采用代理记账的区块链共识方法 |
Cited By (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110223170A (zh) * | 2019-05-15 | 2019-09-10 | 北京瑞卓喜投科技发展有限公司 | 基于联盟链的证券型通证的发行方法及系统 |
CN110223178A (zh) * | 2019-06-06 | 2019-09-10 | 杭州趣链科技有限公司 | 一种用于联盟链的跨链系统和跨链方法 |
CN110232572A (zh) * | 2019-06-10 | 2019-09-13 | 深圳市链联科技有限公司 | 一种联盟区块链系统中的交易实现方法 |
CN110472979A (zh) * | 2019-07-16 | 2019-11-19 | 中央财经大学 | 基于区块链的交易主客体的验证方法 |
CN110727712A (zh) * | 2019-10-15 | 2020-01-24 | 腾讯科技(深圳)有限公司 | 基于区块链网络的数据处理方法、装置、电子设备及存储介质 |
CN110730241B (zh) * | 2019-10-22 | 2022-01-25 | 河海大学常州校区 | 面向全局规模的区块链基础设施 |
CN110730241A (zh) * | 2019-10-22 | 2020-01-24 | 河海大学常州校区 | 面向全局规模的区块链基础设施 |
WO2021143027A1 (zh) * | 2020-01-16 | 2021-07-22 | 平安科技(深圳)有限公司 | 交易背书处理方法、服务器及计算机可读存储介质 |
CN111478878A (zh) * | 2020-02-28 | 2020-07-31 | 新华三技术有限公司 | 一种防攻击方法及装置 |
CN111478878B (zh) * | 2020-02-28 | 2022-10-21 | 新华三技术有限公司 | 一种防攻击方法及装置 |
CN111310219A (zh) * | 2020-03-06 | 2020-06-19 | 广东工业大学 | 一种供应链加密议价方法及系统 |
CN111310219B (zh) * | 2020-03-06 | 2023-04-28 | 广东工业大学 | 一种供应链加密议价方法及系统 |
CN111464633A (zh) * | 2020-03-31 | 2020-07-28 | 成都质数斯达克科技有限公司 | 用于区块链的交易信息的共识方法及系统 |
CN112261155A (zh) * | 2020-12-21 | 2021-01-22 | 哈尔滨工业大学(深圳)(哈尔滨工业大学深圳科技创新研究院) | 一种基于联盟区块链具有动态共识的物联网访问控制方法 |
CN112261155B (zh) * | 2020-12-21 | 2021-03-16 | 哈尔滨工业大学(深圳)(哈尔滨工业大学深圳科技创新研究院) | 一种基于联盟区块链具有动态共识的物联网访问控制方法 |
CN113158227B (zh) * | 2021-03-08 | 2022-10-11 | 重庆邮电大学 | 一种基于Fabric的数据库访问日志上链方法及系统 |
CN113158227A (zh) * | 2021-03-08 | 2021-07-23 | 重庆邮电大学 | 一种基于Fabric的数据库访问日志上链方法及系统 |
CN113436015A (zh) * | 2021-06-30 | 2021-09-24 | 中元众诚(北京)科技有限公司 | 一种基于区块链的链化数据库及操作方法 |
CN113610523A (zh) * | 2021-08-05 | 2021-11-05 | 润联软件系统(深圳)有限公司 | 一种提升联盟链性能的可信合约共识方法、装置及其设备 |
CN114140239A (zh) * | 2021-12-03 | 2022-03-04 | 西华大学 | 一种基于区块链技术的反垄断平台网络他证校验方法 |
CN114745135A (zh) * | 2022-04-19 | 2022-07-12 | 西南石油大学 | 一种基于V-raft共识算法进行能源交易的区块链系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109493056A (zh) | 一种基于供应链生态应用场景的区块链共识机制 | |
CN109964446B (zh) | 一种基于投票的共识方法 | |
TWI751320B (zh) | 用於使用區塊鏈之安全資料記錄分配之方法及系統 | |
Zheng et al. | An overview of blockchain technology: Architecture, consensus, and future trends | |
Poon et al. | Plasma: Scalable autonomous smart contracts | |
Desai et al. | A hybrid blockchain architecture for privacy-enabled and accountable auctions | |
Decker et al. | Bitcoin meets strong consistency | |
US10708071B1 (en) | Consensus protocols in distributed computing systems | |
CN109819022A (zh) | 一种基于信用评价的区块链共识方法 | |
Das et al. | Yoda: Enabling computationally intensive contracts on blockchains with byzantine and selfish nodes | |
CN109697606A (zh) | 基于创新性的信誉证明共识协议的分布式网络及生态系统 | |
WO2019224026A1 (en) | Blockchain stochastic timer transaction synchronization | |
CN111899023B (zh) | 一种基于区块链的群智感知机器学习安全众包方法及系统 | |
Shibata | Proof-of-search: combining blockchain consensus formation with solving optimization problems | |
Zhang et al. | Cycledger: A scalable and secure parallel protocol for distributed ledger via sharding | |
CN111951108A (zh) | 一种具有图灵完备智能合约区块链的链结构设计方法 | |
Christodoulou et al. | A Decentralized Voting Mechanism: Engaging ERC-20 token holders in decision-making | |
Lu et al. | Educoin: a secure and efficient payment solution for mooc environment | |
US11245528B1 (en) | Protocols for decentralized networks | |
Decker | On the scalability and security of bitcoin | |
CN115244526A (zh) | 用于去中心化事务通信协议的方法和系统 | |
CN115470958A (zh) | 联邦学习方法、装置、计算机可读介质及电子设备 | |
Niu et al. | NFT cross-chain transfer method under the notary group scheme | |
Guo | Cypherium: a scalable and permissionless smart contract platform | |
Lange et al. | Incentivizing Contribution in DecentralizedCommunity Information Systems |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190319 |
|
RJ01 | Rejection of invention patent application after publication |