CN112581130B - 一种基于多链互联的跨链交易方法 - Google Patents
一种基于多链互联的跨链交易方法 Download PDFInfo
- Publication number
- CN112581130B CN112581130B CN202011533199.6A CN202011533199A CN112581130B CN 112581130 B CN112581130 B CN 112581130B CN 202011533199 A CN202011533199 A CN 202011533199A CN 112581130 B CN112581130 B CN 112581130B
- Authority
- CN
- China
- Prior art keywords
- chain
- transaction
- cross
- contract
- target
- 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.)
- Active
Links
Images
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/3825—Use of electronic 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/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
- G06F16/334—Query execution
-
- 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
-
- 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
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Finance (AREA)
- General Business, Economics & Management (AREA)
- Strategic Management (AREA)
- Computer Security & Cryptography (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本发明提供了一种基于多链互联的跨链交易方法,包括跨链交易的发起、跨链交易的查询两个环节,所述多链包括一条或多条源链和目标链,所述方法基于中继机制,通过EVM‑NG提供系统合约服务,contract RPC由go语言实现,可以在虚拟机中完成在多链之间发起服务请求,方法基于justitia公链进行开发,使用PBFT+DPOS共识算法,通过选举产生候选人,在候选人中使用PBFT共识进行区块的一致性达成。使用Go语言实现,具有良好的执行速度,适合高并发和多任务场景。支持同构链之间资产的双向转移,同时实现异构链之间的单项锚定,可由链转移资产至支持合约的异构链中。
Description
技术领域
本发明涉及区块链技术领域,尤其涉及一种基于多链互联的跨链交易方法。
背景技术
区块链是一种目前受到各国战略性关注的革命性技术,它是不可篡改、可追踪、不断增长的分布式账本式数据库,支持建设交易各方信任机制、具有公信力的一个完美的数字解决方案。随着比特币近年来的快速发展与普及,区块链技术的研究与应用也呈现出爆发式增长态势,被认为是继大型机、个人电脑、互联网、移动/社交网络之后计算范式的第五次颠覆式创新,是人类信用进化史上继血亲信用、贵金属信用、央行纸币信用之后的第四个里程碑。未来的应用将十分广泛,包括计算机(加密、通信、软件、硬件)、法律、金融(货币和市场)、经济、管理、会计、心理、统计、数学、社会学等领域,如公共交易账本、媒体版权保护、个人学位认证、证据存储数据库以及电子货币等显而易见的应用,正成为未来数字社会基础设施。区块链是一种用时间戳签名的,将数据区块(block)以链式结构组合的特定的数据结构,并以密码学的方式保证数据的不可篡改和不可伪造的去中心化的共享账本(Decentralized shared ledger)。由于区块链具有去中心化、开发性、自治性、安全可信性、可编程性等特点,使得其在许多领域掀起了技术改革的浪潮。根据区块链技术的发展历程,可以将区块链技术分为三代:第一代为可编程数字加密货币为主要特征,代表为Bitcoin;第二代以可编程金融系统为主要特征,一般认为目前处于第二代初期,代表为股权众筹和P2P借贷平台等各类基于区块链技术的互联网金融应用;第三代以可编程社会为主要特征,这个概念还处于概念阶段。
虽然区块链正尝试在不同的领域内进行应用,但目前区块链仍旧在交易处理速度以及数据存储方面存在较多问题。其目前急需解决的问题有:
1、目前各个区块链仍旧是一个独立的系统,不同区块链之间的数据无法进行流通,造成了数据孤岛问题。
2、目前区块链的效率较为低下,在当前的公有区块链项目中,比特币目前每秒仅能进行7笔交易,而目前VISA每秒可以处理上万笔交易。因此如果希望区块链能够满足大多数人的需求则急需提升区块链的交易处理速度。
3、随着交易数量的增长,如果某个节点希望加入区块链网络,其需要存储的数据也日益增大,如果某台计算机希望同步比特币从创世区块到当前最新区块的所有数据,则需要大约190GB的空间,而在2015年上线的以太坊目前其数据总量已经超过了1TB。因此区块链急需寻找新的方法来削减状态的大小,否则随着参与区块链共识的节点的门槛要求的逐渐增高,区块链会劣化为新的中心化结构。
4、不同用户对区块链应用有着不同的要求,这些要求难以在同一个区块链框架内得到满足。
总之,利用区块链能够很好的保护数据的隐私性,提供数据完整性和真实性的验证机制,并解决在互不信任的各方之间搭建信任桥梁的问题,但是目前区块链仍旧存在着性能较差、存储空间需求增长过快、不同链之间无法互相通信、难以在同一区块链框架内满足各种用户需要的问题。在目前情况下,针对这些问题的一个解决方法是使用多链的架构,让用户根据实际需要将交易发送到不同的链上进行处理,并利用多链互联协议来完成不同区块链之间的信息交换。
为实现不同区块链之间的互联互通,目前主要使用的多链互联机制可以分为以下三种:
1、公证人机制。该模式较为简单,在多条区块链需要进行信息交换时有一个或一组节点能作为相对独立的角色参与到对双方交易确认的事件上来,因此更易于和对现有区块链系统进行对接,其较为中心化的处理模式也能带来更高的处理效率,并能较好地保障跨链交易的一致性。
2、中继机制。相较于公证人机制,该机制更为灵活、易于扩展,其不依赖可信第三方帮助其进行交易验证,而是在拿到发送方数据后由接收方自行验证,自行验证的方式依据系统结构不同而不同,例如BTC-Relay依赖于SPV证明,Cosmos还依靠验证节点签名数量等。
3、侧链机制。该机制是一种强耦合结构的多链模式,通过某种方式直接将源链的部分数据嵌入到自己的区块或者存储空间中。在进行多链交易时,直接通过本系统存储的数据便可完成交易验证。如果需要使用侧链机制则一般在系统设计之初就进行了双向考虑。
主从链架构作为多链架构的一种,因其能够与一层扩容技术良好的兼容得到了广泛关注。现有技术中并没有关注以及主从链架构下的多链互联技术的报道和研发,因此在重要的多链互联技术方面存在巨大的缺口。
发明内容
有鉴于此,本发明提供一种基于多链互联的跨链交易方法,通过研究基于多链的区块链可扩展技术架构,结合Plasma主从链技术,研究多链架构下的区块链互联协议;并在多链互联协议的基础上研究利用多链架构提升区块链性能的方法;最终实现基于该架构的区块链原型系统。
本发明的目的在于提供一种基于多链互联的跨链交易方法,所述方法包括跨链交易的发起、跨链交易的查询两个环节,所述多链包括一条或多条源链和目标链,所述方法基于中继机制,通过EVM-NG提供系统合约服务,在虚拟机中完成在多链之间发起服务请求。
优选的,所述跨链交易的发起包括:
步骤11,需要发起跨链转账的用户被称为交易发起者,交易发起者在所述源链的客户端发起跨链交易Tx;
步骤12,将所述跨链交易Tx进行签名获得经过签名的跨链交易Tx’,将所述经过签名的跨链交易Tx’放置于所述跨链交易Tx的payload字段中,所述经过签名的跨链交易Tx’为十六进制字符串,其中所述跨链交易Tx与所述经过签名的跨链交易Tx’的转账地址均调用跨链合约FundsPool;
步骤13,所述跨链交易Tx发起合约调用请求;
步骤14,被调用的所述跨链合约FundsPool在合约中进行操作。
优选的,所述步骤14的操作包括:
步骤141,记录跨链交易相关信息,包括目标链的chainID、目的地址以及跨链通证数量;
步骤142,将所述跨链交易Tx中的一定金额作为质押金,待目标地址收帐成功后,由用户主动发起申请返回所述质押金;
步骤143,调用以太坊虚拟机EVM-NG中提供的服务,在contract RPC中构造交易,并转发至所述目标链;
步骤144,发送所述经过签名的跨链交易Tx’至交易池,并将所述经过签名的跨链交易Tx’作为参数传递至所述目标链的合约中,所述目标链在所述合约中对所述跨链交易的签名进行验证以确保合约转移资产的安全性,验证通过后将相应金额转账至目标链上的目标账户,并返回交易的哈希hash;
优选的,所述跨链交易的查询包括:
步骤21,由所述交易发起者在本地构造一笔查询交易;
步骤22,调用跨链合约FundsPool,通过所述跨链合约FundsPool查询交易是否已经成功,若所述跨链交易成功则将所述质押金返回到所述源链对应的账户,否则在合约中锁定质押金,直至跨链交易成功才将所述质押金返回给所述源链对应的账户。
优选的,所述步骤22所述调用跨链合约FundsPool的过程包括:
步骤221,填写所述源链的from地址和所述目标链的地址,发起合约调用;
步骤222,从所述跨链合约FundsPool中获取所述源联的from地址相关的跨链交易hash,并向目标链发起交易结果查询请求;
步骤223,获得所述跨链交易的交易收据,根据所述跨链合约FundsPool中status判断交易是否成功上链,若成功则将所述质押金返回给所述源链的from地址对应的账户,若失败则继续锁定所述质押金;
步骤224,所述交易发起者根据所述跨链合约FundsPool中receipt结果判断是否获取所述质押金。
优选的,所述跨链交易相关信息包括交易发起者的地址与对应的金额和跨链交易详细信息。
优选的,所述跨链交易详细信息包括目标链上的跨链信息。
优选的,所述跨链信息包括txHash。
优选的,所述方法基于justitia公链进行开发,使用PBFT+DPOS共识算法,通过选举产生候选人,在候选人中使用PBFT共识进行区块的一致性达成,所述方法使用Go语言实现。
优选的,所述方法包括多链一致性算法及基于多链互联的区块链性能扩展方法,其中所述多链一致性算法通过多链互联协议进行信息交互,从而在不同的从链之间达成对某个事件的处理结果的一致,所述多链一致性算法需要保证一致性、合法性和可中止性,其中一致性要求保证所有参与的区块链均对某个操作的结果达成一致;合法性要求这个操作的结果必须由某个参与者提出;可中止性要求保证这个达成一致的过程能够在一定事件内结束,不会无休止的进行下去,所述多链一致性算法保证所有参与节点对某个事务的最终结果达成共识,所有参与节点要能够保证在某个操作失败后能够回滚至处理该事务之前的状态以保证事务的原子性;所述基于多链互联的区块链性能扩展方法利用多链互联协议将交易负载分发至对应的从链,允许交易的并行处理。
本发明的有益效果:
本多链互联方法在基于中继机制的思想上,通过EVM-NG提供系统合约服务,contract RPC由go语言实现,可以在虚拟机中完成在多链之间发起服务请求。本发明分别在以下几个方面取得有益效果:
1、安全性
跨链交易的正确性是最基础的,只有在保障跨链交易正确和安全的前提下,才能保障区块链体系不受影响,本项目采用拆分交易、资产质押两种方式,来确保跨链过程中资金的安全性,由发起人构造一笔跨链交易Tx,Tx为一笔合约调用交易,并向合约转帐amount数量的通证用于质押;Tx的payload中包含带有签名的交易十六进制字符串Tx’,发送Tx’至交易池,并将其作为参数传递至目标链的合约中,在合约中验证签名以确保合约转移资产的安全性。所以可以看出,只有Tx成功后才可以在目标链发起转帐。Tx’在本地上链失败了,但因为其带有签名,可以由任何用户重新上链,若Tx’的from地址余额不足,则质押金无法回退同样可以保证跨链的安全性,资产质押也在一定程度上遏制了跨链作弊行为。
2、原子性
在跨链转移资产的过程中,交易的转移必须是原子性的,即交易要么发生要么不发生,不能出现凭空损失或创建资产,也不能有欺骗交易的发生。本项目中使用contractRPC和交易签名验证两种方式,来确保跨链交易的原子性。如上所述只有在合约调用Tx交易成功后,才会进行后续的Tx‘、跨链转账操作,若Tx交易执行失败后继操作不会发生;同时安全性上的设计保证了,Tx交易成功后Tx’的状态不会对该笔跨链交易状态造成影响,从而保证了跨链交易的安全性。
3、异步性
跨链交易会包含多笔交易的配合,在调用合约后需要进行验证,然后再向目标链发起合约调用;同时Tx‘交易的上链也需要确认时间。本项目中交易查询和合约记录信息的方式来将串行、同步的操作,更改为异步操作从而减少交易等待时间,提高跨链交易整体的执行效率。将相关交易hash记录在智能合约中,在交易发起后由用户调用合约,确定整笔交易的完成。
4、扩展性
本项目同构链之间的资产转移具有灵活的扩展性,在本地分别部署两条链上的节点,在合约调用中填写目标链的chianID即可发起跨链交易,可以形成灵活的拓扑结构任意无限扩展。
5、易用性
在客户端提供了跨链交易构造和跨链查询交易构造的方法,使用上与发起一笔普通转账交易相同,与传统转账方式同样方便,提供友好的用户界面简单易用。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要的附图做简单的介绍,显而易见地,下面描述的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为根据本发明实施例的发起跨链交易方法流程图;
图2为根据本发明实施例的跨链交易查询方法流程图;
图3为根据本发明实施例的导入账户后的主界面图;
图4为根据本发明实施例的发起跨链交易页面图;
图5为根据本发明实施例的交易详情页面图;
图6为根据本发明实施例的查询跨链交易页面图;
图7为根据本发明实施例的交易查询结果页面图;
图8为根据本发明实施例的区块链主流多链项目细节图。
具体实施方式
参见图1,本实施例的一种基于多链互联的跨链交易方法包括跨链交易的发起、跨链交易的查询两个环节,多链包括一条或多条源链和目标链,方法基于中继机制,通过EVM-NG提供系统合约服务,在虚拟机中完成在多链之间发起服务请求。
其中,跨链交易的发起包括:
步骤11,需要发起跨链转账的用户被称为交易发起者,交易发起者在源链的客户端发起跨链交易Tx;
步骤12,将跨链交易Tx进行签名获得经过签名的跨链交易Tx’,将经过签名的跨链交易Tx’放置于跨链交易Tx的payload字段中,经过签名的跨链交易Tx’为十六进制字符串,其中跨链交易Tx与经过签名的跨链交易Tx’的转账地址均调用跨链合约FundsPool;
步骤13,跨链交易Tx发起合约调用请求;
步骤14,被调用的跨链合约FundsPool在合约中进行如下操作:
步骤141,记录跨链交易相关信息,包括目标链的chainID、目的地址以及跨链通证数量;
步骤142,将跨链交易Tx中的一定金额作为质押金,待目标地址收帐成功后,由用户主动发起申请返回质押金;
步骤143,调用以太坊虚拟机EVM-NG中提供的服务,在contract RPC中构造交易,并转发至目标链;
步骤144,发送经过签名的跨链交易Tx’至交易池,并将经过签名的跨链交易Tx’作为参数传递至目标链的合约中,目标链在合约中对跨链交易的签名进行验证以确保合约转移资产的安全性,验证通过后将相应金额转账至目标链上的目标账户,并返回交易的哈希hash;
参见图2,跨链交易的查询包括:
步骤21,由交易发起者在本地构造一笔查询交易;
步骤22,调用跨链合约FundsPool,通过跨链合约FundsPool查询交易是否已经成功,若跨链交易成功则将质押金返回到源链对应的账户,否则在合约中锁定质押金,直至跨链交易成功才将质押金返回给源链对应的账户。
其中,步骤22调用跨链合约FundsPool的过程包括:
步骤221,填写源链的from地址和目标链的地址,发起合约调用;
步骤222,从跨链合约FundsPool中获取源联的from地址相关的跨链交易hash,并向目标链发起交易结果查询请求;
步骤223,获得跨链交易的交易收据,根据跨链合约FundsPool中status判断交易是否成功上链,若成功则将质押金返回给源链的from地址对应的账户,若失败则继续锁定质押金;
步骤224,所述交易发起者根据跨链合约FundsPool中receipt结果判断是否获取质押金。
跨链交易相关信息包括交易发起者的地址与对应的金额和跨链交易详细信息。跨链交易详细信息包括目标链上的跨链信息。跨链信息包括txHash。
本实施例的方法基于justitia公链进行开发,使用PBFT+DPOS共识算法,通过选举产生候选人,在候选人中使用PBFT共识进行区块的一致性达成,方法使用Go语言实现。
本实施例的方法包括多链一致性算法及基于多链互联的区块链性能扩展方法,其中多链一致性算法通过多链互联协议进行信息交互,从而在不同的从链之间达成对某个事件的处理结果的一致,多链一致性算法需要保证一致性、合法性和可中止性,其中一致性要求保证所有参与的区块链均对某个操作的结果达成一致;合法性要求这个操作的结果必须由某个参与者提出;可中止性要求保证这个达成一致的过程能够在一定事件内结束,不会无休止的进行下去,多链一致性算法保证所有参与节点对某个事务的最终结果达成共识,所有参与节点要能够保证在某个操作失败后能够回滚至处理该事务之前的状态以保证事务的原子性;基于多链互联的区块链性能扩展方法利用多链互联协议将交易负载分发至对应的从链,允许交易的并行处理,从而提升区块链整体性能。
本实施例中对应的区块链跨链交易项目开发,其中项目界面设计和对应的操作说明如下:
1、如图3所示为导入账户后的主界面:
导入地址信息后,主界面会展示该地址下的通证数量,交易明细,并提供跨链交易、普通交易的转账入口。提供用户转帐记录的查询入口,以及转帐gas费用等参数的设置入口。
2、如图4所示为发起跨链交易页面:
在主页面点击“跨链交易”进入该页面。输入目标链的chainID、目的地址、以及跨链通证数量,构造一笔跨链交易,其中跨链通证数量的一半资产将作为质押金留存于合约中。
3、如图5所示为交易详情页面:
通过点击主界面的“交易明细”进入该页面。该页面展示交易数量,交易类型,交易hash值,发送方地址,以及合约调用地址,备注等交易详细信息。
4、如图6所示为查询跨链交易页面:
发起交易后即可进入,输入目标链的chainID,交易发起者地址,构造一笔合约调用交易,交易成功时即回退质押金。
5、如图7所示的交易查询结果页面:
由查询跨链交易页面跳转进入,资金回退成功则展示提取数量、提取账户、该笔交易hash详细信息。
本实施例在不影响安全性的前提下,通过让多个并行的区块链系统互相协同处理提升整个系统的吞吐量。目前多链互联主要有三种机制:公证人机制、中继机制以及侧链机制。基于这三种机制,图8所示为已有的多链项目。本发明是基于justitia公链进行开发,使用PBFT+DPOS共识算法,通过选举产生候选人,在候选人中使用PBFT共识进行区块的一致性达成。使用Go语言实现,具有良好的执行速度,适合高并发和多任务场景。支持同构链之间资产的双向转移,同时实现异构链之间的单项锚定,可由本发明链转移资产至支持合约的异构链中。
本多链互联实施例在基于中继机制的思想上,通过EVM-NG提供系统合约服务,contract RPC由go语言实现,可以在虚拟机中完成在多链之间发起服务请求,具有如下有益效果:
1、安全性
跨链交易的正确性是最基础的,只有在保障跨链交易正确和安全的前提下,才能保障区块链体系不受影响,本项目采用拆分交易、资产质押两种方式,来确保跨链过程中资金的安全性,由发起人构造一笔跨链交易Tx,Tx为一笔合约调用交易,并向合约转帐amount数量的通证用于质押;Tx的payload中包含带有签名的交易十六进制字符串Tx’,发送Tx’至交易池,并将其作为参数传递至目标链的合约中,在合约中验证签名以确保合约转移资产的安全性。所以可以看出,只有Tx成功后才可以在目标链发起转帐。Tx’在本地上链失败了,但因为其带有签名,可以由任何用户重新上链,若Tx’的from地址余额不足,则质押金无法回退同样可以保证跨链的安全性,资产质押也在一定程度上遏制了跨链作弊行为。
2、原子性
在跨链转移资产的过程中,交易的转移必须是原子性的,即交易要么发生要么不发生,不能出现凭空损失或创建资产,也不能有欺骗交易的发生。本项目中使用contractRPC和交易签名验证两种方式,来确保跨链交易的原子性。如上只有在合约调用Tx交易成功后,才会进行后续的Tx‘、跨链转账操作,若Tx交易执行失败后继操作不会发生;同时安全性上的设计保证了,Tx交易成功后Tx’的状态不会对该笔跨链交易状态造成影响,从而保证了跨链交易的安全性。
3、异步性
跨链交易会包含多笔交易的配合,在调用合约后需要进行验证,然后再向目标链发起合约调用;同时Tx‘交易的上链也需要确认时间。本项目中交易查询和合约记录信息的方式来将串行、同步的操作,更改为异步操作从而减少交易等待时间,提高跨链交易整体的执行效率。将相关交易hash记录在智能合约中,在交易发起后由用户调用合约,确定整笔交易的完成。
4、扩展性
本项目同构链之间的资产转移具有灵活的扩展性,在本地分别部署两条链上的节点,在合约调用中填写目标链的chianID即可发起跨链交易,可以形成灵活的拓扑结构任意无限扩展。
5、易用性
在客户端提供了跨链交易构造和跨链查询交易构造的方法,使用上与发起一笔普通转账交易相同,与传统转账方式同样方便,提供友好的用户界面简单易用。
本发明虽然已经参考特定的说明性实施例进行了描述,但是不会受到这些实施例的限定而仅仅受到附加权利要求的限定。本领域技术人员应当理解可以在不偏离本发明的保护范围和精神的情况下,对本发明的实施例进行修改。
Claims (1)
1.一种基于多链互联的跨链交易方法,其特征在于:所述方法包括跨链交易的发起、跨链交易的查询两个环节,所述多链包括一条或多条源链和目标链,所述方法基于中继机制,通过EVM-NG提供系统合约服务,在虚拟机中完成在多链之间发起服务请求;
所述跨链交易的发起包括:
步骤11,需要发起跨链转账的用户被称为交易发起者,交易发起者在所述源链的客户端发起跨链交易Tx;
步骤12,将所述跨链交易Tx进行签名获得经过签名的跨链交易Tx’,将所述经过签名的跨链交易Tx’放置于所述跨链交易Tx的payload字段中,所述经过签名的跨链交易Tx’为十六进制字符串,其中所述跨链交易Tx与所述经过签名的跨链交易Tx’的转账地址均调用跨链合约FundsPool;
步骤13,所述跨链交易Tx发起合约调用请求;
步骤14,被调用的所述跨链合约FundsPool在合约中进行操作;
所述步骤14的操作包括:
步骤141,记录跨链交易相关信息,包括目标链的chainID、目的地址以及跨链通证数量;
步骤142,将所述跨链交易Tx中的一定金额作为质押金,待目标地址收帐成功后,由用户主动发起申请返回所述质押金;
步骤143,调用以太坊虚拟机EVM-NG中提供的服务,在contractRPC中构造交易,并转发至所述目标链;
步骤144,发送所述经过签名的跨链交易Tx’至交易池,并将所述经过签名的跨链交易Tx’作为参数传递至所述目标链的合约中,所述目标链在所述合约中对所述跨链交易的签名进行验证以确保合约转移资产的安全性,验证通过后将相应金额转账至目标链上的目标账户,并返回交易的哈希hash;
所述跨链交易的查询包括:
步骤21,由所述交易发起者在本地构造一笔查询交易;
步骤22,调用跨链合约FundsPool,通过所述跨链合约FundsPool查询交易是否已经成功,若所述跨链交易成功则将所述质押金返回到所述源链对应的账户,否则在合约中锁定质押金,直至跨链交易成功才将所述质押金返回给所述源链对应的账户;
所述步骤22所述调用跨链合约FundsPool的过程包括:
步骤221,填写所述源链的from地址和所述目标链的地址,发起合约调用;
步骤222,从所述跨链合约FundsPool中获取所述源链 的from地址相关的跨链交易hash,并向目标链发起交易结果查询请求;
步骤223,获得所述跨链交易的交易收据,根据所述跨链合约FundsPool中status判断交易是否成功上链,若成功则将所述质押金返回给所述源链的from地址对应的账户,若失败则继续锁定所述质押金;
步骤224,所述交易发起者根据所述跨链合约FundsPool中receipt结果判断是否获取所述质押金;
所述跨链交易相关信息包括交易发起者的地址与对应的金额和跨链交易详细信息;
所述跨链交易详细信息包括目标链上的跨链信息;
所述跨链信息包括txHash;
所述方法基于justitia公链进行开发,使用PBFT+DPOS共识算法,通过选举产生候选人,在候选人中使用PBFT共识进行区块的一致性达成,所述方法使用Go语言实现;
所述方法包括多链一致性算法及基于多链互联的区块链性能扩展方法,其中所述多链一致性算法通过多链互联协议进行信息交互,从而在不同的从链之间达成对某个事件的处理结果的一致,所述多链一致性算法需要保证一致性、合法性和可中止性,其中一致性要求保证所有参与的区块链均对某个操作的结果达成一致;合法性要求这个操作的结果必须由某个参与者提出;可中止性要求保证这个达成一致的过程能够在一定事件内结束,不会无休止的进行下去,所述多链一致性算法保证所有参与节点对某个事务的最终结果达成共识,所有参与节点要能够保证在某个操作失败后能够回滚至处理该事务之前的状态以保证事务的原子性;所述基于多链互联的区块链性能扩展方法利用多链互联协议将交易负载分发至对应的从链,允许交易的并行处理。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011533199.6A CN112581130B (zh) | 2020-12-22 | 2020-12-22 | 一种基于多链互联的跨链交易方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011533199.6A CN112581130B (zh) | 2020-12-22 | 2020-12-22 | 一种基于多链互联的跨链交易方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112581130A CN112581130A (zh) | 2021-03-30 |
CN112581130B true CN112581130B (zh) | 2022-12-23 |
Family
ID=75138892
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011533199.6A Active CN112581130B (zh) | 2020-12-22 | 2020-12-22 | 一种基于多链互联的跨链交易方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112581130B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114782043B (zh) * | 2021-08-05 | 2023-03-28 | 北京天德科技有限公司 | 一种基于多链的安全交易系统及安全交易方法 |
CN113689216A (zh) * | 2021-10-26 | 2021-11-23 | 腾讯科技(深圳)有限公司 | 跨链事务处理方法及装置、设备、存储介质、程序产品 |
CN117708181B (zh) * | 2024-02-05 | 2024-04-30 | 人民法院信息技术服务中心 | 一种私有链的异构数据跨链查询方法、装置、系统及设备 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110352445B (zh) * | 2018-11-27 | 2023-08-22 | 创新先进技术有限公司 | 使用智能合约执行多方交易 |
US10937096B2 (en) * | 2019-07-15 | 2021-03-02 | Advanced New Technologies Co., Ltd. | Transaction processing in a service blockchain |
CN110471984B (zh) * | 2019-07-15 | 2020-08-25 | 阿里巴巴集团控股有限公司 | 基于区块链的业务处理方法及装置、电子设备 |
CN111666323B (zh) * | 2020-05-15 | 2023-05-23 | 西安纸贵互联网科技有限公司 | 区块链的跨链互通方法及系统 |
CN111383119A (zh) * | 2020-05-29 | 2020-07-07 | 支付宝(杭州)信息技术有限公司 | 一种基于区块链的资产管理方法、装置及电子设备 |
-
2020
- 2020-12-22 CN CN202011533199.6A patent/CN112581130B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN112581130A (zh) | 2021-03-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112581130B (zh) | 一种基于多链互联的跨链交易方法 | |
EP4120150A1 (en) | Calculation method for vertical federated learning, apparatus, device, and medium | |
US12014337B2 (en) | Information transaction infrastructure | |
Xiong et al. | A notary group-based cross-chain mechanism | |
CN112003858B (zh) | 基于区块链的平台对接的方法、电子装置和存储介质 | |
CN111640017A (zh) | 一种应用于联盟链跨链转账的交易正确性验证方法及装置 | |
CN110377635B (zh) | 基于区块链架构的人民币跨境支付查询查复方法及装置 | |
CN111294339B (zh) | 基于Fabric架构的同构联盟链跨链方法及装置 | |
CN113595734A (zh) | 用于管理多个区块链网络中的交易的方法、系统和装置 | |
CN113595733A (zh) | 用于管理多个区块链网络中的交易的方法、系统和装置 | |
Saad et al. | Decentralized directed acyclic graph based dlt network | |
Bu et al. | Cross hyperledger fabric transactions | |
Zhang et al. | Cross-Chain Interoperability and Collaboration for Keyword-Based Embedded Smart Contracts in the Internet of Things | |
CN117495373A (zh) | 基于区块链离线支付方法及装置 | |
CN111698254B (zh) | 一种基于共享组织的联盟链Baas平台搭建方法 | |
CN111523892B (zh) | 一种区块链的跨链交易方法及装置 | |
CN110727735B (zh) | 基于区块链技术协作完成任务事件的方法、装置及设备 | |
KR20190086301A (ko) | 블록 체인을 이용한 분산 데이터베이스 시스템 및 방법 | |
KR20190086298A (ko) | 트랜잭션 가치 추산을 통한 블록체인 콘트롤러 참여 제어 시스템 | |
CN110363513A (zh) | 基于区块链的联合支付方法和装置 | |
Sharma et al. | Blockchain Revolution: Adaptability in Business World and Challenges in Implementation | |
Rasheed et al. | Blockchain mobile wallet with secure offline transactions | |
CN111461732B (zh) | 基于区块链的支付信息验证方法、系统及装置 | |
CN114066451A (zh) | 管理资金交易的方法和系统、电子设备 | |
TWM605762U (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 |