CN117436861A - 区块链资产预分配方法、装置、设备、存储介质及程序 - Google Patents
区块链资产预分配方法、装置、设备、存储介质及程序 Download PDFInfo
- Publication number
- CN117436861A CN117436861A CN202311439172.4A CN202311439172A CN117436861A CN 117436861 A CN117436861 A CN 117436861A CN 202311439172 A CN202311439172 A CN 202311439172A CN 117436861 A CN117436861 A CN 117436861A
- Authority
- CN
- China
- Prior art keywords
- plan
- asset
- allocation
- information
- data
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 152
- 238000003860 storage Methods 0.000 title claims abstract description 32
- 238000012545 processing Methods 0.000 claims abstract description 77
- 238000007726 management method Methods 0.000 claims description 109
- 238000009826 distribution Methods 0.000 claims description 41
- 230000008569 process Effects 0.000 claims description 29
- 238000012795 verification Methods 0.000 claims description 26
- 238000004590 computer program Methods 0.000 claims description 24
- 230000000977 initiatory effect Effects 0.000 claims description 22
- 238000001514 detection method Methods 0.000 claims description 19
- 230000008014 freezing Effects 0.000 claims description 8
- 238000007710 freezing Methods 0.000 claims description 8
- 238000006243 chemical reaction Methods 0.000 claims description 6
- 230000010365 information processing Effects 0.000 claims description 6
- 238000013468 resource allocation Methods 0.000 claims description 5
- 238000012546 transfer Methods 0.000 description 24
- 238000010586 diagram Methods 0.000 description 22
- 238000010276 construction Methods 0.000 description 14
- 230000003993 interaction Effects 0.000 description 10
- 230000006870 function Effects 0.000 description 9
- 230000008450 motivation Effects 0.000 description 9
- 238000004891 communication Methods 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 230000006978 adaptation Effects 0.000 description 3
- 238000013475 authorization Methods 0.000 description 3
- 238000012790 confirmation Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000000638 stimulation Effects 0.000 description 3
- 238000012550 audit Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000000151 deposition Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000003862 health status Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000012954 risk control Methods 0.000 description 1
- 238000012384 transportation and delivery Methods 0.000 description 1
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/08—Payment architectures
- G06Q20/10—Payment architectures specially adapted for electronic funds transfer [EFT] systems; specially adapted for home banking systems
-
- 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/22—Payment schemes or models
- G06Q20/223—Payment schemes or models based on the use of peer-to-peer networks
-
- 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
- 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
-
- 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
Landscapes
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Finance (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Economics (AREA)
- Development Economics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请实施例公开了一种区块链资产预分配方法、装置、设备、存储介质及程序,该方法包括:获取资产分配计划所包括的资产分配信息,根据资产分配信息生成第一默克尔树;根据资产分配计划的计划名称及第一默克尔树的根节点数据,生成资产计划存证信息,对资产计划存证信息进行上链处理;当资产分配计划满足计划执行条件时,获取第一默克尔树的节点列表,根据节点列表生成待验证根数据,从区块链网络中获取根节点数据;若待验证根数据与根节点数据相同,则将节点列表转换为资产分配信息,基于资产分配信息对资产分配计划所指示的数字资产进行分配处理。采用本申请,可以提高资产管理效率及链上处理的灵活性。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种区块链资产预分配方法、装置、设备、存储介质及程序。
背景技术
随着区块链网络的发展,由于区块链的去中心化及安全不可篡改性,使得越来越多的用户开始通过区块链网络进行资产的管理,一般情况下,用户在区块链网络中可以拥有资源客户端,以管理自己的数字资产。其中,资源客户端支持数字资产的存储与转移,可以提供基本的转账功能。然而,现有的资源客户端仅能支持实时授权转账,一旦发起转账无法撤销,而且发生时会即时到账,使得对于通过区块链网络的资产管理容错性较低,适用性较差。
发明内容
本申请实施例提供了一种区块链资产预分配方法、装置、设备、存储介质及程序,可以提高资产管理效率及链上处理的灵活性。
本申请实施例一方面提供了一种区块链资产预分配方法,该方法包括:
获取资产分配计划所包括的资产分配信息,根据资产分配信息生成第一默克尔树;第一默克尔树的叶子节点用于表示资产分配信息;
根据资产分配计划的计划名称及第一默克尔树的根节点数据,生成资产计划存证信息,对资产计划存证信息进行上链处理;
当资产分配计划满足计划执行条件时,获取第一默克尔树的节点列表,根据节点列表生成待验证根数据,从区块链网络中获取根节点数据;
若待验证根数据与根节点数据相同,则将节点列表转换为资产分配信息,基于资产分配信息对资产分配计划所指示的数字资产进行分配处理。
本申请实施例一方面提供了一种区块链资产预分配装置,该装置包括:
信息处理模块,用于获取资产分配计划所包括的资产分配信息,根据资产分配信息生成第一默克尔树;第一默克尔树的叶子节点用于表示资产分配信息;
存证处理模块,用于根据资产分配计划的计划名称及第一默克尔树的根节点数据,生成资产计划存证信息,对资产计划存证信息进行上链处理;
列表获取模块,用于当资产分配计划满足计划执行条件时,获取第一默克尔树的节点列表;
计划验证模块,用于根据节点列表生成待验证根数据,从区块链网络中获取根节点数据;
节点转换模块,用于若待验证根数据与根节点数据相同,则将节点列表转换为资产分配信息;
资产分配模块,用于基于资产分配信息对资产分配计划所指示的数字资产进行分配处理。
其中,资产分配信息的数量为N,N为正整数;每个资产分配信息包括接收方地址及资产分配数据;资产分配数据用于指示为接收方地址分配的资产的数据量;
该信息处理模块,包括:
节点构建单元,用于将N个资产分配信息分别包括的接收方地址与资产分配数据组成节点对,对N个资产分配信息分别对应的节点对进行父节点构建,得到N个资产分配信息分别对应的第一父节点;
父处理单元,用于对N个第一父节点进行父节点构建,得到N个第一父节点所对应的第二父节点;
树确定单元,用于若第二父节点的数量为一,则将N个资产分配信息所对应的节点对、第一父节点及第二父节点,组成资产分配信息对应的第一默克尔树;
该节点构建单元,还用于若第二父节点的数量不为一,则对第二父节点进行父节点构建。
其中,该存证处理模块,包括:
存证生成单元,用于根据资产分配计划的计划名称及第一默克尔树的根节点数据,生成资产计划存证信息,将资产计划存证信息添加至第一资源客户端;
交易上链单元,用于基于资产计划存证信息调用资源管理合约中的计划创建方法,采用第一资源客户端为资产计划存证信息添加计划签名,生成计划创建交易,对计划创建交易进行上链处理。
其中,该装置还包括:
资产转移模块,用于获取资产分配计划所指示的资产数据量及资产转出地址,从资产转出地址所指示的第二资源客户端中,将资产数据量所对应的数字资产转移至第一资产客户端;
资产冻结模块,用于针对数字资产生成资源冻结交易,对资源冻结交易进行上链处理;资产冻结交易用于表示数字资产无法被使用。
其中,该节点转换模块,包括:
数据获取单元,用于若待验证根数据与根节点数据相同,则获取分配干扰数据,从节点列表中获取地址更新数据及地址更新数据所关联的资产分配数据;
信息确定单元,用于将地址更新数据中的分配干扰数据进行分割,得到接收方地址,将接收方地址与地址更新数据所关联的资产分配数据,组成资产分配信息。
其中,该资产分配模块,包括:
分配确定单元,用于获取资产分配计划所对应的资产数据量,基于资产分配信息中的接收方地址所对应的资产分配数据,以及资产数据量,确定接收方地址所对应的待分配数据量;
资产分配单元,用于将数字资产中的待分配数据量对应的待分配资产,转移至接收方地址。
其中,该装置还包括:
合约构建模块,用于构建计划执行合约,在计划执行合约中写入计划执行条件及条件检测指令;
参数检测模块,用于周期性执行条件检测指令,获取与计划执行条件相关联的条件参数,若条件参数与计划执行条件相匹配,则确定资产分配计划满足计划执行条件。
其中,计划执行条件包括计划执行操作;该列表获取模块,包括:
时间获取单元,用于当检测到计划执行操作时,获取计划执行操作的操作时间,获取资产分配计划所对应的分配实施时间信息;
列表获取单元,用于若操作时间大于或等于分配实施时间信息,则获取第一默克尔树的节点列表;
计划反馈单元,用于若操作时间小于分配实施时间信息,则反馈计划实施失败消息。
其中,该装置还包括:
更新获取模块,用于接收分配更新计划信息及分配更新计划信息所携带的更新签名,确定资产分配计划所对应的关联资源客户端;
第一验签模块,用于获取关联资源客户端的第一业务公钥,采用第一业务公钥对更新签名进行验签;
树生成模块,用于若对更新签名验签通过,则根据分配更新计划信息生成第二默克尔树;
计划更新模块,用于根据第二默克尔树及分配更新计划信息生成更新计划存证信息,对更新计划存证信息进行上链处理。
其中,该装置还包括:
状态获取模块,用于获取分配更新计划信息所对应的资产分配计划的执行状态;
完成反馈模块,用于若资产分配计划的执行状态为已执行状态,则向分配更新计划信息所对应的请求对象发送计划完成消息;
更新调用模块,用于若资产分配计划的执行状态为未执行状态,则采用分配更新计划信息调用资源管理合约中的计划更新方法,执行确定资产分配计划所对应的关联资源客户端的过程。
其中,该装置还包括:
撤销获取模块,用于获取针对资产分配计划的计划撤销信息,获取发起计划撤销信息的第三资源客户端;
第二验签模块,用于获取第三资源客户端的第二业务公钥,采用第二业务公钥对计划撤销信息中的计划撤销签名,以及资产分配计划的计划发起签名进行验签;
计划撤销模块,用于若对计划撤销签名及计划发起签名均验签通过,则根据计划撤销信息生成计划撤销交易,对计划撤销交易进行上链处理。
其中,该计划撤销模块,包括:
方法调用单元,用于若对计划撤销签名及计划发起签名均验签通过,则基于计划撤销信息调用资源管理合约中的计划撤销方法,获取资源分配计划所关联的分配事件,删除分配事件;
无效存证单元,用于针对计划撤销信息生成无效存证,根据无效存证生成计划撤销交易,对计划撤销交易进行上链处理。
本申请实施例一方面提供了一种计算机设备,包括处理器、存储器、输入输出接口;
处理器分别与存储器和输入输出接口相连,其中,输入输出接口用于接收数据及输出数据,存储器用于存储计算机程序,处理器用于调用该计算机程序,以使包含该处理器的计算机设备执行本申请实施例一方面中的区块链资产预分配方法。
本申请实施例一方面提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,该计算机程序适于由处理器加载并执行,以使得具有该处理器的计算机设备执行本申请实施例一方面中的区块链资产预分配方法。
本申请实施例一方面提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行本申请实施例一方面中的各种可选方式中提供的方法。换句话说,该计算机指令被处理器执行时实现本申请实施例一方面中的各种可选方式中提供的方法。
实施本申请实施例,将具有如下有益效果:
在本申请实施例中,可以获取资产分配计划所包括的资产分配信息,根据资产分配信息生成第一默克尔树;第一默克尔树的叶子节点用于表示资产分配信息;根据资产分配计划的计划名称及第一默克尔树的根节点数据,生成资产计划存证信息,对资产计划存证信息进行上链处理;当资产分配计划满足计划执行条件时,获取第一默克尔树的节点列表,根据节点列表生成待验证根数据,从区块链网络中获取根节点数据;若待验证根数据与根节点数据相同,则将节点列表转换为资产分配信息,基于资产分配信息对资产分配计划所指示的数字资产进行分配处理。通过以上过程,可以对数字资产进行预分配,基于计划执行条件确定资产分配计划的执行时机,使得用户可以提前将需要分配的数字资产的分配方式进行上链存证,并通过根节点数据指示资产分配计划,可以减少需要上链的数据量,且该根节点还可以作为后续资产分配计划执行的验证依据,提高了基于区块链的资产分配的安全性。而且该资产预分配无需实时授权转账,使得该资产预分配容错性更高,而且可以应用到更多的资产转账场景中,如遗留资产分配、项目资产分配、业务对象激励或收益型资产分配等,提高基于区块链的资产管理的适用范围,而且可以提高链上资产管理的实用性及灵活性。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种区块链网络示意图;
图2是本申请实施例提供的一种区块链资产预分配的网络交互架构图;
图3是本申请实施例提供的一种区块链资产预分配场景示意图;
图4是本申请实施例提供的一种区块链资产预分配的方法流程图;
图5是本申请实施例提供的一种默克尔树示意图;
图6是本申请实施例提供的一种资源管理合约的示意图;
图7是本申请实施例提供的一种计划创建示意图;
图8是本申请实施例提供的一种计划执行示意图;
图9是本申请实施例提供的一种计划更新示意图;
图10是本申请实施例提供的一种计划撤销示意图;
图11是本申请实施例提供的一种区块链资产预分配装置示意图;
图12是本申请实施例提供的一种计算机设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
其中,若在本申请中需要收集对象(如用户等)数据,则在收集前、收集中,显示提示界面或者弹窗,该提示界面或者弹窗用于提示用户当前正在搜集某些数据,仅仅在获取到用户对该提示界面或者弹窗发出确认操作后,开始执行数据获取的相关的步骤,否则结束。而且,对于获取到的用户数据,会在合理合法的场景或用途等上进行使用。可选的,在一些需要使用用户数据但未得到用户授权的场景中,还可以向用户请求授权,在授权通过时,再使用用户数据。也就是说,本申请对于用户数据的使用符合法律法规的相关规定,即,对于用户数据的使用合理合法。
在本申请实施例中,请参见图1,图1是本申请实施例提供的一种区块链网络示意图。如图1所示,区块链网络101可以包括至少两个区块链节点,如图1中所示的区块链节点101a、区块链节点101b及区块链节点101c等,任意一个区块链节点可以通过本申请所实现的方案,进行资产预分配的上链处理及资产分配。其中,不同区块链节点之间可以进行数据交互。
其中,区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层。
其中,区块链底层平台可以包括用户管理、基础服务、智能合约以及运营检测等处理模块。其中,用户管理模块负责所有区块链参与者的身份信息管理,包括维护公私钥生成(账户管理)、密钥管理以及用户真实身份和区块链地址对应关系维护(权限管理)等,并且在授权的情况下,监管和审计某些真实身份的交易情况,提供风险控制的规则配置(风控审计);基础服务模块部署在所有区块链节点设备上,用来验证业务请求的有效性,并对有效请求完成共识后记录到存储上,对于一个新的业务请求,基础服务先对接口适配解析和鉴权处理(接口适配),然后通过共识算法将业务信息加密(共识管理),在加密之后完整一致的传输至共享账本上(网络通信),并进行记录存储;智能合约模块负责合约的注册发行以及合约触发和合约执行,开发人员可以通过某种编程语言定义合约逻辑,发布到区块链上(合约注册),根据合约条款的逻辑,调用密钥或者其它的事件触发执行,完成合约逻辑,同时还提供对合约升级注销的功能;运营检测模块主要负责产品发布过程中的部署、配置的修改、合约设置、云适配以及产品运行中的实时状态的可视化输出,例如:告警、检测网络情况以及检测节点设备健康状态等。
平台产品服务层提供典型应用的基本能力和实现框架,开发人员可以基于这些基本能力,叠加业务的特性,完成业务逻辑的区块链实现。应用服务层提供基于区块链方案的应用服务给业务参与方进行使用。
默克尔树(Merkle Patricia Tree,MPT树):是一种特殊的前缀树,是区块链中账户状态树的数据结构,可以用于存储账户状态和交易数据等。
具体的,请参见图2,图2是本申请实施例提供的一种区块链资产预分配的网络交互架构图,如图2所示,业务节点201可以向管理节点202发送资产分配计划,该资产分配计划包括资产分配信息。该管理节点202可以基于该资产分配计划进行资产预分配处理,也就是,对该资产分配计划进行上链处理,并在资产分配计划满足计划执行条件时,基于上链存证的与资产分配计划相关的信息,进行资产分配,例如,假定该资产分配计划用于指示向接收节点203a分配20%的资产,向接收节点203b分配35%的资产,向接收节点203c分配45%的资产,则可以获取该资产分配计划所对应的数字资产,基于该资产分配计划相关的信息,进行资产分配,假定该数字资产的数据量为十万,则可以向接收节点203a分配两万的资产,向接收节点203b分配三万五的资产,向接收节点203c分配四万五的资产,从而实现基于区块链的资产预分配,使得区块链的资产管理可以应用到更多的资产分配场景中,并不仅限于资源客户端的实时转账,提高区块链的资产管理实用性。而且,对于该资产分配计划的链上存证是基于默克尔树的根节点数据的,完整的资产分配计划则存储在链下,通过这种链上链下的结合,使得用户无法从区块链上的存储数据(即资产计划存证信息)中获取到具体的资产分配计划,保障了资产分配计划的安全性,同时可以以链上存储的根节点数据,作为后续进行资产分配时,对资产分配计划的验证依据,提高了资产管理的安全性及资产分配计划的准确性。
其中,业务节点可以是位于区块链网络中的任意一个区块链节点,也可以是为部署于区块链网络外的节点,该业务节点中可以部署有资源客户端。其中,管理节点可以是区块链网络中的任意一个区块链节点。该业务节点可以与管理节点是同一个节点(此时,两者可以是区块链网络中的任意一个区块链节点),也可以是不同的节点。其中,接收节点可以是区块链网络中的任意一个区块链节点,该接收节点中可以部署有资源客户端。而且,任意一个区块链节点可以是一个资产分配计划所对应的业务节点,同时是另一个资产分配计划所对应的接收节点,在此不做限制。
其中,资源客户端可以用以实现资源管理业务功能,并基于该资源管理业务功能实现与去中心化应用客户端之间的通信连接。
资源客户端是一种用于负责管理、存储用户数字资源的工具,例如可基于资源客户端向其它账户转移数字资源,又如可基于资源客户端接收其它账户所转入的数字资源。该资源客户端可以是硬件设备也可以为软件程序。本申请中,目标对象的资源客户端可与去中心化应用客户端之间建立通信连接,以实现目标对象的授权登录等相关操作。
可以理解的是,随着各类去中心化应用在区块链上广泛部署,用户在区块链上的活动增加,一般用户在使用去中心化应用时,可使用区块链密钥管理工具(也可称为去中心化客户端,也就是资源客户端)进行登录,该区块链密钥管理工具中的地址对应于区块链上的一个用户,去中心化应用能够通过一些接口从密钥管理工具获取到该用户地址,而为了解决Dapp后台无法信任该去中心化应用登录时所使用的用户地址的问题。
具体的,请参见图3,图3是本申请实施例提供的一种区块链资产预分配场景示意图。如图3所示,管理节点可以获取资产分配计划301所包括的资产分配信息,如图3所示的资产分配信息3011、资产分配信息3012及资产分配信息3013等。管理节点可以以资产分配信息构建叶子节点,基于叶子节点生成第一默克尔树302,该第一默克尔树302可以用于指示资产分配计划301所包括的所有的资产分配信息。进一步,可以根据资产分配计划301的计划名称及第一默克尔树302的根节点数据,生成资产计划存证信息,对资产计划存证信息进行上链处理,也就是将资产计划存证信息添加至区块链网络303中,通过对资产分配计划进行暂时隐藏,可以确保资产分配计划不受外部干扰,提高资产管理的安全性。当资产分配计划满足计划执行条件时,触发资产分配,也就是,获取第一默克尔树的节点列表304(即由叶子节点组成的列表),根据节点列表生成待验证根数据,从区块链网络中获取根节点数据,若待验证根数据与根节点数据相同,则表示获取到的节点列表的数据是准确的,可以将节点列表304转换为资产分配信息,进一步基于资产分配信息对资产分配计划所指示的数字资产进行分配处理,也就是,基于资产分配信息确定该资产分配计划所指示的接收节点305,基于资产分配信息将资产分配计划所指示的数字资产分配给接收节点305。从而可以实现基于区块链的资产预分配,增加区块链上资产管理的可应用范围,提高基于区块链的资产管理的实用性及适用性,而且,以根节点数据进行上链存证,既可以暂时隐藏资产分配计划,提高资产分配计划的管理安全性,又可以对资产分配计划进行上链处理,提高资产管理的准确性。
可以理解的是,本申请实施例中所提及的区块链节点可以是一种计算机设备,本申请实施例中的计算机设备包括但不限于终端设备或服务器。换句话说,计算机设备可以是服务器或终端设备,也可以是服务器和终端设备组成的系统。其中,以上所提及的终端设备可以是一种电子设备,包括但不限于手机、平板电脑、台式电脑、笔记本电脑、掌上电脑、车载设备、增强现实/虚拟现实(Augmented Reality/Virtual Reality,AR/VR)设备、头盔显示器、智能电视、可穿戴设备、智能音箱、数码相机、摄像头及其他具备网络接入能力的移动互联网设备(mobile internet device,MID),或者火车、轮船、飞行等场景下的终端设备等。其中,以上所提及的服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、车路协同、内容分发网络(ContentDelivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。
可选的,本申请实施例中所涉及的数据(如资产分配计划等)可以存储在计算机设备中,或者可以基于云存储技术对该数据进行存储,在此不做限制。
进一步地,请参见图4,图4是本申请实施例提供的一种区块链资产预分配的方法流程图。如图4所示,该区块链资产预分配过程包括如下步骤:
步骤S401,获取资产分配计划所包括的资产分配信息,根据资产分配信息生成第一默克尔树。
在本申请实施例中,管理节点可以获取资产分配计划所包括的资产分配信息。可选的,该管理节点可以获取由业务节点所发送的资产分配计划,或者,该管理节点本身就可以是业务节点,生成资产分配计划等。其中,该资产分配计划可以包括N个资产分配信息,该资产分配计划还可以包括该资产分配计划的计划名称。可选的,一种情况下,管理节点接收到业务节点发送的资产分配计划,可以获取该资产分配计划所携带的业务签名,对该业务签名进行验签处理,若对业务签名验签通过,则获取资产分配计划所包括的资产分配信息。一种情况下,管理节点可以生成资产分配计划,对该资产分配计划进行签名,得到该资产分配计划的业务签名,获取资产分配计划所包括的资产分配信息。进一步,可以根据资产分配信息生成第一默克尔树,该第一默克尔树的叶子节点用于表示资产分配信息。
具体的,资产分配信息的数量为N,N为正整数;每个资产分配信息包括接收方地址及资产分配数据。资产分配数据用于指示为接收方地址分配的资产的数据量,该资产分配数据可以是分配数据量、资产分配比例或资产分配条件等,在此不做限制。其中,分配数据量用于表示对应的接收方地址可以分配到的资产的数据量;资产分配比例用于表示对应的接收方地址可以从资产分配计划所对应的数字资产中,可以分配到的资产所占的比例;资产分配条件用于表示对应的接收方地址可以分配到的资产的数据量的确定方式等。通过这一方式,使得基于区块链的资产管理可以基于需要进行资产灵活分配,提高基于区块链的资产管理的灵活性。其中,一种可能的资产分配计划可以参见表1所示,参见下表1所示的资产分配计划:
表1
计划名称 | 接收方地址 | 资产分配数据 | 分配实施时间信息 |
计划名称1 | 接收方地址1 | 资产分配数据 | 分配实施时间信息1 |
… | … | … | … |
计划名称N | 接收方地址N | 资产分配数据N | 分配实施时间信息N |
可选的,每个资产分配信息还可以包括但不限于分配实施时间信息、资产类型及资产数据量等。
在生成第一默克尔树时,管理节点可以将N个资产分配信息分别包括的接收方地址与资产分配数据组成节点对,对N个资产分配信息分别对应的节点对进行父节点构建,得到N个资产分配信息分别对应的第一父节点。或者,可以获取每个资产分配信息中的接收方地址的地址哈希,以及资产分配数据的分配数据哈希;将N个资产分配信息分别对应的地址哈希与分配数据哈希组成节点对,对N个资产分配信息分别对应的节点对进行父节点构建,得到N个资产分配信息分别对应的第一父节点。或者,可以在N个资产分配信息分别包括的接收方地址中添加分配干扰数据,得到地址更新数据,将N个资产分配信息分别对应的地址更新数据及资产分配数据组成节点对,可以采用上述两种方式中的任意一种方式,构建N个资产分配信息分别对应的第一父节点等。进一步,对N个第一父节点进行父节点构建,得到N个第一父节点所对应的第二父节点。若第二父节点的数量为一,则将N个资产分配信息所对应的节点对、第一父节点及第二父节点,组成资产分配信息对应的第一默克尔树;若第二父节点的数量不为一,则对第二父节点进行父节点构建,直至得到资产分配信息所对应的第一默克尔树。其中,在资产分配计划中,除了接收方地址与资产分配数据等之外的其他数据,可以认为是一个资产分配计划所共用的,因此,可以直接基于资产分配信息中的接收关联信息,构建第一默克尔树,该接收关联信息可以包括接收方地址及资产分配数据等。
举例来说,参见图5,图5是本申请实施例提供的一种默克尔树示意图。如图5所示,假定N为4,获取到资产分配信息1中的“接收方地址1及资产分配数据1”、资产分配信息2中的“接收方地址2及资产分配数据2”、资产分配信息3中的“接收方地址3及资产分配数据3”,以及资产分配信息4中的“接收方地址4及资产分配数据4”。可以根据接收方地址1与资产分配数据1生成哈希1,根据接收方地址2与资产分配数据2生成哈希2,根据接收方地址3与资产分配数据3生成哈希3,根据接收方地址4与资产分配数据4生成哈希4,构建第一父节点。此时,第一父节点的数量为4,即不为一,则对第一父节点进行父节点构建,即,对哈希1与哈希2进行哈希处理生成哈希12,对哈希3与哈希4进行哈希处理生成哈希34,得到第一父节点所对应的第二父节点。此时,第二父节点的数量不为一,可以对第二父节点进行父节点构建,即对哈希12与哈希34进行哈希处理,生成哈希1234,此时,第二父节点的父节点的数量为一,可以认为该第二父节点的父节点“哈希1234”为根节点数据,得到第一默克尔树501。
通过以上过程,可以得到一个能够表示资产分配计划的默克尔树(即第一默克尔树),该第一默克尔树的每个节点可以认为是由一个哈希值进行标识,还可以包括对应的数据,如第一默克尔树的叶子节点中,可以包括由接收方地址及该接收方地址所对应的地址哈希组成的叶子节点,以及由资产分配数据及该资产分配数据所对应的分配数据哈希组成的叶子节点等。通过第一默克尔树的键值对方式对资产分配计划进行定义和管理,根节点数据作为该资产分配计划的唯一标识,如下步骤S402中的相关描述,可以提高资产分配计划的数据安全性及一致性。
步骤S402,根据资产分配计划的计划名称及第一默克尔树的根节点数据,生成资产计划存证信息,对资产计划存证信息进行上链处理。
在本申请实施例中,管理节点可以根据资产分配计划的计划名称及第一默克尔树的根节点数据,生成资产计划存证信息,对资产计划存证信息进行上链处理。可选的,可以创建资源管理合约,该资源管理合约可以包括计划创建方法,该计划创建方法可以用于对资产分配计划进行存证管理,以实现对资产分配的预处理。具体的,可以调用资源管理合约中的计划创建方法,根据资产分配计划的计划名称及第一默克尔树的根节点数据,生成资产计划存证信息,对资产计划存证信息进行上链处理。例如,该计划创建方法为计划创建方法(计划名称参数,根节点参数),可以基于资产分配计划的计划名称及第一默克尔树的根节点数据,调用该计划创建方法,记作计划创建方法(计划名称,根节点数据)。可选的,该计划创建方法所采用的参数还可以包括资源数据量等,也就是说,在生成资产计划存证信息时,可以基于需要,更改该资产计划存证信息中的参数组成,在此不做限制。
或者,管理节点可以根据资产分配计划的计划名称及第一默克尔树的根节点数据,生成资产计划存证信息。将资产计划存证信息添加至第一资源客户端,该第一资源客户端是指管理节点所对应的资源客户端。进一步,可以基于资产计划存证信息调用资源管理合约中的计划创建方法,采用第一资源客户端为资产计划存证信息添加计划签名,生成计划创建交易,对计划创建交易进行上链处理。可以获取资产分配计划所指示的资产数据量及资产转出地址,从资产转出地址所指示的第二资源客户端中,将资产数据量所对应的数字资产转移至第一资产客户端,该第二资源客户端是指业务节点所对应的资源客户端,也就是发起该资产分配计划的业务节点的资源客户端,可以提前将需要进行分配的数字资产转移至第一资源客户端中,使得管理节点在资产分配计划满足计划执行条件时,能够直接进行资产分配,提高资产分配的效率。可选的,可以针对数字资产生成资源冻结交易,对资源冻结交易进行上链处理;资产冻结交易用于表示数字资产无法被使用,也就是说,该资产冻结交易用于表示这一部分的数字资产是由其他的业务节点预分配出去的,管理节点仅可以在资产分配计划满足计划执行条件时,对这一部分的数字资产进行分配,而不能对该数字资产执行其他的操作。
或者,管理节点可以将资产计划存证信息添加至第二资源客户端,该第二资源客户端是业务节点所对应的资源客户端,可选的,在管理节点与业务节点为同一个节点时,该第二资源客户端也可以认为是该管理节点所对应的资源客户端。可选的,管理节点可以直接将资产分配计划添加至第二资源客户端中,用于指示该资产分配计划已经预处理完成,后续在满足计划执行条件时,可以进行资产转出。
进一步可选地,可以构建计划执行合约,在计划执行合约中写入计划执行条件及条件检测指令。进一步周期性执行条件检测指令,获取与计划执行条件相关联的条件参数,若条件参数与计划执行条件相匹配,则确定资产分配计划满足计划执行条件。例如,该资产分配计划用于遗留资产分配时,该计划执行条件为资产分配时间等,该条件检测指令用于获取系统网络时间,可以周期性执行条件检测指令,获取条件参数“系统网络时间”,若该系统网络时间大于或等于资产分配时间,则确定资产分配计划满足计划执行条件,执行步骤S403。例如,该资产分配计划用于项目资产分配时,该计划执行条件可以是项目完成或项目处理周期等,该条件检测指令用于获取项目完成状态或项目运行时间等,如在计划执行条件为项目完成时,可以周期性执行条件检测指令,获取与计划执行条件相关联的条件参数,即资产分配计划所对应的项目完成状态,若该项目完成状态为项目已完成状态,则确定资产分配计划满足计划执行条件,执行步骤S403;如在计划执行条件为项目处理周期时,可以周期性执行条件检测指令,获取与计划执行条件相关联的条件参数,即资产分配计划所对应的项目运行时间,若该项目运行时间满足项目处理周期,则确定资产分配计划满足计划执行条件,执行步骤S403,例如,该项目处理周期为一百个区块,则该项目运行时间每经过一百个区块,则认为该项目运行时间满足计划执行条件,如项目运行时间为101个区块、201个区块等时,满足计划执行条件。例如,该资产分配计划用于业务对象激励(如员工激励等)时,该计划执行条件可以是对象激励时间,该条件检测指令用于获取业务执行时间等,可以周期性执行条件检测指令,获取与计划执行条件相关联的条件参数,即业务执行时间,若业务执行时间满足该对象激励时间,则确定资产分配计划满足计划执行条件,执行步骤S403,例如,对象激励时间为5月份及11月份,则该业务执行时间为5月份或11月份时,表示业务执行时间满足该对象激励时间。当然,本申请还可以用于其他的资产预分配场景中,如收益型资产分配等,具体的计划执行条件及条件参数,可以根据资产预分配场景进行确定,在此仅例举出几种可能的资产预分配场景。
步骤S403,当资产分配计划满足计划执行条件时,获取第一默克尔树的节点列表,根据节点列表生成待验证根数据,从区块链网络中获取根节点数据。
在本申请实施例中,当资产分配计划满足计划执行条件时,管理节点可以获取第一默克尔树的节点列表;根据该节点列表生成待验证根数据,该待验证根数据的生成方式可以参见上述第一默克尔树中的根节点数据的生成过程,在此不再进行赘述。进一步,可以从区块链网络中获取根节点数据。可选的,该资源管理合约还可以包括计划执行方法,管理节点可以基于计划名称及第一默克尔树的节点列表,调用资源管理合约中的计划执行方法,通过该计划执行方法,执行上述根据节点列表生成待验证根数据,从区块链网络中获取根节点数据的过程,进而执行步骤S404。
可选的,计划执行条件包括计划执行操作。此时,当检测到计划执行操作时,可以获取计划执行操作的操作时间,获取资产分配计划所对应的分配实施时间信息,该分配实施时间信息用于表示该资产分配计划预先配置的执行时间,其中,该分配实施时间信息可以是根据上述计划执行条件得到的,或者,可以直接将资产分配计划的计划执行条件确定为分配实施时间信息。进一步,若操作时间大于或等于分配实施时间信息,则表示资产分配计划已经到了预先配置的执行时间,可以获取第一默克尔树的节点列表,进一步根据节点列表生成待验证根数据,从区块链网络中获取根节点数据。若操作时间小于分配实施时间信息,则反馈计划实施失败消息。可选的,若操作时间小于分配实施时间信息,则可以获取资产分配计划所对应的关联资源客户端,该关联资源客户端为第二资源客户端,也就是发起资产分配计划的资源客户端;若该关联资源客户端为触发计划执行操作的资源客户端,则向该关联资源客户端发送执行确认消息;若接收到关联资源客户端针对该执行确认消息的确定操作,则执行获取第一默克尔树的节点列表的过程。若该关联资源客户端不是触发计划执行操作的资源客户端,则向触发计划执行操作的资源客户端反馈计划实施失败消息。也就是说,在资产分配计划进行预处理后,发起该资产分配计划的资源客户端也可以基于需要提前触发,可以提高基于区块链的资产管理的灵活性及实用性。
步骤S404,若待验证根数据与根节点数据相同,则将节点列表转换为资产分配信息,基于资产分配信息对资产分配计划所指示的数字资产进行分配处理。
在本申请实施例中,若待验证根数据与根节点数据相同,则可以将节点列表转换为资产分配信息,基于资产分配信息对资产分配计划所指示的数字资产进行分配处理,具体的,基于资产分配信息中的资产分配数据,将资产分配计划所指示的数字资产分配至资产分配信息中的接收方地址。可选的,在第一默克尔树生成时采用了分配干扰数据时,若待验证根数据与根节点数据相同,则可以获取分配干扰数据,从节点列表中获取地址更新数据及地址更新数据所关联的资产分配数据;将地址更新数据中的分配干扰数据进行分割,得到接收方地址,将接收方地址与地址更新数据所关联的资产分配数据,组成资产分配信息。
其中,该资产分配计划中还可以包括资产转出地址,该资产转出地址可以认为是上述关联资源客户端(即第二资源客户端)。管理节点可以基于资产分配计划中的资产数据量,基于资产数据量从资产转出地址中获取资产分配计划所对应的数字资产,基于资产分配信息对资产分配计划所指示的数字资产进行分配处理。或者,该资产分配计划中包括资产转出信息,基于该资产转出信息从资产转出地址中获取资产分配计划所对应的数字资产,基于资产分配信息对资产分配计划所指示的数字资产进行分配处理。例如,在遗留资产分配的资产预分配场景中,可以获取到资产转出信息为“资产分配计划执行时所包括的资产”,则可以基于该资产转出信息从资产转出地址中获取该资产转出地址中所包括的所有数字资产。例如,在项目资产分配的资产预分配场景中,可以获取到资产转出信息为“项目收益”,可以基于该资产转出信息确定资产数据量,该资产数据量是指资产分配计划所指示的业务项目的收益中,未被分配的收益数据量;可以基于资产数据量从资产转出地址中获取数字资产,此时,该资产转出地址可以认为是存放业务项目的项目收益的地址。在业务对象激励的资产预分配场景中,可以获取到资产转出信息为“基于接收方在对象激励周期内所获取到的第一资产确定数据量”,则可以获取接收方地址在对象激励周期内所获取到的第一资产的数据量,将所有员工的第一资产的数据量转换为资产数据量;基于资产数据量从资产转出地址中获取数字资产。如进行员工激励时,可以获取该员工在对象激励周期内从公司获取到的第一资产的数据量,假定激励是以10%(当然该百分比仅为一种示例,具体是根据员工激励的实际配置确定)进行,则可以将所有员工的第一资产的数据量的10%之和确定为资产数据量等,当然,这一方式下,也可以直接确定各个接收方地址所对应的待分配数据量。以上仅为例举的几种可能的数字资产的获取方式,本申请并不限制应用场景,也可以应用于其他的资产预分配场景中,基于具体的资产预分配场景进行数字资产的获取,在此不再进行过多描述。
或者,在提前将数字资产转移至第一资源客户端时,该资产转出地址为第一资源客户端。此时,管理节点可以从第一资源客户端中获取该资产分配计划所对应的冻结的数字资产,基于资产分配信息对资产分配计划所指示的数字资产进行分配处理。
具体的,在基于资产分配信息对资产分配计划所指示的数字资产进行分配处理时,可以获取资产分配计划所对应的资产数据量,基于资产分配信息中的接收方地址所对应的资产分配数据,以及资产数据量,确定接收方地址所对应的待分配数据量。将数字资产中的待分配数据量对应的待分配资产,转移至接收方地址。其中,在基于资产分配信息中的接收方地址所对应的资产分配数据,以及资产数据量,确定接收方地址所对应的待分配数据量时,若该资产分配数据为分配数据量,则可以将分配数据量直接确定为对应的接收方地址的待分配数据量。若该资产分配数据为资产分配比例,则可以将资产数据量与资产分配比例的乘积,确定为对应的接收方地址的待分配数据量,如资产数据量为100,接收方地址1的资产分配比例为20%,接收方地址2的资产分配比例为60%,接收方地址3的资产分配比例为20%,则可以确定该接收方地址1的待分配数据量为“100*20%=20”,接收方地址2的待分配数据量为“100*60%=60”,接收方地址3的待分配数据量为“100*20%=20”。若该资产分配数据为资产分配条件,则可以基于资产分配条件获取对应的接收方地址的接收关联信息,在该接收关联信息符合资产分配条件时,获取该资产分配条件所对应的分配方式,采用该分配方式从资产数据量中确定该接收方地址所对应的待分配数据量等。例如,接收方地址的资产分配条件为在资产分配计划所对应的数字藏品上线时,与该数字藏品进行交互,则可以基于资产分配条件查找该接收方地址与该数字藏品的交互数据,若存在交互数据,则获取该资产分配条件所对应的分配方式,假定该分配方式是基于交互程度分配,可以基于交互数据确定该接收方地址所对应的交互程度,根据交互程度从资产数据量中确定该接收方地址对应的待分配数据量等。
进一步可选的,业务节点可以在资产分配计划执行之前,进行计划更新或计划撤销,使得该资产管理更为灵活,在一定程度上可以减少用户误转账带来的资源损耗。具体的,在进行计划更新时,可以接收分配更新计划信息及分配更新计划信息所携带的更新签名,确定资产分配计划所对应的关联资源客户端;获取关联资源客户端的第一业务公钥,采用第一业务公钥对更新签名进行验签,若对更新签名验签通过,则表示对于资产分配计划的计划更新是由发起该资产分配计划的资源客户端进行的,可以根据分配更新计划信息生成第二默克尔树,该过程可以参见第一默克尔树的生成过程。进一步,可以根据第二默克尔树及分配更新计划信息生成更新计划存证信息,对更新计划存证信息进行上链处理,用于表示第一默克尔树所对应的资源分配计划已经失效,可以参见对资产计划存证信息的上链处理过程。可选的,也可以对更新计划存证信息与针对资源计划存证信息的无效数据进行上链处理,以使得第一默克尔树的无效数据更为直观,提高计划处理的效率。
可选的,在接收分配更新计划信息及分配更新计划信息所携带的更新签名时,还可以获取分配更新计划信息所对应的资产分配计划的执行状态。若资产分配计划的执行状态为已执行状态,则表示该资产分配计划已经执行,不能更改,可以向分配更新计划信息所对应的请求对象发送计划完成消息。若资产分配计划的执行状态为未执行状态,则采用分配更新计划信息调用资源管理合约中的计划更新方法,执行确定资产分配计划所对应的关联资源客户端的过程,对资产分配计划进行更新。
在进行计划撤销时,可以获取针对资产分配计划的计划撤销信息,获取发起计划撤销信息的第三资源客户端。获取第三资源客户端的第二业务公钥,采用第二业务公钥对计划撤销信息中的计划撤销签名,以及资产分配计划的计划发起签名进行验签。若对计划撤销签名及计划发起签名均验签通过,则表示该计划撤销是由发起资产分配计划的资源客户端所发起的,可以根据计划撤销信息生成计划撤销交易,对计划撤销交易进行上链处理。若对计划撤销签名或计划发起签名验签不通过,则向第三资源客户端反馈计划撤销失败消息。或者,可以确定资产分配计划所对应的关联资源客户端;获取关联资源客户端的第一业务公钥,采用第一业务公钥对计划撤销签名进行验签,若对计划撤销签名验签通过,则可以根据计划撤销信息生成计划撤销交易,对计划撤销交易进行上链处理。若对计划撤销签名验签不通过,则获取发起计划撤销信息的第三资源客户端,向第三资源客户端反馈计划撤销失败消息。
其中,在根据计划撤销信息生成计划撤销交易,对计划撤销交易进行上链处理时,具体可以基于计划撤销信息调用资源管理合约中的计划撤销方法,获取资源分配计划所关联的分配事件,删除分配事件。针对计划撤销信息生成无效存证,根据无效存证生成计划撤销交易,对计划撤销交易进行上链处理。
其中,对于以上过程,即计划创建、计划执行、计划更新及计划撤销等,均可以是通过资源管理合约实现的,该资源管理合约部署于区块链网络中的区块链节点上,区块链节点可以通过资源客户端访问及调用资源管理合约。具体的,可以参见图6,图6是本申请实施例提供的一种资源管理合约的示意图。如图6所示,该资源管理合约601可以包括用于存储数据的数据结构,以及用于生成交易的合约方法。具体的,管理节点可以获取到资产分配计划后,针对资产分配计划调用合约方法中的计划创建方法,进行资产预分配处理。例如,以图7至图10对资产管理合约中的合约方法进行描述,合约方法包括但不限于计划创建方法、计划执行方法、计划更新方法及计划撤销方法。具体的,可以参见图7,图7是本申请实施例提供的一种计划创建示意图。如图7所示,管理对象701(也就是管理节点的使用用户)可以将资产分配计划上传至管理节点的第一资源客户端,管理对象701可以是发起该资产分配计划的用户,或者是发起该资产分配计划的用户进行授权的第三方用户。管理节点可以执行上述步骤S401,或者通过第一资源客户端执行上述步骤S401,生成第一默克尔树;调用资源管理合约702中的计划创建方法,通过该计划创建方法,执行上述步骤S402,得到资产计划存证信息,并对该资产计划存证信息进行上链处理。具体的,可以获取计划创建方法的创建方法参数,基于创建方法参数从资产分配计划及第一默克尔树中获取创建输入数据,如,该创建方法参数包括计划名称参数、数据量参数及根节点参数,则可以获取计划名称参数对应的资产分配计划的计划名称,数据量参数对应的资产数据量,以及根节点参数对应的根节点数据,作为创建输入数据等;采用该创建输入数据调用资源管理合约702中的计划创建方法。可选的,管理节点可以获取资产分配计划中的分配实施时间信息,基于计划创建交易及分配实施时间信息生成分配事件,该分配事件用于在满足计划执行条件时,执行资产分配计划。可选的,管理节点可以将资产计划存证信息及第一默克尔树添加至第一资源客户端。
具体的,管理节点可以针对资产分配计划,调用合约方法中的计划执行方法,执行资产分配计划。例如,参见图8,图8是本申请实施例提供的一种计划执行示意图。如图8所示,管理节点可以通过计划执行合约检测资产分配计划,当资产分配计划满足计划执行条件时,通过第一资源客户端调用资源管理合约802中的计划执行方法,或者,可以响应于第一对象801的计划执行操作,通过第一资源客户端调用资源管理合约802中的计划执行方法,该第一对象801是指发起资产分配计划的对象,或由该发起资产分配计划的对象进行授权的第三方对象等;通过计划执行方法执行步骤S403及步骤S404,进一步可选的生成计划执行交易,对计划执行交易进行上链处理。其中,可以获取计划执行方法的执行方法参数,基于执行方法参数从第一资源客户端中获取执行输入数据,如执行方法参数包括计划名称参数及节点参数,则可以获取计划名称参数对应的计划名称,获取节点参数对应的节点列表,得到执行输入数据;采用执行输入数据调用资源管理合约802中的计划执行方法。
具体的,在资产分配计划未执行时,管理节点可以针对资产分配计划,调用合约方法中的计划更新方法,对资产分配计划进行更新。或者,可以调用合约方法中的计划撤销方法,撤销资产分配计划。例如,参见图9,图9是本申请实施例提供的一种计划更新示意图。如图9所示,管理对象901可以将分配更新计划信息上传至第一资源客户端。管理节点可以通过分配更新计划信息调用资源管理合约902中的计划更新方法,通过该计划更新方法,执行上述计划更新的相关操作,生成更新计划存证信息,对更新计划存证信息进行上链处理。其中,可以获取计划更新方法的更新方法参数,基于更新方法参数从分配更新计划信息中获取更新输入数据,如计划更新方法(计划名称参数,更新数据量参数,更新根节点参数),则可以获取计划名称参数对应的计划名称,获取更新数据量参数对应的更新资产数据量,获取更新根节点参数对应的第二默克尔树的根,得到更新输入数据;采用更新输入数据调用资源管理合约902中的计划更新方法。
例如,参见图10,图10是本申请实施例提供的一种计划撤销示意图。如图10所示,管理对象1001可以将计划撤销信息上传至第一资源客户端。管理节点可以通过计划撤销信息调用资源管理合约1002中的计划撤销方法,通过该计划撤销方法,执行上述计划撤销的相关操作,生成计划撤销交易,对计划撤销交易进行上链处理。其中,可以获取计划撤销方法的撤销方法参数,基于撤销方法参数从计划撤销信息中获取撤销输入数据,如计划撤销方法(计划名称参数),则可以获取计划名称参数对应的计划名称,得到撤销输入数据;采用撤销输入数据调用资源管理合约1002中的计划撤销方法。
在本申请实施例中,可以获取资产分配计划所包括的资产分配信息,根据资产分配信息生成第一默克尔树;第一默克尔树的叶子节点用于表示资产分配信息;根据资产分配计划的计划名称及第一默克尔树的根节点数据,生成资产计划存证信息,对资产计划存证信息进行上链处理;当资产分配计划满足计划执行条件时,获取第一默克尔树的节点列表,根据节点列表生成待验证根数据,从区块链网络中获取根节点数据;若待验证根数据与根节点数据相同,则将节点列表转换为资产分配信息,基于资产分配信息对资产分配计划所指示的数字资产进行分配处理。通过以上过程,可以对数字资产进行预分配,基于计划执行条件确定资产分配计划的执行时机,使得用户可以提前将需要分配的数字资产的分配方式进行上链存证,并通过根节点数据指示资产分配计划,可以减少需要上链的数据量,且该根节点还可以作为后续资产分配计划执行的验证依据,提高了基于区块链的资产分配的安全性。而且该资产预分配无需实时授权转账,使得该资产预分配容错性更高,而且可以应用到更多的资产转账场景中,如遗留资产分配、项目资产分配、业务对象激励或收益型资产分配等,提高基于区块链的资产管理的适用范围,而且可以提高链上资产管理的实用性及灵活性。
进一步地,请参见图11,图11是本申请实施例提供的一种区块链资产预分配装置示意图。该区块链资产预分配装置可以是运行于计算机设备中的一个计算机程序(包括程序代码等),例如该区块链资产预分配装置可以为一个应用软件;该装置可以用于执行本申请实施例提供的方法中的相应步骤。如图11所示,该区块链资产预分配装置1100可以用于图4所对应实施例中的计算机设备,具体的,该装置可以包括:信息处理模块11、存证处理模块12、列表获取模块13、计划验证模块14、节点转换模块15及资产分配模块16。
信息处理模块11,用于获取资产分配计划所包括的资产分配信息,根据资产分配信息生成第一默克尔树;第一默克尔树的叶子节点用于表示资产分配信息;
存证处理模块12,用于根据资产分配计划的计划名称及第一默克尔树的根节点数据,生成资产计划存证信息,对资产计划存证信息进行上链处理;
列表获取模块13,用于当资产分配计划满足计划执行条件时,获取第一默克尔树的节点列表;
计划验证模块14,用于根据节点列表生成待验证根数据,从区块链网络中获取根节点数据;
节点转换模块15,用于若待验证根数据与根节点数据相同,则将节点列表转换为资产分配信息;
资产分配模块16,用于基于资产分配信息对资产分配计划所指示的数字资产进行分配处理。
其中,资产分配信息的数量为N,N为正整数;每个资产分配信息包括接收方地址及资产分配数据;资产分配数据用于指示为接收方地址分配的资产的数据量;
该信息处理模块11,包括:
节点构建单元11a,用于将N个资产分配信息分别包括的接收方地址与资产分配数据组成节点对,对N个资产分配信息分别对应的节点对进行父节点构建,得到N个资产分配信息分别对应的第一父节点;
父处理单元11b,用于对N个第一父节点进行父节点构建,得到N个第一父节点所对应的第二父节点;
树确定单元11c,用于若第二父节点的数量为一,则将N个资产分配信息所对应的节点对、第一父节点及第二父节点,组成资产分配信息对应的第一默克尔树;
该节点构建单元11a,还用于若第二父节点的数量不为一,则对第二父节点进行父节点构建。
其中,该存证处理模块12,包括:
存证生成单元12a,用于根据资产分配计划的计划名称及第一默克尔树的根节点数据,生成资产计划存证信息,将资产计划存证信息添加至第一资源客户端;
交易上链单元12b,用于基于资产计划存证信息调用资源管理合约中的计划创建方法,采用第一资源客户端为资产计划存证信息添加计划签名,生成计划创建交易,对计划创建交易进行上链处理。
其中,该装置1100还包括:
资产转移模块17,用于获取资产分配计划所指示的资产数据量及资产转出地址,从资产转出地址所指示的第二资源客户端中,将资产数据量所对应的数字资产转移至第一资产客户端;
资产冻结模块18,用于针对数字资产生成资源冻结交易,对资源冻结交易进行上链处理;资产冻结交易用于表示数字资产无法被使用。
其中,该节点转换模块15,包括:
数据获取单元15a,用于若待验证根数据与根节点数据相同,则获取分配干扰数据,从节点列表中获取地址更新数据及地址更新数据所关联的资产分配数据;
信息确定单元15b,用于将地址更新数据中的分配干扰数据进行分割,得到接收方地址,将接收方地址与地址更新数据所关联的资产分配数据,组成资产分配信息。
其中,该资产分配模块16,包括:
分配确定单元16a,用于获取资产分配计划所对应的资产数据量,基于资产分配信息中的接收方地址所对应的资产分配数据,以及资产数据量,确定接收方地址所对应的待分配数据量;
资产分配单元16b,用于将数字资产中的待分配数据量对应的待分配资产,转移至接收方地址。
其中,该装置1100还包括:
合约构建模块19,用于构建计划执行合约,在计划执行合约中写入计划执行条件及条件检测指令;
参数检测模块20,用于周期性执行条件检测指令,获取与计划执行条件相关联的条件参数,若条件参数与计划执行条件相匹配,则确定资产分配计划满足计划执行条件。
其中,计划执行条件包括计划执行操作;该列表获取模块13,包括:
时间获取单元13a,用于当检测到计划执行操作时,获取计划执行操作的操作时间,获取资产分配计划所对应的分配实施时间信息;
列表获取单元13b,用于若操作时间大于或等于分配实施时间信息,则获取第一默克尔树的节点列表;
计划反馈单元13c,用于若操作时间小于分配实施时间信息,则反馈计划实施失败消息。
其中,该装置1100还包括:
更新获取模块21,用于接收分配更新计划信息及分配更新计划信息所携带的更新签名,确定资产分配计划所对应的关联资源客户端;
第一验签模块22,用于获取关联资源客户端的第一业务公钥,采用第一业务公钥对更新签名进行验签;
树生成模块23,用于若对更新签名验签通过,则根据分配更新计划信息生成第二默克尔树;
计划更新模块24,用于根据第二默克尔树及分配更新计划信息生成更新计划存证信息,对更新计划存证信息进行上链处理。
其中,该装置1100还包括:
状态获取模块25,用于获取分配更新计划信息所对应的资产分配计划的执行状态;
完成反馈模块26,用于若资产分配计划的执行状态为已执行状态,则向分配更新计划信息所对应的请求对象发送计划完成消息;
更新调用模块27,用于若资产分配计划的执行状态为未执行状态,则采用分配更新计划信息调用资源管理合约中的计划更新方法,执行确定资产分配计划所对应的关联资源客户端的过程。
其中,该装置1100还包括:
撤销获取模块28,用于获取针对资产分配计划的计划撤销信息,获取发起计划撤销信息的第三资源客户端;
第二验签模块29,用于获取第三资源客户端的第二业务公钥,采用第二业务公钥对计划撤销信息中的计划撤销签名,以及资产分配计划的计划发起签名进行验签;
计划撤销模块30,用于若对计划撤销签名及计划发起签名均验签通过,则根据计划撤销信息生成计划撤销交易,对计划撤销交易进行上链处理。
其中,该计划撤销模块30,包括:
方法调用单元30a,用于若对计划撤销签名及计划发起签名均验签通过,则基于计划撤销信息调用资源管理合约中的计划撤销方法,获取资源分配计划所关联的分配事件,删除分配事件;
无效存证单元30b,用于针对计划撤销信息生成无效存证,根据无效存证生成计划撤销交易,对计划撤销交易进行上链处理。
本申请实施例提供了一种区块链资产预分配装置,该装置可以获取资产分配计划所包括的资产分配信息,根据资产分配信息生成第一默克尔树;第一默克尔树的叶子节点用于表示资产分配信息;根据资产分配计划的计划名称及第一默克尔树的根节点数据,生成资产计划存证信息,对资产计划存证信息进行上链处理;当资产分配计划满足计划执行条件时,获取第一默克尔树的节点列表,根据节点列表生成待验证根数据,从区块链网络中获取根节点数据;若待验证根数据与根节点数据相同,则将节点列表转换为资产分配信息,基于资产分配信息对资产分配计划所指示的数字资产进行分配处理。通过以上过程,可以对数字资产进行预分配,基于计划执行条件确定资产分配计划的执行时机,使得用户可以提前将需要分配的数字资产的分配方式进行上链存证,并通过根节点数据指示资产分配计划,可以减少需要上链的数据量,且该根节点还可以作为后续资产分配计划执行的验证依据,提高了基于区块链的资产分配的安全性。而且该资产预分配无需实时授权转账,使得该资产预分配容错性更高,而且可以应用到更多的资产转账场景中,如遗留资产分配、项目资产分配、业务对象激励或收益型资产分配等,提高基于区块链的资产管理的适用范围,而且可以提高链上资产管理的实用性及灵活性。
参见图12,图12是本申请实施例提供的一种计算机设备的结构示意图。如图12所示,本申请实施例中的计算机设备可以包括:一个或多个处理器1201、存储器1202和输入输出接口1203。该处理器1201、存储器1202和输入输出接口1203通过总线1204连接。存储器1202用于存储计算机程序,该计算机程序包括程序指令,输入输出接口1203用于接收数据及输出数据,如用于区块链节点之间进行数据交互;处理器1201用于执行存储器1202存储的程序指令。
其中,该处理器1201可以执行如下操作:
获取资产分配计划所包括的资产分配信息,根据资产分配信息生成第一默克尔树;第一默克尔树的叶子节点用于表示资产分配信息;
根据资产分配计划的计划名称及第一默克尔树的根节点数据,生成资产计划存证信息,对资产计划存证信息进行上链处理;
当资产分配计划满足计划执行条件时,获取第一默克尔树的节点列表,根据节点列表生成待验证根数据,从区块链网络中获取根节点数据;
若待验证根数据与根节点数据相同,则将节点列表转换为资产分配信息,基于资产分配信息对资产分配计划所指示的数字资产进行分配处理。
在一些可行的实施方式中,该处理器1201可以是中央处理单元(centralprocessing unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(digitalsignal processor,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现成可编程门阵列(field-programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
该存储器1202可以包括只读存储器和随机存取存储器,并向处理器1201和输入输出接口1203提供指令和数据。存储器1202的一部分还可以包括非易失性随机存取存储器。例如,存储器1202还可以存储设备类型的信息。
具体实现中,该计算机设备可通过其内置的各个功能模块执行如该图4中各个步骤所提供的实现方式,具体可参见该图4中各个步骤所提供的实现方式,在此不再赘述。
本申请实施例通过提供一种计算机设备,包括:处理器、输入输出接口、存储器,通过处理器获取存储器中的计算机程序,执行该图4中所示方法的各个步骤,进行区块链资产预分配操作。本申请实施例实现了获取资产分配计划所包括的资产分配信息,根据资产分配信息生成第一默克尔树;第一默克尔树的叶子节点用于表示资产分配信息;根据资产分配计划的计划名称及第一默克尔树的根节点数据,生成资产计划存证信息,对资产计划存证信息进行上链处理;当资产分配计划满足计划执行条件时,获取第一默克尔树的节点列表,根据节点列表生成待验证根数据,从区块链网络中获取根节点数据;若待验证根数据与根节点数据相同,则将节点列表转换为资产分配信息,基于资产分配信息对资产分配计划所指示的数字资产进行分配处理。通过以上过程,可以对数字资产进行预分配,基于计划执行条件确定资产分配计划的执行时机,使得用户可以提前将需要分配的数字资产的分配方式进行上链存证,并通过根节点数据指示资产分配计划,可以减少需要上链的数据量,且该根节点还可以作为后续资产分配计划执行的验证依据,提高了基于区块链的资产分配的安全性。而且该资产预分配无需实时授权转账,使得该资产预分配容错性更高,而且可以应用到更多的资产转账场景中,如遗留资产分配、项目资产分配、业务对象激励或收益型资产分配等,提高基于区块链的资产管理的适用范围,而且可以提高链上资产管理的实用性及灵活性。
本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序适于由该处理器加载并执行图4中各个步骤所提供的区块链资产预分配方法,具体可参见该图4中各个步骤所提供的实现方式,在此不再赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本申请所涉及的计算机可读存储介质实施例中未披露的技术细节,请参照本申请方法实施例的描述。作为示例,计算机程序可被部署为在一个计算机设备上执行,或者在位于一个地点的多个计算机设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算机设备上执行。
该计算机可读存储介质可以是前述任一实施例提供的区块链资产预分配装置或者该计算机设备的内部存储单元,例如计算机设备的硬盘或内存。该计算机可读存储介质也可以是该计算机设备的外部存储设备,例如该计算机设备上配备的插接式硬盘,智能存储卡(smart media card,SMC),安全数字(secure digital,SD)卡,闪存卡(flash card)等。进一步地,该计算机可读存储介质还可以既包括该计算机设备的内部存储单元也包括外部存储设备。该计算机可读存储介质用于存储该计算机程序以及该计算机设备所需的其他程序和数据。该计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的数据。
本申请实施例还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行图4中的各种可选方式中所提供的方法,实现了对数字资产进行预分配,基于计划执行条件确定资产分配计划的执行时机,使得用户可以提前将需要分配的数字资产的分配方式进行上链存证,并通过根节点数据指示资产分配计划,可以减少需要上链的数据量,且该根节点还可以作为后续资产分配计划执行的验证依据,提高了基于区块链的资产分配的安全性。而且该资产预分配无需实时授权转账,使得该资产预分配容错性更高,而且可以应用到更多的资产转账场景中,如遗留资产分配、项目资产分配、业务对象激励或收益型资产分配等,提高基于区块链的资产管理的适用范围,而且可以提高链上资产管理的实用性及灵活性。
本申请实施例的说明书和权利要求书及附图中的术语“第一”、“第二”等是用于区别不同对象,而非用于描述特定顺序。此外,术语“包括”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、装置、产品或设备没有限定于已列出的步骤或模块,而是可选地还包括没有列出的步骤或模块,或可选地还包括对于这些过程、方法、装置、产品或设备固有的其他步骤单元。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、设备软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在该说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请实施例提供的方法及相关装置是参照本申请实施例提供的方法流程图和/或结构示意图来描述的,具体可由计算机程序指令实现方法流程图和/或结构示意图的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。这些计算机程序指令可提供到通用计算机、专用计算机、嵌入式处理机或其他可编程区块链资产预分配设备的处理器以产生一个机器,使得通过计算机或其他可编程区块链资产预分配设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或结构示意图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程区块链资产预分配设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或结构示意图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程区块链资产预分配设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或结构示意一个方框或多个方框中指定的功能的步骤。
本申请实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。
本申请实施例装置中的模块可以根据实际需要进行合并、划分和删减。
以上所揭露的仅为本申请较佳实施例而已,当然不能以此来限定本申请之权利范围,因此依本申请权利要求所作的等同变化,仍属本申请所涵盖的范围。
Claims (16)
1.一种区块链资产预分配方法,其特征在于,所述方法包括:
获取资产分配计划所包括的资产分配信息,根据所述资产分配信息生成第一默克尔树;所述第一默克尔树的叶子节点用于表示所述资产分配信息;
根据所述资产分配计划的计划名称及所述第一默克尔树的根节点数据,生成资产计划存证信息,对所述资产计划存证信息进行上链处理;
当所述资产分配计划满足计划执行条件时,获取所述第一默克尔树的节点列表,根据所述节点列表生成待验证根数据,从区块链网络中获取所述根节点数据;
若所述待验证根数据与所述根节点数据相同,则将所述节点列表转换为所述资产分配信息,基于所述资产分配信息对所述资产分配计划所指示的数字资产进行分配处理。
2.如权利要求1所述的方法,其特征在于,所述资产分配信息的数量为N,N为正整数;每个资产分配信息包括接收方地址及资产分配数据;所述资产分配数据用于指示为所述接收方地址分配的资产的数据量;
所述获取资产分配计划所包括的资产分配信息,根据所述资产分配信息生成第一默克尔树,包括:
将所述N个资产分配信息分别包括的接收方地址与资产分配数据组成节点对,对所述N个资产分配信息分别对应的节点对进行父节点构建,得到所述N个资产分配信息分别对应的第一父节点;
对N个第一父节点进行父节点构建,得到所述N个第一父节点所对应的第二父节点;
若所述第二父节点的数量为一,则将所述N个资产分配信息所对应的节点对、第一父节点及第二父节点,组成所述资产分配信息对应的第一默克尔树;
若所述第二父节点的数量不为一,则对所述第二父节点进行父节点构建。
3.如权利要求1所述的方法,其特征在于,所述根据所述资产分配计划的计划名称及所述第一默克尔树的根节点数据,生成资产计划存证信息,对所述资产计划存证信息进行上链处理,包括:
根据所述资产分配计划的计划名称及所述第一默克尔树的根节点数据,生成资产计划存证信息,将所述资产计划存证信息添加至第一资源客户端;
基于所述资产计划存证信息调用资源管理合约中的计划创建方法,采用所述第一资源客户端为所述资产计划存证信息添加计划签名,生成计划创建交易,对所述计划创建交易进行上链处理。
4.如权利要求3所述的方法,其特征在于,所述方法还包括:
获取所述资产分配计划所指示的资产数据量及资产转出地址,从所述资产转出地址所指示的第二资源客户端中,将所述资产数据量所对应的数字资产转移至所述第一资产客户端;
针对所述数字资产生成资源冻结交易,对所述资源冻结交易进行上链处理;所述资产冻结交易用于表示所述数字资产无法被使用。
5.如权利要求1所述的方法,其特征在于,所述若所述待验证根数据与所述根节点数据相同,则将所述节点列表转换为所述资产分配信息,包括:
若所述待验证根数据与所述根节点数据相同,则获取分配干扰数据,从所述节点列表中获取地址更新数据及所述地址更新数据所关联的资产分配数据;
将所述地址更新数据中的所述分配干扰数据进行分割,得到接收方地址,将所述接收方地址与所述地址更新数据所关联的资产分配数据,组成所述资产分配信息。
6.如权利要求1所述的方法,其特征在于,所述基于所述资产分配信息对所述资产分配计划所指示的数字资产进行分配处理,包括:
获取所述资产分配计划所对应的资产数据量,基于所述资产分配信息中的接收方地址所对应的资产分配数据,以及所述资产数据量,确定所述接收方地址所对应的待分配数据量;
将所述数字资产中的所述待分配数据量对应的待分配资产,转移至所述接收方地址。
7.如权利要求1所述的方法,其特征在于,所述方法还包括:
构建计划执行合约,在所述计划执行合约中写入所述计划执行条件及条件检测指令;
周期性执行所述条件检测指令,获取与所述计划执行条件相关联的条件参数,若所述条件参数与所述计划执行条件相匹配,则确定所述资产分配计划满足计划执行条件。
8.如权利要求1所述的方法,其特征在于,所述计划执行条件包括计划执行操作;所述当所述资产分配计划满足计划执行条件时,获取所述第一默克尔树的节点列表,包括:
当检测到所述计划执行操作时,获取所述计划执行操作的操作时间,获取所述资产分配计划所对应的分配实施时间信息;
若所述操作时间大于或等于所述分配实施时间信息,则获取所述第一默克尔树的节点列表;
若所述操作时间小于所述分配实施时间信息,则反馈计划实施失败消息。
9.如权利要求1所述的方法,其特征在于,所述方法还包括:
接收分配更新计划信息及所述分配更新计划信息所携带的更新签名,确定所述资产分配计划所对应的关联资源客户端;
获取所述关联资源客户端的第一业务公钥,采用所述第一业务公钥对所述更新签名进行验签,若对所述更新签名验签通过,则根据所述分配更新计划信息生成第二默克尔树;
根据所述第二默克尔树及所述分配更新计划信息生成更新计划存证信息,对所述更新计划存证信息进行上链处理。
10.如权利要求9所述的方法,其特征在于,所述方法还包括:
获取所述分配更新计划信息所对应的所述资产分配计划的执行状态;
若所述资产分配计划的执行状态为已执行状态,则向所述分配更新计划信息所对应的请求对象发送计划完成消息;
若所述资产分配计划的执行状态为未执行状态,则采用所述分配更新计划信息调用资源管理合约中的计划更新方法,执行所述确定所述资产分配计划所对应的关联资源客户端的过程。
11.如权利要求1所述的方法,其特征在于,所述方法还包括:
获取针对所述资产分配计划的计划撤销信息,获取发起所述计划撤销信息的第三资源客户端;
获取所述第三资源客户端的第二业务公钥,采用所述第二业务公钥对所述计划撤销信息中的计划撤销签名,以及所述资产分配计划的计划发起签名进行验签;
若对所述计划撤销签名及所述计划发起签名均验签通过,则根据所述计划撤销信息生成计划撤销交易,对所述计划撤销交易进行上链处理。
12.如权利要求11所述的方法,其特征在于,所述若对所述计划撤销签名及所述计划发起签名均验签通过,则根据所述计划撤销信息生成计划撤销交易,对所述计划撤销交易进行上链处理,包括:
若对所述计划撤销签名及所述计划发起签名均验签通过,则基于所述计划撤销信息调用资源管理合约中的计划撤销方法,获取所述资源分配计划所关联的分配事件,删除所述分配事件;
针对所述计划撤销信息生成无效存证,根据所述无效存证生成计划撤销交易,对所述计划撤销交易进行上链处理。
13.一种区块链资产预分配装置,其特征在于,所述装置包括:
信息处理模块,用于获取资产分配计划所包括的资产分配信息,根据所述资产分配信息生成第一默克尔树;所述第一默克尔树的叶子节点用于表示所述资产分配信息;
存证处理模块,用于根据所述资产分配计划的计划名称及所述第一默克尔树的根节点数据,生成资产计划存证信息,对所述资产计划存证信息进行上链处理;
列表获取模块,用于当所述资产分配计划满足计划执行条件时,获取所述第一默克尔树的节点列表;
计划验证模块,用于根据所述节点列表生成待验证根数据,从区块链网络中获取所述根节点数据;
节点转换模块,用于若所述待验证根数据与所述根节点数据相同,则将所述节点列表转换为所述资产分配信息;
资产分配模块,用于基于所述资产分配信息对所述资产分配计划所指示的数字资产进行分配处理。
14.一种计算机设备,其特征在于,包括处理器、存储器、输入输出接口;
所述处理器分别与所述存储器和所述输入输出接口相连,其中,所述输入输出接口用于接收数据及输出数据,所述存储器用于存储计算机程序,所述处理器用于调用所述计算机程序,以使得所述计算机设备执行权利要求1-12任一项所述的方法。
15.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序适于由处理器加载并执行,以使得具有所述处理器的计算机设备执行权利要求1-12任一项所述的方法。
16.一种计算机程序产品,包括计算机程序/指令,其特征在于,所述计算机程序/指令被处理器执行时实现权利要求1-12任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311439172.4A CN117436861A (zh) | 2023-10-31 | 2023-10-31 | 区块链资产预分配方法、装置、设备、存储介质及程序 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311439172.4A CN117436861A (zh) | 2023-10-31 | 2023-10-31 | 区块链资产预分配方法、装置、设备、存储介质及程序 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117436861A true CN117436861A (zh) | 2024-01-23 |
Family
ID=89556466
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311439172.4A Pending CN117436861A (zh) | 2023-10-31 | 2023-10-31 | 区块链资产预分配方法、装置、设备、存储介质及程序 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117436861A (zh) |
-
2023
- 2023-10-31 CN CN202311439172.4A patent/CN117436861A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10708060B2 (en) | System and method for blockchain-based notification | |
CN110599181B (zh) | 基于区块链的数据处理方法、装置和设备及存储介质 | |
CN115210741B (zh) | 部分有序的区块链 | |
CN110633963B (zh) | 电子票据处理方法、装置、计算机可读存储介质和设备 | |
CN110769035B (zh) | 一种区块链资产发行方法、平台、业务节点及存储介质 | |
CN111294379B (zh) | 区块链网络服务平台及其权限托管方法、存储介质 | |
CN108769230B (zh) | 交易数据存储方法、装置、服务器及存储介质 | |
AU2021254870B2 (en) | Faster view change for blockchain | |
CN112632629B (zh) | 基于区块链的投票管理方法、装置、介质及电子设备 | |
AU2019380381A1 (en) | Smart logistics management using blockchain | |
CN113256297B (zh) | 基于区块链的数据处理方法、装置、设备及可读存储介质 | |
CN111311211A (zh) | 一种基于区块链的数据处理方法以及设备 | |
CN111488372A (zh) | 一种数据处理方法、设备及存储介质 | |
CN111416709A (zh) | 基于区块链系统的投票方法、装置、设备及存储介质 | |
CN110955699A (zh) | 一种去中心化的电子学历证书查验方法及系统 | |
CN112231755A (zh) | 一种基于区块链的数据授权方法、装置及系统 | |
CN115701078B (zh) | 跨链交易处理方法、装置、电子设备以及存储介质 | |
CN111008251A (zh) | 一种数据处理方法以及设备 | |
CN116684160A (zh) | 一种公益诉讼数据安全共享与隐私保护方法和系统 | |
CN116866340A (zh) | 基于区块链的产能共享协作方法、装置、设备及存储介质 | |
CN117436861A (zh) | 区块链资产预分配方法、装置、设备、存储介质及程序 | |
CN112036884A (zh) | 一种签名方法及相关设备 | |
CN117061089B (zh) | 一种投票管理方法、装置、设备及存储介质 | |
CN116760632B (zh) | 数据处理方法、装置、设备及可读存储介质 | |
CN118133306B (zh) | 基于区块链的司法数据处理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |