首页> 中国专利> 基于区块链系统的数字资产交易方法及区块链系统

基于区块链系统的数字资产交易方法及区块链系统

摘要

本发明公开了一种基于区块链系统的数字资产交易方法及区块链系统。其中,区块链系统为包括多个层级的区块链的树形分布式区块链系统,方法包括:第一区块链接收来自客户端的数字资产交易请求,确定与数字资产交易请求相对应的数字资产;判断与数字资产相对应的归属区块链是否为第一区块链;若是,则第一区块链处理数字资产交易请求;若否,则第一区块链拒绝数字资产交易请求;其中,与数字资产相对应的归属区块链为生成该笔数字资产的区块链。该方式尤其适用于一次一用数字资产的交易,该数字资产只能使用一次;并且,该方式还能够实现数字资产之间的跨链交易,跨链交易执行前后的数字资产分别对应于不同的归属区块链,由此提升了资产的安全性。

著录项

  • 公开/公告号CN107392608A

    专利类型发明专利

  • 公开/公告日2017-11-24

    原文格式PDF

  • 申请/专利权人 北京博晨技术有限公司;

    申请/专利号CN201710561462.4

  • 发明设计人 张健;张博;赵海涛;

    申请日2017-07-11

  • 分类号G06Q20/38(20120101);H04L29/06(20060101);

  • 代理机构11448 北京中强智尚知识产权代理有限公司;

  • 代理人王书彪;刘艳芬

  • 地址 100036 北京市海淀区翠微中里14号楼三层A598

  • 入库时间 2023-06-19 03:51:20

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2022-06-28

    未缴年费专利权终止 IPC(主分类):G06Q20/38 专利号:ZL2017105614624 申请日:20170711 授权公告日:20200707

    专利权的终止

  • 2020-07-07

    授权

    授权

  • 2017-12-22

    实质审查的生效 IPC(主分类):G06Q20/38 申请日:20170711

    实质审查的生效

  • 2017-11-24

    公开

    公开

说明书

技术领域

本发明涉及信息技术领域,具体涉及一种基于区块链系统的数字资产交易方法及区块链系统。

背景技术

区块链技术是利用块链式数据结构来验证与存储数据、利用分布式节点共识算法来生成和更新数据、利用密码学的方式保证数据传输和访问的安全、利用由自动化脚本代码组成的智能合约来编程和操作数据的一种全新的分布式基础架构与计算范式。区块链技术本身具有很多优势:一方面,由于区块链网络能够通过算法实现自我约束,任何恶意欺骗系统的行为都会遭到网络中其他节点的排斥和抑制,因此,区块链系统无需依赖中央权威机构支撑和信用背书即可实现安全的网络交易。另一方面,由于区块链采取单向哈希算法,同时每个新产生的区块严格按照时间线形顺序推进,时间的不可逆性导致任何试图入侵篡改区块链内数据信息的行为都很容易被追溯,导致被其他节点的排斥,从而可以限制相关不法行为。因此,区块链技术在金融、银行等各大领域得到了日益广泛的应用。

但是,传统的区块链系统大多采用去中心化的分布式架构实现,每一笔网络交易均需要通过系统中所有区块链节点的共识操作才能生效,且该笔交易需记录在由所有区块链节点共同维护的系统大账本上。但是,发明人在实现本发明的过程中发现,现有技术中至少存在如下问题:当利用区块链系统实现数字资产的交易时,每一笔数字资产的交易过程均需由区块链系统中的所有节点共同完成,因此,不仅效率低下,多笔交易无法并发执行,而且还增加了数字资产遭受恶意节点攻击的风险。

发明内容

鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的一种基于区块链系统的数字资产交易方法及区块链系统。

根据本发明的一个方面,提供了一种基于区块链系统的数字资产交易方法,其中,所述区块链系统为包括多个层级的区块链的树形分布式区块链系统,所述方法包括:第一区块链接收来自客户端的数字资产交易请求,确定与所述数字资产交易请求相对应的数字资产;判断与所述数字资产相对应的归属区块链是否为所述第一区块链;若是,则所述第一区块链处理所述数字资产交易请求;若否,则所述第一区块链拒绝所述数字资产交易请求;其中,与数字资产相对应的归属区块链为生成该笔数字资产的区块链。

依据本发明的另一方面,提供了一种用于实现数字资产交易的区块链系统,其中,所述区块链系统为包括多个层级的区块链的树形分布式区块链系统,并且,所述区块链系统中至少包括:第一区块链,适于接收来自客户端的数字资产交易请求,确定与所述数字资产交易请求相对应的数字资产;判断与所述数字资产相对应的归属区块链是否为所述第一区块链;若是,则所述第一区块链处理所述数字资产交易请求;若否,则所述第一区块链拒绝所述数字资产交易请求;其中,与数字资产相对应的归属区块链为生成该笔数字资产的区块链。

综上所述,在本发明提供的基于区块链系统的数字资产交易方法及系统中,由于区块链系统为包括多个层级的区块链的树形分布式区块链系统,通过划分层级的方式使系统中的每个区块链可以独立处理与本区块链有关的交易。并且,将生成数字资产的区块链作为该数字资产的归属区块链,由此可见,每个数字资产仅对应唯一的归属区块链,且仅能通过该归属区块链进行相关的交易操作,从而不仅有利于实现多笔数字资产交易的并发,提高交易效率,还显著提升了数字资产的安全性,避免了数字资产被无关的恶意区块链攻击的风险。

上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。

附图说明

通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:

图1示出了区块链系统的整体架构图;

图2示出了实施例二提供的数字资产交易方法的流程图;

图3a示出了步骤S230的第一种实现方式的流程示意图;

图3b示出了步骤S230的第二种实现方式的流程示意图;

图4示出了共识操作的示意图。

具体实施方式

下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。

实施例一

本发明实施例一提供了一种基于区块链系统的数字资产交易方法,该区块链系统为包括多个层级的区块链的树形分布式区块链系统,该方法包括以下步骤:第一区块链接收来自客户端的数字资产交易请求,确定与该数字资产交易请求相对应的数字资产;判断与所述数字资产相对应的归属区块链是否为所述第一区块链;若是,则所述第一区块链处理所述数字资产交易请求;若否,则所述第一区块链拒绝所述数字资产交易请求;其中,与数字资产相对应的归属区块链为生成该笔数字资产的区块链。

其中,该树形分布式区块链系统包括多个层级的区块链,具体的层级数量以及各层级包含的区块链数量可由本领域技术人员灵活设置。另外,第一区块链可以是处于任一层级的区块链。数字资产交易请求的类型可以包括多种:例如,资产消费类型的请求、资产转移类型的请求等。

由于区块链系统为包括多个层级的区块链的树形分布式区块链系统,通过划分层级的方式使系统中的每个区块链可以独立处理与本区块链有关的交易。并且,将生成数字资产的区块链作为该数字资产的归属区块链,由此可见,每个数字资产仅对应唯一的归属区块链,且仅能通过该归属区块链进行相关的交易操作,从而不仅有利于实现多笔数字资产交易的并发,提高交易效率,还显著提升了数字资产的安全性,避免了数字资产被无关的恶意区块链攻击的风险。

实施例二

本发明实施例二提供了一种具体的基于区块链系统的数字资产交易方法。为了便于理解,下面首先对本发明实施例二中所涉及的区块链系统进行介绍:

