CN110263580B - 基于区块链的数据处理方法、装置和区块链节点 - Google Patents

基于区块链的数据处理方法、装置和区块链节点 Download PDF

Info

Publication number
CN110263580B
CN110263580B CN201910355481.0A CN201910355481A CN110263580B CN 110263580 B CN110263580 B CN 110263580B CN 201910355481 A CN201910355481 A CN 201910355481A CN 110263580 B CN110263580 B CN 110263580B
Authority
CN
China
Prior art keywords
data
transaction
attestation
blockchain
proof
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
Application number
CN201910355481.0A
Other languages
English (en)
Other versions
CN110263580A (zh
Inventor
刘正
李漓春
殷山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Advanced New Technologies Co Ltd
Advantageous New Technologies Co Ltd
Original Assignee
Advanced New Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Advanced New Technologies Co Ltd filed Critical Advanced New Technologies Co Ltd
Priority to CN201910355481.0A priority Critical patent/CN110263580B/zh
Publication of CN110263580A publication Critical patent/CN110263580A/zh
Priority to PCT/CN2020/070628 priority patent/WO2020220744A1/zh
Priority to TW109100734A priority patent/TW202040460A/zh
Priority to US16/776,067 priority patent/US11115188B2/en
Application granted granted Critical
Publication of CN110263580B publication Critical patent/CN110263580B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5017Task decomposition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5018Thread allocation

Abstract

本说明书实施例提供一种基于区块链的数据处理方法、装置和区块链节点。所述方法包括:获取待处理的交易数据;在所述交易数据中包含多个证明数据的条件下,调用部署在所述区块链中的验证程序,以并行验证所述多个证明数据。本说明书实施例的基于区块链的数据处理方法、装置和区块链节点,可以实现并行验证交易数据中的多个证明数据,从而能够加快交易数据的处理速度,提高区块链的整体吞吐量。

Description

基于区块链的数据处理方法、装置和区块链节点
技术领域
本说明书实施例涉及计算机技术领域,特别涉及一种基于区块链的数据处理方法、装置和区块链节点。
背景技术
区块链技术是一种分布式数据库技术,利用密码学和共识机制保证了数据的不可篡改和不可伪造。随着计算机和互联网技术的发展,区块链技术以其去中心化、公开透明、不可篡改、可信任等优点,备受青睐,在智能合约、证券交易、电子商务、物联网、社交通讯、文件存储、存在性证明、身份验证、股权众筹等众多领域得到广泛应用。
在相关技术中,区块链可以具有隐私保护功能。交易数据中包含的是密文数据,例如输入资产的密文数据、输出资产的密文数据、交易额密文数据等等。在这种情况下,交易数据中通常还包括一个或多个证明数据。
区块链网络中的共识区块链节点在处理交易数据时,通常是对该交易数据中的一个或多个证明数据进程串行验证的。验证证明数据所花费的时间通常较长。这样会降低交易数据的处理速度,影响区块链的整体吞吐量。
发明内容
本说明书实施例的目的是提供一种基于区块链的数据处理方法、装置和区块链节点,以加快交易数据的处理速度。
为实现上述目的,本说明书中一个或多个实施例提供的技术方案如下。
根据本说明书一个或多个实施例的第一方面,提供了一种基于区块链的数据处理方法,应用于共识区块链节点,包括:获取待处理的交易数据;在所述交易数据中包含多个证明数据的条件下,调用部署在所述区块链中的验证程序,以并行验证所述多个证明数据。
根据本说明书一个或多个实施例的第二方面,提供了一种基于区块链的数据处理装置,应用于共识区块链节点,包括:获取单元,用于获取待处理的交易数据;验证单元,用于在所述交易数据中包含多个证明数据的条件下,调用部署在所述区块链中的验证程序,以并行验证所述多个证明数据。
根据本说明书一个或多个实施例的第三方面,提供了一种区块链节点,包括:存储器,用于存储计算机指令;处理器,用于执行所述计算机指令以实现如第一方面所述的方法步骤。
由以上本说明书实施例提供的技术方案可见,本说明书实施例中,共识区块链节点可以获取待处理的交易数据;在所述交易数据中包含多个证明数据的条件下,可以调用部署在所述区块链中的验证程序,以并行验证所述多个证明数据。这样通过部署在区块链中的验证程序,可以实现并行验证交易数据中的多个证明数据,从而能够加快交易数据的处理速度,提高区块链的整体吞吐量。
附图说明
为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本说明书实施例一种数据处理方法的流程图;
图2为本说明书实施例一种采用多进程的方式并行验证多个证明数据的示意图;
图3为本说明书实施例一种采用多线程的方式并行验证多个证明数据的示意图;
图4为本说明书实施例一种区块链网络的示意图;
图5为本说明书实施例一种处理交易数据的示意图;
图6为本说明书实施例一种数据处理装置的示意图;
图7为本说明书实施例一种区块链节点的示意图。
具体实施方式
下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本说明书保护的范围。
本说明书实施例提供一种基于区块链的数据处理系统。多个用户个体、群体、或机构之间可以基于区块链技术建立区块链,从而加入所述区块链并成为其中的成员。所述区块链可以是一种按照时间先后顺序,将多个数据区块以链式结构进行组织,并以密码学算法保证安全、可追溯、且不可篡改的分布式账本。所述区块链例如可以为公有区块链、联合区块链(也称为联盟区块链)或私有区块链等。所述区块链可以采用UTXO(UnspentTransaction Output,未花费的交易输出)模型来实现;或者,还可以采用账户模型来实现。
所述数据处理系统可以包括区块链网络。所述区块链网络可以包括P2P网络(peer-to-peer network)等。所述区块链网络可以包括多个区块链节点。加入所述区块链的每个成员可以包括所述区块链网络中的至少一个区块链节点。所述数据处理系统还可以包括区块链客户端。每个区块链客户端可以对应至少一个区块链节点,每个区块链节点可以对应至少一个区块链客户端。具有对应关系的区块链客户端和区块链节点可以隶属于同一成员。所述区块链客户端例如可以为业务服务器、手机、平板电脑、或个人电脑等设备;或者,也可以是由多台设备组成的系统,例如由多个业务服务器组成的服务器集群。
基于所述数据处理系统,本说明书提供数据处理方法的一个实施例。请参阅图1,该实施例以共识区块链节点为执行主体,可以包括以下步骤。
步骤S11:获取待处理的交易数据。
在一些实施例中,用户可以通过区块链客户端创建交易数据。所述区块链客户端可以向对应的区块链节点发送创建的交易数据。所述区块链节点可以接收交易数据;可以将所述交易数据存入自身的交易池中;可以向所述区块链网络广播所述交易数据,以便于所述区块链网络中的其它区块链节点能够接收到所述交易数据并将其存入自身的交易池中。所述交易数据可以包括狭义的交易数据和广义的交易数据。狭义的交易数据包括能够实现价值转移的交易数据,例如转账交易的交易数据。广义的交易数据包括能够实现业务意图的业务数据,例如租房、存证、车辆调度、保险理赔等业务的业务数据。
所述区块链可以具有隐私保护功能,例如可以对账户余额、交易额、交易的输入、交易的输出等进行隐私保护。因而所述交易数据中可以包含密文数据。例如,在所述区块链采用UTXO模型实现时,所述交易数据中可以包含至少一个输入资产的密文数据和至少一个输出资产的密文数据。这里的资产可以理解为数字货币,诸如比特币、门罗币等等。在所述区块链采用账户模型实现时,所述交易数据可以包含交易额的密文数据。鉴于所述交易数据中的数据为密文数据,因而所述交易数据中还可以包含至少一个证明数据。例如,在所述区块链采用UTXO模型实现时,所述证明数据可以包括以下至少一种:第一证明数据,所述第一证明数据用于验证:交易的输入资产存在且未被使用过;第二证明数据,所述第二证明数据用于验证:发起方拥有使用交易的输入资产的权限;第三证明数据,所述第三证明数据用于验证:交易中的输入资产与输出资产相等。在所述区块链采用账户模型实现时,所述证明数据可以包括以下至少一种:第四证明数据,所述第四证明数据用于验证:交易额不小于0;第五证明数据,所述第五证明数据用于验证:交易额不大于发起方的账户余额。其中,所述证明数据可以包括零知识证明数据(Zero Knowledge Proof)。所述零知识证明数据可以基于零知识证明技术实现。基于所述零知识证明技术,证明者能够在不向验证者提供任何有用的信息的情况下,使验证者相信某个论断是正确的。所述零知识证明技术例如可以基于zkSNARK方案实现。所述零知识证明技术还可以进一步包括区间证明技术(Range Proof)。基于所述区间证明技术,证明者能够在不向验证者提供任何有用的信息的情况下,使验证者相信某一数字在某一合理区间内。所述区间证明技术例如可以基于Bulletproofs方案或Borromean环签名方案实现。
在一些实施例中,当满足共识触发条件(例如经过特定时间周期)时,所述区块链网络中的各区块链节点可以基于共识机制,选举出一个区块链节点作为共识区块链节点。在实际应用中,所述共识机制可以基于工作量证明(Proof of Work,POW)、权益证明(Proofof Stake,POS)、股份授权证明(Delegated Proof of Stake,DPOS)、或拜占庭容错(Practical Byzantine Fault Tolerance,PBFT)等算法实现。所述共识区块链节点可以从交易池中获取至少一个待处理的交易数据。获取的交易数据中可以包含一个或多个证明数据。
步骤S13:在所述交易数据中包含多个证明数据的条件下,调用部署在所述区块链中的验证程序,以并行验证所述多个证明数据。
在一些实施例中,所述区块链中可以部署有验证程序。所述验证程序的输入参数可以包括交易数据中的多个证明数据。通过调用所述验证程序,可以实现并行验证交易数据中的多个证明数据。在所述区块链采用UTXO模型实现时,所述验证程序可以为区块链中的脚本。在所述区块链采用账户模型实现时,所述验证程序可以为区块链中的智能合约。所述智能合约可以是原生的智能合约;或者,还可以是自定义的智能合约。自定义的智能合约可以是业务人员通过代码构建的智能合约。
在一些实施例中,所述共识区块链节点可以处理所述至少一个交易数据;在处理完成以后,可以创建包含所述至少一个交易数据的数据区块;可以将创建的数据区块作为新的数据区块存储至区块链上。为了避免发生交易冲突,所述共识区块链节点是对所述至少一个交易数据进行串行处理的。所述共识区块链节点处理交易数据的过程例如可以包括:验证证明数据、更新账户余额、更新账户资产等等。此外,在处理每个交易数据的过程中,在该交易数据中包含多个证明数据的条件下,所述共识区块链节点可以以所述多个证明数据为输入参数,调用部署在所述区块链中的验证程序,以并行验证所述多个证明数据,加快交易数据的处理速度,提高区块链的整体吞吐量;在该交易数据中包含一个证明数据的条件下,所述共识区块链节点可以直接验证该证明数据。值得说明的是,所述共识区块链节点可以从所述区块链中获取所述验证程序;可以在本地执行所述验证程序,从而实现对所述验证程序的调用。
请参阅图2。在本实施例的一个实施方式中,通过调用部署在所述区块链中的验证程序,所述共识区块链节点可以采用多进程的方式并行验证交易数据中的多个证明数据。具体地,根据所述交易数据中证明数据的数量,所述共识区块链节点的主进程可以创建多个子进程。每个子进程可以验证所述多个证明数据中的至少一个证明数据。创建的子进程的数量可以小于或等于所述交易数据中证明数据的数量。至于创建几个子进程可以根据所述区块链节点的计算能力和交易数据的处理时效性需求综合考虑。在所述交易数据中的证明数据均验证完成以后,所述主进程还可以销毁创建的多个子进程。由于所述多个子进程是能够并行执行的,这样便可以实现并行验证所述交易数据中的多个证明数据。值得说明的是,进程是资源(CPU、内存等)分配的基本单位。一个进程可以包括至少一个线程,线程间共享进程的所有资源。一个线程通常隶属于一个进程。在本实施方式中步骤S11的执行主体可以理解为所述共识区块链节点的主进程。
在一个场景示例中,所述主进程可以将所述交易数据中的多个证明数据一次性分配给创建的多个子进程。每个子进程可以获得所述主进程分配给自身的至少一个证明数据;可以验证分配给自身的证明数据;可以向所述主进程反馈验证结果。例如,所述交易数据中可以包含N个证明数据,N为大于1的自然数。所述主进程可以创建N个子进程;可以为每个子进程分配一个证明数据。每个子进程可以获得所述主进程分配给自身的证明数据;可以验证分配给自身的证明数据;可以向所述主进程反馈验证结果。另举一例,所述交易数据中可以包含N个证明数据,N为大于1的自然数。所述主进程可以创建M个子进程,M为小于N的自然数。所述主进程可以从所述M个子进程中选取一个或多个子进程,可以为选取的子进程分配多个证明数据;可以为剩余的子进程分配一个证明数据。每个子进程可以获得所述主进程分配给自身的证明数据;可以验证分配给自身的证明数据;可以向所述主进程反馈验证结果。
在另一个场景示例中,所述主进程可以将所述交易数据中的多个证明数据动态地分配给创建的多个子进程。具体地,所述主进程可以为每个子进程分配一个证明数据。每个子进程可以获得所述主进程分配给自身的证明数据;可以验证分配给自身的证明数据;可以向所述主进行反馈验证结果。所述主进程在接收到子进程反馈的验证结果以后,可以从剩余的未经验证的证明数据中选取一个证明数据;可以为该子进程分配选取的子证明数据。该子进程可以获得所述主进程分配给自身的证明数据;可以继续验证分配给自身的证明数据;可以继续向所述主进程反馈验证结果;直至所述交易数据中的证明数据均验证完成为止。这样可以实现证明数据的动态分配,加快证明数据的验证速度。
请参阅图3。在本实施例的另一个实施方式中,通过调用部署在所述区块链中的验证程序,所述共识区块链节点可以采用多线程的方式并行验证交易数据中的多个证明数据。具体地,根据所述交易数据中证明数据的数量,所述共识区块链节点的主线程可以创建多个子线程。每个子线程可以验证所述多个证明数据中的至少一个证明数据。创建的子线程的数量可以小于或等于所述交易数据中证明数据的数量。至于创建几个子线程可以根据所述区块链节点的计算能力和交易数据的处理时效性需求综合考虑。在所述交易数据中的证明数据均验证完成以后,所述主线程还可以销毁创建的多个子线程。由于所述多个子线程是能够并行执行的,这样便可以实现并行验证所述交易数据中的多个证明数据。值得说明的是,在本实施方式中步骤S11的执行主体可以理解为所述共识区块链节点的主线程。
在一个场景示例中,所述主线程可以将所述交易数据中的多个证明数据一次性分配给创建的多个子线程。每个子线程可以获得所述主线程分配给自身的至少一个证明数据;可以验证分配给自身的证明数据;可以向所述主线程反馈验证结果。例如,所述交易数据中可以包含N个证明数据,N为大于1的自然数。所述主线程可以创建N个子线程;可以为每个子线程分配一个证明数据。每个子线程可以获得所述主线程分配给自身的证明数据;可以验证分配给自身的证明数据;可以向所述主线程反馈验证结果。另举一例,所述交易数据中可以包含N个证明数据,N为大于1的自然数。所述主线程可以创建Y个子线程,Y为小于N的自然数。所述主线程可以从所述Y个子线程中选取一个或多个子线程,可以为选取的子线程分配多个证明数据;可以为剩余的子线程分配一个证明数据。每个子线程可以获得所述主线程分配给自身的证明数据;可以验证分配给自身的证明数据;可以向所述主线程反馈验证结果。
在另一个场景示例中,所述主线程可以将所述交易数据中的多个证明数据动态地分配给创建的多个子线程。具体地,所述主线程可以为每个子线程分配一个证明数据。每个子线程可以获得所述主线程分配给自身的证明数据;可以验证分配给自身的证明数据;可以向所述主进行反馈验证结果。所述主线程在接收到子线程反馈的验证结果以后,可以从剩余的未经验证的证明数据中选取一个证明数据;可以为该子线程分配选取的子证明数据。该子线程可以获得所述主线程分配给自身的证明数据;可以继续验证分配给自身的证明数据;可以向所述主线程反馈验证结果。这样可以实现证明数据的动态分配,加快证明数据的验证速度。
本实施例的数据处理方法,共识区块链节点可以获取待处理的交易数据;在所述交易数据中包含多个证明数据的条件下,可以调用部署在所述区块链中的验证程序,以并行验证所述多个证明数据。这样通过部署在区块链中的验证程序,可以实现并行验证交易数据中的多个证明数据,从而能够加快交易数据的处理速度,提高区块链的整体吞吐量。
请参阅图4和图5。下面介绍本说明书实施例的一个场景示例。
在本场景示例中,所述区块链可以具有隐私保护功能。所述区块链可以基于UTXO模型来实现。所述区块链中可以部署有验证脚本。区块链网络可以包括区块链节点BCnode-A1、BCnode-A2、BCnode-B1和BCnode-B2。区块链节点BCnode-A1和BCnode-A2可以隶属于机构A。区块链节点BCnode-B1和BCnode-B2可以隶属于机构B。机构A在所述区块链中的账户可以表示为地址AddressA,机构B在所述区块链中的账户可以表示为地址AddressB。
地址AddressA拥有的数字货币的数量可以为100,地址AddressB拥有的数字货币的数量可以为10。由于所述区块链可以具有隐私保护功能,因而地址AddressA拥有的资产数量可以表示为100个数字货币的密文数据,地址AddressB拥有的资产数量可以表示为10个数字货币的密文数据。
在本场景示例中,当满足共识触发条件(例如经过特定时间周期)时,所述区块链网络中的各区块链节点可以基于共识机制,选举出区块链节点BCnode-A1作为共识区块链节点。共识区块链节点BCnode-A1可以从交易池中获取待处理的交易数据TX1、TX2和TX3。
交易数据TX1用于实现从地址AddressA向地址AddressB转账3.5个数字货币。交易数据TX1的输入资产可以包括3个数字货币和1.5个数字货币。交易数据TX1的输出资产可以包括3.5个数字货币和1个数字货币。其中,输出资产中的3.5个数字货币用于向地址AddressB转账,输出资产中的1个数字货币用于向地址AddressA找零。由于所述区块链可以具有隐私保护功能,因而交易数据TX1可以包括:输入资产中的3个数字货币的密文数据、输入资产中的1.5个数字货币的密文数据、输出资产中的3.5个数字货币的密文数据、输出资产中的1个数字货币的密文数据、零知识证明数据Proof1、零知识证明数据Proof2、零知识证明数据Proof3、零知识证明数据Proof4、零知识证明数据Proof5。其中,零知识证明数据Proof1用于验证:输入资产中的3个数字货币存在且未被使用过。零知识证明数据Proof2用于验证:输入资产中的1.5个数字货币存在且未被使用过。零知识证明数据Proof3用于验证:地址AddressA拥有使用输入资产中的3个数字货币的权限。零知识证明数据Proof4用于验证:地址AddressA拥有使用输入资产中的1个数字货币的权限。零知识证明数据Proof5用于验证:输入资产与输出资产相等。
交易数据TX2和TX3中所包含的数据与交易数据TX1相类似,在此不再赘述。
在本场景示例中,在处理交易数据TX1的过程中,共识区块链节点BCnode-A1可以以零知识证明数据Proof1、零知识证明数据Proof2、零知识证明数据Proof3、零知识证明数据Proof4、零知识证明数据Proof5为输入参数,调用部署在所述区块链中的验证脚本,实现并行验证零知识证明数据Proof1、零知识证明数据Proof2、零知识证明数据Proof3、零知识证明数据Proof4、零知识证明数据Proof5。执行所述验证脚本的具体过程如下。
共识区块链节点BCnode-A1的主线程可以创建5个子线程Thread1、Thread2、Thread4和Thread5;可以将零知识证明数据Proof1分配给子线程Thread1;可以将零知识证明数据Proof2分配给子线程Thread2;可以将零知识证明数据Proof3分配给子线程Thread3;可以将零知识证明数据Proof4分配给子线程Thread4;可以将零知识证明数据Proof5分配给子线程Thread5。子线程Thread1可以获得所述主线程分配的零知识证明数据Proof1;可以验证零知识证明数据Proof1;可以向所述主线程反馈验证成功的信息。子线程Thread2可以获得所述主线程分配的零知识证明数据Proof2;可以验证零知识证明数据Proof2;可以向所述主线程反馈验证成功的信息。子线程Thread3可以获得所述主线程分配的零知识证明数据Proof3;可以验证零知识证明数据Proof3;可以向所述主线程反馈验证成功的信息。子线程Thread4可以获得所述主线程分配的零知识证明数据Proof4;可以验证零知识证明数据Proof4;可以向所述主线程反馈验证成功的信息。子线程Thread5可以获得所述主线程分配的零知识证明数据Proof5;可以验证零知识证明数据Proof5;可以向所述主线程反馈验证成功的信息。所述主线程在获得子线程Thread1、Thread2、Thread4和Thread5反馈的验证成功的信息以后,可以销毁子线程Thread1、Thread2、Thread4和Thread5。之后,共识区块链节点BCnode-A1可以更新地址AddressA拥有的资产数量;可以更新地址AddressB拥有的资产数量。
交易数据TX2和TX3的处理过程与交易数据TX1的处理过程相类似,在此不再赘述。
在本场景示例中,共识区块链节点BCnode-A1可以创建包含交易数据TX1、TX2和TX3的数据区块;可以将创建的数据区块作为新的数据区块存储至区块链上。
下面介绍本说明书数据处理装置的一个实施例。请参阅图6。该实施例可以应用于区块链节点,具体可以包括以下单元。
获取单元21,用于获取待处理的交易数据;
验证单元23,用于在所述交易数据中包含多个证明数据的条件下,调用部署在所述区块链中的验证程序,以并行验证所述多个证明数据。
下面介绍本说明书区块链节点的一个实施例。图7是该实施例中一种区块链节点的硬件结构示意图。如图7所示,所述区块链节点可以包括一个或多个(图中仅示出一个)处理器、存储器和传输模块。当然,本领域普通技术人员可以理解,图7所示的硬件结构仅为示意,其并不对上述区块链节点的硬件结构造成限定。在实际中所述区块链节点还可以包括比图7所示更多或者更少的组件单元;或者,具有与图7所示不同的配置。
所述存储器可以包括高速随机存储器;或者,还可以包括非易失性存储器,例如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。当然,所述存储器还可以包括远程设置的网络存储器。所述远程设置的网络存储器可以通过诸如互联网、企业内部网、局域网、移动通信网等网络连接至所述区块链节点。所述存储器可以用于存储应用软件的程序指令或模块,例如本说明书实施例中数据处理方法对应的程序指令或模块。
所述处理器可以按任何适当的方式实现。例如,所述处理器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific IntegratedCircuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式等等。所述处理器可以读取并执行所述存储器中的程序指令或模块。
所述传输模块可以用于经由网络进行数据传输,例如经由诸如互联网、企业内部网、局域网、移动通信网等网络进行数据传输。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同或相似的部分互相参见即可,每个实施例重点说明的都是与其它实施例的不同之处。尤其,对于装置实施例和区块链节点实施例而言,由于其基本相似于数据处理方法实施例,所以描述的比较简单,相关之处参见数据处理方法实施例的部分说明即可。
另外,可以理解的是,本领域技术人员在阅读本说明书文件之后,可以无需创造性劳动想到将本说明书列举的部分或全部实施例进行任意组合,这些组合也在本说明书公开和保护的范围内。
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(Field Programmable GateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片2。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware DescriptionLanguage)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(RubyHardware Description Language)等,目前最普遍使用的是VHDL(Very-High-SpeedIntegrated Circuit Hardware Description Language)与Verilog2。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本说明书可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本说明书的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本说明书各个实施例或者实施例的某些部分所述的方法。
本说明书可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。
本说明书可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
虽然通过实施例描绘了本说明书,本领域普通技术人员知道,本说明书有许多变形和变化而不脱离本说明书的精神,希望所附的权利要求包括这些变形和变化而不脱离本说明书的精神。

Claims (11)

1.一种基于区块链的数据处理方法,应用于共识区块链节点,包括:
获取待处理的多个交易数据,所述交易数据中包含至少一个输入资产的密文数据和至少一个输出资产的密文数据;
对所述多个交易数据进行串行处理,在处理每个交易数据的过程中,若该交易数据中包含多个证明数据,调用部署在所述区块链中的验证程序,以并行验证所述多个证明数据;
所述区块链基于UTXO模型实现,所述证明数据包括以下至少一种:第一证明数据、第二证明数据、第三证明数据,所述第一证明数据用于验证:交易的输入资产存在且未被使用过,所述第二证明数据用于验证:发起方拥有使用交易的输入资产的权限,所述第三证明数据用于验证:交易的输入资产与输出资产相等;
或者,所述区块链基于账户模型实现,所述证明数据包括以下至少一种:第四证明数据、第五证明数据,所述第四证明数据用于验证:交易额不小于0,所述第五证明数据用于验证:交易额不大于发起方的账户余额。
2.如权利要求1所述的方法,所述证明数据包括零知识证明数据。
3.如权利要求1所述的方法,所述区块链基于UTXO模型实现,所述验证程序包括脚本;或者,所述区块链基于账户模型实现,所述验证程序包括智能合约。
4.如权利要求1所述的方法,所述调用部署在所述区块链中的验证程序,以并行验证所述多个证明数据,包括:
创建多个子进程;
每个子进程验证所述多个证明数据中的至少一个证明数据。
5.如权利要求4所述的方法,所述方法还包括:
为每个子进程分配至少一个证明数据;
所述每个子进程验证所述多个证明数据中的至少一个证明数据,包括:
每个子进程验证自身的证明数据。
6.如权利要求4所述的方法,创建的子进程的数量小于或等于所述交易数据中证明数据的数量。
7.如权利要求1所述的方法,所述调用部署在所述区块链中的验证程序,以并行验证所述多个证明数据,包括:
创建多个子线程;
每个子线程验证所述多个证明数据中的至少一个证明数据。
8.如权利要求7所述的方法,所述方法还包括:
为每个子线程分配至少一个证明数据;
所述每个子线程验证所述多个证明数据中的至少一个证明数据,包括:
每个子线程验证自身的证明数据。
9.如权利要求4所述的方法,创建的子线程的数量小于或等于所述交易数据中证明数据的数量。
10.一种基于区块链的数据处理装置,应用于共识区块链节点,包括:
获取单元,用于获取待处理的多个交易数据,所述交易数据中包含至少一个输入资产的密文数据和至少一个输出资产的密文数据;
处理单元,用于对所述多个交易数据进行串行处理,在处理每个交易数据的过程中,若该交易数据中包含多个证明数据,调用部署在所述区块链中的验证程序,以并行验证所述多个证明数据;
所述区块链基于UTXO模型实现,所述证明数据包括以下至少一种:第一证明数据、第二证明数据、第三证明数据,所述第一证明数据用于验证:交易的输入资产存在且未被使用过,所述第二证明数据用于验证:发起方拥有使用交易的输入资产的权限,所述第三证明数据用于验证:交易的输入资产与输出资产相等;
或者,所述区块链基于账户模型实现,所述证明数据包括以下至少一种:第四证明数据、第五证明数据,所述第四证明数据用于验证:交易额不小于0,所述第五证明数据用于验证:交易额不大于发起方的账户余额。
11.一种区块链节点,包括:
存储器,用于存储计算机指令;
处理器,用于执行所述计算机指令以实现如权利要求1-9中任一项所述的方法步骤。
CN201910355481.0A 2019-04-29 2019-04-29 基于区块链的数据处理方法、装置和区块链节点 Active CN110263580B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201910355481.0A CN110263580B (zh) 2019-04-29 2019-04-29 基于区块链的数据处理方法、装置和区块链节点
PCT/CN2020/070628 WO2020220744A1 (zh) 2019-04-29 2020-01-07 基于区块链的数据处理方法、装置和区块链节点
TW109100734A TW202040460A (zh) 2019-04-29 2020-01-09 基於區塊鏈的資料處理方法、裝置和區塊鏈節點
US16/776,067 US11115188B2 (en) 2019-04-29 2020-01-29 Blockchain-based data processing method, apparatus, and blockchain node

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910355481.0A CN110263580B (zh) 2019-04-29 2019-04-29 基于区块链的数据处理方法、装置和区块链节点

Publications (2)

Publication Number Publication Date
CN110263580A CN110263580A (zh) 2019-09-20
CN110263580B true CN110263580B (zh) 2021-03-23

Family

ID=67914116

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910355481.0A Active CN110263580B (zh) 2019-04-29 2019-04-29 基于区块链的数据处理方法、装置和区块链节点

Country Status (3)

Country Link
CN (1) CN110263580B (zh)
TW (1) TW202040460A (zh)
WO (1) WO2020220744A1 (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110263580B (zh) * 2019-04-29 2021-03-23 创新先进技术有限公司 基于区块链的数据处理方法、装置和区块链节点
US11115188B2 (en) 2019-04-29 2021-09-07 Advanced New Technologies Co., Ltd. Blockchain-based data processing method, apparatus, and blockchain node
CN111695123B (zh) * 2020-04-27 2021-03-26 华东师范大学 一种面向区块链的降低冲突的乐观并发保序编码方法
CN113516557B (zh) * 2021-07-14 2022-09-23 桂林电子科技大学 一种有向无环图结构的区块链及其实现方法
CN116599574B (zh) * 2023-07-14 2023-09-19 成都本原星通科技有限公司 一种基于低轨卫星网络的轻量化智能合约访问控制方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108171494A (zh) * 2017-11-23 2018-06-15 阿里巴巴集团控股有限公司 一种数据处理方法和装置
CN108269072A (zh) * 2016-12-30 2018-07-10 深圳瀚德创客金融投资有限公司 用于区块链的交易处理方法和网络节点
US20180276668A1 (en) * 2017-03-24 2018-09-27 Alibaba Group Holding Limited Method and apparatus for consensus verification
CN108681583A (zh) * 2018-05-11 2018-10-19 北京奇虎科技有限公司 基于区块链的数据持有证明方法、装置及可读存储介质
CN108694575A (zh) * 2018-06-13 2018-10-23 深圳前海微众银行股份有限公司 基于区块链的转账验证方法、装置及存储介质

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107274184A (zh) * 2017-05-11 2017-10-20 上海点融信息科技有限责任公司 基于零知识证明的区块链数据处理
CN109325747B (zh) * 2018-08-30 2020-06-09 阿里巴巴集团控股有限公司 基于区块链的汇款方法及装置
CN111833186A (zh) * 2018-09-20 2020-10-27 创新先进技术有限公司 基于区块链的交易方法、装置和节点设备
CN109583886B (zh) * 2018-09-30 2020-07-03 阿里巴巴集团控股有限公司 基于区块链的交易方法、装置和汇出方设备
CN110263580B (zh) * 2019-04-29 2021-03-23 创新先进技术有限公司 基于区块链的数据处理方法、装置和区块链节点

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108269072A (zh) * 2016-12-30 2018-07-10 深圳瀚德创客金融投资有限公司 用于区块链的交易处理方法和网络节点
US20180276668A1 (en) * 2017-03-24 2018-09-27 Alibaba Group Holding Limited Method and apparatus for consensus verification
CN108171494A (zh) * 2017-11-23 2018-06-15 阿里巴巴集团控股有限公司 一种数据处理方法和装置
CN108681583A (zh) * 2018-05-11 2018-10-19 北京奇虎科技有限公司 基于区块链的数据持有证明方法、装置及可读存储介质
CN108694575A (zh) * 2018-06-13 2018-10-23 深圳前海微众银行股份有限公司 基于区块链的转账验证方法、装置及存储介质

Also Published As

Publication number Publication date
TW202040460A (zh) 2020-11-01
CN110263580A (zh) 2019-09-20
WO2020220744A1 (zh) 2020-11-05

Similar Documents

Publication Publication Date Title
CN110263580B (zh) 基于区块链的数据处理方法、装置和区块链节点
CN110189121B (zh) 数据处理方法、装置、区块链客户端和区块链节点
JP6892513B2 (ja) 信頼できる実行環境に基づいたオフチェーンスマートコントラクトサービス
CN111095326B (zh) 用于在区块链网络中执行多个交易的方法、系统和装置
US20220038289A1 (en) Multi-access edge computing node with distributed ledger
Liu et al. Elastic and cost-effective data carrier architecture for smart contract in blockchain
US10108954B2 (en) System and method for cryptographically verified data driven contracts
JP6827564B2 (ja) 分散型台帳システムにおけるトランザクションのパラレル実行の実施
US20190386834A1 (en) Blockchain management apparatus, blockchain management method, and program
Li et al. Scalable and privacy-preserving design of on/off-chain smart contracts
US11201870B2 (en) Using commit tokens to coordinate permissions submissions to address transaction conflict in blockchain systems
CN111066047A (zh) 实现基于区块链的工作流
CN111159304A (zh) 一种基于区块链的数据处理方法、装置、设备及系统
TWI706362B (zh) 基於區塊鏈的資料處理方法、裝置和伺服器
CN111985007A (zh) 一种基于区块链的合同签署与执行方法及装置
CN111899008B (zh) 资源转移方法、装置、设备及系统
Prusty Blockchain for Enterprise: Build scalable blockchain applications with privacy, interoperability, and permissioned features
Garcia Bringas et al. BlockChain platforms in financial services: current perspective
US11115188B2 (en) Blockchain-based data processing method, apparatus, and blockchain node
US20200364788A1 (en) Computer-implemented systems and methods for enhanced bitcoin wallets
CN115018499A (zh) 一种基于区块链的数字凭证发行方法、装置和系统
CN116997895A (zh) 减少执行排序验证区块链模型中的事务中止
Mohanty Blockchain From Concept to Execution: With 10 Blockchains, 3 DLTs, 182 MCQs, 70 Diagrams & Many Sample Codes (English Edition)
CN115730937A (zh) 一种基于区块链的资源授权方法及区块链节点
Luman eCash. js: a peer-to-peer electronic cash system

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
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20200924

Address after: Cayman Enterprise Centre, 27 Georgetown Hospital Road, Grand Cayman Islands

Applicant after: Innovative advanced technology Co.,Ltd.

Address before: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant before: Advanced innovation technology Co.,Ltd.

Effective date of registration: 20200924

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant after: Advanced innovation technology Co.,Ltd.

Address before: Greater Cayman, British Cayman Islands

Applicant before: Alibaba Group Holding Ltd.

GR01 Patent grant
GR01 Patent grant