CN110298755B - 一种区块链交易方法和装置 - Google Patents
一种区块链交易方法和装置 Download PDFInfo
- Publication number
- CN110298755B CN110298755B CN201910543978.5A CN201910543978A CN110298755B CN 110298755 B CN110298755 B CN 110298755B CN 201910543978 A CN201910543978 A CN 201910543978A CN 110298755 B CN110298755 B CN 110298755B
- Authority
- CN
- China
- Prior art keywords
- data
- chain
- sub
- node
- child
- 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
- 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/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
-
- 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
- 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/3829—Payment protocols; Details thereof insuring higher security of transaction involving key management
-
- 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
Abstract
本说明书的一个或多个实施例提供了一种区块链交易方法和装置,应用于包含多个共识节点的区块链网络系统,所述区块链网络系统包括多个子链;所述区块链网络系统的第一子链包含第一节点;所述方法由第一节点执行,包括:获取待发送的第一数据和将所述第一数据待发送至的第二子链的标识;基于所述第二子链的标识,校验所述第二子链是否已被创建;如否,调用部署在所述区块链网络系统的智能合约,执行所述智能合约声明的子链创建逻辑,基于与所述第二子链的标识对应的第二子链的成员身份信息创建所述第二子链;向所述第二子链发送所述第一数据。
Description
技术领域
本说明书涉及数据处理技术领域,尤其涉及一种区块链交易方法和装置。
背景技术
区块链技术,也被称之为分布式账本技术,是一种由若干台计算设备共同参与“记账”,共同维护一份完整的分布式数据库的新兴技术。由于区块链技术具有去中心化、公开透明、每台计算设备可以参与数据库记录、并且各计算设备之间可以快速的进行数据同步的特性,使得区块链技术已在众多的领域中广泛的进行应用。
发明内容
有鉴于此,本说明书一个或多个实施例提供一种区块链交易方法、装置、和计算机设备。
为实现上述目的,本说明书一个或多个实施例提供了一种区块链交易方法,应用于包含多个共识节点的区块链网络系统,所述区块链网络系统包括多个子链;所述区块链网络系统的第一子链包含第一节点;所述方法由第一节点执行,包括:
获取待发送的第一数据;
获取将所述第一数据待发送至的第二子链的标识;
基于所述第二子链的标识,校验所述第二子链是否已被创建;
如否,调用部署在所述区块链网络系统的智能合约,执行所述智能合约声明的子链创建逻辑,基于与所述第二子链的标识对应的第二子链的成员身份信息创建所述第二子链;
向所述第二子链发送所述第一数据,以使所述第一数据被至少部分的所述共识节点共识和第二子链的成员节点验证后收录于所述第二子链的分布式数据库中。
在又一示出的实施方式中,所述第二子链的标识包括第二子链的名称,或第二子链的唯一性标识码,或第二子链的成员名称集合,或第二子链的成员证书集合,或第二子链的成员公钥集合。
在又一示出的实施方式中,在向所述第二子链发送所述第一数据之前,所述方法还包括:
校验所述第一数据是否存储于所述第一子链的分布式数据库;
如是,则向所述第二子链发送所述第一数据。
在又一示出的实施方式中,所述第一数据包含至少一个第二数据的标识;所述校验所述第一数据是否存储于所述第一子链的分布式数据库,包括:基于所述第二数据的标识,校验所述第一数据所对应的所有第二数据是否存储于所述第一子链的分布式数据库。
在又一示出的实施方式中,所述的方法,还包括:
接收所述第一数据被收录至所述第二子链的分布式数据库的事件通知;
基于所述第二数据的标识,从所述第一子链的分布式数据库获取所述第二数据;
向所述第二子链发送所述第二数据,以使所述第二数据被至少部分的所述共识节点共识和第二子链的成员节点验证后收录于所述第二子链的分布式数据库中。
在又一示出的实施方式中,所述第一数据还包括事件标识,用以在接收所述第一数据被收录至所述第二子链的分布式数据库的事件通知时,标定所述事件所在的消息通道。
在又一示出的实施方式中,所述第一数据包括金融资产数据;所述第一节点为所述金融资产数据的原始权益人对应的节点。
在又一示出的实施方式中,所述第一数据包括ABS资产数据的描述信息和ABS资产切片数据的标识,所述第二数据包括所述ABS资产切片数据;所述第一节点为所述ABS资产数据的原始权益人对应的节点。
在又一示出的实施方式中,所述区块链网络系统架构于hyper ledger Fabric区块链网络系统;所述共识节点为排序节点。
在又一示出的实施方式中,所述区块链网络系统为联盟区块链网络系统;所述共识节点为联盟成员节点。
相应地,本说明书还提供了一种区块链交易装置,应用于包含多个共识节点的区块链网络系统,所述区块链网络系统包括多个子链;所述区块链网络系统的第一子链包含第一节点;所述装置应用于所述第一节点端,包括:
获取单元,用于获取待发送的第一数据和将所述第一数据待发送至的第二子链的标识;
校验单元,用于基于所述第二子链的标识,校验所述第二子链是否已被创建;
执行单元,用于调用部署在所述区块链网络系统的智能合约,执行所述智能合约声明的子链创建逻辑,基于与所述第二子链的标识对应的第二子链的成员身份信息创建所述第二子链;
发送单元,用于向所述第二子链发送所述第一数据,以使所述第一数据被至少部分的所述共识节点共识和第二子链的成员节点验证后收录于所述第二子链的分布式数据库中。
在又一示出的实施方式中,所述第二子链的标识包括第二子链的名称,或第二子链的唯一性标识码,或第二子链的成员名称集合,或第二子链的成员证书集合,或第二子链的成员公钥集合。
在又一示出的实施方式中,所述校验单元,进一步用于校验所述第一数据是否存储于所述第一子链的分布式数据库。
在又一示出的实施方式中,所述第一数据包含至少一个第二数据的标识;所述校验单元,进一步用于:基于所述第二数据的标识,校验所述第一数据所对应的所有第二数据是否存储于所述第一子链的分布式数据库。
在又一示出的实施方式中,所述的装置,还包括:
接收单元,用于接收所述第一数据被收录至所述第二子链的分布式数据库的事件通知;
所述获取单元,进一步用于基于所述第二数据的标识,从所述第一子链的分布式数据库获取所述第二数据;
所述发送单元,进一步用于向所述第二子链发送所述第二数据,以使所述第二数据被至少部分的所述共识节点共识和第二子链的成员节点验证后收录于所述第二子链的分布式数据库中。
在又一示出的实施方式中,所述第一数据还包括事件标识,用以在接收所述第一数据被收录至所述第二子链的分布式数据库的事件通知时,标定所述事件所在的消息通道。
在又一示出的实施方式中,所述第一数据包括金融资产数据;所述第一节点为所述金融资产数据的原始权益人对应的节点。
在又一示出的实施方式中,所述第一数据包括ABS资产数据的描述信息和ABS资产切片数据的标识,所述第二数据包括所述ABS资产切片数据;所述第一节点为所述ABS资产数据的原始权益人对应的节点。
在又一示出的实施方式中,所述区块链网络系统架构于hyper ledger Fabric区块链网络系统;所述共识节点为排序节点。
在又一示出的实施方式中,所述区块链网络系统为联盟区块链网络系统;所述共识节点为联盟成员节点。
相应地,本说明书还提供了一种计算机设备,包括:存储器和处理器;所述存储器上存储有可由所述处理器运行的计算机程序;所述处理器运行所述计算机程序时,执行上述第一节点所执行的区块链交易方法。
相应地,本说明书还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器运行时,执行上述第一阶段所执行的区块链交易方法。
由以上技术方案可见,本说明书提供的区块链交易方法和装置,在可创建子链的区块链网络系统中,基于第一数据待发送至的第二子链的标识,为待发送的第一数据创建对应的第二子链,从而使第一数据可被第二子链的成员节点读取,达到了数据在不同的子链上隐私隔离的技术效果。
附图说明
图1为本说明书所提供的一实施例所示的区块链交易方法的流程示意图;
图2为本说明书所提供的一实施例所示的应用于ABS资产数据发布场景中的区块链交易方法的流程示意图;
图3为本说明书所提供的一实施例提供的区块链交易装置的示意图;
图4为运行本说明书所提供的区块链交易装置实施例的一种硬件结构图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书一个或多个实施例相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书一个或多个实施例的一些方面相一致的装置和方法的例子。
需要说明的是:在其他实施例中并不一定按照本说明书示出和描述的顺序来执行相应方法的步骤。在一些其他实施例中,其方法所包括的步骤可以比本说明书所描述的更多或更少。此外,本说明书中所描述的单个步骤,在其他实施例中可能被分解为多个步骤进行描述;而本说明书中所描述的多个步骤,在其他实施例中也可能被合并为单个步骤进行描述。
基于区块链的防篡改机制,在区块链上进行数据存储或存证的应用越来越广泛。鉴于区块链分布式存储的特性,在区块链上存储的数据可被区块链上多数节点获知,其中可包含与存储的数据无关的节点,由此增加了区块链存储数据的隐私安全风险。
以在金融领域中为金融资产数据进行区块链存储或存证的应用场景为例,在这种场景下,金融资产数据由于其较强的私有属性和隐私属性,通常仅应被该金融资产数据的所有者或相关者(如原始权益人),和该金融资产数据的管理者(如资产管理机构)等获知,该具体的应用需求就对区块链存储数据的隐私保护或隔离提出新的要求。
有鉴于此,在本说明书示出的一种实施方式中,提供了一种区块链交易方法,应用于包含多个共识节点的区块链网络系统,所述区块链网络系统可包括多个子链;所述区块链网络系统的第一子链包含第一节点。
本说明书一个或多个实施例所述的区块链网络,具体可指一个各节点设备通过共识机制达成的、具有分布式数据存储结构的P2P网络系统,该区块链内的数据分布在时间上相连的一个个“区块(block)”之内,后一区块包含前一区块的数据摘要,且根据具体的共识机制(如POW、POS、DPOS或PBFT等)的不同,达成全部或部分节点的数据全备份。本领域的技术人员熟知,由于区块链网络系统在相应共识机制下运行,已收录至区块链数据库内的数据很难被任意的节点篡改,例如采用Pow共识的区块链,至少需要全网51%算力的攻击才有可能篡改已有数据,因此区块链网络系统有着其他中心化数据库系统所无法比拟的保证数据安全、防攻击篡改的特性。由此可知,被收录至区块链的分布式数据库中的数据不会被攻击或篡改,从而保证了存证入区块链的分布式数据库的数据信息的真实可靠性。
区块链网络的示例类型可以包括公有区块链网络、私有区块链网络和联盟区块链网络。尽管术语区块链通常与比特币加密货币网络相关联,但是本文使用的区块链可指代不参考任何特定用例的DLS(分布式账本系统)。
在公有区块链网络中,共识过程由共识网络的节点控制。例如,数百、数千、甚至数百万个实体可以在公有区块链网络中协作,每个实体在公有区块链网络中操作至少一个节点。因此,公有区块链网络可以被认为是相对于参与实体的公有网络。示例公有区块链网络包括比特币网络,比特币网络是对等支付网络。比特币网络利用分布式账本,被称为区块链。然而如上所述,术语区块链通常用于指代不特别参考比特币网络的分布式账本。
通常,公有区块链网络支持公有交易。公有交易与公有区块链网络内的所有节点共享,并存储在全局区块链中。全局区块链是跨所有节点复制的区块链。也就是说,对于全局区块链,所有节点处于完全一致的状态。为了达成共识(例如,同意向区块链添加块),在公有区块链网络内实施共识协议。示例共识协议包括但不限于,在比特币网络中实施的工作量证明(proof-of-work,POW)。
通常,私有区块链网络提供给特定实体,特定实体集中控制读取和写入权限。该实体控制哪些节点能够参与区块链网络。因此,私有区块链网络通常被称为许可网络,其对允许谁参与网络及其参与水平(例如,仅在某些交易中)施加限制。可以使用各种类型的访问控制机制(例如,现有参与者投票添加新实体,监管机构可以控制准入)。
通常,联盟区块链网络在参与实体中是私有的。在联盟区块链网络中,共识过程由授权的一组节点(联盟成员节点)控制,一个或多个节点由相应的实体(例如,企业)操作。例如,由十(10)个实体(例如,企业)组成的联盟可以操作联盟区块链网络,每个实体在该联盟区块链网络中操作至少一个节点。因此,就参与实体而言,联盟区块链网络可以被认为是私有网络。在一些示例中,每个实体(节点)必须对每个块进行签名,以使该块有效并将有效的块添加到区块链。在一些示例中,至少实体(节点)的子集(例如,至少7个实体)必须对每个块进行签名以使该块有效,并且将有效的块添加到区块链。
可以预期,本说明书所提供的实施方式能够在任何合适类型的区块链网络系统中实现,且上述“合适类型”并不局限于如上定义的公有链、联盟链或私有链。
本说明书一个或多个实施例所述的节点(或节点设备)是指可通过遵循相应节点协议、运行节点协议程序的安装来加入该区块链,作为该区块链的节点。本说明书各实施例所述的共识节点,可包括以该区块链网络系统遵守的共识规则(或共识机制)对区块链的区块内容进行确认或打包生成的节点。
本说明书一个或多个实施例所述的区块链网络系统可包括多个子链,所述子链由上述区块链网络系统中至少部分的节点组成,且多个子链可包含相同的节点,也可包含不同的节点。本说明书各实施例所述的区块链交易方法由上述区块链网络系统第一子链中的第一节点执行。
本说明书中一个或多个实施方式中所描述的向区块链系统或区块链系统的子链中发送数据,均是将数据封装成交易(transaction)的格式实现的。上述交易,是指通过区块链的节点设备创建,并需要最终发布至区块链的分布式数据库中的一笔数据。其中,区块链中的交易,存在狭义的交易以及广义的交易之分。狭义的交易是指用户向区块链发布的一笔价值转移;例如,在传统的比特币区块链网络中,交易可以是用户在区块链中发起的一笔转账。而广义的交易是指用户实体通过节点向区块链发布的一笔具有业务意图的数据。本说明书一个或多个实施方式所述的区块链交易方法,是指以交易的格式向区块链上发送具有业务意图的数据的方法,基于区块链的防篡改机制,起到为上述具有业务意图的数据存证的作用。
如图1所示,本实施方式所提供的区块链交易方法,包括:
步骤102,获取待发送的第一数据。
上述第一数据可由上述第一节点从上述区块链网络外获取,也可由上述第一节点从上述区块链网络获取,如从上述第一子链的分布式数据库中获取。
步骤104,获取将所述第一数据待发送至的第二子链的标识。
上述第二子链的标识是指可用于标识上述第二子链的数据或数据集合,例如,所述第二子链的标识可包括第二子链的名称,或第二子链的唯一性标识码,或第二子链的成员名称集合,或第二子链的成员证书集合,或第二子链的成员公钥集合,等等。
步骤106,基于所述第二子链的标识,校验所述第二子链是否已被创建。
由于上述第一节点也属于第二子链的节点,因此在上述第一节点的客户端可在本地记录管理该第一节点所在的各个子链的标识信息,从而可基于所述第二子链的标识,校验所述第二子链是否已被创建。
步骤108,如否,调用运行在所述区块链网络系统的智能合约,执行所述智能合约声明的子链创建逻辑,基于与所述第二子链的标识对应的第二子链的成员身份信息创建所述第二子链。
上述区块链网络系统上部署有用于子链创建的智能合约。为进一步提供本说明书的实施方式的背景,在区块链网络中,可以开发、测试和部署应用程序以在区块链网络内执行。示例应用程序可以包括但不限于智能合约。智能合约可以被描述为具有影响各方的合约条款的现实世界的法律合约的数字表示。智能合约被实施、存储、更新(根据需要)、并在区块链网络内执行。与智能合约相关联的合约方被表示为区块链网络中的节点。
在一些示例中,智能合约可以存储数据,该数据可以用于记录信息、事实、关联、余额以及实现合约执行逻辑所需的任何其他信息。智能合约可以被描述为由函数组成的计算机可执行程序,其中可以创建该智能合约的实例(instance),调用函数以执行智能合约的逻辑。
在技术方面,可以基于对象和面向对象的类来实现智能合约。例如,智能合约的条款和组件可以表示为由实现智能合约的应用程序处理的对象。智能合约(或智能合约中的对象)可以像其他面向对象的对象一样调用另一个智能合约(或同一智能合约中的对象)。例如,对象进行的调用可以是创建、更新、删除、传播或与另一个类的对象通信的调用。对象之间的调用可以由函数、方法、应用程序编程接口(application programming interface,API)或其他调用机制实现。例如,第一对象可以调用函数来创建第二对象。
在本实施方式中,上述用于子链创建的智能合约可部署在上述区块链网络系统或上述第一子链中,由具有执行权限的第一节点调用执行;具体的调用数据可包括第二子链的成员身份信息(如成员的证书信息或公钥信息)、上述智能合约的接口地址、子链创建逻辑对应的函数名称、第二子链的初始区块配置信息等内容,从而创建上述第二子链。上述初始区块配置信息可包括共识节点的配置信息和区块设置信息;区块设置信息包括接收共识节点共识所得的新区块的节点通信地址,端口号,区块生成的相关信息,区块大小,每个区块中交易的个数,以及区块链的版本信息和共识机制等其他信息。区块设置信息为各个第二子链的成员方预先商定好的需保持一致的信息。
步骤112,向所述第二子链发送所述第一数据,以使所述第一数据被至少部分的所述共识节点共识和第二子链的成员节点验证后收录于所述第二子链的分布式数据库中。
待上述第二子链创建完毕,第一节点可在本地启用作为第二子链的节点,并向上述第二子链发送上述第一数据;本领域的技术人员应知,上述第一数据是以交易的形式被发送到上述第二子链的,以下不再赘述。上述第一数据(或第一数据所在的交易)被至少部分的所述共识节点共识和第二子链的成员节点验证后收录于所述第二子链的分布式数据库中,从而获得使第二子链的成员节点获取查看上述第一数据的技术效果,防止上述区块链内其他节点获知上述第一数据,以保证第一数据的安全。第一节点可基于待发布数据的属性和查看权限等特征,在每发布一笔数据前,为该数据创建相应的数据共享子链,从而起到了数据隔离的效果。
值得注意的是,本说明书中提供的各实施方式所述的区块链或子链的“分布式数据库”,不仅包含相应区块链的区块数据,还可包含区块链或子链的节点设备在本地存储的与区块数据的改变相关的状态数据,如以键值对的形式存放在各节点设备本地的数据,也称为“世界状态”(World State)。
在本说明书提供的又一实施方式中,为进一步保证第一数据来源的可靠性和真实性,在向第二子链发送上述第一数据之前,如图1所示,上述区块链交易方法还包括:
步骤110,校验所述第一数据是否存储于所述第一子链的分布式数据库;
步骤112,如是,则向所述第二子链发送所述第一数据。
本领域的技术人员应知,基于第一子链的防篡改原理,例如,第一子链施行的共识机制和分布式存储方式,或区块链网络系统施行的子链区块信息与主链区块信息的锚定原则,存储于第一子链的分布式数据库中的信息是不能被随意篡改的。基于上述区块链的数据存储格式和查询索引形式,可查询校验上述第一数据是否存储于所述第一子链的分布式数据库;通过将存储在第一子链的分布式数据库中的第一数据发向第二子链,进一步确保了上述第一数据来源的真实性和可靠性;第二子链上除第一节点外的其他成员节点,可向第一子链的成员节点或区块链网络系统的共识节点请求验证第二子链中的第一数据是否与第一子链存储的第一数据一致,从而可有效防止第一节点私自篡改第一数据,提高了第二子链内发布的交易数据的安全性。
上述校验所述第一数据是否存储于所述第一子链的分布式数据库的过程,可由第一节点调用第一子链上部署的智能合约执行。
以下,以在金融科技领域中为金融资产数据进行区块链存证的应用场景为例,详细叙述本说明书所提供的区块链交易方法。
金融资产的原始所有方可被称为原始权益人,一般也是资产服务机构,负责管理金融资产信息,进行资产的发布、变更等操作,拥有相应的原始权益人业务系统。在上述业务应用场景中,金融资产的原始权益人需将金融资产数据的详情信息及变更信息发送给相应的计划管理人,如ABS业务中专项计划的管理机构,以使该计划管理人对资产打包、发行证券的流程履行管理的义务,对整个过程中资金的流动履行管理的义务。
因此,在本实施方式中,金融资产数据的原始权益人可作为上述实施方式所述的第一节点对应的实体,金融资产数据可作为上述实施方式所述的第一数据,包括金融资产的原始创建数据或变更数据;第一节点可为第一数据创建包括该第一数据对应的计划管理人节点的区块链子链(作为上述实施方式所述的第二子链),以将该第一数据发送至第二子链中,既为上述作为第一数据的金融资产数据作存证,又协助该第一数据的计划管理人履行监督管理义务。
在本实施方式中,上述金融资产的原始权益人节点可为其持有或管理的所有金融资产数据建立资产数据池;在本实施方式中,上述资产数据池中包括的金融资产数据可被原始权益人节点保存在另一区块链子链中,该子链可作为上述实施方式所述的第一子链;基于第一子链的防篡改机理,保证资产数据池中的金融资产数据被恶意篡改。
在本实施方式中,上述区块链网络系统可架构于hyper ledger Fabric区块链网络系统中;上述区块链网络系统的共识节点可包括Fabric系统的排序节点,为子链的创建、子链上金融资产数据的发布起到共识作用,其共识算法可基于CFT施行。本领域技术人员应知,上述区块链网络系统可以联盟区块链网络系统架构,相应地,区块链网络系统的共识节点即为联盟成员节点,其共识算法可基于PBFT等施行,在本实施方式中不作限定。
当上述金融资产数据为ABS资产数据时,上述第一数据可包括ABS资产数据的描述信息(如上述ABS资产的背景合同信息、相关人信息等)和ABS资产切片数据(如上述ABS资产在不同时间节点的资产内容状态数据)或ABS资产切片数据的标识。
图2示意了本实施方式提供的应用于ABS资产数据发布的区块链交易方法,在该实施方式中,原始权益人节点已将其持有或管理的ABS资产数据(包括资产原始创建数据和资产更新数据)存储于其作为节点的第一子链中;上述区块链交易方法包括:
步骤202,上述原始权益人节点获取待发送的第一数据,所述第一数据包括ABS资产数据的描述信息和ABS资产切片数据的标识。
步骤204,上述原始权益人节点获取将所述第一数据待发送至的第二子链的成员名称集合,所述成员名称集合包括上述ABS资产数据的计划管理人名称集合。
步骤206,上述原始权益人节点基于所述第二子链的成员名称集合,校验所述第二子链是否已被创建。
步骤208,如否,上述原始权益人节点调用部署在所述Fabric区块链网络系统的智能合约,执行所述智能合约声明的子链创建逻辑,基于与所述第二子链的成员名称集合对应的第二子链的成员身份信息创建所述第二子链。
步骤210,上述原始权益人节点基于ABS资产切片数据的标识,校验所述第一数据所对应的所有ABS资产切片数据是否存储于所述第一子链的分布式数据库。
上述ABS资产切片数据包括ABS资产在不同时间点的状态数据,例如对于贷款资产,随着还贷人在不同时间点还贷行为的发生,该资产数据的内容和价值会发生相应变化。原始权益人可为上述ABS资产在不同时间点的切片数据设置对应的标识,并将上述ABS资产切片数据及其对应标识发布于上述第一子链中;基于第一子链的防篡改机制,为上述ABS资产切片数据作存证。通过该步骤的校验,提高了待发送至上述第二子链的第一数据的来源可靠性。
上述对第一数据所对应的所有ABS资产切片数据是否存储于所述第一子链的分布式数据库的校验,可通过原始权益人节点调用第一子链上部署的智能合约来查询或校验执行。
步骤212,向所述第二子链发送所述第一数据,以使所述第一数据被至少部分的所述共识节点共识和第二子链的成员节点验证后收录于所述第二子链的分布式数据库中。
在Fabric区块链网络系统中,区块内收录的交易数据的顺序是由排序节点共识决定的,子链内的成员节点通常具备验证排序节点共识所得的区块内数据是否满足交易合法性的功能,并更新和维护相应子链的分布式数据库。
在又一示出的实施方式中,当所述第一数据经共识验证被收录至所述第二子链的分布式数据库后,第二子链的成员节点,包括原始权益人节点和计划管理人节点,均可接收所述第一数据被收录至所述第二子链的分布式数据库的事件通知。对于原始权益人节点,可基于上述第一数据的上链,向第二子链上发布与第一数据所包括的ABS资产切片数据的标识对应的ABS资产切片数据,上述ABS资产切片数据可被看作第二数据。如图2所示,具体过程包括:
步骤214,原始权益人节点接收所述第一数据被收录至所述第二子链的分布式数据库的事件通知。
在又一示出的实施方式中,原始权益人节点可设置其消息通道配置参数,为不同的事件消息类型分别设置消息接收通道,从而保证优先级较高的事件消息,如上述第一数据被收录的事件通知,不会由于并发交易造成的网络拥堵而被堵塞。相应的,上述第一数据还包括事件标识,用以在接收所述第一数据被收录至所述第二子链的分布式数据库的事件通知时,标定所述事件所在的消息通道,从而提高系统的执行效率。
步骤216,基于所述ABS资产切片数据的标识,从所述第一子链的分布式数据库获取所述ABS资产切片数据。
步骤218,向所述第二子链发送所述ABS资产切片数据,以使所述ABS资产切片数据被至少部分的所述共识节点共识和第二子链的成员节点验证后收录于所述第二子链的分布式数据库中。
在本实施方式中,原始权益人节点通过为ABS资产数据创建相应的子链,达到了不同子链中的ABS资产数据相互隔离的技术效果;进一步地,原始权益人节点通过在第一子链的分布式数据库中获取待发布至第二子链的第一数据或第二数据,提高了第二子链中发布的资产数据的真实性和可靠性。
与上述流程实现对应,本说明书的实施例还提供了一种区块链交易装置30。装置30可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为逻辑意义上的装置,是通过所在设备的CPU(Central Process Unit,中央处理器)将对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,除了图4所示的CPU、内存以及存储器之外,上述装置所在的设备通常还包括用于进行无线信号收发的芯片等其他硬件,和/或用于实现网络通信功能的板卡等其他硬件。
如图3所示,本说明书还提供了一种区块链交易装置30,应用于包含多个共识节点的区块链网络系统,所述区块链网络系统包括多个子链;所述区块链网络系统的第一子链包含第一节点;所述装置30应用于所述第一节点端,包括:
获取单元302,用于获取待发送的第一数据和将所述第一数据待发送至的第二子链的标识;
校验单元304,用于基于所述第二子链的标识,校验所述第二子链是否已被创建;
执行单元306,用于调用部署在所述区块链网络系统的智能合约,执行所述智能合约声明的子链创建逻辑,基于与所述第二子链的标识对应的第二子链的成员身份信息创建所述第二子链;
发送单元308,用于向所述第二子链发送所述第一数据,以使所述第一数据被至少部分的所述共识节点共识和第二子链的成员节点验证后收录于所述第二子链的分布式数据库中。
在又一示出的实施方式中,所述第二子链的标识包括第二子链的名称,或第二子链的唯一性标识码,或第二子链的成员名称集合,或第二子链的成员证书集合,或第二子链的成员公钥集合。
在又一示出的实施方式中,所述校验单元304,进一步用于校验所述第一数据是否存储于所述第一子链的分布式数据库。
在又一示出的实施方式中,所述第一数据包含至少一个第二数据的标识;所述校验单元304,进一步用于:基于所述第二数据的标识,校验所述第一数据所对应的所有第二数据是否存储于所述第一子链的分布式数据库。
在又一示出的实施方式中,所述的装置30,还包括:
接收单元310,用于接收所述第一数据被收录至所述第二子链的分布式数据库的事件通知;
所述获取单元304,进一步用于基于所述第二数据的标识,从所述第一子链的分布式数据库获取所述第二数据;
所述发送单元308,进一步用于向所述第二子链发送所述第二数据,以使所述第二数据被至少部分的所述共识节点共识和第二子链的成员节点验证后收录于所述第二子链的分布式数据库中。
在又一示出的实施方式中,所述第一数据还包括事件标识,用以在接收所述第一数据被收录至所述第二子链的分布式数据库的事件通知时,标定所述事件所在的消息通道。
在又一示出的实施方式中,所述第一数据包括金融资产数据;所述第一节点为所述金融资产数据的原始权益人对应的节点。
在又一示出的实施方式中,所述第一数据包括ABS资产数据的描述信息和ABS资产切片数据的标识,所述第二数据包括所述ABS资产切片数据;所述第一节点为所述ABS资产数据的原始权益人对应的节点。
在又一示出的实施方式中,所述区块链网络系统架构于hyper ledger Fabric区块链网络系统;所述共识节点为排序节点。
在又一示出的实施方式中,所述区块链网络系统为联盟区块链网络系统;所述共识节点为联盟成员节点。
上述装置30中各个单元的功能和作用的实现过程具体详见上述第一节点所执行的区块链交易方法中对应步骤的实现过程,相关之处参见方法实施例的部分说明即可,在此不再赘述。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部单元或模块来实现本说明书方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
上述实施例阐明的装置、单元、模块,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
与上述方法实施例相对应,本说明书的实施例还提供了一种计算机设备,如图4所示,该计算机设备包括存储器和处理器。其中,存储器上存储有能够由处理器运行的计算机程序;处理器在运行存储的计算机程序时,执行本说明书实施例中上述第一节点所执行的区块链交易方法的各个步骤。对上述第一节点所执行的区块链交易方法的各个步骤的详细描述请参见之前的内容,不再重复。
与上述方法实施例相对应,本说明书的实施例还提供了一种计算机可读存储介质,该存储介质上存储有计算机程序,这些计算机程序在被处理器运行时,执行本说明书实施例中上述第一节点所执行的区块链交易方法的各个步骤。对上述第一节点所执行的区块链交易方法的各个步骤的详细描述请参见之前的内容,不再重复。
以上所述仅为本说明书的较佳实施例而已,并不用以限制本说明书,凡在本说明书的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书保护的范围之内。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。
计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本说明书的实施例可提供为方法、系统或计算机程序产品。因此,本说明书的实施例可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书的实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
Claims (20)
1.一种区块链交易方法,应用于包含多个共识节点的区块链网络系统,所述区块链网络系统包括多个子链;所述区块链网络系统的第一子链包含第一节点;所述方法由第一节点执行,包括:
获取待发送的第一数据;
获取将所述第一数据待发送至的第二子链的标识;其中,所述第二子链的标识包括用于标识所述第二子链的数据或数据集合;
基于所述第二子链的标识,校验所述第二子链是否已被创建;
如果所述第二子链未被创建,则调用部署在所述区块链网络系统的智能合约,执行所述智能合约声明的子链创建逻辑,基于与所述第二子链的标识对应的第二子链的成员身份信息创建所述第二子链;
校验所述第一数据是否存储于所述第一子链的分布式数据库;
如果所述第一数据存储于所述第一子链的分布式数据库,则向所述第二子链发送所述第一数据,以使所述第一数据被至少部分的所述共识节点共识和第二子链的成员节点验证后收录于所述第二子链的分布式数据库中。
2.根据权利要求1所述的方法,所述第二子链的标识包括:第二子链的名称,或第二子链的唯一性标识码,或第二子链的成员名称集合,或第二子链的成员证书集合,或第二子链的成员公钥集合。
3.根据权利要求1所述的方法,所述第一数据包含至少一个第二数据的标识;所述校验所述第一数据是否存储于所述第一子链的分布式数据库,包括:
基于所述第二数据的标识,校验所述第一数据所对应的所有第二数据是否存储于所述第一子链的分布式数据库。
4.根据权利要求3 所述的方法,还包括:
接收所述第一数据被收录至所述第二子链的分布式数据库的事件通知;
基于所述第二数据的标识,从所述第一子链的分布式数据库获取所述第二数据;
向所述第二子链发送所述第二数据,以使所述第二数据被至少部分的所述共识节点共识和第二子链的成员节点验证后收录于所述第二子链的分布式数据库中。
5.根据权利要求4所述的方法,所述第一数据还包括事件标识,用以在接收所述第一数据被收录至所述第二子链的分布式数据库的事件通知时,标定所述事件所在的消息通道。
6.根据权利要求1所述的方法,所述第一数据包括金融资产数据;所述第一节点为所述金融资产数据的原始权益人对应的节点。
7.根据权利要求3至5中任一权利要求所述的方法,所述第一数据包括ABS资产数据的描述信息和ABS资产切片数据的标识,所述第二数据包括所述ABS资产切片数据;所述第一节点为所述ABS资产数据的原始权益人对应的节点。
8.根据权利要求7所述的方法,所述区块链网络系统架构于hyper ledger Fabric区块链网络系统;所述共识节点为排序节点。
9.根据权利要求7所述的方法,所述区块链网络系统为联盟区块链网络系统;所述共识节点为联盟成员节点。
10.一种区块链交易装置,应用于包含多个共识节点的区块链网络系统,所述区块链网络系统包括多个子链;所述区块链网络系统的第一子链包含第一节点;所述装置应用于所述第一节点端,包括:
获取单元,用于获取待发送的第一数据;
所述获取单元,还用于获取将所述第一数据待发送至的第二子链的标识;其中,所述第二子链的标识包括用于标识所述第二子链的数据或数据集合;
校验单元,用于基于所述第二子链的标识,校验所述第二子链是否已被创建;
执行单元,用于如果所述第二子链未被创建,则调用部署在所述区块链网络系统的智能合约,执行所述智能合约声明的子链创建逻辑,基于与所述第二子链的标识对应的第二子链的成员身份信息创建所述第二子链;
所述校验单元,还用于校验所述第一数据是否存储于所述第一子链的分布式数据库;
发送单元,用于如果所述第一数据存储于所述第一子链的分布式数据库,则向所述第二子链发送所述第一数据,以使所述第一数据被至少部分的所述共识节点共识和第二子链的成员节点验证后收录于所述第二子链的分布式数据库中。
11.根据权利要求10所述的装置,所述第二子链的标识包括:第二子链的名称,或第二子链的唯一性标识码,或第二子链的成员名称集合,或第二子链的成员证书集合,或第二子链的成员公钥集合。
12.根据权利要求10所述的装置,所述第一数据包含至少一个第二数据的标识;
所述校验单元,进一步用于:基于所述第二数据的标识,校验所述第一数据所对应的所有第二数据是否存储于所述第一子链的分布式数据库。
13.根据权利要求12所述的装置,还包括:
接收单元,用于接收所述第一数据被收录至所述第二子链的分布式数据库的事件通知;
所述获取单元,进一步用于基于所述第二数据的标识,从所述第一子链的分布式数据库获取所述第二数据;
所述发送单元,进一步用于向所述第二子链发送所述第二数据,以使所述第二数据被至少部分的所述共识节点共识和第二子链的成员节点验证后收录于所述第二子链的分布式数据库中。
14.根据权利要求13所述的装置,所述第一数据还包括事件标识,用以在接收所述第一数据被收录至所述第二子链的分布式数据库的事件通知时,标定所述事件所在的消息通道。
15.根据权利要求10所述的装置,所述第一数据包括金融资产数据;所述第一节点为所述金融资产数据的原始权益人对应的节点。
16.根据权利要求12至14中任一权利要求所述的装置,所述第一数据包括ABS资产数据的描述信息和ABS资产切片数据的标识,所述第二数据包括所述ABS资产切片数据;所述第一节点为所述ABS资产数据的原始权益人对应的节点。
17.根据权利要求16所述的装置,所述区块链网络系统架构于hyper ledger Fabric区块链网络系统;所述共识节点为排序节点。
18.根据权利要求16所述的装置,所述区块链网络系统为联盟区块链网络系统;所述共识节点为联盟成员节点。
19.一种计算机设备,包括:存储器和处理器;所述存储器上存储有可由所述处理器运行的计算机程序;所述处理器运行所述计算机程序时,执行如权利要求1至9任意一项所述的方法。
20.一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器运行时,执行如权利要求1到9任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910543978.5A CN110298755B (zh) | 2019-06-21 | 2019-06-21 | 一种区块链交易方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910543978.5A CN110298755B (zh) | 2019-06-21 | 2019-06-21 | 一种区块链交易方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110298755A CN110298755A (zh) | 2019-10-01 |
CN110298755B true CN110298755B (zh) | 2022-04-26 |
Family
ID=68028521
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910543978.5A Active CN110298755B (zh) | 2019-06-21 | 2019-06-21 | 一种区块链交易方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110298755B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111640002A (zh) * | 2020-05-12 | 2020-09-08 | 普洛斯科技(重庆)有限公司 | 一种基于区块链的货押贷款方法和装置 |
CN113762912A (zh) * | 2021-05-12 | 2021-12-07 | 北京同邦卓益科技有限公司 | Abs业务系统的业务处理方法、设备及存储介质 |
CN113067901B (zh) * | 2021-06-02 | 2021-09-24 | 支付宝(杭州)信息技术有限公司 | 区块链子网的创建方法 |
CN113259466B (zh) * | 2021-06-02 | 2021-10-15 | 支付宝(杭州)信息技术有限公司 | 区块链子网运行状态的控制方法和区块链系统 |
CN113722385B (zh) * | 2021-11-03 | 2022-02-08 | 腾讯科技(深圳)有限公司 | 基于区块链网络的数据查询方法、装置、设备和存储介质 |
CN114363349B (zh) * | 2021-12-31 | 2024-04-02 | 支付宝(杭州)信息技术有限公司 | 区块链子网的启动方法及装置 |
CN114866478B (zh) * | 2022-04-26 | 2024-01-05 | 深圳大学 | 一种1.5层区块链及其操作方法、设备和可读存储介质 |
CN116957592B (zh) * | 2023-09-20 | 2023-12-22 | 中铱数字科技有限公司 | 一种基于区块链生成数字藏品的方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190172026A1 (en) * | 2017-12-02 | 2019-06-06 | Alchemy Limited LLC | Cross blockchain secure transactions |
CN108389047B (zh) * | 2018-02-12 | 2021-07-09 | 南京思利华信息科技有限公司 | 区块链中母链与子链交易的方法及区块链网络 |
CN108600301B (zh) * | 2018-03-08 | 2021-05-18 | 青岛墨一客区块链有限公司 | 一种区块链之间的跨链方法及主区块链 |
-
2019
- 2019-06-21 CN CN201910543978.5A patent/CN110298755B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN110298755A (zh) | 2019-10-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110298755B (zh) | 一种区块链交易方法和装置 | |
CN110060162B (zh) | 基于区块链的数据授权、查询方法和装置 | |
CN110310203B (zh) | 一种区块链交易方法和装置 | |
CN110166442B (zh) | 一种基于区块链的数据处理方法和装置 | |
CN110363527B (zh) | 基于区块链的存证、监管方法和装置 | |
US11921682B2 (en) | Extracting data from a blockchain network | |
US10742424B2 (en) | Trusted identity solution using blockchain | |
US10929198B2 (en) | Blockchain-based resource allocation method and apparatus | |
WO2020215836A1 (zh) | 基于区块链的房屋信息存证、应用方法和装置 | |
US20200076602A1 (en) | Trusted identity solution using blockchain | |
WO2020082894A1 (zh) | 基于区块链的数据存证、获取方法和装置 | |
WO2020207093A1 (zh) | 基于区块链的租赁方法和装置 | |
US11423473B2 (en) | Blockchain-based leasing | |
CN111488393B (zh) | 虚拟区块链 | |
TW202022857A (zh) | 基於區塊鏈的發票創建方法及裝置、電子設備 | |
WO2020220759A1 (zh) | 一种基于区块链的支付方法和装置 | |
TW202036430A (zh) | 基於區塊鏈的作品版權分配方法和裝置 | |
CN110264351B (zh) | 基于区块链的著作权分配方法和装置 | |
CN111383114A (zh) | 基于区块链的资产信息管理方法和装置 | |
US10872170B2 (en) | Blockchain-based copyright distribution | |
CN112154434A (zh) | 区块链上智能合约组的自动数据投影 | |
CN111431903A (zh) | 一种跨链中继方法、装置以及计算机可读存储介质 | |
CN110471982B (zh) | 基于区块链的数据处理方法和装置 | |
CN111402033A (zh) | 基于区块链的资产信息管理方法和装置 | |
US20200175622A1 (en) | Processing ledger transactions in a blockchain |
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 |