该区块链系统自上而下划分为多个层级,具体包括:位于多个层级中的顶部层级的顶层区块链、位于多个层级中的中间层级的中层区块链、多个位于多个层级中的底部层级的底层区块链。其中,顶部层级以及底部层级的层级数量分别为1,中间层级的层级数量为N,且N为大于或等于0的整数。例如,当N等于1时,如图1所示,该区块链系统包括三个层级:位于顶部层级的顶层区块链0,一层位于中间层级的中层区块链00、01、02,以及多个位于底部层级的底层区块链000、001...022。其中,各个中层区块链00、01、02与该顶层区块链0直接相连,且隶属于该顶层区块链0,即:该顶层区块链0为各个中层区块链00、01、02的父节点(也叫上级区块链),各个中层区块链00、01、02为该顶层区块链0的子节点(也叫下级区块链)。每个底层区块链与一个中层区块链直接相连,且隶属于该中层区块链。即:该中层区块链作为与其直接相连的底层区块链的父节点(也叫上级区块链),各个底层区块链作为与其直接相连的中层区块链的子节点(也叫下级区块链)。具体地,底层区块链000、001、002与中层区块链00相连,底层区块链010、011与中层区块链01相连,底层区块链020、021、022与中层区块链02相连。由此可见,每个区块链具有对应的上级区块链和/或下级区块链;其中,每个区块链对应的上级区块链的数量为一个(当然,在一些特殊情况下每个区块链对应的上级区块链的数量也可以是多个),每个区块链对应的下级区块链的数量为一个或多个。例如,第一层级区块链0具有三个下级区块链(即:第二层级区块链00、01和02),第三层级区块链000具有一个上级区块链(即:第二层级区块链00)。其中,通过每个区块链的链ID(也叫标识)能够快速确定一个区块链在整个区块链系统中的横向和纵向位置。其中,本实施例中所述的区块链实质上是指一个区块链节点(或称区块链网络节点),或者,本实施例中所述的区块链也可以是一个区块链集群。

在图1所示的区块链系统中,一方面,将区块链进行横向分链,所谓的横向分链是指:在同一层级上可以包括多个相同层级的区块链,这些相同层级的区块链之间互为兄弟节点。通过横向分链将所有的交易分为多层级的区块链之间的链内交易和跨链交易,使所有不同区块链的交易可以并行,从而大幅提高整个区块链系统的性能。另一方面,将区块链进行纵向分层,所谓的纵向分层是指:将所有的区块链自上至下分为多个不同的层级。通过对区块链纵向分层能够将区块链分为不同层级的多组区块链,下层的区块链将汇总后的交易提交给上层,同时实现一些上下层账户之间的交易。由此可见,通过横向分链和纵向分层能够提升区块链系统的灵活性,为多笔交易的并发执行提供保障。

另外,图1所示的区块链系统中的各个区块链网络节点能够独立地进行共识操作和记账操作。具体地,每个区块链用于针对与该区块链网络节点相关的交易进行共识,并将共识成功的交易记录在本区块链的账本中。其中,与该区块链网络节点相关的交易包括以下中的至少一种:发生在该区块链网络节点内部的链内交易,以及发生在该区块链网络节点与其他区块链网络节点之间的跨链交易;其中,跨链交易进一步包括:同层级跨链交易以及跨层级跨链交易。由此可见,与传统的区块链系统中仅提供一个统一的共识操作入口的方式不同(传统的区块链系统中所有交易的共识操作都必须经由该统一的共识操作入口实现,因而无法并发执行多个交易),本发明中的方式相当于提供了多个能够并行使用的共识操作入口(每个区块链网络节点中均具有一个能够独立完成共识操作的入口),而且每个区块链网络节点仅针对与其相关的网络交易进行共识,其他与该笔交易无关的区块链网络节点不参与该笔交易的共识操作,因此,能够并行地进行多个交易的共识操作,既提升了系统的并发量,又降低了共识操作的时延。并且,与传统的区块链系统中仅提供一个大账本的方式不同(传统的区块链系统通过一个大账本记录所有区块链网络节点之间的各笔交易),本发明中的方式相当于提供了多个独立的小账本(每个区块链网络节点中均具有一个能够独立完成记账操作的账本子节点),而且,每个区块链网络节点中的账本只需记录与该区块链网络节点相关的交易账目即可,无需记录与该区块链网络节点无关的交易账目,从而提升了记账和查询的效率。由此可见,图1所示的区块链系统中实质上是通过树形分布式账本进行记账的。所谓树形分布式账本是指:由多个子账本按树形组成的树形结构的账本,不同的子账本之间有层级关系(每个区块链具有对应的子账本)。

另外,为了便于各层级间的多个区块链网络节点相互通信,本实施例中的区块链系统中还可以进一步设置至少一个消息网络单元。其中,各个消息网络节点与各个层级的区块链网络节点分别相连,用于转发各个层级的区块链网络节点之间的共识结果消息等各类与交易相关的消息。

基于图1所示的区块链系统,图2示出了实施例二提供的数字资产交易方法的流程图。如图2所示,该方法包括以下步骤:

步骤S210:第一区块链接收来自客户端的数字资产生成请求,为与所述数字资产生成请求相对应的数字资产分配对应的资产标识,生成并存储针对所述数字资产的资产标识产生的区块链签名信息。

其中,第一区块链可以是区块链系统中处于任一层级的区块链,本发明对第一区块链的链ID不做限定。另外,数字资产可以在任一区块链上生成,本实施例中仅以第一区块链上生成的数字资产为例进行描述。具体地,数字资产可以以账户ID+账户余额的形式体现,也可以以标记了所属权的数字资产来表示,在本实施例中主要描述后一种形式的数字资产。并且,如果数字资产只允许使用一次,就可以称为一次一用数字资产(也叫一次一用虚拟资产),本实施例中下文提到的数字资产均指一次一用数字资产。其中,一次一用数字资产可以通过比特币交易中的UTXO(Unspent Transaction Output,未花费的交易输出)来实现,包含value(值)和使用该value的脚本。其中value表示该资产的价值,脚本用于限制该资产的使用条件。当然,本实施例中的一次一用数字资产不限于UTXO形式,还可以采用其他形式。

基本的数字资产包括资产描述信息和资产使用条件脚本两部分内容。其中,资产描述信息包括以下中的至少一个:资产特性(例如,电影票、优惠券、购物卡等),资产价值(或称为面额),资产标识(例如ID)等。通过资产描述信息能够获知该资产的标识及具体属性。资产使用条件脚本用于设定该资产的使用条件,并仅在客户端能够提供符合该使用条件的信息时才允许客户端访问该资产。例如,使用条件可以由字符串和/或数字的哈希值来表示。通过资产使用条件脚本能够防止非法用户恶意操作该资产。另外,为了提高性能,数字资产除包含资产描述信息和资产使用条件脚本之外,还可以进一步包含区块链签名信息和资产密钥。其中,区块链签名信息是由该资产对应的归属区块链进行签名后的信息,主要用于标识该资产在其归属区块链上的合法性,证明该资产已被其归属区块链记账。资产密钥也叫账户公钥,由资产所有者标示,当资产中包含该部分时,只有持有对应私钥的客户端和/或区块链才可以对该资产进行操作。

在本步骤中,第一区块链接收到来自客户端的数字资产生成请求后,为与该数字资产生成请求相对应的数字资产分配对应的资产标识,生成并存储针对该数字资产的资产标识产生的区块链签名信息。在本实施例中,将生成数字资产的区块链作为该数字资产的归属区块链,在归属区块链中,存储有针对数字资产的资产标识产生的区块链签名信息。每个数字资产仅能由其对应的归属区块链执行相关操作,由此提升了数字资产的安全性。

步骤S220:第一区块链接收来自客户端的数字资产交易请求,确定与该数字资产交易请求相对应的数字资产,判断与该数字资产相对应的归属区块链是否为第一区块链;若判断结果为是,则执行步骤S230;若否,则执行步骤S240。

首先,第一区块链接收到来自客户端的数字资产交易请求后,根据其中包含的资产标识确定与该数字资产交易请求相对应的数字资产。然后,判断第一区块链中是否存储有针对所述数字资产的资产标识生成的区块链签名信息,若是,则确定与该数字资产相对应的归属区块链是第一区块链,执行步骤S230;若否,则确定与该数字资产相对应的归属区块链不是第一区块链,执行步骤S240。在步骤S240中,第一区块链拒绝该数字资产交易请求,以防止无关区块链对于数字资产进行恶意操作。由此可见,通过归属区块链的概念能够使一个数字资产仅对应一个归属区块链,且仅能由该归属区块链进行操作,从而既有利于提高资产的安全性,又有利于实现多笔资产交易的并发执行。

步骤S230:第一区块链处理该数字资产交易请求。

其中,具体的处理方式取决于数字资产交易请求的类型,数字资产交易请求的类型包括多种,例如,可以是资产转移类请求,也可以是资产消费类请求等。若为资产转移类请求,由于本实施例中的数字资产为一次一用的,所以,交易转移的过程其实是销毁旧的资产,发行新的资产,而新的资产会变更为对应的新的所有者。若为资产消费类请求,则直接消费该资产后变更该资产对应的状态即可。

由此可见,在步骤S230的具体处理过程中,可以包括两重判断逻辑:第一重判断逻辑用于判断数字资产交易请求的类型(包括资产转移类、资产消费类、新建资产类等),然后,根据判断出的数字资产交易请求的类型执行与该类型相对应的操作。第二重判断逻辑用于判断该数字资产交易请求属于链内交易或跨链交易,并根据判断结果执行相应的链内交易流程或跨链交易流程。具体地,通过判断数字资产交易请求中包含的资产转入方与资产转出方所对应的区块链是否为同一区块链来确定该笔交易属于链内交易或跨链交易:若数字资产交易请求中包含的资产转入方与资产转出方所对应的区块链为同一区块链(例如均为第一区块链),则确定该笔交易为链内交易,相应地,执行与链内交易相对应的处理过程(具体参照图3a);若数字资产交易请求中包含的资产转入方与资产转出方所对应的区块链分别属于不同的区块链(例如资产转出方属于第一区块链,资产转入方属于第二区块链),则确定该笔交易为跨链交易,相应地,执行与跨链交易相对应的处理过程(具体参照图3b)。另外,上述的两重判断逻辑的执行先后顺序本发明不做限定,既可以先判断交易的类型,也可以先判断交易为链内或跨链交易。另外,在交易类型仅限于资产转移类时,也可以省略第一重判断逻辑。总之,本领域技术人员可以对步骤S230的具体实现细节进行各种改动和变形。

在本实施例中,以资产转移类请求为例进行说明,相应地,第一区块链接收到的数字资产交易请求具体为资产转移请求。具体地,根据资产转移类请求中包含的资产转入方所对应的区块链的位置,步骤S230又可以进一步划分为两种实现方式。图3a示出了步骤S230的第一种实现方式的流程示意图,在图3a所示的方式中,资产转入方所对应的区块链是第一区块链,即:资产转出方和资产转入方属于同一个区块链,因此,对应的交易为链内交易。图3b示出了步骤S230的第二种实现方式的流程示意图,在图3b所示的方式中,资产转入方所对应的区块链不是第一区块链,即:资产转出方和资产转入方属于不同的区块链,因此,对应的交易为跨链交易。

如图3a所示,当第一区块链接收到的数字资产交易请求为资产转移请求且资产转入方所对应的区块链是第一区块链时,步骤S230具体包括以下子步骤:

步骤S231:确定资产转移请求中包含的资产转入方所对应的区块链为第一区块链,即:判断出该资产转移请求属于链内交易。

具体地,资产转移请求中不仅包含资产转出方所对应的信息,具体包括资产转出方所对应的原资产持有人以及原资产持有人对应的区块链的链ID;还包含资产转入方所对应的信息,具体包括资产转入方所对应的新资产持有人以及新资产持有人对应的区块链的链ID。根据上述信息能够确定出资产转移请求中包含的资产转入方所对应的区块链是否为第一区块链,图3a所示的方式仅描述资产转移请求中包含的资产转入方所对应的区块链为第一区块链的场景,若根据上述信息判断出资产转移请求中包含的资产转入方所对应的区块链不为第一区块链,则通过图3b所示的方式进行处理。

另外,为了提高交易的安全性,也为了防止误操作的发生,在步骤S231中,还可以进一步判断发送该数字资产交易请求的客户端所对应的用户是否为该数字资产的合法持有人,并仅在判断结果为是时,执行后续步骤。并且,该判断操作也可以在步骤S220中执行,本发明对该判断操作的具体执行时机不做限定。在判断时,可以获取资产转移请求中包含的资产转出方的信息,若资产转移请求中包含的资产转出方的信息与数字资产中记录的相关信息匹配,则确定该客户端对应的用户为合法持有人。另外,也可以结合数字资产中包含的资产特性、资产价值、资产标识、资产使用条件脚本、和/或资产密钥等信息进行判断。例如,可以由待交易资产的所有者构造交易,并对交易签名或者提交资产使用的证明,之后将交易提交给数字资产的归属区块链,由归属区块链通过验证资产的签名或使用条件是否正确的方式来判断该笔交易的合法性。

步骤S232:第一区块链中的各个节点针对该资产转移请求所对应的第一交易信息进行共识。

其中,第一交易信息至少包括:资产转移前的资产持有人信息,用于提供给第一区块链,以便在第一区块链中销毁与数字资产交易请求相对应的数字资产;资产转移后的资产持有人信息,用于提供给第一区块链,以便在第一区块链中生成与被销毁的数字资产等额的数字资产,并为生成的与被销毁的数字资产等额的数字资产设置对应的资产标识以及新的资产持有人信息。具体地,在一笔真实的交易中,第一交易信息可能包含:支付的资产(由提交交易的客户端生成,用于标识待转移的数字资产)、付款账户签名(由提交交易的客户端用户生成,用于验证用户是否为资产的合法持有人)、收款账户(由提交交易的客户端指定,用于确定资产转移后的资产持有人)和交易ID(由第一区块链分配,用于唯一地标识该笔交易,以便于后续步骤的处理)。

例如,假设资产转移前的资产持有人为用户A,其对应于第一客户端;资产转移后的资产持有人为用户B,其对应于第二客户端。并且,第一客户端和第二客户端均隶属于图1中的底层区块链000(即第一区块链为底层区块链000)。相应地,用户A提交上述的资产转移请求,第一区块链验证用户A合法拥有该资产且该资产未被使用过之后,首先,在底层区块链000中销毁用户A所持有的旧的数字资产,其中,旧的数字资产所对应的资产标识例如是000X。然后,在底层区块链000中发行新的数字资产,新的数字资产所对应的资产标识可以通过预设的算法确定为000YY,并且,新的数字资产与旧的数字资产价值相等,用户B为新的数字资产的持有人。由此可见,由于新旧数字资产所对应的归属区块链均为第一区块链,因此,其资产标识的前缀均为第一区块链的链ID000。相应地,用户A确认旧的数字资产已被销毁,用户B确认收到新的数字资产。

另外,由于第一区块链中通常包含多个网络节点,因此,需要由第一区块链中的各个网络节点共同参与该笔交易的共识和记账过程。其中,共识操作的具体过程可由本领域技术人员灵活设置。本方案的核心在于:每个区块链能够独立完成本区块链内部的所有交易的共识和记账操作,无需其他区块链参与共识和记账,从而提高了操作效率,有利于多笔交易在不同区块链上并发执行。

步骤S233:若共识结果为成功,则在第一区块链中针对第一交易信息进行记账。

具体地,由第一区块链中的各节点将该笔交易对应的第一交易信息记录到第一区块链的账本中。由此可见,该笔交易仅记录在第一区块链的账本中,不会记录到其他区块链的账本中,由此既能够简化账本规模,又便于查询。通过上述方式即实现了数字资产在同一区块链内的转移操作。

如图3b所示,当第一区块链接收到的数字资产交易请求为资产转移请求且资产转入方所对应的区块链是第二区块链时,步骤S230具体包括以下步骤:

步骤S231’:确定资产转移请求中包含的资产转入方所对应的区块链为第二区块链,即:判断出该资产转移请求属于跨链交易。

