CN116029729A - 基于动态接入应用链管理合约模式的跨链方法及系统 - Google Patents
基于动态接入应用链管理合约模式的跨链方法及系统 Download PDFInfo
- Publication number
- CN116029729A CN116029729A CN202310284667.8A CN202310284667A CN116029729A CN 116029729 A CN116029729 A CN 116029729A CN 202310284667 A CN202310284667 A CN 202310284667A CN 116029729 A CN116029729 A CN 116029729A
- Authority
- CN
- China
- Prior art keywords
- link
- cross
- event
- chain
- application
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明提供基于动态接入应用链管理合约模式的跨链方法及系统,方法包括:监听各类应用链的跨链事件,并对接收到的跨链事件交易进行解析并统一化格式处理,获取目的链节点或者客户端信息,并将处理后跨链事件交易交由目的链处理,记录所有跨链交互过程日志,据以对跨链操作进行事后追溯;利用预置的应用链管理合约进行外链注册,利用本链上的预置预言机机制获取应用链数据,利用外链适配方法,根据外链注册信息解析应用链数据,监听链上跨链事件,利用外链验证方法验证其他各类应用链数据可靠性。本发明解决了开发难度大、扩展性差、使用成本高、灵活性低、以及可靠性差的技术问题。
Description
技术领域
本发明涉及区块链跨链技术领域,具体涉及基于动态接入应用链管理合约模式的跨链方法及系统。
背景技术
目前,大部分的区块链应用都仅解决单个联盟链之内多节点的数据共享和协作问题,如果有其他主体或者其他类型的联盟链想与这个联盟链产生交互,就需要加入这个联盟链成为其中一个节点。这种方式成本巨大,不可能让所有主体都加入一个共同的联盟链。最理想的方式是让这些联盟链能够保持独立性,面向不同方向的应用场景,用多条联盟链分别进行支持,这样才能发挥出联盟链的优势,以实现多链竞放的技术形态。在多链情况下怎样保留跨链交易的可能性,来满足区块链技术对跨链交互的诉求,是当下亟需要解决的问题。针对联盟链之间需要进行的数据互通和信息交互问题,目前存在多种解决方案。但目前的跨链方案存在着设计复杂,开发难度大,用户使用门槛高等问题,不利于区块链技术的发展。
公布号为CN113114744A的现有专利申请文献《数据湖架构下支持跨链交易的区块链系统》该系统包括:区块链公链、区块链数据湖应用平台及区块链私链/联盟链;其中:区块链数据湖应用平台包括基于数据湖的区块链预言机,基于数据湖的区块链预言机是区块链公链和区块链私链/联盟链的交互接口;基于数据湖的区块链预言机用于对区块链私链/联盟链部署到区块链数据湖应用平台的至少一个区块链应用进行格式化处理,以使得区块链公链访问区块链应用。该现有技术通过数据湖应用平台及其预言机作为公链对部署在数据湖应用平台上联盟链/私链数据交互接口,达到公链可以访问各业务链(私链/联盟链)的数据信息。其涉及跨链的机制是通过数据湖预言机完成的,但该现有技术无法保证跨链获取的数据正确性。
公布号为CN115412564A的现有发明专利申请文献《一种区块链政务信息数据跨链传递并验证的方法和系统》,该系统包括底层区块链平台、底层区块链标准纳管接口、底层区块链管理、统一公共服务组件、智能大屏可视化监控平台和用户管理交互平台,通过统一政务区块链基础设施,一地政府公共数据管理部门可以加强区块链政务应用的顶层设计,做到全域区块链统一政务标准、统一资源分配治理、统一身份认证、统一运营监管、统一生态协同,达到区块链算存传管用的安全性,通过安全管理管理网络安全,包括客户端和节点,节点与节点间的双向认证和可靠的通信。前述现有技术通过现有的政务服务技术手段难以实现对各类政务服务应用进行全程追溯和监督审计,在这个多链竞放的应用场景下无法对已建的联盟链进行有效统管,因此有待采用新技术手段提升政务服务应用及多链的监督审计。
由上述现有技术可知,目前的现有技术解决方案主要存在以下问题:
(1)无法保证多链跨链交互信息的正确性。
目前下级多主体预警体系以及预警数据均单独运行存储,数据需要在本地生成存储,再传输到上级区块链系统,因此数据在传输过程中易泄露,无法保证信息的真实可靠性。
(2)无法有效统一监管和审计异构联盟链。
目前上级监管体系,可基于各下级需求为其构建本地同构联盟链,可实现内部监管,确保监管数据的真实有效性,但是难以避免其他主体存在异构联盟链的存在。
(3)现有解决方案复杂及跨链技术难突破。
现有技术中在实现对多条联盟链的接入纳管和跨链互通的应用场景下,公证人机制、哈希时间锁定协议、中继链等技术实现难度大。综上,现有技术存在开发难度大、扩展性差、使用成本高、灵活性低、以及可靠性差的技术问题。
发明内容
本发明所要解决的技术问题在于,如何解决现有技术中开发难度大、扩展性差、使用成本高、灵活性低、以及可靠性差的技术问题。
本发明采用以下技术方案解决上述技术问题:基于动态接入应用链管理合约模式的跨链方法包括:
S1、监听并接收各类应用链的跨链事件交易,解析跨链事件交易,并进行统一化格式处理,以获取目的链节点及客户端信息,将经过统一化格式处理的跨链事件交易交由目的链客户端处理,以记录所有跨链交互过程日志,据以事后追溯跨链事件交易的跨链操作;
S2、利用预置的应用链管理合约进行外链注册,以得到外链注册信息,利用预言机方法,以本链的预言机模块,利用本链上的预置预言机机制获取其余各链的应用链数据,利用外链适配方法,根据外链注册信息解析应用链数据,获取所述应用链管理合约的调用操作事件记录,以监听并管理链上跨链事件,以验证跨链操作中各类应用链数据的可靠性。
本发明通过跨链服务实现跨链交易,再利用本链的应用链管理合约实现跨链结果的验证,即外部其他应用链的数据验证由本链的应用链管理合约统一管理处理,验证安全由应用链管理合约保证,替代了现有复杂的中继链方案,极大减少了开发量和用户使用门槛。
在更具体的技术方案中,步骤S1包括:
S11、利用区块链跨链服务模块配置各预置配置项,根据应用链类型确定接入节点所需数据,启动区块链跨链服务,以主动监听应用链上的跨链事件交易;
S12、当区块链跨链服务监听到跨链事件交易,获得跨链事件交易中的目的应用链id,利用跨链服务查询路由模块,根据目的应用链id,获取预配置的目的链节点及客户端信息,通过目的链节点,将跨链事件交易中目的链的交易交由目的链处理;
S13、每项跨链操作以时间日志类型为主键,进行跨链操作,将操作具体内容存储在kv型数据库中以供事后追溯操作。
在更具体的技术方案中,外链适配方法的输入参数包括:外链chainID、适配类型、适配协议以及适配描述信息;其中,外链chainID对应外链注册操作中已注册的外链,用以规约并将已注册的外链接入适配。
本发明中,用户可以通过调用应用链管理合约中的外链注册方法注册需要接入的外链信息,再调用外链适配方法,输入外链数据类型解析协议,实现动态接入待跨链的各类型外链,灵活性强,实现了同构和异构链接入统一纳管。
在更具体的技术方案中,验证跨链操作中,当用户利用从跨链服务获取的跨链结果,对跨链操作进行结果验证时,通过调用外链验证方法根据跨链结果进行验证,以索引到应用链管理合约中,已注册且适配完成的外链节点客户端。
本发明通过调用应用链管理合约的外链验证方法,对用户从跨链服务获得数据进行验证,无需跨链服务提供验证逻辑,同时验证都由本链应用链管理合约处理,合约调用记录上链,优化了跨链效果。
在更具体的技术方案中,预言机方法包括:预言机获取方法,其中,在预言机获取方法中输入外链客户端和验证项,以处理得到对比基准数据。
本发明通过预言机获取方法获得用于对比验证的外链信息,也即通过链或用户较为信任的预言机方式获取对比基准数据,保障了用于对比验证的外链基准信息数据的可靠性。
在更具体的技术方案中,根据合约管理事件方法,利用下述映射逻辑获取应用链管理合约的调用操作事件记录,供预置的合约管理事件进行监听操作:
式中,type是操作事件类型,message是对应的具体事件项,chainID是目的链的唯一标识,chainType是目的链的类型,adapterType是适配类型,crossResult 为待验证的数据,queryResult为方法输出结果,表示外链注册事件、表示外链适配事件、表示外链验证事件,oracle表示调用数据库get方法抛出事件。
在更具体的技术方案中,合约管理事件方法中,在合约管理事件是外链注册方法中抛出register事件时,各外链节点将外链注册方法的调用操作事件,记录存储到外链注册数据库。
在更具体的技术方案中,合约管理事件方法中,在合约管理事件是外链适配方法中抛出adapter事件时,各外链节点将外链适配方法的调用操作事件,记录存储到外链注册数据库。
在更具体的技术方案中,合约管理事件方法中,在合约管理事件是外链验证方法中抛出verifier事件时,将外链验证方法的调用操作事件存储到外链验证数据库,并根据外链验证方法的调用操作事件检测并发出告警信息。
本发明的合约管理事件处理针对跨链服务结果与外链验证结果不一致的情况判断,利用重验证对比机制,从而对应用链管理合约中注册的相应外链节点客户端和跨链服务中的外链节点客户端中是否存在恶意客户端进行检测告警,进一步维护跨链操作可靠性。
在更具体的技术方案中,基于动态接入应用链管理合约模式的跨链系统包括:
跨链事件处理追溯模块,用以监听并接收各类应用链的跨链事件交易,解析跨链事件交易,并进行统一化格式处理,以获取目的链节点及客户端信息,将经过统一化格式处理的跨链事件交易交由目的链客户端处理,以记录所有跨链交互过程日志,据以事后追溯跨链事件交易的跨链操作;
应用链管理合约模块,用以利用预置的应用链管理合约进行外链注册,以得到外链注册信息,利用预言机方法,以本链的预言机模块,利用本链上的预置预言机机制获取其余各链的应用链数据,利用外链适配方法,根据外链注册信息解析应用链数据,获取所述应用链管理合约的调用操作事件记录,以监听链上跨链事件,以验证跨链操作中,各类应用链数据的可靠性,应用链管理合约模块与跨链事件处理追溯模块连接。
本发明相比现有技术具有以下优点:
本发明通过跨链服务实现跨链交易,再利用本链的应用链管理合约实现跨链结果的验证,即外部其他应用链的数据验证由本链的应用链管理合约统一管理处理,验证安全由应用链管理合约保证,替代了现有复杂的中继链方案,极大减少了开发量和用户使用门槛。
本发明中,用户可以通过调用应用链管理合约中的外链注册方法注册需要接入的外链信息,再调用外链适配方法,输入外链数据类型解析协议,实现动态接入待跨链的各类型外链,灵活性强,实现了同构和异构链接入统一纳管。
本发明通过调用应用链管理合约的外链验证方法,对用户从跨链服务获得数据进行验证,无需跨链服务提供验证逻辑,同时验证都由本链应用链管理合约处理,合约调用记录上链,优化了跨链效果。
本发明通过预言机获取方法获得用于对比验证的外链信息,也即通过链或用户较为信任的预言机方式获取对比基准数据,保障了用于对比验证的外链基准信息数据的可靠性。
本发明的合约管理事件处理针对跨链服务结果与外链验证结果不一致的情况判断,利用重验证对比机制,从而对应用链管理合约中注册的相应外链节点客户端和跨链服务中的外链节点客户端中是否存在恶意客户端进行检测告警,进一步维护跨链操作的可靠性。
本发明解决了现有技术中存在的开发难度大、扩展性差、使用成本高、灵活性低、以及可靠性差的技术问题。
附图说明
图1为本发明实施例1的基于动态接入应用链管理合约模式的跨链方法基本步骤示意图;
图2为本发明实施例1的基于动态接入应用链管理合约模式的跨链方法调用流程图;
图3为本发明实施例1的合约管理事件处理流程图;
图4为本发明实施例1的基于动态接入应用链管理合约模式的跨链系统整体架构图;
图5为本发明实施例1的联盟链与及各节点网络架构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1
在本实施例中,本发明提供的基于动态接入应用链管理合约模式的跨链方法包括:区块链跨链服务、应用链管理合约。
如图1所示,本发明提供的基于动态接入应用链管理合约模式的跨链方法包括:
S1、监听各类应用链的跨链事件,并对接收到的跨链事件交易进行解析并统一化格式处理,获取目的链节点或者客户端信息,并将处理后跨链事件交易交由目的链处理,记录所有跨链交互过程日志,据以对跨链操作进行事后追溯;
S2、利用预置的应用链管理合约进行外链注册,以本链的预言机模块利用本链上的预置预言机机制获取应用链数据,利用外链适配方法,根据外链注册信息解析应用链数据,利用跨链事件模块监听链上跨链事件,利用外链验证方法验证其他各类应用链数据可靠性。
在本实施例中,本发明提供的基于动态接入应用链管理合约模式的跨链方法还包括:外链注册方法、外链适配方法、外链验证方法、预言机获取方法以及管理合约事件。
如图2所示,在本实施例中,基于动态接入应用链管理合约模式的跨链方法调用流程包括:
S21、 用户调用调用应用链管理合约的RegisterChain方法;
S22、存将{chainID,chainType,chainClient,description}存入registerMap中;
S23、抛出合约管理事件{“register”,message},其中,完成调用;
S24、用户调用应用链管理合约的外链适配方法(AdaptChain);
S25、判断索引registerMap中chainID是否存在;若否,则调用结束;
S26、若是,将{chainID,adapterType, adapterProtocol,description}存入adapterMap中;
S27、抛出合约管理事件:
{“adapter”,message},其中,完成调用;
S28、用户调用应用链管理合约的外链验证方法(VerifyChain);
S29、判断索引adapterMap中chainID是否存在;
S210、若否,判定验证失败;
S211、若是,调用应用链管理合约的预言机获取方法(GetOracleChain);
S212、获得预言机获取方法调用结果queryResult;
S213、抛出合约管理事件:
{“oracle”,message},其中;
S214、判断crossResult与queryResult是否相同;
S215、两者相同则,两者不同则。在本实施例中,无论是否相同,皆要抛出合约管理事件{“verifier”,message},其中,完成调用。
在本实施例中,外链注册方法:
RegisterChain(chainID,chainType,chainClient,description)。
当用户想要访问外链信息,则必须调用应用管理合约的外链注册方法,输入chainID(外链ID)、chainType(外链类型)、chainClient(外链客户端)以及外链的相关描述(description)。具体地,chainID是目的链的唯一标识;chainType是目的链的类型。
在本实施例中,目的链的类型包括但不限于:fabric、chainmaker;chainClient是目的链的一个节点客户端,以供外链验证方法使用。外链注册方法的调用操作将会以“register”类型的合约管理事件抛出。
在本实施例中,外链适配方法:
AdaptChain(chainID,adapterType,adaperProtocol,description)。
完成注册后,还需要调用应用链管理合约中的外链适配方法,在本实施例中,该外链适配方法的输入参数包括:(chainID)外链ID、(adapterType)适配类型、(adaperProtocol)适配协议以及适配的相关描述(description)。
在本实施例中,chainID是对应RegisterChain方法中注册完成的链ID,用来规约只有已注册的外链才能接入适配。
在本实施例中,adapterType是适配的数据类型,适配的数据类型包括但不限于:交易类型、区块类型;adaperProtocol是指该适配数据类型对应的解析协议。外链适配方法的调用操作将会以“adapter”类型的合约管理事件抛出。
在本实施例中,外链验证方法VerifyChain(chainID,verifyItem,crossResult)包括:
在本实施例中,当用户已从跨链服务获取的跨链结果后,需要对跨链结果验证时,可以通过调用应用链管理合约中的外链验证方法来对跨链结果进行验证。该方法需要输入chainID(外链ID),用来索引到合约中已注册完成且适配完成的对应的外链节点客户端chainClient。
在本实施例中,还需要输入verifyItem(验证项),验证项是验证类型和验证请求参数的集合。例如,需要验证交易,则verifyItem为{“transaction”, transactionID}。
在本实施例中,还需要输入crossResult (待验证的数据,即跨链结果)。具体地,当该方法调用预言机获取方法返回结果后,将结果通过外链适配方法中存在的适配协议将数据进行解析,对解析过的数据各项与crossResult各项逐一比较。若各项一致则验证通过,否则验证失败。外链验证方法的验证结果也将以“verifier”类型的合约管理事件抛出。
在本实施例中,预言机获取方法GetOracle(chainClient,verifyItem):
在外链验证方法中,依赖该预言机获取方法获取外链信息。在本实施例中,具体的预言机机制使用的预言机方案包括但不限于:预言机方案。在预言机获取方法中输入chainClient(外链客户端)和verifyItem(待查询项,即验证项)。预言机获取方法输出结果设为queryResult。若verifyItem中验证类型为“transaction”,则对应的queryResult=Transaction。
在本实施例中,预言机获取方法的输出结果也将以“oracle”类型的合约管理事件抛出。
在本实施例中,合约管理事件ManagementEvent(type, message):
合约管理事件包括:外链注册方法、外链适配方法、外链验证方法、预言机获取方法中调用操作的事件记录,提供给合约管理事件处理服务监听并处理相应事件。在本实施例中,type是操作事件类型,message是对应的具体事件项。其映射公式为:
式中,type是操作事件类型,message是对应的具体事件项,chainID是目的链的唯一标识,chainType是目的链的类型,adapterType是适配类型,crossResult 为待验证的数据,queryResult为方法输出结果,表示外链注册事件、表示外链适配事件、表示外链验证事件,oracle表示调用数据库get方法抛出事件。
如图3所示,在本实施例中,合约管理事件处理流程包括:
S1’、合约管理事件处理服务启动后,定期监听链上是否有合约管理事件;
S2’、判断是否监听到合约管理事件;
S3’、当接收到合约管理事件后,检查该合约管理事件类型,继续下一步进行处理;
在本实施例中,分事件类型对事件进行处理;
S4’、当type=“register”时,表示该合约管理事件是外链注册方法中抛出“register”事件,其中。各节点将message存储到register数据库;
S5’、当type=“adapter”时,表示该合约管理事件是外链适配方法中抛出“adapter”事件,其中。将message存储到adapter数据库;
S6’、当type=“verifier”时,表示该合约管理事件是外链验证方法中抛出“verifier”事件,在本实施例中,将message存储到verifier数据库;
S7’、进一步判断是否成立;
S8’、若是,则检测并报警;
在本实施例中,说明跨链结果验证失败。需要进一步对失败原因进行检测判断并告警。若否,则说明跨链结果验证成功。
S9’、当type=“oracle”时,将message存储到adapter数据库。
实施例2
如图4所示,在本实施例中,合约管理事件处理服务监听应用管理合约中抛出的合约管理事件,并对事件进行处理。合约管理事件处理服务包括:
合约管理事件监听模块1,在本实施例中,合约管理事件处理服务启动后,定期监听链上是否有合约管理事件。当接收到合约管理事件后,调用合约管理事件处理模块2。
合约管理事件处理模块2,在本实施例中,合约管理事件处理模块2接收到合约管理事件后,检查合约管理事件类型,对不同的类型进行相应的处理,具体处理如下:
当合约管理事件是外链注册方法中抛出register事件时,将message以map格式存储到register数据库,具体地,其中chainID是作为map的key,value为chainType的集合。
合约管理事件是外链适配方法中抛出adapter事件时,将message以map格式存储到adapter数据库,具体地,其中chainID是作为map的key,value为adapterType的集合。
合约管理事件是外链验证方法中抛出verifier事件时,将message以map格式存储到verifier数据库,具体地,其中chainID是作为map的键key,value为的集合。若,则说明跨链结果验证失败。需要进一步对失败原因进行检测判断并告警。设置该次失败的跨链服务结果为,应用链管理合约中预言机获取方法的获取结果为。若,则需要对该项数据进行双边重验证。此时设置重验证时,跨链服务获取结果设为,应用链管理合约中预言机方法获取结果设为。已知。若且,则可能是外链确认不及时,导致共识结果偏差;若且,可能是应用链管理合约中注册的相应外链节点客户端是恶意客户端,需要更新相应的外链节点客户端;若且,可能至少一方存在恶意客户端节点,需要引入额外多节点客户端进行排查或者更新。
当,。将message以map格式存储到oracle数据库,在本实施例中,chainID是作为map的key,value为的集合。
合约管理事件查询模块3,在本实施例中,合约管理事件处理服务中提供查询接口,对于查询的应用链和跨链信息的需求,无需查询链上的应用链管理合约,不影响链性能。主要接口包括但不限于:
GetRegisteredChainInfo():获取该区块链支持已注册接入的应用链。
GetAdaptedChainInfo():获取该区块链支持已适配接入的应用链。
GetVerifiedChainInfo(chainID):获取对应chainID的所有外链验证结果。
GetOracleGotChainInfo(chainID):获取对应chainID的所有预言机获取结果。
在本实施例中,区块链跨链服务包括:跨链事件订阅模块4、跨链节点路由模块5、跨链日志模块6;在本实施例中,利用区块链跨链服务中转各类应用链的跨链相关信息。
在本实施例中,利用区块链跨链服务中转各类应用链的跨链相关信息,在本实施例中,监听各类应用链的跨链事件,并对接收到跨链事件交易进行解析并统一化格式处理;
在本实施例中,区块链跨链服务配置了需要进行跨链服务的应用链信息,在本实施例中,跨链服务配置项包括但不限于:不同应用链的节点接入的信息。因应用链类型不同,接入节点的所需的数据不同视应用链类型而定。服务启动后,跨链事件订阅模块4主动监听应用链上的跨链事件;
获取目的链节点或者客户端信息,并将处理后跨链事件交易交由目的链处理;
在本实施例中,跨链服务监听到跨链事件后,获得跨链事件中包含的目的链id。跨链服务查询路由模块5根据目的链id,获取配置好的该目的应用链的节点信息,通过该目的链节点,将跨链事件中目的链交易交由目的链处理。在本实施例中,应用链的类型包括但不限于:企业链、主流联盟链,主流联盟链包括但不限于:fabric、fisco;
在本实施例中,利用跨链日志模块6记录所有跨链交互过程日志,据以对跨链操作进行事后追溯。
在本实施例中,每项跨链操作都将以时间_日志类型为主键,将操作具体内容(例如一笔跨链交易内容)存储在kv型数据库中以供事后操作,在本实施例中,事后操作包括但不限于:审计、追溯。日志类型包括但不限于:读成功、读失败、写成功以及写失败。
在本实施例中,跨链服务提供两种日志查询接口,用于追溯时查询,具体包括:
方式1:日志时间查询接口,输入参数为具体某一天,例如:20220202;输出为该天的所有日志项。
方式2:日志时间类型查询接口,输入参数为具体每一天,例如20220202、日志类型;输出为该天指定日志类型的所有日志项。
在本实施例中,跨链相关信息指跨链事件,跨链事件包括但不限于:来源链id、来源链交易、目的链id以及目的链交易。
在本实施例中,跨链事件订阅模块4、跨链节点路由模块5、跨链日志模块6在节点启动后,都随节点启动或者按需求待启动。当跨链事件订阅模块4订阅到跨链事件后,经过对事件解析处理,调用跨链节点路由模块5获取目的链节点信息,交由跨链事件中指定的目的链处理。在整个跨链服务处理过程中,进行日志的记录存储。
如图5所示,在本实施例中,本链“联盟链A”,其他各链分别为“联盟链B”、“联盟链C”、“联盟链D”等,每条联盟链分别由多节点共同构建。联盟链类型包括:同构联盟链和异构联盟链。其本链通过跨链服务实现与其他各链之间的跨链交易。
综上,本发明通过跨链服务实现跨链交易,再利用本链的应用链管理合约实现跨链结果的验证,即外部其他应用链的数据验证由本链的应用链管理合约统一管理处理,验证安全由应用链管理合约保证,替代了现有复杂的中继链方案,极大减少了开发量和用户使用门槛。
本发明中,用户可以通过调用应用链管理合约中的外链注册方法注册需要接入的外链信息,再调用外链适配方法,输入外链数据类型解析协议,实现动态接入待跨链的各类型外链,灵活性强,实现了同构和异构链接入统一纳管。
本发明通过调用应用链管理合约的外链验证方法,对用户从跨链服务获得数据进行验证,无需跨链服务提供验证逻辑,同时验证都由本链应用链管理合约处理,合约调用记录上链,改善了跨链效果。
本发明通过预言机获取方法获得用于对比验证的外链信息,也即通过链或用户较为信任的预言机方式获取对比基准数据,保障了用于对比验证的外链基准信息数据的可靠性。
本发明的合约管理事件处理针对跨链服务结果与外链验证结果不一致的情况判断,利用重验证对比机制,从而对应用链管理合约中注册的相应外链节点客户端和跨链服务中的外链节点客户端中是否存在恶意客户端进行检测告警,进一步维护跨链操作的可靠性。
本发明解决了现有技术中存在的开发难度大、扩展性差、使用成本高、灵活性低、以及可靠性差的技术问题。
以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.基于动态接入应用链管理合约模式的跨链方法,其特征在于,所述方法包括:
S1、监听并接收各类的应用链的跨链事件交易,解析所述跨链事件交易,并进行统一化格式处理,以获取目的链节点及客户端信息,将经过统一化格式处理的所述跨链事件交易交由目的链客户端处理,以记录所有跨链交互过程日志,据以事后追溯所述跨链事件交易的跨链操作;
S2、利用预置的应用链管理合约进行外链注册,以得到外链注册信息,利用预言机方法,以本链的预言机模块,利用所述本链上的预置预言机机制获取其余各链的应用链数据,利用外链适配方法,根据所述外链注册信息解析所述应用链数据,获取所述应用链管理合约的调用操作事件记录,以监听并管理链上跨链事件,以验证所述跨链操作中各类的所述应用链数据的可靠性。
2.根据权利要求1所述的基于动态接入应用链管理合约模式的跨链方法,其特征在于,所述S1包括:
S11、利用区块链跨链服务模块配置各预置配置项,根据所述应用链的类型确定接入节点所需数据,启动区块链跨链服务,以主动监听所述应用链上的所述跨链事件交易;
S12、当所述区块链跨链服务监听到所述跨链事件交易,获得所述跨链事件交易中的目的应用链id,利用跨链服务查询路由模块,根据所述目的应用链id,获取预配置的所述目的链节点及所述客户端信息,通过所述目的链节点,将所述跨链事件交易中目的链的交易交由所述目的链处理;
S13、每项跨链操作以时间日志类型为主键,进行跨链操作,将操作具体内容存储在kv型数据库中以供事后追溯操作。
3.根据权利要求1所述的基于动态接入应用链管理合约模式的跨链方法,其特征在于,所述外链适配方法的输入参数包括:外链chainID、适配类型、适配协议以及适配描述信息;其中,所述外链chainID对应外链注册操作中已注册的外链,用以规约并将所述已注册的外链接入适配。
4.根据权利要求1所述的基于动态接入应用链管理合约模式的跨链方法,其特征在于,所述验证所述跨链操作中,当用户利用从跨链服务获取的跨链结果,对所述跨链操作进行结果验证时,通过调用外链验证方法根据跨链结果进行验证,以索引到所述应用链管理合约中,已注册且适配完成的外链节点客户端。
5.根据权利要求1所述的基于动态接入应用链管理合约模式的跨链方法,其特征在于,所述预言机方法包括:预言机获取方法,其中,在预言机获取方法中输入外链客户端和验证项,以处理得到对比基准数据。
6.根据权利要求1所述的基于动态接入应用链管理合约模式的跨链方法,其特征在于,根据合约管理事件方法,利用下述映射逻辑获取所述应用链管理合约的调用操作事件记录,供预置的合约管理事件进行监听操作:
;
式中,type是操作事件类型,message是对应的具体事件项,chainID是目的链的唯一标识,chainType是目的链的类型,adapterType是适配类型,crossResult 为待验证的数据,queryResult为方法输出结果,表示外链注册事件、表示外链适配事件、表示外链验证事件,oracle表示调用数据库get方法抛出事件。
7.根据权利要求6所述的基于动态接入应用链管理合约模式的跨链方法,其特征在于,所述合约管理事件方法中,在所述合约管理事件是外链注册方法中抛出register事件时,各外链节点将外链注册方法的调用操作事件,存储到外链注册数据库。
8.根据权利要求6所述的基于动态接入应用链管理合约模式的跨链方法,其特征在于,所述合约管理事件方法中,在所述合约管理事件是外链适配方法中抛出adapter事件时,各外链节点将外链适配方法的调用操作事件,存储到外链注册数据库。
9.根据权利要求6所述的基于动态接入应用链管理合约模式的跨链方法,其特征在于,所述合约管理事件方法中,在所述合约管理事件是外链验证方法中抛出verifier事件时,将外链验证方法的调用操作事件存储到外链验证数据库,并根据所述外链验证方法的调用操作事件检测并发出告警信息。
10.基于动态接入应用链管理合约模式的跨链系统,其特征在于,所述系统包括:
跨链事件处理追溯模块,用以监听并接收各类的应用链的跨链事件交易,解析所述跨链事件交易,并进行统一化格式处理,以获取目的链节点及客户端信息,将经过统一化格式处理的所述跨链事件交易交由目的链客户端处理,以记录所有跨链交互过程日志,据以事后追溯所述跨链事件交易的跨链操作;
应用链管理合约模块,用以利用预置的应用链管理合约进行外链注册,以得到外链注册信息,利用预言机方法,以本链的预言机模块,利用所述本链上的预置预言机机制获取其余各链的应用链数据,利用外链适配方法,根据所述外链注册信息解析所述应用链数据,获取所述应用链管理合约的调用操作事件记录,以监听并管理链上跨链事件,以验证所述跨链操作中各类的所述应用链数据的可靠性,所述应用链管理合约模块与所述跨链事件处理追溯模块连接。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310284667.8A CN116029729B (zh) | 2023-03-22 | 2023-03-22 | 基于动态接入应用链管理合约模式的跨链方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310284667.8A CN116029729B (zh) | 2023-03-22 | 2023-03-22 | 基于动态接入应用链管理合约模式的跨链方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116029729A true CN116029729A (zh) | 2023-04-28 |
CN116029729B CN116029729B (zh) | 2023-06-06 |
Family
ID=86089454
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310284667.8A Active CN116029729B (zh) | 2023-03-22 | 2023-03-22 | 基于动态接入应用链管理合约模式的跨链方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116029729B (zh) |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108616539A (zh) * | 2018-05-03 | 2018-10-02 | 东莞市翔实信息科技有限公司 | 一种区块链交易记录访问的方法及系统 |
CN111145023A (zh) * | 2019-12-17 | 2020-05-12 | 上海交通大学 | 基于可信预言机的跨链交换方法、系统及介质 |
CN112100277A (zh) * | 2020-09-14 | 2020-12-18 | 泰链智能技术(济南)有限公司 | 一种企业数据上链预言机实现方法、系统、设备及产品 |
CN112132684A (zh) * | 2020-09-23 | 2020-12-25 | 上海万向区块链股份公司 | 一种基于预言机锁组的结算方法及系统 |
CN112862486A (zh) * | 2021-02-25 | 2021-05-28 | 杭州链网科技有限公司 | 一种基于镜像跨链的多方跨链方法及系统 |
CN113139808A (zh) * | 2021-04-15 | 2021-07-20 | 张莹 | 基于预言机的跨链资产交易方法、设备及存储介质 |
CN114331446A (zh) * | 2022-03-15 | 2022-04-12 | 北京百度网讯科技有限公司 | 区块链的链外服务实现方法、装置、设备和介质 |
CN114462730A (zh) * | 2020-11-09 | 2022-05-10 | 东北大学秦皇岛分校 | 一种区块链预言机的信誉管理架构及其数据聚合方法 |
US20220309080A1 (en) * | 2021-03-23 | 2022-09-29 | Huazhong University Of Science And Technology | Method for high-performance traceability query oriented to multi-chain data association |
CN115277122A (zh) * | 2022-07-12 | 2022-11-01 | 云南财经大学 | 基于区块链的跨境数据流动与监管系统 |
CN115392920A (zh) * | 2022-09-01 | 2022-11-25 | 杭州复杂美科技有限公司 | 基于预言机的验证方法、计算机设备和存储介质 |
CN115412564A (zh) * | 2021-05-26 | 2022-11-29 | 王哲文 | 一种区块链政务信息数据跨链传递并验证的方法和系统 |
CN115642700A (zh) * | 2022-11-03 | 2023-01-24 | 哈尔滨工程大学 | 一种基于去中心化预言机的状态通道监控方法 |
-
2023
- 2023-03-22 CN CN202310284667.8A patent/CN116029729B/zh active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108616539A (zh) * | 2018-05-03 | 2018-10-02 | 东莞市翔实信息科技有限公司 | 一种区块链交易记录访问的方法及系统 |
CN111145023A (zh) * | 2019-12-17 | 2020-05-12 | 上海交通大学 | 基于可信预言机的跨链交换方法、系统及介质 |
CN112100277A (zh) * | 2020-09-14 | 2020-12-18 | 泰链智能技术(济南)有限公司 | 一种企业数据上链预言机实现方法、系统、设备及产品 |
CN112132684A (zh) * | 2020-09-23 | 2020-12-25 | 上海万向区块链股份公司 | 一种基于预言机锁组的结算方法及系统 |
CN114462730A (zh) * | 2020-11-09 | 2022-05-10 | 东北大学秦皇岛分校 | 一种区块链预言机的信誉管理架构及其数据聚合方法 |
CN112862486A (zh) * | 2021-02-25 | 2021-05-28 | 杭州链网科技有限公司 | 一种基于镜像跨链的多方跨链方法及系统 |
US20220309080A1 (en) * | 2021-03-23 | 2022-09-29 | Huazhong University Of Science And Technology | Method for high-performance traceability query oriented to multi-chain data association |
CN113139808A (zh) * | 2021-04-15 | 2021-07-20 | 张莹 | 基于预言机的跨链资产交易方法、设备及存储介质 |
CN115412564A (zh) * | 2021-05-26 | 2022-11-29 | 王哲文 | 一种区块链政务信息数据跨链传递并验证的方法和系统 |
CN114331446A (zh) * | 2022-03-15 | 2022-04-12 | 北京百度网讯科技有限公司 | 区块链的链外服务实现方法、装置、设备和介质 |
CN115277122A (zh) * | 2022-07-12 | 2022-11-01 | 云南财经大学 | 基于区块链的跨境数据流动与监管系统 |
CN115392920A (zh) * | 2022-09-01 | 2022-11-25 | 杭州复杂美科技有限公司 | 基于预言机的验证方法、计算机设备和存储介质 |
CN115642700A (zh) * | 2022-11-03 | 2023-01-24 | 哈尔滨工程大学 | 一种基于去中心化预言机的状态通道监控方法 |
Non-Patent Citations (2)
Title |
---|
何人可;: "基于区块链的智能合约在金融领域应用及风险防控", 理论探讨, no. 05, pages 122 - 126 * |
朱典: "区块链技术在政务领域的应用探索", 信息安全研究, pages 1223 - 1230 * |
Also Published As
Publication number | Publication date |
---|---|
CN116029729B (zh) | 2023-06-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101461213B (zh) | 通信网络应用活动监视和控制 | |
Mubarakali | An efficient authentication scheme using blockchain technology for wireless sensor networks | |
JP7511629B2 (ja) | ブロックチェーンを構成するためのセキュリティ層 | |
CN105247529A (zh) | 在目录服务之间同步凭证散列 | |
KR20220044306A (ko) | 부분-정렬된 블록체인 | |
CN109919771B (zh) | 一种应用分层区块链技术的工业互联网交易装置 | |
CN103916625A (zh) | 一种基于云计算的视频监控系统及方法 | |
CN112149105A (zh) | 数据处理系统、方法、相关设备及存储介质 | |
CN110266872B (zh) | 通讯录数据的管控方法、装置及云通讯录系统、计算机设备、计算机可读存储介质 | |
US10956204B1 (en) | Free-riding node identification for blockchain | |
US20240179156A1 (en) | Techniques for incentivized intrusion detection system | |
CN112527912A (zh) | 基于区块链网络的数据处理方法、装置及计算机设备 | |
CN111597543A (zh) | 基于区块链智能合约的广域进程访问权限认证方法及系统 | |
CN112019330B (zh) | 一种基于联盟链的内网安全审计数据的存储方法及系统 | |
CN112837194A (zh) | 一种智慧系统 | |
CN112581129A (zh) | 区块链交易数据治理方法及装置、计算机设备及存储介质 | |
CN112634040B (zh) | 一种数据处理方法及装置 | |
CN102137102B (zh) | 一种支持多类信息发布方式的业务支撑平台实现方法 | |
WO2023231782A1 (zh) | 数据完整性验证系统 | |
EP3794453B1 (en) | Extensible, secure and efficient monitoring & diagnostic pipeline for hybrid cloud architecture | |
CN116029729B (zh) | 基于动态接入应用链管理合约模式的跨链方法及系统 | |
CN117252701A (zh) | 一种基于区块链的跨链互通平台 | |
US20240106846A1 (en) | Approval Workflows For Anomalous User Behavior | |
CN117951217A (zh) | 基于多区块链的跨链配置方法、装置、设备、系统及介质 | |
US20230370279A1 (en) | Terminal device, data management device, management system, processing method, and non-transitory computer-readable medium storing a program |
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 |