发明内容
针对现有技术存在的问题,本发明提供了一种信任建立的跨链共识方法、系统、存储介质及应用。
本发明是这样实现的,一种信任建立的跨链共识方法,所述信任建立的跨链共识方法包括:
参与者初始化注册资产创建信任根证书,为后续委员会的选举提供依据;
分布式跨链建立信任请求触发委员会选举,确定最终委员会,缩小跨链委员会的规模,降低跨链共识时的消息通信复杂度;
跨链共识协议建立信任,依据信任模型对跨链双方区块链数据进行共识和验证,更好的建立信任关系和信任传递;
信任建立跨链互操作,避免跨链双方的上链数据的不一致性,保证跨链的原子性。
进一步,所述信任建立的跨链共识方法的跨链信任初始化具体包括:
(1)主流区块链平台内部都流通着自己的代币,首先企业节点在区块链上注册自己的资产,提供自己的公钥、钱包账户地址,为了之后竞选委员会做好准备;
(2)每条区块链生成自己的信任根书,为后续的信任建立与准备提供依据。
进一步,所述信任建立的跨链共识方法的建立随机可验的委员会选举机制包括:当区块链有跨链的需求时,发送请求,触发跨链委员会选举流程,通过一种递进式的委员会建立机制实现委员会的选举,首先依据区块链上注册的资产和信誉的多少,从高到低排序进行选择,选出规模大小为2*n的初始委员会,然后通过VRF随机可验证函数确定最终n个节点作为委员会成员;然后初始委员会中未成为最终委员会的成员,成为跨链委员会的监督节点,其他节点成为民主选举节点,由民主选举节点选举出出块者;首先以资产和信誉高的节点作为委员会节点和监督节点,一方面资产信誉高的节点作恶的概率会比其他节点作恶的概率大大降低,另一方面作为监督节点,同样有随机的概率成为最终委员会,从博弈的角度分析,这样安全性更高,作恶的概率将会更低。
进一步,所述信任建立的跨链共识方法的基于信任传递模型的跨链共识机制包括:共识算法采用BFT类的共识算法,通过建立随机可验的委员会选举机制,区块链双方建立了一个跨链委员会,首先由一条链生成简单支付证明SPV、向下签发的信任证书、由出块者进行签名发出交易,在跨链委员会中利用跨链通信协议进行消息广播和共识,首先委员会验证出块者签名数据,验证SPV证明是否正确,如果收到5/6的节点的同意消息,则将发送过来的证书放入自己的信任列表,接着等待一个区块确认期的时间,然后由目标链委员会生成区块链Merkel证明、向下签发和自己签名的跨链通信信息,最后原请求链以同样的方式对其进行验证,验证通过则将信任证书放入自己的信任列表,建立起了区块链间的信任关系和多模跨链互操作;
(1)当区块链实现第二阶段的委员会选举之后,由出块节点发送跨链建立信任请求,进行广播,并在互联网中寻找到目标链,等待目标链回应同意建立信任消息;
(2)当目标链同意建立信任,请求链出块者对建立信任信息和跨链加以信息进行出块,同时生成出块者对跨链请求SPV证明和监督者的跨链请求SPV证明,向下签发的信任证书,通过跨链通信协议,对消息进行签名并和目标链进行消息广播通信,在跨链委员会之间进行共识;
(3)当跨链委员会通过跨链通信协议进行广播通信,对接收到跨链通信消息进行签名验证,然后对其的SPV证明进行验证共识;当跨链委员会有超过5/6的成员同意就验证通过,否则验证失败,建立信任过程中断,当共识成功之后将发送过来的请求链证书放入目标链的可信列表,之后等待一个区块确认期,然后由目标链的委员会同样会生成建立信任的交易信息、向下颁发的证书、Merkel证明签名之后发给跨链委员会进行共识;
(4)跨链委员会接收到验证通过信息之后,用同样的方式对消息进行共识验证,然后验证通过之后将其下发的证书放入请求链的信任列表,两条链建立了信任关系,就可以进行相应的跨链互操作功能。
进一步,所述信任建立的跨链共识方法的跨链互操作包括:建立信任关系之后,互相信任的区块链之间就可以进行跨链互操作,如果有跨链需求的节点发起跨链请求,然后当链上的出块节点出块时,触发跨链交易,目标链接收到信息之后对SPV证明进行验证;
(1)建立信任之后可以进行跨链互操作,请求链请求跨链,利用跨链通信发送SPV证明和目标链信任证书,目标链验证该信任证书和请求链,验证通过之后,对SPV证明进行跨链操作;
(2)当跨链区块链双方没有直接的信任关系,在寻找目标区块链时,和目标链和请求链都有信任关系的节点可以对请求链进行响应表示自己信任该链,通过发送SPV证明和该中间人区块链的证书实现跨链互操作,达到信任关系的建立和转移。
进一步,所述信任建立的跨链共识方法还包括:交易回滚阶段
(1)首先请求交易时发送的SPV证明被证明有误,则进行回滚,并返回无法进行跨链操作的信号,也就无法建立信任关系;
(2)当建立信任关系之后发现SPV证明有误,则将交易回退,然后撤销他的信任关系信任证书,在信任列表中进行删除。
进一步,所述信任建立的跨链共识方法还包括:分布式的信任传递模型,利用对等信任模型,每个区块链都有信任根证书,向下签发信任证书,在每个区块链建立信任的过程中体现了分布式信任,同时利用对等信任模型建立的信任关系,通过信任证书的校验共识和互信,实现信任关系传递与转移;
当个区块链网络发起跨链交易请求,目标链ID没有在信任列表里面,在网络中寻找目标链,当有某一个区块链中有该目标链的信任信息,将会返回给请求链,请求链通过对中间人区块链信任证书的验证,利用对等信任模型,实现信任关系的转移,不需要建立委员会,跨链信息在目标链请求列表中,在目标链中进行批量处理。
本发明的另一目的在于提供一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如下步骤:
参与者初始化注册资产创建信任根证书;
分布式跨链建立信任请求触发委员会选举,确定最终委员会;
跨链共识协议建立信任;
信任建立跨链互操作。
本发明的另一目的在于提供一种实施所述信任建立的跨链共识方法的信任建立的跨链共识系统,所述信任建立的跨链共识系统包括:
信任根证书创建模块,用于实现参与者初始化注册资产创建信任根证书;
最终委员会确定模块,用于实现分布式跨链建立信任请求触发委员会选举,确定最终委员会;
信任建立模块,用于实现跨链共识协议建立信任;
跨链互操作模块,用于实现信任建立跨链互操作。
本发明的另一目的在于提供一种区块链数据处理终端,所述区块链数据处理终端用于实现所述的信任建立的跨链共识方法。
结合上述的所有技术方案,本发明所具备的优点及积极效果为:本发明通过制定完善的委员会选举、出块者竞争、跨链通信协议、跨链共识协议等规则,来构成一个能够使不同的区块链建立信任、并实现多模跨链的跨链方式。其中提供了一种信任根证书的技术,通过对等信任模型来实现信任建立与转移。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
针对现有技术存在的问题,本发明提供了一种信任建立的跨链共识方法、系统、存储介质及应用,下面结合附图对本发明作详细的描述。
如图1所示,本发明提供的信任建立的跨链共识方法包括以下步骤:
S101:参与者初始化注册资产创建信任根证书;
S102:分布式跨链建立信任请求触发委员会选举,确定最终委员会;
S103:跨链共识协议建立信任;
S104:信任建立跨链互操作。
本发明提供的信任建立的跨链共识方法业内的普通技术人员还可以采用其他的步骤实施,图1的本发明提供的信任建立的跨链共识方法仅仅是一个具体实施例而已。
如图2所示,本发明提供的信任建立的跨链共识系统包括:
信任根证书创建模块1,用于实现参与者初始化注册资产创建信任根证书;
最终委员会确定模块2,用于实现分布式跨链建立信任请求触发委员会选举,确定最终委员会;
信任建立模块3,用于实现跨链共识协议建立信任;
跨链互操作模块4,用于实现信任建立跨链互操作。
下面结合附图对本发明的技术方案作进一步的描述。
本发明提出的基于区块链的建立信任的跨链模式的流程如下:
第一阶段:跨链信任初始化:
1、目前的主流区块链平台内部都流通着自己的代币,首先企业节点在区块链上注册自己的资产,提供自己的公钥、钱包账户地址,为了之后竞选委员会做好准备。
2、每条区块链生成自己的信任根书,为后续的信任建立与准备提供依据。
第二阶段:建立随机可验的委员会选举机制:
当区块链有跨链的需求时,会发送请求,触发跨链委员会选举流程。本发明是通过一种递进式的委员会建立机制实现委员会的选举,首先依据区块链上注册的资产和信誉的多少,从高到低排序进行选择,选出规模大小为2*n的初始委员会,利用发送的跨链建立信任请求作为种子,然后进一步通过VRF随机可验证函数确定最终n个节点作为委员会成员,引进VRF是使得选举的过程具有随机可验性,能有效的防止确定性选举中存在的垄断和作恶风险。然后初始委员会中未成为最终委员会的成员,成为跨链委员会的监督节点,其他节点成为民主选举节点,由民主选举节点选举出出块者。首先以资产和信誉高的节点作为委员会节点和监督节点,一方面资产信誉高的节点作恶的概率会比其他节点作恶的概率大大降低,另一方面作为监督节点,同样有随机的概率成为最终委员会,从博弈的角度分析,这样的安全性更高,作恶的概率将会更低。
第三阶段:基于信任传递模型的跨链共识机制
本发明的共识算法采用BFT类的共识算法,通过建立随机可验的委员会选举机制,区块链双方建立了一个跨链委员会,首先由一条链生成SPV(简单支付证明)、向下签发的信任证书、由出块者进行签名发出交易,在跨链委员会中利用跨链通信协议进行消息广播和共识,首先委员会验证出块者签名数据,然后验证SPV证明是否正确,如果收到5/6的节点的同意消息,则将发送过来的证书放入自己的信任列表,接着等待一个区块确认期的时间,然后由目标链委员会生成区块链Merkel证明、向下签发和自己签名的跨链通信信息,最后原请求链以同样的方式对其进行验证,验证通过则将信任证书放入自己的信任列表,从而建立起了区块链间的信任关系和多模跨链互操作。
1、当区块链实现第二阶段的委员会选举之后,由出块节点发送跨链建立信任请求,进行广播,并在互联网中寻找到目标链,等待目标链回应同意建立信任消息。
2、当目标链同意建立信任,请求链出块者对建立信任信息和跨链加以信息进行出块,同时生成出块者对跨链请求SPV证明和监督者的跨链请求SPV证明,向下签发的信任证书,通过跨链通信协议,对消息进行签名并和目标链进行消息广播通信,在跨链委员会之间进行共识。
3、当跨链委员会通过跨链通信协议进行通信,对接收到跨链广播通信消息进行签名验证,然后对其的SPV证明进行验证共识。当跨链委员会有超过5/6的成员同意就验证通过,否则验证失败,建立信任过程中断,当共识成功之后将发送过来的请求链证书放入目标链的可信列表,之后等待一个区块确认期,然后由目标链的委员会同样会生成建立信任的交易信息、向下颁发的证书、Merkel证明签名之后发给跨链委员会进行共识。
4、跨链委员会接收到验证通过信息之后,用同样的方式对消息进行共识验证,然后验证通过之后将其下发的证书放入请求链的信任列表,从而两条链建立了信任关系,就可以进行相应的跨链互操作功能。
第四阶段:跨链互操作
建立信任关系之后,互相信任的区块链之间就可以进行跨链互操作,如果有跨链需求的节点发起跨链请求,然后当链上的出块节点出块时,触发跨链交易,目标链接收到信息之后对SPV证明进行验证。
(1)建立信任之后可以进行跨链互操作。请求链请求跨链,利用跨链通信发送SPV证明和目标链信任证书,目标链验证该信任证书和请求链,验证通过之后,对SPV证明进行跨链操作。
(2)当跨链区块链双方没有直接的信任关系,在寻找目标区块链时,和目标链和请求链都有信任关系的节点可以对请求链进行响应表示自己信任该链,通过发送SPV证明和该中间人区块链的证书实现跨链互操作,达到信任关系的建立和转移。
本发明提出的基于区块链的建立信任的跨链模式还包括:
一、交易回滚阶段
1、首先请求交易时发送的SPV证明被证明有误,则进行回滚,并返回无法进行跨链操作的信号,也就无法建立信任关系。
2、当建立信任关系之后发现SPV证明有误,则将交易回退,然后撤销他的信任关系信任证书,在信任列表中进行删除。
二、分布式(多中心)的信任传递模型
本发明提出了一个分布式(多中心)的信任传递模型。本发明利用对等信任模型,每个区块链都有信任根证书,能够向下签发信任证书,在每个区块链建立信任的过程中体现了分布式信任,同时利用对等信任模型建立的信任关系,通过信任证书的校验共识和互信,可以实现信任关系传递与转移,既没有完全抛弃中心化的一些优势,又做到了一定程度的去中心化。
当个区块链网络发起跨链交易请求,目标链ID没有在信任列表里面,然后在网络中寻找目标链,当有某一个区块链中有该目标链的信任信息,将会返回给请求链,请求链通过对中间人区块链信任证书的验证,利用对等信任模型,实现信任关系的转移,从而不需要建立委员会,跨链信息在目标链请求列表中,在目标链中进行批量处理。
企业EA、EB和EC分别是有跨链需求的关系,但是分别处于不同的区块链A、B、C网络中,每个企业在自己的区块链网络中都有注册一定的资产,并且每个区块链网络都分别拥有一个信任根证书CertA、CertB、CertC。现在企业EA和企业EB进行跨链互操作,但是企业A无法知道企业EB是否可信,两个企业之间没有信任关系,交易将无法进行,为了应对孤立的区块链网络之间如何建立信任的问题,提出了本发明。
下面结合具体实施例对本发明的技术方案作进一步的描述。
实施例一
按照本发明提出的基于区块链的建立信任的跨链模式流程进行:
步骤一:在原有链上进行初始化,区块链A、B、C在网络中创建信任根证书,企业EA、EB、EC在各自的区块链网络中注册相应的资产公钥PKA、PKB、PKC,保存好自己的私钥PSA、PSB、PSC,钱包地址AddressA、AddressB、AddressC。
步骤二:区块链A网络中的企业EA有跨链建立信任请求,企业EA发送跨链建立信任请求,触发跨链委员会的选举,根据区块链网络中的注册的资产多少进行从多到少的排序,选出其中的最多的2n个节点作为初始委员会成员,然后利用发送的跨链建立信任请求作为种子,利用VRF(可验证随机函数)选出随机数最大的n个节点作为最终委员会,初始委员会中未被选为最终委员会的n个节点作为监督者EO,区块链网络中的其他节点作为民主选举节点EV,通过选举从最终委员会中选出一个最终出块者ES。
步骤三:确定了最终出块者之后,由最终出块者对跨链请求出块上链,然后生成相应的SPV证明SPVS,和监督者的SPVO,然后进行区块链寻址,在网络中寻找区块链B所在的区块链,并等待目标链B同意建立信任的消息。同意建立之后进行跨链共识建立信任过程。否则建立信任中断,如果等待超时就在重传一遍,等待一定的时间之后无响应,信任建立过程失败。
步骤四:当两个区块链网络之间建立起了信任关系,接下来可以进行相应的跨链互操作性。企业EA发送跨链交易请求,在区块链A上进行共识上链,由出块者发送跨链交易请求,生成并发送相应SPV证明给目标链B,目标链验证通过之后等待请求链A的一个区块确认期,防止双花然后进行上链操作。当两条区块链没有信任关系时则由上述提到的跨链共识协议进行信任的建立。但是区块链A、B有信任关系,区块链B和C有信任关系,当向全网寻址区块链时,区块链A与C不信任,但是B可以做出响应返回给A,通过信任根证书实现的对等信任模型实现信任的转移,从而不需要从新进行一次跨链委员会选举所带来的额外开销。
在该实施例中本发明提出的跨链共识建立信任过程如下:
(1)当区块链A和区块链B分别建立起了跨链委员会之后,组成一个跨链委员会,企业EA所在的区块链A建立的委员会提出一个跨链交易和信任建立请求块,然后在跨链委员会中进行共识,本发明使用BFT共识算法。利用跨链通信协议进行广播消息传递<SPVO,SPVS,CertA`,BlockchainAID>,并进行签名,跨链委员会中首先验证签名,然后依据提供的SPV证明进行共识,在跨链委员会之间进行广播,当跨链委员会中有超过5/6的节点同意,则验证通过,将区块链A向下生成的信任证书放入自己信任列表中。然后等待一个区块链A的区块链确认期。
(2)区块链B也生成相应的Merkel树根证明,然后利用跨链通信协议在跨链委员会中进行共识,发送广播消息<MPB,BlockchainB ID,CertB`>,并对消息进行签名,同样利用该共识协议算法进行共识,当有5/6的委员会成员验证通过,则将CertB`证书放入自己的信任列表,从而完成信任关系的建立。
(3)信任建立之后进行跨链互操作,区块链A请求跨链,利用跨链通信发送SPV证明和目标链信任证书,区块链B验证该信任证书和请求链,验证通过之后,对SPV证明进行共识,进行跨链操作。
实施例二
当区块链B和区块链C之间也有跨链需求,所以区块链B也会像实施例一中所描述的信任建立和跨链共识过程,区块链B发起跨链请求,请求同意然后发送区块链跨链建立信任请求,通过跨链通信协议发送签名之后发送<SPVO,SPVS,CertB``,BlockchainB ID>,通过跨链共识协议共识通过之后,将区块链B向下签发的证书CertB``放入自己的信任列表,然后区块链C发送消息<MPC,BlockchainC ID,CertC`>,然后对其消息进行共识验证,验证通过之后区块链B将区块链C向下签发的证书CertC`放在信任列表,信任建立之后进行跨链互操作,区块链B发起跨链交易,利用跨链通信发送SPV证明和目标链信任证书,区块链C验证该信任证书和请求链,验证通过之后,对SPV证明进行共识,进行跨链操作。
实施例三
当跨链区块链双方没有直接的信任关系,区块链A和区块链C之间没有直接信任关系,在寻找目标区块链时,和区块链A和区块链C的区块链B都有信任关系的节点可以对请求的区块链A进行响应表示自己信任区块链C,通过发送SPV证明和该中间人区块链(区块链B)的证书的签名消息<SPVO,SPVS,CertB`,BlockchainC ID>实现跨链互操作,通过跨链共识验证信任证书和区块链SPV证明完成相应的跨链操作,从而无需建立跨链委员会就可以达到信任关系的建立和转移。
和现有技术方案的对比如下:
应当注意,本发明的实施方式可以通过硬件、软件或者软件和硬件的结合来实现。硬件部分可以利用专用逻辑来实现;软件部分可以存储在存储器中,由适当的指令执行系统,例如微处理器或者专用设计硬件来执行。本领域的普通技术人员可以理解上述的设备和方法可以使用计算机可执行指令和/或包含在处理器控制代码中来实现,例如在诸如磁盘、CD或DVD-ROM的载体介质、诸如只读存储器(固件)的可编程的存储器或者诸如光学或电子信号载体的数据载体上提供了这样的代码。本发明的设备及其模块可以由诸如超大规模集成电路或门阵列、诸如逻辑芯片、晶体管等的半导体、或者诸如现场可编程门阵列、可编程逻辑设备等的可编程硬件设备的硬件电路实现,也可以用由各种类型的处理器执行的软件实现,也可以由上述硬件电路和软件的结合例如固件来实现。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,都应涵盖在本发明的保护范围之内。