具体地,资产转移请求中不仅包含资产转出方所对应的信息,具体包括资产转出方所对应的原资产持有人以及原资产持有人对应的区块链的链ID;还包含资产转入方所对应的信息,具体包括资产转入方所对应的新资产持有人以及新资产持有人对应的区块链的链ID。根据上述信息能够确定出资产转移请求中包含的资产转入方所对应的区块链是否为第一区块链。在图3b所示的流程中,资产转入方所对应的区块链为第二区块链。其中,第二区块链可能是区块链系统中任意一个不同于第一区块链的区块链,本发明对第二区块链的链ID不做限定。

另外,为了提高交易的安全性,也为了防止误操作的发生,在步骤S231’中,也可以进一步判断发送该数字资产交易请求的客户端所对应的用户是否为该数字资产的合法持有人,并仅在判断结果为是时,执行后续步骤。并且,该判断操作也可以在步骤S220中执行,本发明对该判断操作的具体执行时机不做限定。在判断时,可以获取资产转移请求中包含的资产转出方的信息,若资产转移请求中包含的资产转出方的信息与数字资产中记录的相关信息匹配,则确定该客户端对应的用户为合法持有人。另外,也可以结合数字资产中包含的资产特性、资产价值、资产标识、资产使用条件脚本、和/或资产密钥等信息进行判断。例如,可以由待交易资产的所有者构造交易,并对交易签名或者提交资产使用的证明,之后将交易提交给数字资产的归属区块链,由归属区块链通过验证资产的签名或使用条件是否正确的方式来判断该笔交易的合法性。

步骤S232’:第一区块链将资产转移请求所对应的第二交易信息发送给第二区块链。

具体地,在本实施例中,可以由第一区块链中包含的主节点将第二交易信息发送给第二区块链,第一区块链中的主节点可以通过选举方式或其他方式确定。具体实施时,可以仅发送给第二区块链中的主节点,也可以同时发送给第二区块链中的各个节点,本发明对具体实现细节不做限定。

其中,第二交易信息至少包括:资产转移前的资产持有人信息,用于提供给第一区块链,以便在第一区块链中销毁与数字资产交易请求相对应的数字资产;资产转移后的资产持有人信息,用于提供给第二区块链,以便在第二区块链中生成与被销毁的数字资产等额的数字资产,并为生成的与被销毁的数字资产等额的数字资产设置对应的资产标识以及新的资产持有人信息。另外,为生成的与被销毁的数字资产等额的数字资产设置对应的资产标识以及资产持有人信息之后,第二区块链进一步生成并存储针对该生成的与被销毁的数字资产等额的数字资产的资产标识产生的区块链签名信息。

其中,第二交易信息的具体内容与第一交易信息类似,区别仅在于:第二交易信息所对应的资产转移后的资产持有人所在的区块链为不同于资产转移前的资产持有人所在的第一区块链,即:该笔资产转移交易为跨链交易。相应地,该笔资产转移交易需要在树形分布式帐本的两个链内完成,要求输入数字资产归属于一个链,输出数字资产归属于另一个链,因此,为了确保输入数字资产的销毁与输出数字资产的创建一致,需要两个链共识完成后在两个链上同步记账。

步骤S233’:第一区块链和第二区块链共同针对第二交易信息进行共识。

由于第二交易信息涉及到两个区块链,因此,需要两个区块链共同共识和记账。例如,假设资产转移前的资产持有人为用户A,其对应于第一客户端;资产转移后的资产持有人为用户C,其对应于第三客户端。并且,第一客户端隶属于图1中的底层区块链000(即第一区块链为底层区块链000),第三客户端隶属于图1中的底层区块链002(即第二区块链为底层区块链002)。相应地,用户A向第一区块链提交上述的资产转移请求,第一区块链验证用户A合法拥有该资产且该资产未被使用过之后,需将该请求所对应的第二交易信息发送给第二区块链共同处理:一方面,第一区块链在区块链000中销毁用户A所持有的旧的数字资产,其中,旧的数字资产所对应的资产标识例如是000S。另一方面,第二区块链在区块链002中发行新的数字资产,新的数字资产所对应的资产标识可以通过预设的算法确定为002ZZ,并且,新的数字资产与旧的数字资产价值相等,用户C为新的数字资产的持有人。由此可见,由于新旧数字资产所对应的归属区块链不同,因此,其资产标识的前缀也不同:旧资产的资产标识前缀为000,说明该资产的归属区块链为000;新资产的资产标识前缀为002,说明该资产的归属区块链为002。相应地,用户A确认旧的数字资产已被销毁,用户C确认收到新的数字资产。

接下来,以一种可选的共识算法为例,详细描述步骤S233’中共识操作的具体实现过程。

具体地,共识操作的准备过程如下:首先,第一区块链(即底层区块链000)中包含的主节点针对第二交易信息生成对应的第一预准备消息(即pre-prepare消息),将第一预准备消息广播给第一区块链中的各个从节点。具体地,底层区块链000中包含的主节点针对接收到的各笔交易进行排序,并为每个交易分配对应的序号,相应地,第一预准备消息中包含第一区块链为第二交易信息分配的第一交易序号,用于在底层区块链000中包含的各节点中唯一地标识该笔交易。然后,第二区块链(即底层区块链002)中包含的主节点针对第二交易信息生成对应的第二预准备消息,将该第二预准备消息广播给第二区块链中的各个从节点。具体地,底层区块链002中包含的主节点针对接收到的各笔交易进行排序,并为每个交易分配对应的序号,相应地,第二预准备消息中包含第二区块链为第二交易信息分配的第二交易序号,用于在底层区块链002中包含的各节点中唯一地标识该笔交易。通过上述方式,就完成了共识操作的准备过程,接下来,在共识操作的执行过程中,由第一区块链中包含的主节点及各个从节点,以及第二区块链中包含的主节点及各个从节点共同对第二交易信息进行共识。具体地,共识操作的执行过程具体包括以下步骤:

步骤一、第一区块链中包含的主节点及各个从节点针对第一预准备消息进行确认后向第一区块链中包含的主节点及各个从节点以及第二区块链中包含的主节点及各个从节点发送第一准备消息(即prepare消息);第二区块链中包含的主节点及各个从节点针对第二预准备消息进行确认后向第一区块链中包含的主节点及各个从节点以及第二区块链中包含的主节点及各个从节点发送第二准备消息。

步骤二、第一区块链中接收到大于预设第一阈值的第一准备消息以及大于预设第二阈值的第二准备消息的节点向第一区块链中包含的主节点及各个从节点以及第二区块链中包含的主节点及各个从节点发送第一确认消息(即commit消息);第二区块链中接收到大于预设第一阈值的第一准备消息以及大于预设第二阈值的第二准备消息的节点向第一区块链中包含的主节点及各个从节点以及第二区块链中包含的主节点及各个从节点发送第二确认消息。其中,第一阈值和第二阈值可以根据实际情况设定,例如,当第一区块链中共包含3f+1个节点时,第一阈值可以设置为2f+1;当第二区块链中共包含3k+1个节点时,第一阈值可以设置为2k+1(f和k均为自然数)。总之,第一阈值和第二阈值可以根据网络中最大可容忍的错误节点数来设置,以保障系统的可靠运行。

步骤三、若第一区块链接收到大于预设第一阈值的第一确认消息以及大于预设第二阈值的第二确认消息,且第二区块链接收到大于预设第一阈值的第一确认消息以及大于预设第二阈值的第二确认消息,则确定共识结果为成功。

