CN111753334A - 一种联盟链跨链数据一致性验证方法、装置和电子设备 - Google Patents
一种联盟链跨链数据一致性验证方法、装置和电子设备 Download PDFInfo
- Publication number
- CN111753334A CN111753334A CN202010628234.6A CN202010628234A CN111753334A CN 111753334 A CN111753334 A CN 111753334A CN 202010628234 A CN202010628234 A CN 202010628234A CN 111753334 A CN111753334 A CN 111753334A
- Authority
- CN
- China
- Prior art keywords
- node
- data
- verification
- chain
- intelligent contract
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2308—Concurrency control
- G06F16/2315—Optimistic concurrency control
- G06F16/2322—Optimistic concurrency control using timestamps
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2365—Ensuring data consistency and integrity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- 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
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2151—Time stamp
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Data Mining & Analysis (AREA)
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Economics (AREA)
- Development Economics (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- Technology Law (AREA)
- General Business, Economics & Management (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明提供了一种联盟链跨链数据一致性验证方法、装置和电子设备,主链的中继成员中的验证节点生成对所述数据的跨链一致性进行验证的智能合约,并将所述智能合约传输到所述验证节点在所述主链上的验证节点中进行验证,与相关技术中主链上数据与中继链上数据的不一致并不能被轻易发现相比,可以利用中继成员中上传节点得到的数据与该数据的数据说明,生成对所述数据的跨链一致性进行验证的智能合约,对数据的跨链一致性进行验证,从而可以对数据的跨链一致性进行验证,保证中继链***的信用度。
Description
技术领域
本发明涉及计算机技术领域,具体而言,涉及一种联盟链跨链数据一致性验证方法、装置、电子设备和计算机可读存储介质。
背景技术
目前,在不同的区块链***间进行相互通信和操作,实现区块链间的资产转移等需求已经变得十分迫切。跨链技术主要有:公证人机制、中继/侧链技术、以及哈希时间锁。
针对跨链技术而言,主链与侧链/中继链的数据格式、数据结构并不统一,因此在数据交互和通信时,如何验证双方数据是否一致,以形成可识别的计算语言和可用的数据信息。
发明内容
为解决上述问题,本发明实施例的目的在于提供一种联盟链跨链数据一致性验证方法、装置、电子设备和计算机可读存储介质。
第一方面,本发明实施例提供了一种联盟链跨链数据一致性验证方法,包括:
主链的中继成员中的第一验证节点获取所述主链中节点发出的跨链请求,所述跨链请求中携带有所述节点的身份信息;
基于所述节点的身份信息,确定所述节点成为所述主链的中继成员中的跨链节点时的节点类型;所述节点类型,包括:上传节点和验证节点;
确定所述节点进行跨链传输数据时使用的第一数据传输规则,其中,所述第一数据传输规则,用于指示将所述数据从第一类型转化为第二类型;
将所述第一数据传输规则转换为第二数据传输规则,所述第二数据传输规则,用于指示将所述数据从第二类型转化为第一类型;
确定主链中发送跨链请求的节点成为跨链节点,并将所述第二数据传输规则发送到发送所述跨链请求的节点在所述主链的中继成员中的节点中;
将智能合约传输到第二验证节点中,通过第二验证节点对所述智能合约进行处理,从而对所述主链的中继成员中的上传节点接收到的数据的跨链一致性进行验证,其中,所述第二验证节点,用于表示所述第一验证节点在所述主链上的验证节点。
第二方面,本发明实施例还提供了一种联盟链跨链数据一致性验证装置,包括:
获取模块,用于获取主链中节点发出的跨链请求,所述跨链请求中携带有所述节点的身份信息;
处理模块,用于基于所述节点的身份信息,确定所述节点成为所述主链的中继成员中的跨链节点时的节点类型;所述节点类型,包括:上传节点和验证节点;
第二处理模块,用于确定所述节点进行跨链传输数据时使用的第一数据传输规则,其中,所述第一数据传输规则,用于指示将所述数据从第一类型转化为第二类型;
第三处理模块,用于将所述第一数据传输规则转换为第二数据传输规则,所述第二数据传输规则,用于指示将所述数据从第二类型转化为第一类型;
第四处理模块,用于确定主链中发送跨链请求的节点成为跨链节点,并将所述第二数据传输规则发送到发送所述跨链请求的节点在所述主链的中继成员中的节点中;
验证模块,用于将智能合约传输到第二验证节点中,通过第二验证节点对所述智能合约进行处理,从而对所述主链的中继成员中的上传节点接收到的数据的跨链一致性进行验证,其中,所述第二验证节点,用于表示第一验证节点在所述主链上的验证节点;所述第一验证节点,用于表示所述主链的中继成员中的验证节点。
第三方面,本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行上述第一方面所述的方法的步骤。
第四方面,本发明实施例还提供了一种电子设备,所述电子设备包括有存储器,处理器以及一个或者一个以上的程序,其中所述一个或者一个以上程序存储于所述存储器中,且经配置以由所述处理器执行上述第一方面所述的方法的步骤。
本发明实施例上述第一方面提供的方案中,主链的中继成员中的第一验证节点生成对所述数据的跨链一致性进行验证的智能合约,并将所述智能合约传输到第二验证节点中进行验证,与相关技术中主链上数据与中继链上数据的不一致并不能被轻易发现相比,可以利用中继成员中上传节点得到的数据与该数据的数据说明,生成对所述数据的跨链一致性进行验证的智能合约,对数据的跨链一致性进行验证,从而可以对数据的跨链一致性进行验证,保证中继链***的信用度。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了本发明实施例1所提供的一种联盟链跨链数据一致性验证方法的流程图;
图2示出了本发明实施例2所提供的一种联盟链跨链数据一致性验证装置的结构示意图;
图3示出了本发明实施例3所提供的一种电子设备的结构示意图。
具体实施方式
目前,在不同的区块链***间进行相互通信和操作,实现区块链间的资产转移等需求已经变得十分迫切。跨链技术主要有:公证人机制、中继/侧链技术、以及哈希时间锁。
其中,公证人机制是指:中心化或多重签名的见证人模式,如见证人是区块链A的合法用户,负责监听区块链B的事件和状态,进而操作链A。本质特点是完全不用关注所跨链的结构和共识特性等。代表项目有:瑞波币(Ripple),比特股(BitShares,BTS)以及赛贝(Cybex)。公证人机制最大的缺点就是由于存在公证人,所以中心化太严重,这样会存在攻击漏洞,一旦攻击者攻破了公证人的账号,则交易造假就会发生。而且中心化太严重更是违背了区块链去中心化的设立理念。
侧链是指以锚定主链上的代币为基础的新型区块链,如果区块链X能够验证来自区块链Y的数据,则称区块链X为区块链Y的侧链。侧链支持简单支付验证(Simple PaymentVerification,SPV),能够验证块上的比特币区块头(Header)和梅克尔树(merkle tree)的信息。
中继技术是将主链上的代币转入类似多重签名控制的主链地址中,对代币进行暂时锁定,在中继链上的交易结果将由签名人投票决定是否生效。然而这种技术存在一个严重的缺陷,就是在交易确认的时候,必须完全相信侧链上的成员或中继成员,进一步的使其安全性受到了挑战。中继技术代表项目有智能合约平台(rootstock,RSK)和比特币中继(BTC Relay)等。
哈希时间锁,代表项目有:闪电网络(Lighting network)。哈希时间锁的核心理论是在区块链A和区块链B之间设定相互操作的触发器,通常是个待披露明文的随机数hash值。本质特点是哈希时间锁定合约(Hashed TimeLock Contract,HTLC),是通过锁定一段时间猜hash原值(preimage)兑换支付(redeem)的机制。哈希时间锁定起源于闪电网络,如今也使用较为广泛,但由于它只能实现资产的互换而不能实现资产的转移,这样会有许多限制,试想,如果只有在一方有第一种资源信息,另一方有第二种资源信息的情况下才能进行资产互换的交易,而不能在只有第一种资源信息的情况下兑换第二种资源信息,那将有多大的限制。其不能实现资源信息兑换的原因,主要是哈希时间锁的互锁机制,互锁机制要求在资产交易前,双方协商,将发起方资产锁定,只与接受方交易,这期间不能单方面产生资产。
针对中继/侧链技术而言,主链上数据与中继链上数据的不一致并不能被轻易发现,从而对中继链***的信用度造成影响。
本申请方案的主要思路是在联盟链中设置不同角色的节点,通过智能合约的方式约定数据验证的时间与方法。不同主链由具备资质的节点在侧链或中继链上成为上传节点,进行数据传递;联盟链的跨链***自动分析数据形成一个验证数据的智能合约交给验证节点,验证数据的目的是检查上传节点是否将主链上的数据如实传送到了中继链或侧链上,根据上传的数据,反过来放到主链上寻找对应数据,验证是否一致。
由于业务或权限原因,并非所有主链数据都会上传到中继成员中的验证节点,因此本申请提出的方案采用逆向验证的思路进行,即:侧链上具有验证节点,不同的验证节点可以对应检验不同主链上传数据的跨链一致性,那么任一验证节点不一定能够对所有主链上传的数据均进行验证;而且验证节点必须同时在主链上成为跨链节点以便进行验证合约的传递工作;主链上的验证节点执行或邀请其他非上传节点,执行智能合约进行验证,并反馈验证结果给中继成员中的验证节点。
验证数据的目的是检查主链的上传节点是否将主链上的数据如实传送到了中继成员上。通过上传的数据及数据说明的对应关系,验证节点自动解析成为智能合约的验证条件。例如,上传节点新上传了今年2月份的仓库出入货品记录,***可以增加多个验证条件:其一,自动查询今年1月份(已验证通过的)截止数据与今年2月份的起点数据是否匹配,其二,2月份总记录条数,涉及到的货品变化总量,其三,每一天或每周的记录数量和货品变化总量,等等。这些验证条件有一定规则,但并不一定每一次都完全一样,比如检查的内容都是围绕数据及该数据的数据说明制定的,但是验证周期可以随机(即验证周期可以是但不限于:每周、隔天、每几天,按照频率、以及数量排序)。
基于此,本实施例提出的一种联盟链跨链数据一致性验证方法、装置、电子设备和计算机可读存储介质,可以利用中继成员中上传节点得到的数据与该数据的数据说明,生成对所述数据的跨链一致性进行验证的智能合约,对数据的跨链一致性进行验证,从而可以对数据的跨链一致性进行验证,保证中继链***的信用度。
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请做进一步详细的说明。
实施例1
参见图1所示的一种联盟链跨链数据一致性验证方法的流程图,本实施例提出一种联盟链跨链数据一致性验证方法,包括以下具体步骤:
步骤100、主链的中继成员中的第一验证节点获取所述主链中节点发出的跨链请求,所述跨链请求中携带有所述节点的身份信息;
步骤102、基于所述节点的身份信息,确定所述节点成为所述主链的中继成员中的跨链节点时的节点类型;所述节点类型,包括:上传节点和验证节点;
步骤104、确定所述节点进行跨链传输数据时使用的第一数据传输规则,其中,所述第一数据传输规则,用于指示将所述数据从第一类型转化为第二类型;
步骤106、将所述第一数据传输规则转换为第二数据传输规则,所述第二数据传输规则,用于指示将所述数据从第二类型转化为第一类型;
步骤108、确定主链中发送跨链请求的节点成为跨链节点,并将所述第二数据传输规则发送到发送所述跨链请求的节点在所述主链的中继成员中的节点中。
上述步骤100中,所述跨链请求,是注册节点的用户触发的,包括:节点的身份信息、节点所在的主链的主链标识以及该节点请求跨链的中继成员的中继成员标识。
所述身份信息,包括但不限于:发送跨链请求的节点的节点类型、注册节点的用户的名称、地址、以及(用户是个人时)职务/(用户是组织、机构和企业时)经营范围。
上述步骤102中,在一个实施方式中,当所述身份信息中的节点类型指示所述节点在主链中是上传节点且所述用户的职务是普通工作人员时,所述第一验证节点就会确定发送跨链请求的节点在所述主链的中继成员中成为上传节点。
当所述身份信息中的节点类型指示所述节点在主链中是验证节点且所述用户的职务是主管级工作人员时,所述第一验证节点就会确定发送跨链请求的节点在所述主链的中继成员中成为验证节点。
通常情况下,第一验证节点会保持跨链节点的节点类型和功能一致性。即节点在主链上的节点类型是上传节点时,那么该节点在该主链的中继成员中的节点类型应该也是上传节点,而且该上传节点在该主链的中继成员中的上传节点的功能与主链上该上传节点的功能是相同的。主链上的验证节点在成为跨链节点时也是同理。
所述上传节点,用于将所述主链上的数据上传到该上传节点在所述主链的中继成员中的上传节点上,从而将数据从主链传递到主链的中继成员中。
所述中继成员,包括:所述主链的侧链和中继链。
上述步骤104中,由于主链和该主链的中继成员是通过不同的区块链底层技术得到的,而不同的区块链底层技术在处理数据的数据格式以及在处理方式上可能是不同的,所以,需要先确定跨链节点在主链上的第一数据传输规则,该跨链节点在向中继成员传输数据之前,通过第一数据传输规则对数据进行处理,主要将数据从第一类型转换成第二类型,并将处理后的数据传输到该跨链节点在中继成员中的节点中,从而使得该跨链节点在中继成员中的节点能够对经过第一数据传输规则处理后的数据能够直接进行处理。
其中,所述第一类型,是数据在主链的节点中能够处理的数据格式。
所述数据格式,包括:数据类型以及数据中各数据栏的顺序。
所述数据类型,包括但不限于:整数型和浮点型。
所述第一类型中的所述数据栏的顺序,可以是:传输时间、数据类型、以及数据值。
所述第二类型,是数据在主链的中继成员的节点中能够处理的数据格式。
所述第二类型中的所述数据栏的顺序,包括:数据类型、传输时间、以及数据值。这与所述第一类型中各数据栏的顺序不一样。
所以,为了确定所述节点进行跨链传输数据时使用的第一数据传输规则,第一验证节点会根据跨链请求中的主链名称以及中继成员标识,在第一验证节点自身存储的主链与中继成员传输规则列表中进行查询。
所述主链与中继成员传输规则列表中记录有不同主链中各主链与各主链自身已经进行过交互的中继成员之间的数据传输规则。
在一个实施方式中,数据传输规则可以如下表示:
主链标识 中继成员标识 数据传输规则
所以,当第一验证节点从主链与中继成员传输规则列表中查询出具有主链标识和中继成员标识的数据传输规则时,将查询出的具有主链标识和中继成员标识的数据传输规则作为第一传输规则。
当未从主链与中继成员传输规则列表中查询出具有主链标识和中继成员标识的数据传输规则时,第一验证节点对主链标识指示的主链所使用的区块链技术以及中继成员标识指示的中继成员所使用的区块链技术进行解析,得到具有主链标识和中继成员标识的数据传输规则,然后将得到的具有主链标识和中继成员标识的数据传输规则存储到主链与中继成员传输规则列表中,并将得到的具有主链标识和中继成员标识的数据传输规则确定为第一传输规则。
所述第一验证节点对主链标识指示的主链所使用的区块链技术以及中继成员标识指示的中继成员所使用的区块链技术进行解析,得到具有主链标识和中继成员标识的数据传输规则是现有技术,这里不再赘述。
所述跨链节点,用于表示主链中成为所述主链的中继成员节点的节点。
上述步骤106中,将所述第一数据传输规则转换为第二数据传输规则,主要是将所述第一数据传输规则中记录的将所述数据从第一类型转化为第二类型的规则转化为将所述数据从第二类型转化为第一类型,其他内容不变,从而得到第二数据传输规则。
所述第二数据传输规则,用于中继成员中的节点将数据传输到该节点在主链上的节点时,该节点在主链上的节点能够对经过第二数据传输规则处理后的数据能够直接进行处理。
在经过上述步骤100至步骤108描述的内容确定主链中的跨链节点,并将第二数据传输规则传递给跨链节点在中继成员中的节点后,可以继续执行以下步骤110,对跨链数据的一致性进行验证。
在执行步骤110之前,需要生成智能合约。为了生成智能合约,可以执行以下步骤(1)至步骤(2):
(1)主链的中继成员中的第一验证节点获取主链的中继成员中的上传节点接收到的所述主链传输的数据;其中,所述第一验证节点和所述上传节点均为跨链节点。
在上述步骤(1)中,当中继成员中的上传节点接收到主链传输的数据时,执行上述步骤(1)的流程。
可选地,中继成员上的其他节点也可以发起生成智能合约的数据一致性验证请求,但需要在数据一致性验证请求中说明是针对哪条主链以及哪个时间段内的数据进行验证。这相当于是社会监督机制,虽然发起数据一致性验证请求的节点不会得知数据的具体内容,但仍然可以让验证节点去检验是否存在跨链数据不一致的问题。
当中继成员中的上传节点接收到主链传输的数据同时还接收到数据说明时,将该数据说明作为该数据匹配的数据说明。
所述数据说明,用于对数据的数据格式和含义进行说明。
当中继成员中的上传节点仅接收到主链传输的数据时,验证节点将该上传节点之前传输数据时使用的数据说明作为中继成员中的上传节点接收到的所述主链传输的数据的数据说明。
(2)根据所述数据以及所述数据的数据说明,生成所述数据的智能合约,其中,所述智能合约,用于对所述数据的跨链一致性进行验证。
在上述步骤(2)中,生成所述数据的智能合约时,需要将所述数据与数据说明的对应关系与数据的验证周期结合,得到验证周期内跨链数据一致性的智能合约。
在一个实施方式中,根据所述数据以及所述数据的数据说明,生成所述数据的智能合约,包括以下步骤(21)至步骤(24):
(21)获取验证周期的时长,并根据当前时间和验证周期的时长确定数据验证时段;
(22)获取所述数据的数据说明中记录的数据格式,并利用所述数据验证时段和数据格式生成验证条件;
(23)查询出所述数据验证时段内所述主链的中继成员中的上传节点接收到的所述主链传输的数据和数据的第一数据条目数量;所述数据中记录有数据值;
(24)利用查询出的数据和第一数据条目数量以及所述验证条件生成智能合约。
当然,还可以使用现有的任何生成智能合约的方式得到智能合约,这里不再赘述。
所述跨链一致性,用于表示主链中的上传节点上传至该上传节点在中继成员中的上传节点的数据与该上传节点上传的数据是相同的。
在通过上述步骤(1)至步骤(2)的内容生成智能合约后,继续执行以下步骤110,通过生成的智能合约,对数据的跨链一致性进行验证。
步骤110、将智能合约传输到第二验证节点中,通过第二验证节点对所述智能合约进行处理,从而对所述主链的中继成员中的上传节点接收到的数据的跨链一致性进行验证。
在上述步骤110中,为了对中继成员中的上传节点接收到的数据的跨链一致性进行验证,可以执行以下步骤(1)至步骤(2)的内容:
(1)根据所述第一验证节点自身存储的第二数据传输规则,对所述智能合约进行处理,并将处理后的所述智能合约传输到第二验证节点上,利用第二验证节点对所述智能合约进行验证;
(2)接收第二验证节点反馈的验证结果。
在上述步骤(1)中,根据所述第一验证节点自身存储的第二数据传输规则,对所述智能合约中进行处理,得到具有第二验证节点能够处理的数据格式的智能合约。
对所述智能合约中进行处理时,是将智能合约中携带的数据和数据条目数量从第二类型转换到第一类型,从而得到具有第二验证节点能够处理的数据格式的智能合约。
所述第二验证节点,用于表示所述第一验证节点在所述主链上的验证节点。即所述第一验证节点是所述第二验证节点的跨链节点。
利用第二验证节点对所述智能合约进行验证,包括以下步骤(11)至步骤(13):
(11)第二验证节点接收到所述第一验证节点发送的智能合约时,运行所述智能合约,得到所述智能合约的运行结果;
(12)当确定所述智能合约的运行结果与所述智能合约中的数据一致时,得到所述数据通过跨链一致性验证的验证结果;
(13)将得到的所述验证结果反馈给所述第一验证节点。
在上述步骤(11)中,第二验证节点运行所述智能合约的具体过程是:利用所述智能合约中验证条件中携带的数据验证时段和数据格式,从所述主链中查询出所述数据验证时段内向中继成员的上传节点传输的具有该数据格式的数据以及数据的第二数据条目数量;然后当对比查询出的数据的第二数据条目数量与所述智能合约中记录的第一数据条目数量的大小,且对查询出的数据的数据值与所述智能合约中记录的数据的数据值是否相同进行判断,得到的对比结果和判断结果就是所述智能合约的运行结果。
在上述步骤(12)中,当所述对比结果指示第二数据条目数量与第一数据条目数量相同,且所述判断结果指示查询出的数据的数据值与所述智能合约中记录的数据的数据值相同,那么就可以确定所述智能合约的运行结果与所述智能合约中的数据一致,从而得到所述数据通过跨链一致性验证的验证结果。
进一步地,当所述对比结果指示第二数据条目数量与第一数据条目数量不相同,或者所述判断结果指示查询出的数据的数据值与所述智能合约中记录的数据的数据值不相同时,那么就可以确定所述智能合约的运行结果与所述智能合约中的数据不一致,从而得到所述数据未通过跨链一致性验证的验证结果。
在上述步骤(13)中,利用第二验证节点自身的第一数据传输规则对得到的所述验证结果进行处理,得到具有所述第一验证节点能够处理的数据格式的验证结果,然后将处理后的验证结果反馈给所述第一验证节点。
进一步地,为了保证验证结果的有效性,所述第一验证节点可以将处理后的所述智能合约传输到所述第一验证节点在所述主链上的至少两个验证节点上进行数据跨链一致性的验证。当得到至少两个验证节点中的每个验证节点反馈的数据通过跨链一致性验证的验证结果时,所述第一验证节点确定主链的中继成员中的上传节点接收到的所述主链传输的数据具有跨链一致性。
综上所述,本实施例提出的一种联盟链跨链数据一致性验证方法,主链的中继成员中的第一验证节点生成对所述数据的跨链一致性进行验证的智能合约,并将所述智能合约传输到第二验证节点中进行验证,与相关技术中主链上数据与中继链上数据的不一致并不能被轻易发现相比,可以利用中继成员中上传节点得到的数据与该数据的数据说明,生成对所述数据的跨链一致性进行验证的智能合约,对数据的跨链一致性进行验证,从而可以对数据的跨链一致性进行验证,保证中继链***的信用度。
实施例2
本实施例提出的一种联盟链跨链数据一致性验证装置,用于执行上述实施例1描述的联盟链跨链数据一致性验证方法。
参见图2所示的一种联盟链跨链数据一致性验证装置的结构示意图,本实施例提出的,包括:
获取模块200,用于获取主链中节点发出的跨链请求,所述跨链请求中携带有所述节点的身份信息;
处理模块202,用于基于所述节点的身份信息,确定所述节点成为所述主链的中继成员中的跨链节点时的节点类型;所述节点类型,包括:上传节点和验证节点;
第二处理模块204,用于确定所述节点进行跨链传输数据时使用的第一数据传输规则,其中,所述第一数据传输规则,用于指示将所述数据从第一类型转化为第二类型;
第三处理模块206,用于将所述第一数据传输规则转换为第二数据传输规则,所述第二数据传输规则,用于指示将所述数据从第二类型转化为第一类型;
第四处理模块208,用于确定主链中发送跨链请求的节点成为跨链节点,并将所述第二数据传输规则发送到发送所述跨链请求的节点在所述主链的中继成员中的节点中;
验证模块210,用于将智能合约传输到第二验证节点中,通过所述第二验证节点对所述智能合约进行处理,从而对所述主链的中继成员中的上传节点接收到的数据的跨链一致性进行验证,其中,所述第二验证节点,用于表示第一验证节点在所述主链上的验证节点;所述第一验证节点,用于表示所述主链的中继成员中的验证节点。
所述验证模块,具体用于:
根据所述第一验证节点自身存储的第二数据传输规则,对所述智能合约进行处理,并将处理后的所述智能合约传输到第二验证节点上,利用第二验证节点对所述智能合约进行验证;
接收第二验证节点反馈的验证结果。
所述验证模块,用于利用第二验证节点对所述智能合约进行验证,包括:
第二验证节点接收到所述第一验证节点发送的智能合约时,运行所述智能合约,得到所述智能合约的运行结果;
当确定所述智能合约的运行结果与所述智能合约中的数据一致时,得到所述数据通过跨链一致性验证的验证结果;
将得到的所述验证结果反馈给所述第一验证节点。
综上所述,本实施例提出的一种联盟链跨链数据一致性验证装置,主链的中继成员中的第一验证节点生成对所述数据的跨链一致性进行验证的智能合约,并将所述智能合约传输到第二验证节点中进行验证,与相关技术中主链上数据与中继链上数据的不一致并不能被轻易发现相比,可以利用中继成员中上传节点得到的数据与该数据的数据说明,生成对所述数据的跨链一致性进行验证的智能合约,对数据的跨链一致性进行验证,从而可以对数据的跨链一致性进行验证,保证中继链***的信用度。
实施例3
本实施例提出一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行上述实施例1描述的联盟链跨链数据一致性验证方法的步骤。具体实现可参见方法实施例1,在此不再赘述。
此外,参见图3所示的一种电子设备的结构示意图,本实施例还提出一种电子设备,上述电子设备包括总线51、处理器52、收发机53、总线接口54、存储器55和用户接口56。上述电子设备包括有存储器55。
本实施例中,上述电子设备还包括:存储在存储器55上并可在处理器52上运行的一个或者一个以上的程序,经配置以由上述处理器执行上述一个或者一个以上程序用于进行以下步骤(1)至步骤(6):
(1)主链的中继成员中的第一验证节点获取所述主链中节点发出的跨链请求,所述跨链请求中携带有所述节点的身份信息;
(2)基于所述节点的身份信息,确定所述节点成为所述主链的中继成员中的跨链节点时的节点类型;所述节点类型,包括:上传节点和验证节点;
(3)确定所述节点进行跨链传输数据时使用的第一数据传输规则,其中,所述第一数据传输规则,用于指示将所述数据从第一类型转化为第二类型;
(4)将所述第一数据传输规则转换为第二数据传输规则,所述第二数据传输规则,用于指示将所述数据从第二类型转化为第一类型;
(5)确定主链中发送跨链请求的节点成为跨链节点,并将所述第二数据传输规则发送到发送所述跨链请求的节点在所述主链的中继成员中的节点中;
(6)将智能合约传输到第二验证节点中,通过第二验证节点对所述智能合约进行处理,从而对所述主链的中继成员中的上传节点接收到的数据的跨链一致性进行验证,其中,所述第二验证节点,用于表示所述第一验证节点在所述主链上的验证节点。
收发机53,用于在处理器52的控制下接收和发送数据。
在图3中,总线架构(用总线51来代表),总线51可以包括任意数量的互联的总线和桥,总线51将包括由通用处理器52代表的一个或多个处理器和存储器55代表的存储器的各种电路链接在一起。总线51还可以将诸如***设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本实施例不再对其进行进一步描述。总线接口54在总线51和收发机53之间提供接口。收发机53可以是一个元件,也可以是多个元件,比如多个接收器和发送器,提供用于在传输介质上与各种其他装置通信的单元。例如:收发机53从其他设备接收外部数据。收发机53用于将处理器52处理后的数据发送给其他设备。取决于计算***的性质,还可以提供用户接口56,例如小键盘、显示器、扬声器、麦克风、操纵杆。
处理器52负责管理总线51和通常的处理,如前述上述运行通用操作***。而存储器55可以被用于存储处理器52在执行操作时所使用的数据。
可选的,处理器52可以是但不限于:中央处理器、单片机、微处理器或者可编程逻辑器件。
可以理解,本发明实施例中的存储器55可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(Read-Only Memory,ROM)、可编程只读存储器 (Programmable ROM,PROM)、可擦除可编程只读存储器(Erasable PROM,EPROM)、电可擦除可编程只读存储器(Electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(Random Access Memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(Static RAM,SRAM)、动态随机存取存储器 (Dynamic RAM,DRAM)、同步动态随机存取存储器(Synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(Double DataRate SDRAM,DDRSDRAM)、增强型同步动态随机存取存储器(Enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(Synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(Direct Rambus RAM,DRRAM)。本实施例描述的***和方法的存储器55旨在包括但不限于这些和任意其它适合类型的存储器。
在一些实施方式中,存储器55存储了如下的元素,可执行模块或者数据结构,或者他们的子集,或者他们的扩展集:操作***551和应用程序552。
其中,操作***551,包含各种***程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务。应用程序552,包含各种应用程序,例如媒体播放器(Media Player)、浏览器(Browser)等,用于实现各种应用业务。实现本发明实施例方法的程序可以包含在应用程序552中。
综上所述,本实施例提出的电子设备和计算机可读存储介质,主链的中继成员中的第一验证节点生成对所述数据的跨链一致性进行验证的智能合约,并将所述智能合约传输到第二验证节点中进行验证,与相关技术中主链上数据与中继链上数据的不一致并不能被轻易发现相比,可以利用中继成员中上传节点得到的数据与该数据的数据说明,生成对所述数据的跨链一致性进行验证的智能合约,对数据的跨链一致性进行验证,从而可以对数据的跨链一致性进行验证,保证中继链***的信用度。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (8)
1.一种联盟链跨链数据一致性验证方法,其特征在于,包括:
主链的中继成员中的第一验证节点获取所述主链中节点发出的跨链请求,所述跨链请求中携带有所述节点的身份信息;
基于所述节点的身份信息,确定所述节点成为所述主链的中继成员中的跨链节点时的节点类型;所述节点类型,包括:上传节点和验证节点;
确定所述节点进行跨链传输数据时使用的第一数据传输规则,其中,所述第一数据传输规则,用于指示将所述数据从第一类型转化为第二类型;
将所述第一数据传输规则转换为第二数据传输规则,所述第二数据传输规则,用于指示将所述数据从第二类型转化为第一类型;
确定主链中发送跨链请求的节点成为跨链节点,并将所述第二数据传输规则发送到发送所述跨链请求的节点在所述主链的中继成员中的节点中;
将智能合约传输到第二验证节点中,通过所述第二验证节点对所述智能合约进行处理,从而对所述主链的中继成员中的上传节点接收到的数据的跨链一致性进行验证,其中,所述第二验证节点,用于表示所述第一验证节点在所述主链上的验证节点。
2.根据权利要求1所述的方法,其特征在于,将智能合约传输到第二验证节点中,通过所述第二验证节点对所述智能合约进行处理,从而对所述主链的中继成员中的上传节点接收到的数据的跨链一致性进行验证,包括:
根据所述第一验证节点自身存储的第二数据传输规则,对所述智能合约进行处理,并将处理后的所述智能合约传输到第二验证节点上,利用第二验证节点对所述智能合约进行验证;
接收第二验证节点反馈的验证结果。
3.根据权利要求2所述的方法,其特征在于,利用第二验证节点对所述智能合约进行验证,包括:
第二验证节点接收到所述第一验证节点发送的智能合约时,运行所述智能合约,得到所述智能合约的运行结果;
当确定所述智能合约的运行结果与所述智能合约中的数据一致时,得到所述数据通过跨链一致性验证的验证结果;
将得到的所述验证结果反馈给所述第一验证节点。
4.一种联盟链跨链数据一致性验证装置,其特征在于,包括:
获取模块,用于获取主链中节点发出的跨链请求,所述跨链请求中携带有所述节点的身份信息;
处理模块,用于基于所述节点的身份信息,确定所述节点成为所述主链的中继成员中的跨链节点时的节点类型;所述节点类型,包括:上传节点和验证节点;
第二处理模块,用于确定所述节点进行跨链传输数据时使用的第一数据传输规则,其中,所述第一数据传输规则,用于指示将所述数据从第一类型转化为第二类型;
第三处理模块,用于将所述第一数据传输规则转换为第二数据传输规则,所述第二数据传输规则,用于指示将所述数据从第二类型转化为第一类型;
第四处理模块,用于确定主链中发送跨链请求的节点成为跨链节点,并将所述第二数据传输规则发送到发送所述跨链请求的节点在所述主链的中继成员中的节点中;
验证模块,用于将智能合约传输到第二验证节点中,通过第二验证节点对所述智能合约进行处理,从而对所述主链的中继成员中的上传节点接收到的数据的跨链一致性进行验证,其中,所述第二验证节点,用于表示第一验证节点在所述主链上的验证节点;所述第一验证节点,用于表示所述主链的中继成员中的验证节点。
5.根据权利要求4所述的装置,其特征在于,所述验证模块,具体用于:
根据所述第一验证节点自身存储的第二数据传输规则,对所述智能合约进行处理,并将处理后的所述智能合约传输到第二验证节点上,利用第二验证节点对所述智能合约进行验证;
接收第二验证节点反馈的验证结果。
6.根据权利要求5所述的装置,其特征在于,所述验证模块,用于利用第二验证节点对所述智能合约进行验证,包括:
第二验证节点接收到所述第一验证节点发送的智能合约时,运行所述智能合约,得到所述智能合约的运行结果;
当确定所述智能合约的运行结果与所述智能合约中的数据一致时,得到所述数据通过跨链一致性验证的验证结果;
将得到的所述验证结果反馈给所述第一验证节点。
7.一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,其特征在于,所述计算机程序被处理器运行时执行上述权利要求1-3任一项所述的方法的步骤。
8.一种电子设备,其特征在于,所述电子设备包括有存储器,处理器以及一个或者一个以上的程序,其中所述一个或者一个以上程序存储于所述存储器中,且经配置以由所述处理器执行权利要求1-3任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010628234.6A CN111753334B (zh) | 2020-07-02 | 2020-07-02 | 一种联盟链跨链数据一致性验证方法、装置和电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010628234.6A CN111753334B (zh) | 2020-07-02 | 2020-07-02 | 一种联盟链跨链数据一致性验证方法、装置和电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111753334A true CN111753334A (zh) | 2020-10-09 |
CN111753334B CN111753334B (zh) | 2021-02-23 |
Family
ID=72678702
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010628234.6A Active CN111753334B (zh) | 2020-07-02 | 2020-07-02 | 一种联盟链跨链数据一致性验证方法、装置和电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111753334B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112398853A (zh) * | 2020-11-16 | 2021-02-23 | 东软集团股份有限公司 | 一种实现联盟链跨链通信的方法、装置及*** |
CN112508704A (zh) * | 2020-12-17 | 2021-03-16 | 杭州趣链科技有限公司 | 区块链跨链交易的方法、装置、计算机设备和存储介质 |
CN112861186A (zh) * | 2021-01-28 | 2021-05-28 | 上海分布信息科技有限公司 | 身份一致性证明方法及身份一致性证明*** |
CN112950201A (zh) * | 2021-02-08 | 2021-06-11 | 深圳前海益链网络科技有限公司 | 一种应用于区块链***的节点管理方法及相关装置 |
CN113556234A (zh) * | 2021-07-21 | 2021-10-26 | 永旗(北京)科技有限公司 | 一种区块链跨链通信方法及*** |
CN114553882A (zh) * | 2022-01-18 | 2022-05-27 | 广西壮族自治区信息中心 | 一种基于区块链的政务数据治理平台 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108256864A (zh) * | 2018-02-13 | 2018-07-06 | 中链科技有限公司 | 一种区块链之间的跨链联盟的建立及通信方法、*** |
CN108921559A (zh) * | 2018-07-27 | 2018-11-30 | 杭州复杂美科技有限公司 | 跨链交易校验方法、设备和存储介质 |
CN109087204A (zh) * | 2018-07-27 | 2018-12-25 | 杭州复杂美科技有限公司 | 跨链交易校验方法、设备和存储介质 |
CN110766408A (zh) * | 2019-10-24 | 2020-02-07 | 杭州趣链科技有限公司 | 异构区块链的跨链交易验证方法、引擎、设备和存储介质 |
CN111046109A (zh) * | 2019-12-27 | 2020-04-21 | 深圳市网心科技有限公司 | 一种跨链任务处理方法、装置、设备及可读存储介质 |
CN111200641A (zh) * | 2019-12-25 | 2020-05-26 | 深圳供电局有限公司 | 数据跨链共享方法、***,计算机设备和存储介质 |
US20200177572A1 (en) * | 2019-06-28 | 2020-06-04 | Alibaba Group Holding Limited | Sending cross-chain authenticatable messages |
-
2020
- 2020-07-02 CN CN202010628234.6A patent/CN111753334B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108256864A (zh) * | 2018-02-13 | 2018-07-06 | 中链科技有限公司 | 一种区块链之间的跨链联盟的建立及通信方法、*** |
CN108921559A (zh) * | 2018-07-27 | 2018-11-30 | 杭州复杂美科技有限公司 | 跨链交易校验方法、设备和存储介质 |
CN109087204A (zh) * | 2018-07-27 | 2018-12-25 | 杭州复杂美科技有限公司 | 跨链交易校验方法、设备和存储介质 |
US20200177572A1 (en) * | 2019-06-28 | 2020-06-04 | Alibaba Group Holding Limited | Sending cross-chain authenticatable messages |
CN110766408A (zh) * | 2019-10-24 | 2020-02-07 | 杭州趣链科技有限公司 | 异构区块链的跨链交易验证方法、引擎、设备和存储介质 |
CN111200641A (zh) * | 2019-12-25 | 2020-05-26 | 深圳供电局有限公司 | 数据跨链共享方法、***,计算机设备和存储介质 |
CN111046109A (zh) * | 2019-12-27 | 2020-04-21 | 深圳市网心科技有限公司 | 一种跨链任务处理方法、装置、设备及可读存储介质 |
Non-Patent Citations (2)
Title |
---|
YIMING JIANG等: "《IEEE 2018 INTERNATIONAL CONGRESS ON CYBERMATICS / 2018 IEEE CONFERENCES ON INTERNET OF THINGS, GREEN COMPUTING AND COMMUNICATIONS, CYBER, PHYSICAL AND SOCIAL COMPUTING, SMART DATA, BLOCKCHAIN, COMPUTER AND INFORMATION TECHNOLOGY》", 3 August 2018 * |
李芳等: "区块链跨链技术进展研究", 《软件学报》 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112398853A (zh) * | 2020-11-16 | 2021-02-23 | 东软集团股份有限公司 | 一种实现联盟链跨链通信的方法、装置及*** |
CN112508704A (zh) * | 2020-12-17 | 2021-03-16 | 杭州趣链科技有限公司 | 区块链跨链交易的方法、装置、计算机设备和存储介质 |
CN112861186A (zh) * | 2021-01-28 | 2021-05-28 | 上海分布信息科技有限公司 | 身份一致性证明方法及身份一致性证明*** |
CN112950201A (zh) * | 2021-02-08 | 2021-06-11 | 深圳前海益链网络科技有限公司 | 一种应用于区块链***的节点管理方法及相关装置 |
CN112950201B (zh) * | 2021-02-08 | 2023-10-27 | 深圳前海益链网络科技有限公司 | 一种应用于区块链***的节点管理方法及相关装置 |
CN113556234A (zh) * | 2021-07-21 | 2021-10-26 | 永旗(北京)科技有限公司 | 一种区块链跨链通信方法及*** |
CN114553882A (zh) * | 2022-01-18 | 2022-05-27 | 广西壮族自治区信息中心 | 一种基于区块链的政务数据治理平台 |
CN114553882B (zh) * | 2022-01-18 | 2024-03-19 | 广西壮族自治区信息中心 | 一种基于区块链的政务数据治理平台 |
Also Published As
Publication number | Publication date |
---|---|
CN111753334B (zh) | 2021-02-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111753334B (zh) | 一种联盟链跨链数据一致性验证方法、装置和电子设备 | |
CN109409122B (zh) | 文件存储方法及其电子设备、存储介质 | |
US20240113868A1 (en) | Controlled cryptographic private key release | |
CN108964924A (zh) | 数字证书校验方法、装置、计算机设备和存储介质 | |
CN111523890B (zh) | 基于区块链的数据处理方法、装置、存储介质及设备 | |
CN109064124B (zh) | 基于区块链验证、存储工作履历的方法和装置 | |
CN112612856B (zh) | 基于区块链的数据处理方法和装置 | |
CN110851877B (zh) | 一种数据处理方法、装置及区块链节点设备、存储介质 | |
CN109861996B (zh) | 基于区块链的关系证明方法、装置、设备及存储介质 | |
CN112712452B (zh) | 基于区块链的审批信息处理方法和装置 | |
Miao et al. | Blockchain assisted multi-copy provable data possession with faults localization in multi-cloud storage | |
CN111178894A (zh) | 资产类型注册、交易记录验证方法及*** | |
CN111899019A (zh) | 一种黑名单多方交叉验证和共享的方法及*** | |
CN110866265A (zh) | 一种基于区块链的数据存储方法、设备及存储介质 | |
EP4040720A1 (en) | Secure identity card using unclonable functions | |
CN111339141A (zh) | 一种数据传输的方法、区块链节点设备以及介质 | |
CN111555860A (zh) | 一种区块链节点共识方法、装置、电子设备及存储介质 | |
CN115701078B (zh) | 跨链交易处理方法、装置、电子设备以及存储介质 | |
CN110598475A (zh) | 基于区块链的作品属性信息获取方法、装置和计算机设备 | |
CN112069529B (zh) | 基于区块链的卷宗管理方法、装置、计算机以及存储介质 | |
CN111385096A (zh) | 一种区块链网络、签名处理方法、终端及存储介质 | |
CN111241188A (zh) | 区块链网络中的共识方法、节点及存储介质 | |
CN110599386B (zh) | 身份认证方法、装置、存储介质和计算机设备 | |
CN112116461A (zh) | 区块链及其共识方法 | |
CN114362960B (zh) | 资源账户的数据监管方法、装置、计算机设备及介质 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |