首页 / 一种区块链的跨链方法、装置、设备及产品

一种区块链的跨链方法、装置、设备及产品实质审查 发明

技术领域

[0001] 本发明涉及区块链技术领域,尤其涉及一种区块链的跨链方法、装置、设备及产品。

相关背景技术

[0002] 区块链从本质上讲,它是一个共享数据库,存储于其中的数据或信息,具有“不可伪造”“全程留痕”“可以追溯”“公开透明”“集体维护”等特征。基于这些特征,区块链技术奠定了坚实的“信任”基础,创造了可靠的“合作”机制,具有广阔的运用前景。区块链是分布式总账的一种。一条区块链就是一个独立的账本,两条不同的链,就是两个不同的独立的账本,两个账本没有关联,本质上价值没有办法在账本间转移,但是对于具体的某个用户,用户在一条区块链上存储的价值,能够变成另一条链上的价值,这就是价值的流通。
[0003] 如果说共识机制是区块链的灵魂核心,那么对于区块链特别是联盟链及私链来看,跨链技术就是实现价值网络的关键,它是把联盟链从分散单独的孤岛中拯救出来的良药,是区块链向外拓展和连接的桥梁。
[0004] 在区块链所面临的诸多问题中,链与链之间的互通性缺失很大程度限制了区块链的应用空间。跨链主要包括信息跨链和价值跨链两种应用场景,跨链互操作协议的严谨描述、规范实现和普遍应用将成为实现“价值互联网”的关键。区块链跨链互操作技术提供了同构和异构区块链之间的信息交互和价值流转服务,可以满足区块链应用的业务扩展性需求。
[0005] 本发明旨在提供一种区块链中的协同跨链方案。

具体实施方式