为了便于理解,图4示出了上述共识操作的示意图。在图4中,第一区块链共包含0、1、2、3四个节点,其中0为主节点;第二区块链也包含0、1、2、3四个节点,其中0为主节点。其中,主节点即共识消息发出节点,从节点即共识消息投票节点,主从节点可通过选举确定。并且,图4将整个共识过程划分为五个阶段。在共识操作执行之前,隶属于第一区块链的客户端向第一区块链发送资产转移请求。在共识操作的第一阶段,该资产转移请求广播到第一区块链中的所有节点,第一区块链负责验证该资产转移请求的合法性,并在验证通过后,由第一区块链中的主节点0向第二区块链中的主节点0发送该资产转移请求所对应的信息。在共识操作的第二阶段,第一区块链中的主节点0为该资产转移请求所对应的第二交易信息分配对应的第一交易序号,并将该第二交易信息打包写入交易列表中,针对第二交易信息生成对应的第一预准备消息(即pre-prepare消息),将第一预准备消息广播给第一区块链内部的各个节点。与之类似地,第二区块链中的主节点0为该资产转移请求所对应的第二交易信息分配对应的第二交易序号,并将该第二交易信息打包写入交易列表中,针对第二交易信息生成对应的第二预准备消息(即pre-prepare消息),将第二预准备消息广播给第二区块链内部的各个节点。在共识操作的第三阶段,第一区块链中的每个节点针对第一预准备消息进行验证,若验证通过,则该节点生成第一准备消息(即prepare消息),并将第一准备消息广播给第一区块链以及第二区块链中包含的全部节点;同理,第二区块链中的每个节点针对第二预准备消息进行验证,若验证通过,则该节点生成第二准备消息(即prepare消息),并将第二准备消息广播给第一区块链以及第二区块链中包含的全部节点。在图4中,仅以第一区块链中的节点1为例进行描绘,事实上,在第三阶段,两个区块链中的每个节点均会执行与节点1类似的操作过程。当然,若某个节点验证失败,则不会生成并广播第一/第二准备消息。在共识操作的第四阶段,第一区块链中的每个节点判断接收到的来自其他节点的第一准备消息的数量是否大于第一阈值,且接收到的来自其他节点的第二准备消息的数量是否大于第二阈值,若是,则该节点生成第一确认消息,并将第一确认消息广播给第一区块链和第二区块链中的全部节点;同理,第二区块链中的每个节点判断接收到的来自其他节点的第一准备消息的数量是否大于第一阈值,且接收到的来自其他节点的第二准备消息的数量是否大于第二阈值,若是,则该节点生成第二确认消息,并将第二确认消息广播给第一区块链和第二区块链中的全部节点。当然,若第一区块链/第二区块链中的某节点接收到的来自其他节点的第一准备消息的数量不大于第一阈值,或者接收到的来自其他节点的第二准备消息的数量不大于第二阈值,则该节点不会生成并广播确认消息。在图4中,仅以第二区块链中的节点2为例进行描绘,事实上,在第四阶段,两个区块链中的每个节点均会执行与节点2类似的操作过程。在共识操作的第五阶段,各节点若判断出接收到的来自其他节点的第一确认消息的数量大于第一阈值,且接收到的来自其他节点的第二确认消息的数量大于第二阈值,则确认共识操作成功,针对该笔交易进行确认并在后续步骤中记账。

步骤S234’:若共识结果为成功,第一区块链和第二区块链分别针对所述第二交易信息进行记账。

具体地,由第一区块链中的各节点将该笔交易对应的第二交易信息记录到第一区块链的账本中;同时,由第二区块链中的各节点将该笔交易对应的第二交易信息记录到第二区块链的账本中。由此可见,该笔交易仅记录在第一区块链和第二区块链的账本中,不会记录到其他的无关区块链的账本中,由此既能够简化账本规模,又便于查询。而且,通过两个相关区块链同步记账的方式能够提升账目的准确性。

另外,在本实施例中,为了便于查询,该方法还可以进一步包括下述步骤:区块链系统中的各个区块链对由本区块链生成的各个数字资产所对应的交易信息进行汇总,并将汇总后的交易汇总结果提交给本区块链的上级区块链,以供所述本区块链的上级区块链根据所述本区块链的上级区块链对应的至少一个下级区块链提交的交易汇总结果确定所述本区块链的上级区块链对应的汇总交易信息;和/或,所述区块链系统中的各个区块链接收本区块链对应的至少一个下级区块链提交的交易汇总结果,并根据所述本区块链对应的至少一个下级区块链提交的交易汇总结果确定本区块链对应的汇总交易信息。其中,针对区块链系统中没有上级区块链的区块链而言,该区块链仅负责接收本区块链对应的至少一个下级区块链提交的交易汇总结果,并根据所述本区块链对应的至少一个下级区块链提交的交易汇总结果确定本区块链对应的汇总交易信息。例如,对于图1中的顶层区块链0而言,由于区块链0为根节点,其没有对应的上级区块链(也叫父节点),因此,顶层区块链0用于接收其对应的三个下级区块链00、01和02提交的交易汇总结果,并据此确定区块链0对应的汇总交易信息。另外,针对区块链系统中没有下级区块链的区块链而言,该区块链仅负责对由本区块链生成的各个数字资产所对应的交易信息进行汇总,并将汇总后的交易汇总结果提交给本区块链的上级区块链。例如,对于图1中的底层区块链000而言,由于区块链000为叶节点,其没有对应的下级区块链(也叫子节点),因此,底层区块链000用于对由本区块链生成的各个数字资产所对应的交易信息进行汇总,并将汇总后的交易汇总结果提交给本区块链的上级区块链00。另外,由于区块链系统中的任一区块链均会执行与交易汇总相关的操作,因此,区块链系统中的每一笔交易均会通过跨层的交易汇总操作,最终汇总至该系统中的根节点。

例如,假设底层区块链000与底层区块链010之间共执行了如下三笔数字资产转移操作:

000AA-->010BB,其含义为:由资产持有人A将资产标识为000AA、归属区块链为000的数字资产转移给资产持有人B,转移后的资产标识为010BB,且归属区块链为010;该笔数字资产的金额为1000元;

000A’A’-->010B’B’,其含义为:由资产持有人A将资产标识为000A’A’、归属区块链为000的数字资产转移给资产持有人B,转移后的资产标识为010B’B’,且归属区块链为010;该笔数字资产的金额为2000元;

000A”A”-->010B”B”,其含义为:由资产持有人A将资产标识为000A”A”、归属区块链为000的数字资产转移给资产持有人B,转移后的资产标识为010B”B”,且归属区块链为010;该笔数字资产的金额为3000元。

相应地,底层区块链000以及底层区块链010针对这三笔数字资产转移交易进行汇总,将汇总后的交易信息提交给其对应的上级区块链00以及01。上级区块链00根据该区块链对应的各个下级区块链(包括区块链000、001、002)提交的交易汇总结果确定该区块链对应的汇总交易信息。例如,假设区块链00所对应的三个下级区块链在本段时间周期内,只有区块链000提交了汇总后的交易信息,相应地,区块链00根据区块链000提交的汇总后的交易信息得到如下汇总交易信息:

00CC-->01DD,其含义为:由资产持有人A将资产标识为00CC、归属区块链为00的数字资产转移给资产持有人B,转移后的数字资产的资产标识为01DD,且归属区块链为01;该笔数字资产的金额为6000元。其中,资产标识为00CC、归属区块链为00的数字资产为针对上述三笔数字资产(000AA、000A’A’、000A”A”)进行汇总后得到的汇总资产;同理,资产标识为01DD、归属区块链为01的数字资产为针对上述三笔数字资产(010BB、010B’B’、010B”B”)进行汇总后得到的汇总资产。

另外,区块链00会进一步向其上级区块链提交汇总后的交易信息,以供其上级区块链生成汇总交易信息。同理,区块链01的处理过程与此类似,此处不再赘述。例如,在上例中,假设区块链0所对应的三个下级区块链在本段时间周期内,只有区块链00和01提交了汇总后的交易信息,相应地,区块链0根据区块链00和01提交的汇总后的交易信息得到如下汇总交易信息:

0EE-->0DD,其含义为:由资产持有人A将资产标识为0EE、归属区块链为0的数字资产转移给资产持有人B,转移后的数字资产的资产标识为0DD,且归属区块链为0;该笔数字资产的金额为6000元。其中,资产标识为0EE、归属区块链为0的数字资产为针对上述数字资产00CC进行汇总后得到的汇总资产;同理,资产标识为0DD、归属区块链为0的数字资产为针对上述数字资产01DD进行汇总后得到的汇总资产。

在上述示例中,仅以区块链000和010之间的交易汇总为例进行说明,本领域技术人员能够理解的是,交易汇总操作发生在各个区块链及其上级区块链之间。相应地,上级区块链只需针对汇总后得到的汇总交易信息进行记账。另外,汇总操作不仅限于数字资产转移操作,还包括数字资产的新建操作、销毁操作等各类操作的汇总。

由此可见,通过该种方式,实现了账本的分层次管理,由于处于上层的管理机构往往并不关心底层用户之间的各笔小额交易的详情,而仅关心直接隶属于该管理机构的下级机构的交易记录,因此该种方式更加符合实际的管理需求。而且,通过将账本拆分、分级,一方面能够简化账本的总开销,另一方面按照层级查询时非常便捷高效。

另外,本发明实施例还提供了一种用于实现数字资产交易的区块链系统,其中,该区块链系统为包括多个层级的区块链的树形分布式区块链系统,并且,该区块链系统中至少包括:

第一区块链,适于接收来自客户端的数字资产交易请求,确定与所述数字资产交易请求相对应的数字资产;

判断与所述数字资产相对应的归属区块链是否为所述第一区块链;

若是,则所述第一区块链处理所述数字资产交易请求;若否,则所述第一区块链拒绝所述数字资产交易请求;

其中,与数字资产相对应的归属区块链为生成该笔数字资产的区块链。

可选的,所述第一区块链具体适于:

接收来自客户端的数字资产生成请求,为与所述数字资产生成请求相对应的数字资产分配对应的资产标识,生成并存储针对所述数字资产的资产标识产生的区块链签名信息;和/或,

判断所述第一区块链中是否存储有针对所述数字资产的资产标识生成的区块链签名信息,若是,则确定与所述数字资产相对应的归属区块链是所述第一区块链;若否,则确定与所述数字资产相对应的归属区块链不是所述第一区块链。

可选的,当所述数字资产交易请求为资产转移请求时,所述第一区块链具体适于:

确定所述资产转移请求中包含的资产转入方所对应的区块链;

若所述资产转入方所对应的区块链为所述第一区块链,则所述第一区块链中的各个节点针对所述资产转移请求所对应的第一交易信息进行共识,若共识结果为成功,则在所述第一区块链中针对所述第一交易信息进行记账。

可选的,所述第一交易信息具体包括:

资产转移前的资产持有人信息,用于提供给所述第一区块链,以便在所述第一区块链中销毁与所述数字资产交易请求相对应的数字资产;

资产转移后的资产持有人信息,用于提供给所述第一区块链,以便在所述第一区块链中生成与被销毁的数字资产等额的数字资产,并为生成的所述与被销毁的数字资产等额的数字资产设置对应的资产标识以及资产持有人信息。

可选的,所述系统进一步包括:第二区块链,当所述数字资产交易请求为资产转移请求时,所述第一区块链具体适于:

确定所述资产转移请求中包含的资产转入方所对应的区块链;

若所述资产转入方所对应的区块链为第二区块链,将所述资产转移请求所对应的第二交易信息发送给所述第二区块链;

由所述第一区块链和所述第二区块链共同针对所述第二交易信息进行共识;

若共识的共识结果为成功,所述第一区块链和所述第二区块链分别针对与所述第二交易信息进行记账。

可选的,所述第二交易信息具体包括:

资产转移前的资产持有人信息,用于提供给所述第一区块链,以便在所述第一区块链中销毁与所述数字资产交易请求相对应的数字资产;

资产转移后的资产持有人信息,用于提供给所述第二区块链,以便在所述第二区块链中生成与被销毁的数字资产等额的数字资产,并为生成的所述与被销毁的数字资产等额的数字资产设置对应的资产标识以及资产持有人信息。

可选的,所述第二区块链进一步适于:生成并存储针对所述生成的所述与被销毁的数字资产等额的数字资产的资产标识产生的区块链签名信息。

可选的,所述第一区块链进一步包括:主节点及从节点;所述第二区块链进一步包括:主节点及从节点;

第一区块链中包含的主节点用于将所述第二交易信息发送给所述第二区块链;

所述第一区块链中包含的主节点进一步用于针对所述第二交易信息生成对应的第一预准备消息,将所述第一预准备消息广播给所述第一区块链中的各个从节点;

所述第二区块链中包含的主节点用于针对所述第二交易信息生成对应的第二预准备消息,将所述第二预准备消息广播给所述第二区块链中的各个从节点;

所述第一区块链中包含的主节点及各个从节点,以及所述第二区块链中包含的主节点及各个从节点用于共同对所述第二交易信息进行共识。

可选的,所述第一区块链中包含的主节点及各个从节点具体用于针对所述第一预准备消息进行确认后向所述第一区块链中包含的主节点及各个从节点以及第二区块链中包含的主节点及各个从节点发送第一准备消息;

所述第二区块链中包含的主节点及各个从节点具体用于针对所述第二预准备消息进行确认后向所述第一区块链中包含的主节点及各个从节点以及第二区块链中包含的主节点及各个从节点发送第二准备消息;

所述第一区块链中接收到大于预设第一阈值的第一准备消息以及大于预设第二阈值的第二准备消息的节点用于向所述第一区块链中包含的主节点及各个从节点以及第二区块链中包含的主节点及各个从节点发送第一确认消息;

所述第二区块链中接收到大于预设第一阈值的第一准备消息以及大于预设第二阈值的第二准备消息的节点用于向所述第一区块链中包含的主节点及各个从节点以及第二区块链中包含的主节点及各个从节点发送第二确认消息;

若第一区块链接收到大于预设第一阈值的第一确认消息以及大于预设第二阈值的第二确认消息,且第二区块链接收到大于预设第一阈值的第一确认消息以及大于预设第二阈值的第二确认消息,则确定共识结果为成功。

可选的,所述第一预准备消息中包含所述第一区块链为所述第二交易信息分配的第一交易序号;所述第二预准备消息中包含所述第二区块链为所述第二交易信息分配的第二交易序号。

可选的,所述数字资产具有对应的资产持有人签名、资产密钥和/或资产使用条件脚本,则所述第一区块链具体用于:

根据所述资产持有人签名、资产密钥和/或资产使用条件脚本判断提交所述数字资产交易请求的客户端是否合法,若是,则处理所述数字资产交易请求。

可选的,所述区块链系统自上而下划分为多个层级,具体包括:位于多个层级中的顶部层级的顶层区块链、位于多个层级中的中间层级的中层区块链、多个位于多个层级中的底部层级的底层区块链;其中,所述顶部层级以及所述底部层级的层级数量分别为1,所述中间层级的层级数量为N,且N为大于或等于0的整数;其中,每个区块链针对与该区块链相关的交易进行共识和记账。

可选的,所述区块链系统中的各个区块链进一步用于:对由本区块链生成的各个数字资产所对应的交易信息进行汇总,并将汇总后的交易汇总结果提交给本区块链的上级区块链,以供所述本区块链的上级区块链根据所述本区块链的上级区块链对应的至少一个下级区块链提交的交易汇总结果确定所述本区块链的上级区块链对应的汇总交易信息;和/或,

所述区块链系统中的各个区块链进一步用于:接收本区块链对应的至少一个下级区块链提交的交易汇总结果,并根据所述本区块链对应的至少一个下级区块链提交的交易汇总结果确定本区块链对应的汇总交易信息。

可选的,所述数字资产交易请求包括:用于消费数字资产的资产消费请求;并且,所述数字资产为一次一用数字资产。

该系统的具体结构以及实现细节可参照上文中相应部分及方法实施例的描述,此处不再赘述。