[0050] 为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明进一步详细说明。
[0051] 需要说明的是,除非另外定义,本发明实施例使用的技术术语或者科学术语应当为本公开所属领域内具有一般技能的人士所理解的通常意义。本公开中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。“上”、“下”、“左”、“右”等仅用于表示相对位置关系,当被描述对象的绝对位置改变后,则该相对位置关系也可能相应地改变。
[0052] 作为本发明的一个优选实施例,本发明提供一种区块链的跨链方法,应用于主链侧,所述主链侧与子链侧连接,所述主链为按区域划分且逐级设置的多级主链,所述子链侧具有若干子链,两条不同子链根据区域划分为同区域子链和跨区域子链,所述同区域子链中的两条子链位于同一区域,所述跨区域子链中的两条子链位于不同的区域;
[0053] 该方法包括以下步骤:
[0054] 获取同区域的请求方子链的业务协同请求;
[0055] 判断所述业务协同请求的类型以及是否满足智能合约的执行条件;其中,所述类型包括同区域子链的业务协议请求和跨区域子链的业务协议请求;
[0056] 若满足执行条件,且为同区域子链的业务协议请求,下发业务处理请求至所述业务协同请求对应的目标方子链;
[0057] 若满足执行条件,且为不同区域子链的业务协议请求,转发跨链请求至所述业务协同请求对应的目标方子链;
[0058] 获取同区域的目标方子链的业务处理结果,并将所述业务处理结果下发给对应的请求方子链。
[0059] 进一步的,本发明还提供一种区块链的跨链方法,应用于子链侧,所述子链侧与主链侧连接,所述主链为按区域划分且逐级设置的多级主链,所述子链侧具有若干子链,两条不同子链根据区域划分为同区域子链和跨区域子链,所述同区域子链中的两条子链位于同一区域,所述跨区域子链中的两条子链位于不同的区域;
[0060] 该方法包括以下步骤:
[0061] 作为请求方的请求方子链发起业务协同请求;
[0062] 获取由同区域的所述主链下发的作为目标方的目标方子链的业务处理结果。
[0063] 进一步的,本发明还提供一种区块链的跨链装置,应用于主链侧,所述主链侧与子链侧连接,所述主链为按区域划分且逐级设置的多级主链,所述子链侧具有若干子链,两条不同子链根据区域划分为同区域子链和跨区域子链,所述同区域子链中的两条子链位于同一区域,所述跨区域子链中的两条子链位于不同的区域;
[0064] 该装置包括:
[0065] 获取模块,用于获取同区域的请求方子链的业务协同请求;
[0066] 判断模块,用于判断所述业务协同请求的类型以及是否满足智能合约的执行条件;其中,所述类型包括同区域子链的业务协议请求和跨区域子链的业务协议请求;
[0067] 第一处理模块,用于若满足执行条件,且为同区域子链的业务协议请求,下发业务处理请求至所述业务协同请求对应的目标方子链;
[0068] 第二处理模块,用于若满足执行条件,且为不同区域子链的业务协议请求,转发跨链请求至所述业务协同请求对应的目标方子链;
[0069] 结果下发模块,用于获取同区域的目标方子链的业务处理结果,并将所述业务处理结果下发给对应的请求方子链。
[0070] 进一步的,本发明还提供一种区块链的跨链方法,应用于子链侧,所述子链侧与主链侧连接,所述主链为按区域划分且逐级设置的多级主链,所述子链侧具有若干子链,两条不同子链根据区域划分为同区域子链和跨区域子链,所述同区域子链中的两条子链位于同一区域,所述跨区域子链中的两条子链位于不同的区域;
[0071] 该装置包括:
[0072] 请求模块,用于作为请求方的请求方子链发起业务协同请求;
[0073] 结果获取模块,用于获取由同区域的所述主链下发的作为目标方的目标方子链的业务处理结果。
[0074] 本发明基于多级的主子链跨链系统,当需要在两个子链间进行跨链时,该跨链行为不是直接在两个子链之间完成的,而是通过相应的主链来传达,并且主链在其中也起到数据监管作用,在子链与主链上均存在跨链合约与监控节点,通过在主链上跨链协议开发并实例化跨链业务智能合约,应用子链或子链通过跨链业务智能合约即可实现协同业务,实现跨链主智能合约管理,并部署在主链自动执行,实现各业务方的数据可以在保持隐私的情况下互通,解决省市之间、地方之间、企业与政府之间以及部门之间的数据共享不足的问题,降低社会资源浪费,满足各应用子链或应用子链间的跨链业务需求。
[0075] 下面结合附图对本发明区块链的跨链方法、装置、设备及产品的较佳实施例进行说明。
[0076] 请参阅图图1,本发明提供一种区块链的跨链方法,图1的方法应用于主链侧,其中,主链侧与子链侧连接,主链为按区域划分且逐级设置的多级主链,子链侧具有若干子链,两条不同子链根据区域划分为同区域子链和跨区域子链,同区域子链中的两条子链位于同一区域,跨区域子链中的两条子链位于不同的区域。
[0077] 图1的方法包括以下步骤:
[0078] S100、获取同区域的请求方子链的业务协同请求。
[0079] S200、判断业务协同请求的类型以及是否满足智能合约的执行条件。
[0080] 在图1的方法中,类型包括同区域子链的业务协议请求和跨区域子链的业务协议请求。
[0081] S300、若满足执行条件,且为同区域子链的业务协议请求,下发业务处理请求至业务协同请求对应的目标方子链。
[0082] S400、若满足执行条件,且为不同区域子链的业务协议请求,转发跨链请求至业务协同请求对应的目标方子链。具体的,若满足执行条件,且为不同区域子链的业务协议请求,转发跨链请求至业务协同请求对应的目标方子链,该目标方子链与发起业务协议请求的该请求方子链为跨区域子链,并由目标方子链同区域的主链处理该业务协同请求。
[0083] 可以理解的是,图1的方法若不满足执行条件,则跨链终止。
[0084] S500、获取同区域的目标方子链的业务处理结果,并将业务处理结果下发给对应的请求方子链。
[0085] 图1的方法可以应用于图4和图5分别所示的市内跨链和跨城市跨链两种跨链场景,在图4和图5的跨链场景中,均包含三层的主子链体系结构,分别为部分子链、城市主链和省级主链,其中省级主链中若干的省级子链,也就是一级城市节点。
[0086] 在图4所示的跨链请求为市内跨链的场景中,市内跨链只需在本城市的主子链系统内完成跨链流程即可,具体流程为:在城市主链下,部门A子链发起跨链请求,该请求会被该子链上的跨链节点传输到相应的城市主链;城市的连接后台监听到该跨链请求,获取得知该跨链请求仅需本主子链系统内跨链即可,所以不做处理;之后,与该主链连接的城市部门B子链上的跨链节点监听到主链上发生的,目标为本子链的跨链请求后,将该跨链请求合理处理后提交到部门B子链,完成跨链。因此跨链请求为市内跨链的场景中需经过如下链路:发起方城市子链→发起方和目标方共同的城市主链→目标方城市子链。
[0087] 在图5所示的跨链请求为跨城市跨链的场景中,跨城市跨链需要将跨链请求传递到省级主链,以省级主链作为信道,方可到达目标城市主子链系统,也就是对应的目标方子链,具体流程为:发起方城市的部门A子链发起跨链请求,该子链上的跨链节点将该跨链请求发送到发起方的城市主链;发起方城市的连接后台监听到该跨链请求后,判断此为跨城市的跨链请求,需要通过省级主链处理,因此将其提交到省级主链的发起方城市节点;目标方城市连接后台随时监听省级主链上的所有跨链请求,当发现该请求的目标是目标方城市的部门B子链后,将该请求提交到目标方城市主链;目标方城市的部门B子链的跨链节点监听到目标方城市主链上发生的目标为本子链的跨链请求后,将该跨链请求提交到部门B子链,完成跨链。因此跨链请求为跨城市跨链的场景中需经过如下链路:发起方城市子链→发起方城市主链→省级子链→目标方城市主链→目标方城市子链。
[0088] 请参阅图图2,步骤S500具体包括以下步骤:
[0089] S510、获取同区域的目标方子链的业务处理结果,根据智能合约对业务处理结果进行进行校验并执行智能合约。
[0090] S520、将校验合格后的业务处理结果下发给对应的请求方子链。
[0091] 在本实施例中,按照应用子链或子链业务协作需要,通过设计的跨链业务智能合约,并部署在主链上,请求方子链调用跨链业务智能合约向主链发送业务协同请求;主链上的跨链业务智能合约接收,并校验及判断是否满足智能合约执行条件,满足条件执行智能合约,按智能合约中的业务规则向目标方子链下达业务处理请求;目标方子链将业务处理结果上传到主链的跨链业务智能合约,跨链业务智能合约进行校验并执行合约;主链将最终的业务协同结果下达给请求方子链,结束业务。
[0092] 请参阅图图3,本发明还提供一种区块链的跨链方法,图3的方法应用于子链侧,子链侧与主链侧连接,主链为按区域划分且逐级设置的多级主链,子链侧具有若干子链,两条不同子链根据区域划分为同区域子链和跨区域子链,同区域子链中的两条子链位于同一区域,跨区域子链中的两条子链位于不同的区域。
[0093] 图3的方法包括以下步骤:
[0094] S600、作为请求方的请求方子链发起业务协同请求。
[0095] S700、获取由同区域的主链下发的作为目标方的目标方子链的业务处理结果。
[0096] 请参阅图4和图5,无论是市内跨链还是跨城市跨链场景,业务处理结果都是由请求方子链同区域的请求方(也可以是既作为请求方也作为目标方)的主链转发给请求方的主链。区别在于,目标方子链与请求方的主链同区域时,由请求方主链直接转发给同区域的请求方子链;目标方子链与请求方的主链不同区域时,业务处理结果经过跨链转发至请求方子链后,再转发给请求方子链。
[0097] 本发明的区块链的跨链方法,基于多级的主子链跨链系统,当需要在两个子链间进行跨链时,该跨链行为不是直接在两个子链之间完成的,而是通过相应的主链来传达,并且主链在其中也起到数据监管作用,在子链与主链上均存在跨链合约与监控节点,通过在主链上跨链协议开发并实例化跨链业务智能合约,应用子链或子链通过跨链业务智能合约即可实现协同业务,实现跨链主智能合约管理,并部署在主链自动执行,实现各业务方的数据可以在保持隐私的情况下互通,解决省市之间、地方之间、企业与政府之间以及部门之间的数据共享不足的问题,降低社会资源浪费,满足各应用子链或应用子链间的跨链业务需求。
[0098] 下面对本发明提供的区块链的跨链装置进行描述,下文描述的区块链的跨链装置与上文描述的区块链的跨链方法可相互对应参照。
[0099] 请参阅图图6,本发明提供一种区块链的跨链装置,图1的装置应用于主链侧,其中,主链侧与子链侧连接,主链为按区域划分且逐级设置的多级主链,子链侧具有若干子链,两条不同子链根据区域划分为同区域子链和跨区域子链,同区域子链中的两条子链位于同一区域,跨区域子链中的两条子链位于不同的区域。
[0100] 图6的装置包括:
[0101] 获取模块100,用于获取同区域的请求方子链的业务协同请求。
[0102] 判断模块200,用于判断业务协同请求的类型以及是否满足智能合约的执行条件。
[0103] 在图6的装置中,类型包括同区域子链的业务协议请求和跨区域子链的业务协议请求。
[0104] 第一处理模块300,用于若满足执行条件,且为同区域子链的业务协议请求,下发业务处理请求至业务协同请求对应的目标方子链。
[0105] 第一处理模块400,用于若满足执行条件,且为不同区域子链的业务协议请求,转发跨链请求至业务协同请求对应的目标方子链。具体的,若满足执行条件,且为不同区域子链的业务协议请求,转发跨链请求至业务协同请求对应的目标方子链,该目标方子链与发起业务协议请求的该请求方子链为跨区域子链,并由目标方子链同区域的主链处理该业务协同请求。
[0106] 可以理解的是,图6的装置若不满足执行条件,则跨链终止。
[0107] 结果下发模块500,用于获取同区域的目标方子链的业务处理结果,并将业务处理结果下发给对应的请求方子链。
[0108] 图6的装置可以应用于图4和图5分别所示的市内跨链和跨城市跨链两种跨链场景,在图4和图5的跨链场景中,均包含三层的主子链体系结构,分别为部分子链、城市主链和省级主链,其中省级主链中若干的省级子链,也就是一级城市节点。
[0109] 在图4所示的跨链请求为市内跨链的场景中,市内跨链只需在本城市的主子链系统内完成跨链流程即可,具体流程为:在城市主链下,部门A子链发起跨链请求,该请求会被该子链上的跨链节点传输到相应的城市主链;城市的连接后台监听到该跨链请求,获取得知该跨链请求仅需本主子链系统内跨链即可,所以不做处理;之后,与该主链连接的城市部门B子链上的跨链节点监听到主链上发生的,目标为本子链的跨链请求后,将该跨链请求合理处理后提交到部门B子链,完成跨链。因此跨链请求为市内跨链的场景中需经过如下链路:发起方城市子链→发起方和目标方共同的城市主链→目标方城市子链。
[0110] 在图5所示的跨链请求为跨城市跨链的场景中,跨城市跨链需要将跨链请求传递到省级主链,以省级主链作为信道,方可到达目标城市主子链系统,也就是对应的目标方子链,具体流程为:发起方城市的部门A子链发起跨链请求,该子链上的跨链节点将该跨链请求发送到发起方的城市主链;发起方城市的连接后台监听到该跨链请求后,判断此为跨城市的跨链请求,需要通过省级主链处理,因此将其提交到省级主链的发起方城市节点;目标方城市连接后台随时监听省级主链上的所有跨链请求,当发现该请求的目标是目标方城市的部门B子链后,将该请求提交到目标方城市主链;目标方城市的部门B子链的跨链节点监听到目标方城市主链上发生的目标为本子链的跨链请求后,将该跨链请求提交到部门B子链,完成跨链。因此跨链请求为跨城市跨链的场景中需经过如下链路:发起方城市子链→发起方城市主链→省级子链→目标方城市主链→目标方城市子链。
[0111] 请参阅图图7,结果下发模块500具体包括:
[0112] 第一下发单元510、获取同区域的目标方子链的业务处理结果,根据智能合约对业务处理结果进行进行校验并执行智能合约。
[0113] 第二下发单元520,用于将校验合格后的业务处理结果下发给对应的请求方子链。
[0114] 在本实施例中,按照应用子链或子链业务协作需要,通过设计的跨链业务智能合约,并部署在主链上,请求方子链调用跨链业务智能合约向主链发送业务协同请求;主链上的跨链业务智能合约接收,并校验及判断是否满足智能合约执行条件,满足条件执行智能合约,按智能合约中的业务规则向目标方子链下达业务处理请求;目标方子链将业务处理结果上传到主链的跨链业务智能合约,跨链业务智能合约进行校验并执行合约;主链将最终的业务协同结果下达给请求方子链,结束业务。
[0115] 请参阅图图8,本发明还提供一种区块链的跨链装置,图3的装置应用于子链侧,子链侧与主链侧连接,主链为按区域划分且逐级设置的多级主链,子链侧具有若干子链,两条不同子链根据区域划分为同区域子链和跨区域子链,同区域子链中的两条子链位于同一区域,跨区域子链中的两条子链位于不同的区域。
[0116] 图8的装置包括:
[0117] 请求模块600,用于作为请求方的请求方子链发起业务协同请求。
[0118] 结果获取模块700,用于获取由同区域的主链下发的作为目标方的目标方子链的业务处理结果。
[0119] 请参阅图4和图5,无论是市内跨链还是跨城市跨链场景,业务处理结果都是由请求方子链同区域的请求方(也可以是既作为请求方也作为目标方)的主链转发给请求方的主链。区别在于,目标方子链与请求方的主链同区域时,由请求方主链直接转发给同区域的请求方子链;目标方子链与请求方的主链不同区域时,业务处理结果经过跨链转发至请求方子链后,再转发给请求方子链。
[0120] 本发明的区块链的跨链装置,基于多级的主子链跨链系统,当需要在两个子链间进行跨链时,该跨链行为不是直接在两个子链之间完成的,而是通过相应的主链来传达,并且主链在其中也起到数据监管作用,在子链与主链上均存在跨链合约与监控节点,通过在主链上跨链协议开发并实例化跨链业务智能合约,应用子链或子链通过跨链业务智能合约即可实现协同业务,实现跨链主智能合约管理,并部署在主链自动执行,实现各业务方的数据可以在保持隐私的情况下互通,解决省市之间、地方之间、企业与政府之间以及部门之间的数据共享不足的问题,降低社会资源浪费,满足各应用子链或应用子链间的跨链业务需求。
[0121] 图9示例了一种电子设备的实体结构示意图,如图9所示,该电子设备可以包括:处理器(processor)810、通信接口(Communications Interface)820、存储器(memory)830和通信总线840,其中,处理器810,通信接口820,存储器830通过通信总线840完成相互间的通信。处理器810可以调用存储器830中的逻辑指令,以执行区块链的跨链方法,该方法包括以下步骤:
[0122] 获取同区域的请求方子链的业务协同请求;
[0123] 判断所述业务协同请求的类型以及是否满足智能合约的执行条件;其中,所述类型包括同区域子链的业务协议请求和跨区域子链的业务协议请求;
[0124] 若满足执行条件,且为同区域子链的业务协议请求,下发业务处理请求至所述业务协同请求对应的目标方子链;
[0125] 若满足执行条件,且为不同区域子链的业务协议请求,转发跨链请求至所述业务协同请求对应的目标方子链;
[0126] 获取同区域的目标方子链的业务处理结果,并将所述业务处理结果下发给对应的请求方子链。
[0127] 或者,作为请求方的请求方子链发起业务协同请求;
[0128] 获取由同区域的所述主链下发的作为目标方的目标方子链的业务处理结果。
[0129] 此外,上述的存储器830中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read‑Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0130] 另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,计算机程序可存储在非暂态计算机可读存储介质上,所述计算机程序被处理器执行时,计算机能够执行上述各方法所提供的区块链的跨链方法,该方法包括以下步骤:
[0131] 获取同区域的请求方子链的业务协同请求;
[0132] 判断所述业务协同请求的类型以及是否满足智能合约的执行条件;其中,所述类型包括同区域子链的业务协议请求和跨区域子链的业务协议请求;
[0133] 若满足执行条件,且为同区域子链的业务协议请求,下发业务处理请求至所述业务协同请求对应的目标方子链;
[0134] 若满足执行条件,且为不同区域子链的业务协议请求,转发跨链请求至所述业务协同请求对应的目标方子链;
[0135] 获取同区域的目标方子链的业务处理结果,并将所述业务处理结果下发给对应的请求方子链。
[0136] 或者,作为请求方的请求方子链发起业务协同请求;
[0137] 获取由同区域的所述主链下发的作为目标方的目标方子链的业务处理结果。
[0138] 又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各方法提供的区块链的跨链方法,该方法包括以下步骤:
[0139] 获取同区域的请求方子链的业务协同请求;
[0140] 判断所述业务协同请求的类型以及是否满足智能合约的执行条件;其中,所述类型包括同区域子链的业务协议请求和跨区域子链的业务协议请求;
[0141] 若满足执行条件,且为同区域子链的业务协议请求,下发业务处理请求至所述业务协同请求对应的目标方子链;
[0142] 若满足执行条件,且为不同区域子链的业务协议请求,转发跨链请求至所述业务协同请求对应的目标方子链;
[0143] 获取同区域的目标方子链的业务处理结果,并将所述业务处理结果下发给对应的请求方子链。
[0144] 或者,作为请求方的请求方子链发起业务协同请求;
[0145] 获取由同区域的所述主链下发的作为目标方的目标方子链的业务处理结果。
[0146] 以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
[0147] 通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
[0148] 最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

当前第1页 第1页 第2页 第3页
相关技术
方法装置相关技术
装置设备相关技术
苏林麒发明人的其他相关专利技术