综上所述,在本发明提供的基于区块链系统的数字资产交易方法及系统中,由于区块链系统为包括多个层级的区块链的树形分布式区块链系统,通过划分层级的方式使系统中的每个区块链可以独立处理与本区块链有关的交易。并且,将生成数字资产的区块链作为该数字资产的归属区块链,由此可见,每个数字资产仅对应唯一的归属区块链,且仅能通过该归属区块链进行相关的交易操作,从而不仅有利于实现多笔数字资产交易的并发,提高交易效率,还显著提升了数字资产的安全性,避免了数字资产被无关的恶意区块链攻击的风险。另外,本实施例中的共识算法能够仅在与交易相关的两个区块链中快速而准确的完成共识。并且,通过归属区块链的概念还能够在树形分布式账本上有效实现数字资产的验证,并避免一次一用数字资产的双花问题(即:同一资产被二次花费)。

该方式尤其适用于一次一用数字资产的交易,该数字资产只能使用一次;并且,该方式还能够实现数字资产之间的跨链交易,跨链交易执行前后的数字资产分别对应于不同的归属区块链,由此提升了资产的安全性。

在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。

在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。

类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。

本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。

此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。

本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的基于区块链系统的网络交易装置中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。

应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

本发明公开了A1.一种基于区块链系统的数字资产交易方法,其中,所述区块链系统为包括多个层级的区块链的树形分布式区块链系统,所述方法包括:

第一区块链接收来自客户端的数字资产交易请求,确定与所述数字资产交易请求相对应的数字资产;

判断与所述数字资产相对应的归属区块链是否为所述第一区块链;

若是,则所述第一区块链处理所述数字资产交易请求;若否,则所述第一区块链拒绝所述数字资产交易请求;

其中,与数字资产相对应的归属区块链为生成该笔数字资产的区块链。

A2.根据A1所述的方法,其中,所述第一区块链接收来自客户端的数字资产交易请求的步骤之前,进一步包括步骤:

接收来自客户端的数字资产生成请求,为与所述数字资产生成请求相对应的数字资产分配对应的资产标识,生成并存储针对所述数字资产的资产标识产生的区块链签名信息;和/或,

所述判断与所述数字资产相对应的归属区块链是否为所述第一区块链的步骤具体包括:

判断所述第一区块链中是否存储有针对所述数字资产的资产标识生成的区块链签名信息,若是,则确定与所述数字资产相对应的归属区块链是所述第一区块链;若否,则确定与所述数字资产相对应的归属区块链不是所述第一区块链。

A3.根据A1或2所述的方法,其中,当所述数字资产交易请求为资产转移请求时,所述第一区块链处理所述数字资产交易请求的步骤具体包括:

确定所述资产转移请求中包含的资产转入方所对应的区块链;

若所述资产转入方所对应的区块链为所述第一区块链,则所述第一区块链中的各个节点针对所述资产转移请求所对应的第一交易信息进行共识,若共识结果为成功,则在所述第一区块链中针对所述第一交易信息进行记账。

A4.根据A3所述的方法,其中,所述第一交易信息具体包括:

资产转移前的资产持有人信息,用于提供给所述第一区块链,以便在所述第一区块链中销毁与所述数字资产交易请求相对应的数字资产;

资产转移后的资产持有人信息,用于提供给所述第一区块链,以便在所述第一区块链中生成与被销毁的数字资产等额的数字资产,并为生成的所述与被销毁的数字资产等额的数字资产设置对应的资产标识以及资产持有人信息。

A5.根据A1-4任一所述的方法,其中,当所述数字资产交易请求为资产转移请求时,所述第一区块链处理所述数字资产交易请求的步骤具体包括:

确定所述资产转移请求中包含的资产转入方所对应的区块链;

若所述资产转入方所对应的区块链为第二区块链,所述第一区块链将所述资产转移请求所对应的第二交易信息发送给所述第二区块链;

所述第一区块链和所述第二区块链共同针对所述第二交易信息进行共识;

若共识的共识结果为成功,所述第一区块链和所述第二区块链分别针对所述第二交易信息进行记账。

A6.根据A5所述的方法,其中,所述第二交易信息具体包括:

资产转移前的资产持有人信息,用于提供给所述第一区块链,以便在所述第一区块链中销毁与所述数字资产交易请求相对应的数字资产;

资产转移后的资产持有人信息,用于提供给所述第二区块链,以便在所述第二区块链中生成与被销毁的数字资产等额的数字资产,并为生成的所述与被销毁的数字资产等额的数字资产设置对应的资产标识以及资产持有人信息。

A7.根据A6所述的方法,其中,所述为生成的所述与被销毁的数字资产等额的数字资产设置对应的资产标识以及资产持有人信息的步骤之后进一步包括:

所述第二区块链生成并存储针对所述生成的所述与被销毁的数字资产等额的数字资产的资产标识产生的区块链签名信息。

A8.根据A5-7任一所述的方法,其中,所述第一区块链将所述资产转移请求所对应的第二交易信息发送给所述第二区块链的步骤具体包括:

所述第一区块链中包含的主节点将所述第二交易信息发送给所述第二区块链;

则所述第一区块链和所述第二区块链共同针对所述第二交易信息进行共识的步骤具体包括:

所述第一区块链中包含的主节点针对所述第二交易信息生成对应的第一预准备消息,将所述第一预准备消息广播给所述第一区块链中的各个从节点;

所述第二区块链中包含的主节点针对所述第二交易信息生成对应的第二预准备消息,将所述第二预准备消息广播给所述第二区块链中的各个从节点;

由所述第一区块链中包含的主节点及各个从节点,以及所述第二区块链中包含的主节点及各个从节点共同对所述第二交易信息进行共识。

A9.根据A8所述的方法,其中,由所述第一区块链中包含的主节点及各个从节点,以及所述第二区块链中包含的主节点及各个从节点共同对所述第二交易信息进行共识的步骤具体包括:

所述第一区块链中包含的主节点及各个从节点针对所述第一预准备消息进行确认后向所述第一区块链中包含的主节点及各个从节点以及第二区块链中包含的主节点及各个从节点发送第一准备消息;

所述第二区块链中包含的主节点及各个从节点针对所述第二预准备消息进行确认后向所述第一区块链中包含的主节点及各个从节点以及第二区块链中包含的主节点及各个从节点发送第二准备消息;

所述第一区块链中接收到大于预设第一阈值的第一准备消息以及大于预设第二阈值的第二准备消息的节点向所述第一区块链中包含的主节点及各个从节点以及第二区块链中包含的主节点及各个从节点发送第一确认消息;

所述第二区块链中接收到大于预设第一阈值的第一准备消息以及大于预设第二阈值的第二准备消息的节点向所述第一区块链中包含的主节点及各个从节点以及第二区块链中包含的主节点及各个从节点发送第二确认消息;

若第一区块链接收到大于预设第一阈值的第一确认消息以及大于预设第二阈值的第二确认消息,且第二区块链接收到大于预设第一阈值的第一确认消息以及大于预设第二阈值的第二确认消息,则确定共识结果为成功。

A10.根据A8或9所述的方法,其中,所述第一预准备消息中包含所述第一区块链为所述第二交易信息分配的第一交易序号;所述第二预准备消息中包含所述第二区块链为所述第二交易信息分配的第二交易序号。

A11.根据A1-10任一所述的方法,其中,所述数字资产具有对应的资产持有人签名、资产密钥和/或资产使用条件脚本,则所述第一区块链处理所述数字资产交易请求的步骤具体包括:

根据所述资产持有人签名、资产密钥和/或资产使用条件脚本判断提交所述数字资产交易请求的客户端是否合法,若是,则处理所述数字资产交易请求。

A12.根据A1-11任一所述的方法,其中,所述区块链系统自上而下划分为多个层级,具体包括:位于多个层级中的顶部层级的顶层区块链、位于多个层级中的中间层级的中层区块链、多个位于多个层级中的底部层级的底层区块链;其中,所述顶部层级以及所述底部层级的层级数量分别为1,所述中间层级的层级数量为N,且N为大于或等于0的整数;

其中,每个区块链针对与该区块链相关的交易进行共识和记账。

A13.根据A1-12任一所述的方法,其中,所述方法进一步包括:所述区块链系统中的各个区块链对由本区块链生成的各个数字资产所对应的交易信息进行汇总,并将汇总后的交易汇总结果提交给本区块链的上级区块链,以供所述本区块链的上级区块链根据所述本区块链的上级区块链对应的至少一个下级区块链提交的交易汇总结果确定所述本区块链的上级区块链对应的汇总交易信息;和/或,

所述区块链系统中的各个区块链接收本区块链对应的至少一个下级区块链提交的交易汇总结果,并根据所述本区块链对应的至少一个下级区块链提交的交易汇总结果确定本区块链对应的汇总交易信息。

A14.根据A1-13任一所述的方法,其中,所述数字资产交易请求包括:用于消费数字资产的资产消费请求;并且,所述数字资产为一次一用数字资产。

本发明还公开了B15.一种用于实现数字资产交易的区块链系统,其中,所述区块链系统为包括多个层级的区块链的树形分布式区块链系统,并且,所述区块链系统中至少包括:

第一区块链,适于接收来自客户端的数字资产交易请求,确定与所述数字资产交易请求相对应的数字资产;

判断与所述数字资产相对应的归属区块链是否为所述第一区块链;

若是,则所述第一区块链处理所述数字资产交易请求;若否,则所述第一区块链拒绝所述数字资产交易请求;

其中,与数字资产相对应的归属区块链为生成该笔数字资产的区块链。

B16.根据B15所述的系统,其中,所述第一区块链具体适于:

接收来自客户端的数字资产生成请求,为与所述数字资产生成请求相对应的数字资产分配对应的资产标识,生成并存储针对所述数字资产的资产标识产生的区块链签名信息;和/或,

判断所述第一区块链中是否存储有针对所述数字资产的资产标识生成的区块链签名信息,若是,则确定与所述数字资产相对应的归属区块链是所述第一区块链;若否,则确定与所述数字资产相对应的归属区块链不是所述第一区块链。

B17.根据B15或16所述的系统,其中,当所述数字资产交易请求为资产转移请求时,所述第一区块链具体适于:

确定所述资产转移请求中包含的资产转入方所对应的区块链;

若所述资产转入方所对应的区块链为所述第一区块链,则所述第一区块链中的各个节点针对所述资产转移请求所对应的第一交易信息进行共识,若共识结果为成功,则在所述第一区块链中针对所述第一交易信息进行记账。

B18.根据B17所述的系统,其中,所述第一交易信息具体包括:

资产转移前的资产持有人信息,用于提供给所述第一区块链,以便在所述第一区块链中销毁与所述数字资产交易请求相对应的数字资产;

资产转移后的资产持有人信息,用于提供给所述第一区块链,以便在所述第一区块链中生成与被销毁的数字资产等额的数字资产,并为生成的所述与被销毁的数字资产等额的数字资产设置对应的资产标识以及资产持有人信息。

B19.根据B15-18任一所述的系统,其中,所述系统进一步包括:第二区块链,当所述数字资产交易请求为资产转移请求时,所述第一区块链具体适于:

确定所述资产转移请求中包含的资产转入方所对应的区块链;

若所述资产转入方所对应的区块链为第二区块链,将所述资产转移请求所对应的第二交易信息发送给所述第二区块链;

由所述第一区块链和所述第二区块链共同针对所述第二交易信息进行共识;

若共识的共识结果为成功,所述第一区块链和所述第二区块链分别针对与所述第二交易信息进行记账。

B20.根据B19所述的系统,其中,所述第二交易信息具体包括:

资产转移前的资产持有人信息,用于提供给所述第一区块链,以便在所述第一区块链中销毁与所述数字资产交易请求相对应的数字资产;

资产转移后的资产持有人信息,用于提供给所述第二区块链,以便在所述第二区块链中生成与被销毁的数字资产等额的数字资产,并为生成的所述与被销毁的数字资产等额的数字资产设置对应的资产标识以及资产持有人信息。

B21.根据B20所述的系统,其中,所述第二区块链进一步适于:生成并存储针对所述生成的所述与被销毁的数字资产等额的数字资产的资产标识产生的区块链签名信息。

B22.根据B15-21任一所述的系统,其中,所述第一区块链进一步包括:主节点及从节点;所述第二区块链进一步包括:主节点及从节点;

第一区块链中包含的主节点用于将所述第二交易信息发送给所述第二区块链;

所述第一区块链中包含的主节点进一步用于针对所述第二交易信息生成对应的第一预准备消息,将所述第一预准备消息广播给所述第一区块链中的各个从节点;

所述第二区块链中包含的主节点用于针对所述第二交易信息生成对应的第二预准备消息,将所述第二预准备消息广播给所述第二区块链中的各个从节点;

所述第一区块链中包含的主节点及各个从节点,以及所述第二区块链中包含的主节点及各个从节点用于共同对所述第二交易信息进行共识。

B23.根据B22所述的系统,其中,

所述第一区块链中包含的主节点及各个从节点具体用于针对所述第一预准备消息进行确认后向所述第一区块链中包含的主节点及各个从节点以及第二区块链中包含的主节点及各个从节点发送第一准备消息;

所述第二区块链中包含的主节点及各个从节点具体用于针对所述第二预准备消息进行确认后向所述第一区块链中包含的主节点及各个从节点以及第二区块链中包含的主节点及各个从节点发送第二准备消息;

所述第一区块链中接收到大于预设第一阈值的第一准备消息以及大于预设第二阈值的第二准备消息的节点用于向所述第一区块链中包含的主节点及各个从节点以及第二区块链中包含的主节点及各个从节点发送第一确认消息;

所述第二区块链中接收到大于预设第一阈值的第一准备消息以及大于预设第二阈值的第二准备消息的节点用于向所述第一区块链中包含的主节点及各个从节点以及第二区块链中包含的主节点及各个从节点发送第二确认消息;

若第一区块链接收到大于预设第一阈值的第一确认消息以及大于预设第二阈值的第二确认消息,且第二区块链接收到大于预设第一阈值的第一确认消息以及大于预设第二阈值的第二确认消息,则确定共识结果为成功。

B24.根据B22或23所述的系统,其中,所述第一预准备消息中包含所述第一区块链为所述第二交易信息分配的第一交易序号;所述第二预准备消息中包含所述第二区块链为所述第二交易信息分配的第二交易序号。

B25.根据B15-24任一所述的系统,其中,所述数字资产具有对应的资产持有人签名、资产密钥和/或资产使用条件脚本,则所述第一区块链具体用于:

根据所述资产持有人签名、资产密钥和/或资产使用条件脚本判断提交所述数字资产交易请求的客户端是否合法,若是,则处理所述数字资产交易请求。

B26.根据B15-25任一所述的系统,其中,所述区块链系统自上而下划分为多个层级,具体包括:位于多个层级中的顶部层级的顶层区块链、位于多个层级中的中间层级的中层区块链、多个位于多个层级中的底部层级的底层区块链;其中,所述顶部层级以及所述底部层级的层级数量分别为1,所述中间层级的层级数量为N,且N为大于或等于0的整数;

其中,每个区块链针对与该区块链相关的交易进行共识和记账。

B27.根据B15-26任一所述的系统,其中,所述区块链系统中的各个区块链进一步用于:对由本区块链生成的各个数字资产所对应的交易信息进行汇总,并将汇总后的交易汇总结果提交给本区块链的上级区块链,以供所述本区块链的上级区块链根据所述本区块链的上级区块链对应的至少一个下级区块链提交的交易汇总结果确定所述本区块链的上级区块链对应的汇总交易信息;和/或,

所述区块链系统中的各个区块链进一步用于:接收本区块链对应的至少一个下级区块链提交的交易汇总结果,并根据所述本区块链对应的至少一个下级区块链提交的交易汇总结果确定本区块链对应的汇总交易信息。

B28.根据B15-27任一所述的系统,其中,所述数字资产交易请求包括:用于消费数字资产的资产消费请求;并且,所述数字资产为一次一用数字资产。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号