CN112232823B - 区块链系统的交易处理方法、装置、介质及电子设备 - Google Patents
区块链系统的交易处理方法、装置、介质及电子设备 Download PDFInfo
- Publication number
- CN112232823B CN112232823B CN202011432518.4A CN202011432518A CN112232823B CN 112232823 B CN112232823 B CN 112232823B CN 202011432518 A CN202011432518 A CN 202011432518A CN 112232823 B CN112232823 B CN 112232823B
- Authority
- CN
- China
- Prior art keywords
- batch transaction
- transaction
- information
- batch
- block
- 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
- 238000003672 processing method Methods 0.000 title claims abstract description 45
- 238000012545 processing Methods 0.000 claims abstract description 92
- 238000012795 verification Methods 0.000 claims abstract description 79
- 238000000034 method Methods 0.000 claims description 30
- 230000008569 process Effects 0.000 claims description 20
- 238000004590 computer program Methods 0.000 claims description 14
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 claims description 8
- 239000003795 chemical substances by application Substances 0.000 description 45
- 238000010586 diagram Methods 0.000 description 20
- 230000006870 function Effects 0.000 description 10
- 238000007726 management method Methods 0.000 description 9
- 238000004891 communication Methods 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 5
- 230000006978 adaptation Effects 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 4
- 238000012544 monitoring process Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 238000012856 packing Methods 0.000 description 3
- 238000012384 transportation and delivery Methods 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 238000012550 audit Methods 0.000 description 2
- 238000013475 authorization Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000006855 networking Effects 0.000 description 2
- 238000004806 packaging method and process Methods 0.000 description 2
- 238000012858 packaging process Methods 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000003862 health status Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000012954 risk control Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
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/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
- 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/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
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Finance (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Technology Law (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本申请的实施例提供了一种区块链系统的交易处理方法、装置、介质及电子设备。该区块链系统包括记账节点网络和业务节点网络,以及连接在记账节点网络和业务节点网络之间的代理节点,该交易处理方法由代理节点执行,包括:接收业务节点网络发送的交易信息;若业务节点网络发送的交易信息是批量交易信息,则对所述批量交易信息进行签名验证;对签名验证通过的多条批量交易信息进行整体签名,得到整体签名信息;根据所述多条批量交易信息和所述整体签名信息生成批量交易包,将所述批量交易包发送给记账节点网络,以供记账节点网络对批量交易包进行共识和上链处理。本申请实施例的技术方案可以有效提高共识效率,确保区块链网络具有较高的共识性能。
Description
技术领域
本申请涉及计算机及通信技术领域,具体而言,涉及一种区块链系统的交易处理方法、装置、介质及电子设备。
背景技术
在区块链系统的一种应用场景中,区块链网络之外的业务节点会向区块链网络中发布交易信息,在这种情况下,如果业务节点向区块链网络中发布的交易信息的数量较多,那么如何能够保证区块链网络的共识性能是亟待解决的技术问题。
发明内容
本申请的实施例提供了一种区块链系统的交易处理方法、装置、介质及电子设备,进而至少在一定程度上可以有效提高共识效率,确保区块链网络具有较高的共识性能。
本申请的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本申请的实践而习得。
根据本申请实施例的一个方面,提供了一种区块链系统的交易处理方法,所述区块链系统包括记账节点网络和业务节点网络,以及连接在所述记账节点网络和所述业务节点网络之间的代理节点,所述交易处理方法由所述代理节点执行,所述交易处理方法包括:接收所述业务节点网络发送的交易信息;若所述业务节点网络发送的交易信息是批量交易信息,则对所述批量交易信息进行签名验证;通过所述代理节点的私钥对签名验证通过的多条批量交易信息进行整体签名,得到整体签名信息;根据所述多条批量交易信息和所述整体签名信息生成批量交易包,将所述批量交易包发送给所述记账节点网络,以供所述记账节点网络对所述批量交易包进行共识和上链处理。
根据本申请实施例的一个方面,提供了一种区块链系统的交易处理方法,所述区块链系统包括记账节点网络和业务节点网络,以及连接在所述记账节点网络和所述业务节点网络之间的代理节点,所述交易处理方法由所述记账节点网络中的记账节点执行,所述交易处理方法包括:接收代理节点发送的批量交易包,所述批量交易包是所述代理节点根据签名验证通过的多条批量交易信息,以及所述多条批量交易信息的整体签名信息生成的;对所述批量交易包的整体签名信息进行验证;在对所述批量交易包的整体签名信息验证通过之后,根据所述批量交易包中的批量交易信息生成区块;在所述记账节点网络中对所述区块进行共识和上链处理。
根据本申请实施例的一个方面,提供了一种区块链系统的交易处理装置,所述区块链系统包括记账节点网络和业务节点网络,以及连接在所述记账节点网络和所述业务节点网络之间的代理节点,所述交易处理装置设置在所述代理节点内,所述交易处理装置包括:第一接收单元,配置为接收所述业务节点网络发送的交易信息;第一处理单元,配置为在所述业务节点网络发送的交易信息是批量交易信息时,对所述批量交易信息进行签名验证;第二处理单元,配置为通过所述代理节点的私钥对签名验证通过的多条批量交易信息进行整体签名,得到整体签名信息;第一生成单元,配置为根据所述多条批量交易信息和所述整体签名信息生成批量交易包,将所述批量交易包发送给所述记账节点网络,以供所述记账节点网络对所述批量交易包进行共识和上链处理。
在本申请的一些实施例中,基于前述方案,所述第二处理单元配置为:如果收集到的签名验证通过的批量交易信息的数量达到设定数量,则通过所述代理节点的私钥对收集到的达到所述设定数量的批量交易信息进行整体签名。
在本申请的一些实施例中,基于前述方案,所述第二处理单元配置为:在设定的等待时长内收集签名验证通过的批量交易信息;通过所述代理节点的私钥对在所述等待时长内收集到的签名验证通过的批量交易信息进行整体签名。
在本申请的一些实施例中,基于前述方案,所述第一生成单元还配置为:若所述业务节点网络发送的交易信息是非批量交易信息,则将所述非批量交易信息直接发送给所述记账节点网络。
在本申请的一些实施例中,基于前述方案,所述第一处理单元还配置为:在接收到所述业务节点网络发送的交易信息后,根据所述交易信息的交易字段中包含的标识信息确定所述交易信息是否是所述批量交易信息。
根据本申请实施例的一个方面,提供了一种区块链系统的交易处理装置,所述区块链系统包括记账节点网络和业务节点网络,以及连接在所述记账节点网络和所述业务节点网络之间的代理节点,所述交易处理装置设置在所述记账节点网络中的记账节点内,所述交易处理装置包括:第二接收单元,配置为接收代理节点发送的批量交易包,所述批量交易包是所述代理节点根据签名验证通过的多条批量交易信息,以及所述多条批量交易信息的整体签名信息生成的;第三处理单元,配置为对所述批量交易包的整体签名信息进行验证;第二生成单元,配置为在对所述批量交易包的整体签名信息验证通过之后,根据所述批量交易包中的批量交易信息生成区块;第四处理单元,配置为在所述记账节点网络中对所述区块进行共识和上链处理。
在本申请的一些实施例中,基于前述方案,所述第二生成单元配置为:若根据所述批量交易包的出块等待时长确定需要将所述批量交易包添加至区块中,且待生成区块的剩余区块容量能够容纳所述批量交易包,则将所述批量交易包添加至所述待生成区块中。
在本申请的一些实施例中,基于前述方案,所述第二生成单元还配置为:若根据所述批量交易包的出块等待时长确定需要将所述批量交易包添加至区块中,且待生成区块的剩余区块容量不能够容纳所述批量交易包,则使所述批量交易包继续进行等待,以将所述批量交易包添加至能够容纳所述批量交易包的区块中。
在本申请的一些实施例中,基于前述方案,所述第二生成单元配置为:根据所述批量交易包的哈希值和所述整体签名信息生成区块头,并在所述区块头中添加用于指示包含有批量交易信息的标识信息;根据所述批量交易包中所包含的批量交易信息生成区块体;基于所述区块头和所述区块体生成区块。
在本申请的一些实施例中,基于前述方案,所述第三处理单元还配置为:如果接收到所述记账节点网络中的其它记账节点广播的待共识区块,则对所述待共识区块中包含的非批量交易信息进行签名验证,并对所述待共识区块中包含的批量交易包的整体签名信息进行验证;若对所述待共识区块中包含的非批量交易信息验证通过,且对所述待共识区块中包含的批量交易包的整体签名信息验证通过,则确定对所述待共识区块验证通过。
在本申请的一些实施例中,基于前述方案,所述第三处理单元还配置为:在对所述待共识区块中包含的批量交易包的整体签名信息进行验证的过程中,若本地交易池中未存储所述批量交易包所包含的批量交易信息,则根据所述待共识区块中包含的所述批量交易信息生成所述批量交易包;基于生成的所述批量交易包对所述整体签名信息进行验证。
根据本申请实施例的一个方面,提供了一种计算机可读介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述实施例中所述的区块链系统的交易处理方法。
根据本申请实施例的一个方面,提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如上述实施例中所述的区块链系统的交易处理方法。
根据本申请实施例的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各种可选实施例中提供的区块链系统的交易处理方法。
在本申请的一些实施例所提供的技术方案中,通过将区块链系统分为记账节点网络和业务节点网络,使得能够将区块链系统的记账过程与业务处理过程进行分离,进而既能够通过去中心化的记账节点子网络来维护全量的数据区块,保证了数据区块的安全性,同时也能够通过业务节点网络来实现灵活的数据访问。
同时,本申请实施例的技术方案可以由代理节点对批量交易信息进行签名验证,并对多条批量交易信息进行整体签名来生成批量交易包,进而使得代理节点在将批量交易包发送给记账节点网络之后,记账节点无需再对每个批量交易信息进行签名验证,而只需对批量交易包的整体签名信息进行验证即可,进而可以有效提高共识效率,确保区块链网络具有较高的共识性能。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1示出了区块链网络的结构示意图。
图2示出了区块链中各区块的连接关系示意图。
图3示出了生成一个区块的过程示意图。
图4至图6示出了本申请实施例所应用的区块链系统的体系构架图。
图7示出了根据本申请的一个实施例的电子发票系统的示意图。
图8示出了根据本申请的一个实施例的区块链系统的交易处理方法的流程图。
图9示出了根据本申请的一个实施例的区块链系统的交易处理方法的流程图。
图10示出了根据本申请的一个实施例的区块链系统的交易处理方法的示意图。
图11示出了根据本申请的一个实施例的区块链系统的交易处理装置的框图。
图12示出了根据本申请的一个实施例的区块链系统的交易处理装置的框图。
图13示出了适于用来实现本申请实施例的电子设备的计算机系统的结构示意图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本申请将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本申请的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本申请的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本申请的各方面。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
需要说明的是:在本文中提及的“多个”是指两个或两个以上。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
区块链(Blockchain)是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块(即区块),每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层。
区块链底层平台可以包括用户管理、基础服务、智能合约以及运营监控等处理模块。其中,用户管理模块负责所有区块链参与者的身份信息管理,包括维护公私钥生成(账户管理)、密钥管理以及用户真实身份和区块链地址对应关系维护(权限管理)等,并且在授权的情况下,监管和审计某些真实身份的交易情况,提供风险控制的规则配置(风控审计);基础服务模块部署在所有区块链节点设备上,用来验证业务请求的有效性,并对有效请求完成共识后记录到存储上,对于一个新的业务请求,基础服务先对接口适配解析和鉴权处理(接口适配),然后通过共识算法将业务信息加密(共识管理),在加密之后完整一致的传输至共享账本上(网络通信),并进行记录存储;智能合约模块负责合约的注册发行以及合约触发和合约执行,开发人员可以通过某种编程语言定义合约逻辑,发布到区块链上(合约注册),根据合约条款的逻辑,调用密钥或者其它的事件触发执行,完成合约逻辑,同时还提供对合约升级注销的功能;运营监控模块主要负责产品发布过程中的部署、配置的修改、合约设置、云适配以及产品运行中的实时状态的可视化输出,例如:告警、监控网络情况、监控节点设备健康状态等。
平台产品服务层提供典型应用的基本能力和实现框架,开发人员可以基于这些基本能力,叠加业务的特性,完成业务逻辑的区块链实现。应用服务层提供基于区块链方案的应用服务给业务参与方进行使用。
参见图1所示的区块链网络,该区块链网络中可以包括多个节点101,多个节点101可以是形成区块链网络的各个客户端。每个节点101在进行正常工作可以接收到输入信息,并基于接收到的输入信息维护该区块链网络内的共享数据。为了保证区块链网络内的信息互通,区块链网络中的每个节点之间可以存在信息连接,节点之间可以通过上述信息连接进行信息传输。例如,当区块链网络中的任意节点接收到输入信息时,区块链网络中的其它节点便根据共识算法获取该输入信息,将该输入信息作为共享数据进行存储,使得区块链网络中全部节点上存储的数据均一致。
对于区块链网络中的每个节点,均具有与其对应的节点标识,而且区块链网络中的每个节点均可以存储有其它节点的节点标识,以便后续根据其它节点的节点标识,将生成的区块广播至区块链网络中的其它节点。每个节点中可维护一个节点标识列表,将节点名称和节点标识对应存储至该节点标识列表中。其中,节点标识可为IP(InternetProtocol,网络之间互联的协议)地址以及其他任一种能够用于标识该节点的信息。
区块链网络中的每个节点均存储一条相同的区块链。区块链由多个区块组成,参见图2所示,区块链由多个区块组成,创始块中包括区块头和区块主体,区块头中存储有输入信息特征值、版本号、时间戳和难度值等,区块主体中存储有输入信息;创始块的下一区块以创始块为父区块,下一区块中同样包括区块头和区块主体,区块头中存储有当前区块的输入信息特征值、父区块的区块头特征值、版本号、时间戳和难度值等,并以此类推,使得区块链中每个区块中存储的区块数据均与父区块中存储的区块数据存在关联,保证了区块中输入信息的安全性。
在生成区块链中的各个区块时,参见图3所示,区块链所在的节点在接收到输入信息时,对输入信息进行校验,完成校验后,将输入信息存储至内存池中,并更新其用于记录输入信息的哈希树;之后,将更新时间戳更新为接收到输入信息的时间,并尝试不同的随机数,多次进行特征值计算,使得计算得到的特征值可以满足下述公式:
其中,SHA256为计算特征值所用的特征值算法;version(版本号)为区块链中相关区块协议的版本信息;prev_hash为当前区块的父区块的区块头特征值;merkle_root为输入信息的特征值;ntime为更新时间戳的更新时间;nbits为当前难度,在一段时间内为定值,并在超出固定时间段后再次进行确定;x为随机数;TARGET为特征值阈值,该特征值阈值可以根据nbits确定得到。
这样,当计算得到满足上述公式的随机数时,便可将信息对应存储,生成区块头和区块主体,得到当前区块。随后,区块链所在节点根据数据共享系统中其它节点的节点标识,将新生成的区块分别发送给其所在的数据共享系统中的其它节点,由其它节点对新生成的区块进行校验,并在完成校验后将新生成的区块添加至其存储的区块链中。
区块链网络中各个节点可以是服务器,也可以是终端设备。服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算(Cloud Computing)、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content Delivery Network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器。终端设备可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。各个节点之间可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。
前述的云计算是指IT基础设施的交付和使用模式,具体指通过网络以按需、易扩展的方式获得所需资源;广义云计算指服务的交付和使用模式,指通过网络以按需、易扩展的方式获得所需服务。这种服务可以是IT和软件、互联网相关,也可是其他服务。云计算是网格计算(Grid Computing )、分布式计算(Distributed Computing)、并行计算(ParallelComputing)、效用计算(Utility Computing)、网络存储(Network StorageTechnologies)、虚拟化(Virtualization)、负载均衡(Load Balance)等传统计算机和网络技术发展融合的产物。随着互联网、实时数据流、连接设备多样化的发展,以及搜索服务、社会网络、移动商务和开放协作等需求的推动,云计算迅速发展起来。不同于以往的并行分布式计算,云计算的产生从理念上将推动整个互联网模式、企业管理模式发生革命性的变革。
基于区块链技术,本申请的实施例提出了一种区块链系统的体系架构。如图4所示,该区块链系统包括记账节点网络2和业务节点网络1。记账节点网络2包括对数据区块进行共识并将数据区块记录到区块链上的记账节点21。业务节点网络1包括业务节点11,业务节点11可以对记账节点记录到区块链上的数据区块进行验证,或者可以向记账节点请求相应的交易数据。
具体的,业务节点11对记账节点记录到区块链上的数据区块进行验证可以包括以下步骤:记账节点网络中的一个记账节点21利用特定于该记账节点的密钥,基于要添加到区块链上的一个数据区块中所要包括的交易信息,生成签名;记账节点21将交易信息和生成的签名加入数据区块,添加到区块链上;记账节点21将该签名发往业务节点网络中的业务节点,业务节点根据特定于该记账节点的密钥对该签名进行签名验证,以实现业务节点11对记账节点记录到区块链上的数据区块进行验证。记账节点网络中的记账节点负责向区块链记录数据区块,业务节点网络中的业务节点负责见证记账节点记录的结果。具体地,记账节点基于要添加到区块链上的一个数据区块中所要包括的交易信息,生成签名,然后将交易信息和生成的签名加入数据区块,进行上链。并将该签名发往业务节点网络中的业务节点,使业务节点根据特定于该记账节点的密钥对该签名进行签名验证。业务节点网络中的业务节点通过验证区块上记账节点签名可以对全网的交易数据进行见证。记账节点网络虽然拥有垄断的记账权,但是因为数据区块有了代表记账者身份的数字签名,所以一切行为都是公开可追溯的。如果记账节点集体作恶,那么业务节点网络中的全部节点都将保留有具体记账节点作恶的证据。相比传统中心化系统和私有链,本申请实施例中系统的运转是更加透明的;而相比传统的去中心化方案,本方案是更可控也更便于可监管的。
在本申请的一个实施例中,记账节点网络2和业务节点网络1之间可以通过代理节点12连接,代理节点12可以是业务节点网络1的一个业务节点,其负责将记账节点21要向业务节点11传递的信息传递给业务节点11。业务节点11是产生各种需上链的交易数据的交易方的终端,也可以是从记账节点网络2中查询交易数据的终端。业务节点11产生的交易数据在通过代理节点12传输至记账节点21,然后经过共识后记录到区块链上,有利于交易数据的统一处理和监管,而业务节点11也可以通过记账节点21经由代理节点12发送来的信息进行交易数据上链的监督和见证,这在某些既需要统一监管、但又怕监管的节点集体作弊因而需要监督的场景中有十分重要的意义。
在图1所示的结构中,业务节点网络1采用P2P(Peer to Peer,对等网络)网络模式。P2P网络是一种在对等者之间分配任务和工作负载的分布式应用架构,是对等计算模型在应用层形成的一种组网或网络形式,即“点对点”或者“端对端”网络。其可以定义为:网络的参与者共享他们所拥有的一部分硬件资源(处理能力、存储能力、网络连接能力、打印机等),这些共享资源通过网络提供服务和内容,能被其它对等节点直接访问而无需经过中间实体。在此网络中的参与者既是资源、服务和内容的提供者,又是资源、服务和内容的获取者。因此,在业务节点网络1中,当代理节点12接收到从记账节点21传递过来的消息后,向周围的业务节点11进行传播,周围的业务节点11接收到该消息,再向其周围的业务节点11传递,达到了该消息在业务节点网络1的每个业务节点11之间的传播。
图5示出了本申请实施例所应用的另一种区块链系统的体系构架。该体系构架与图4中所示的体系构架不同之处在于:在业务节点网络1中没有采取P2P网络模式,而是采取广播网络的模式。具体地,代理节点12在接收到从记账节点21传递过来的消息后,将该消息广播到业务节点网络1中的其它业务节点11。这样,也实现了该消息在业务节点网络1的每个业务节点11之间的传播。
图6示出了本发明实施例所应用的另一种区块链系统的体系构架。该体系构架与图4所示的体系构架不同之处在于:其记账节点网络2分成了多个分支记账节点网络。每个分支记账节点网络可以负责某一种类型的交易信息的记录。例如,某一企业可能具有供应链金融业务,可能需要将供销过程中产生的合同信息、货款赊欠等信息记录到区块链上,同时该企业还要开具发票,也要把开票信息、发票报销信息等记录到区块链上。这时,为了有利于记账节点被同一部门监管的需要,可能记录供应链金融业务交易的记账节点和记录发票流转过程中的交易的记账节点要分属于不同部门。例如,记录供应链金融业务交易的记账节点是银行设置的记账终端,而记录发票流转过程中的交易的记账节点是国税局设置的记账终端。而供应链金融业务交易和记录发票流转过程中的交易可能也最终会记录在不同分支的记账节点网络上。这时,代理节点12要根据从业务节点11发来的交易信息中携带的交易类型,将该交易信息发送到与该交易类型对应的分支记账节点网络中。
需要说明的是,在图4至图6所示的区块链系统的体系构架中,代理节点12位于业务节点网络1中,在本申请的其它实施例中,代理节点12也可以位于共识节点网络2中,或者独立于业务节点网络1和共识节点网络2。
图4至6所示的区块链系统的体系架构可以应用在电子发票的应用场景中,以下详细进行阐述:
在本申请的一个实施例中,记账节点网络中的记账节点可以是各个税务总局终端,比如由部署在多个地区的税务总局终端分别作为一个记账节点来构成记账节点网络。业务节点网络中的各个业务节点可以是地方税局终端、开票代理服务商终端、开票企业终端、个人用户终端等。
具体而言,在图7所示的电子发票系统中,可以包括业务层、路由代理层和共识网络(记账网络)层。其中,业务层即为业务节点网络,其中包含了各个业务节点,比如可以是处于税务专网中的地方税局;处于公有云中的开票服务商、报销服务商、企业等;处于私有云中的支付服务商、流转服务商、企业等。
路由代理层中包含了代理节点,代理节点提供了路由服务、证书缓存和认证服务、P2P服务等功能,路由代理层起到对业务层和共识网络层的隔离作用,具体参照前述实施例的技术方案。可选地,路由代理层中的代理节点可以处于税务专网中。共识网络(记账网络)层即为记账节点网络,其中包含了多个区块链,当然在本申请的其它实施例中,共识网络(记账网络)层中也可以包含一个区块链。
在本申请的一个实施例中,电子发票系统中的共识网络(记账网络)中可以包含多个区块链,这多个区块链可以按照时间序列进行分链,比如同一个业务按照时间进行分链,其中业务参与方一致,并且两个区块链采用相同的CA(Certificate Authority,认证授权)中心作为发票业务体系的认证和授权方。当然,在本申请的一个实施例中,可以按照不同的业务进行分链,比如业务A对应一条区块链、业务B对应一条区块链,并且业务之间还可以跨链交互。
在本申请的一个实施例中,在包括记账节点网络和业务节点网络的区块链系统中,根据交易信息所需要上链的即时性不同,在业务节点网络中可能会产生批量交易信息,对于这类批量交易信息,本申请的实施例提供了如下的解决方案:
图8示出了根据本申请的一个实施例的区块链系统的交易处理方法的流程图,该区块链系统的结构可以如图4至图6所示,其中包括记账节点网络和业务节点网络,以及连接在记账节点网络和业务节点网络之间的代理节点。图8所示的区块链系统的交易处理方法可以由代理节点来执行,具体地,参照图8所示,该区块链系统的交易处理方法至少包括步骤S810至步骤S840,详细介绍如下:
在步骤S810中,接收业务节点网络发送的交易信息。
在本申请的一个实施例中,业务节点网络中的业务节点在产生需要上链的交易信息之后,会将交易信息发送给代理节点,然后由代理节点发送给记账节点网络进行共识上链处理。其中,业务节点网络发送给代理节点的交易信息可以是批量交易信息或者是非批量交易信息,具体地,业务节点可以通过设置交易信息的交易字段中所包含的标识信息来指示交易信息是批量交易信息还是非批量交易信息,比如将该标识信息的值设置为1(数值仅为示例),则表示交易信息是批量交易信息;将该标识信息的值设置为0,则表示交易信息是非批量交易信息。那么代理节点在接收到业务节点网络发送的交易信息之后,可以根据交易信息的交易字段中包含的标识信息来确定交易信息是否是批量交易信息。
在步骤S820中,若业务节点网络发送的交易信息是批量交易信息,则对批量交易信息进行签名验证。
在本申请的一个实施例中,代理节点在接收到批量交易信息时,会对批量交易信息进行签名验证,以便于对签名验证通过的多条批量交易信息进行整体签名。如果代理节点接收到的是非批量交易信息,则可以将非批量交易信息直接发送给记账节点网络。
在步骤S830中,通过代理节点的私钥对签名验证通过的多条批量交易信息进行整体签名,得到整体签名信息。
在本申请的一个实施例中,如果代理节点收集到的签名验证通过的批量交易信息的数量达到设定数量,则通过代理节点的私钥对收集到的达到设定数量的批量交易信息进行整体签名。即在该实施例中,代理节点可以设置一个容量上限,根据该容量上限来确定是否进行整体签名及打包处理。
在本申请的一个实施例中,代理节点可以在设定的等待时长内收集签名验证通过的批量交易信息,然后通过代理节点的私钥对在等待时长内收集到的签名验证通过的批量交易信息进行整体签名。即在该实施例中,代理节点可以设置一个等待时长上限,根据该等待时长上限来确定是否进行整体签名及打包处理。
当然,在本申请的一个实施例中,代理节点可以同时设置一个容量上限和一个等待时长上限,如果容量上限和等待时长上限满足任何一个,就可以进行整体签名及打包处理。
在步骤S840中,根据多条批量交易信息和整体签名信息生成批量交易包,将该批量交易包发送给记账节点网络,以供记账节点网络对批量交易包进行共识和上链处理。
图8所示实施例的技术方案是从代理节点的角度进行的阐述,以下从记账节点网络中的记账节点的角度对本申请实施例的技术方案做进一步说明:
图9示出了根据本申请的一个实施例的区块链系统的交易处理方法的流程图,类似于前述实施例,该区块链系统的结构可以如图4至图6所示,其中包括记账节点网络和业务节点网络,以及连接在记账节点网络和业务节点网络之间的代理节点。图9所示的区块链系统的交易处理方法可以由记账节点网络中的记账节点来执行,具体地,参照图9所示,该区块链系统的交易处理方法至少包括步骤S910至步骤S940,详细介绍如下:
在步骤S910中,接收代理节点发送的批量交易包,该批量交易包是代理节点根据签名验证通过的多条批量交易信息,以及多条批量交易信息的整体签名信息生成的。
在本申请的一个实施例中,批量交易包的生成过程可参照图8所示实施例的技术方案,不再赘述。
在步骤S920中,对批量交易包的整体签名信息进行验证。
在本申请的一个实施例中,由于批量交易包中的批量交易信息已经由代理节点进行了签名验证,因此记账节点在接收到批量交易包之后,只需对批量交易包的整体签名信息进行验证即可,进而可以有效提高共识效率,确保区块链网络具有较高的共识性能。具体地,记账节点可以采用代理节点的公钥对批量交易包的整体签名信息进行验证。
在步骤S930中,在对批量交易包的整体签名信息验证通过之后,根据批量交易包中的批量交易信息生成区块。
在本申请的一个实施例中,在生成区块时,每个交易信息都有一个出块等待时间,批量交易包有一个整体出块等待时间,因此如果作为提案节点的记账节点根据批量交易包的出块等待时长确定需要将批量交易包添加至区块中,且待生成区块的剩余区块容量能够容纳批量交易包,则将批量交易包添加至待生成区块中。
在本申请的一个实施例中,如果作为提案节点的记账节点根据批量交易包的出块等待时长确定需要将批量交易包添加至区块中,但是待生成区块的剩余区块容量不能够容纳批量交易包,则可以使该批量交易包继续进行等待,以便于将该批量交易包添加至能够容纳批量交易包的区块中。可选地,一个区块中可以仅包含一个批量交易包,并且区块中还可以包含非批量交易信息。
在本申请的一个实施例中,在根据批量交易包中的批量交易信息生成区块时,可以根据批量交易包的哈希值和整体签名信息生成区块头,并在区块头中添加用于指示包含有批量交易信息的标识信息,同时可以根据批量交易包中所包含的批量交易信息生成区块体,然后基于区块头和区块体生成区块。
在步骤S940中,在记账节点网络中对区块进行共识和上链处理。
在本申请的一个实施例中,当作为提案节点的记账节点生成区块之后,可以将生成的区块广播至记账节点网络中,然后在记账节点网络中对区块进行共识和上链处理。
在本申请的一个实施例中,如果记账节点网络中的记账节点接收到其它记账节点广播的待共识区块,则对待共识区块中包含的非批量交易信息进行签名验证,并对待共识区块中包含的批量交易包的整体签名信息进行验证,若对待共识区块中包含的非批量交易信息验证通过,且对待共识区块中包含的批量交易包的整体签名信息验证通过,则确定对待共识区块验证通过。即在本申请的实施例中,对于区块中的非批量交易信息,可以直接对非批量交易信息进行签名验证,而对于区块中的批量交易信息而言,记账节点可以验证批量交易包的整体签名信息,无需再验证每一个批量交易信息,进而可以提高共识效率,确保区块链网络具有较高的共识性能。
在本申请的一个实施例中,记账节点在对待共识区块中包含的批量交易包的整体签名信息进行验证的过程中,若本地交易池中未存储批量交易包所包含的批量交易信息,则可以根据待共识区块中包含的批量交易信息生成批量交易包,然后基于生成的批量交易包对整体签名信息进行验证。该实施例的技术方案使得记账节点在本地交易池中未存储批量交易包的前提下,也能够实现对批量交易信息的验证。
以上实施例分别从代理节点和记账节点的角度对本申请实施例的交易处理方法进行了阐述,以下结合图10对本申请实施例的技术方案的实现细节进行详细说明:
如图10所示,在本申请的一个实施例中,业务节点网络中的业务节点产生的交易信息包括普通交易(即非批量交易)信息和批量交易信息,具体可以通过交易信息中的交易字段来进行标识。由于批量交易信息从产生到上链会有一定的延迟,因此业务节点可以根据交易信息的重要性和性价比来权衡将哪一些交易标注为批量交易信息。
如果代理节点接收到的是普通交易信息,则直接转发到记账节点,记账节点对其进行签名验证后加入交易池中,记账节点网络中作为提案节点的记账节点每次从本地交易池中获得一部分普通交易信息打包到区块中。
如果代理节点接收到的是批量交易信息,则代理节点会根据接收到的批量交易信息生成批量交易包。具体而言,代理节点针对批量交易信息会设置一个最大容量和最大时间,在这个最大容量下和最大时间内,代理节点尽可能收集更多的批量交易信息,并且在代理节点处对批量交易信息进行签名验证,如果签名验证通过的批量交易信息的数量达到最大容量(比如100条),或者收集批量交易信息的时间超过最大时间(比如1s),则进行一次批量交易信息的打包处理,然后将打包处理得到的批量交易包推送给某一个记账节点。
在本申请的一个实施例中,批量交易包中包含有多个批量交易信息(如tx1、tx2、tx3、…、txN),以及对这多个批量交易信息的整体签名信息(即sig(tx1+tx2+tx3+…+txN))。记账节点在接收到批量交易包后,不需要再验证批量交易包中各个批量交易信息的签名,而是仅验证代理节点的整体签名信息。在验证通过后,记账节点会将批量交易包中的全部批量交易信息打包到某一个区块中。
在本申请的一个实施例中,代理节点的签名验证过程、打包过程和整体签名过程可以是异步进行的,以最大程度提高处理效率。
在本申请的一个实施例中,作为提案节点的记账节点在生成区块时的交易信息选择策略如下:
(1)每个普通交易信息有一个出块等待时间,批量交易包有一个整体的出块等待时间。
(2)作为提案节点的记账节点在组装和提议区块时,优先选择等待时间较长的交易信息放入区块中。
(3)如果当前出块等待时间最长的是一个批量交易包,则判断区块剩余可容纳交易量是否可以容纳这个批量交易包,如果可以,则将该批量交易包打包入区块中;如果不能容纳这个批量交易包,则继续获取其它等待时间较短的普通交易或者容量较小的批量交易包。
(4)每个区块可以设置为最多只能容纳一个批量交易包和一些普通交易信息,并且在该区块的区块头中标记该区块是否含有批量交易包,以及批量交易包的hash和签名信息。而区块体中则是所有普通和批量交易包中的批量交易信息,批量交易包中的交易信息会有标记为是批量交易。
在完成交易信息的选择之后,则进行共识过程。在共识过程中,非区块提议节点在收到一个区块时,判断其中的普通交易信息是否已经验证过且在本地交易池中,对于所有的批量交易信息,如果本地交易池中没有存储,则根据区块中包含的批量交易信息组装成一个批量交易包,然后验证代理节点对批量交易包的签名。需要说明的是,记账节点网络中的记账节点需要事先从代理节点中获取到其私钥的证书,以便于对批量交易包进行签名验证。
本申请上述实施例的技术方案中所增加的批量交易信息不会影响原有普通交易的上链、打包过程,便于通用区块链产品的升级改造。而批量交易包的存在使得批量交易信息的签名可以被前置到代理节点中进行认证,为记账节点的共识过程减少了签名验证的运算量,有效提高了区块链系统的共识性能。同时,可以把密集型的计算资源集中到代理节点之中,降低了对记账节点的性能要求。并且代理节点可以横向无限增加,也就是验签性能可以无限扩展,同时共识层面的负荷基本增加不大,也不需要扩展机器或者增加节点,保证仍然可以高效出块,并且可以有效应对性能增长。
以下介绍本申请的装置实施例,可以用于执行本申请上述实施例中的区块链系统的交易处理方法。对于本申请装置实施例中未披露的细节,请参照本申请上述的区块链系统的交易处理方法的实施例。
图11示出了根据本申请的一个实施例的区块链系统的交易处理装置的框图,该区块链系统包括记账节点网络和业务节点网络,以及连接在所述记账节点网络和所述业务节点网络之间的代理节点,图11所示的交易处理装置设置在所述代理节点内。
参照图11所示,根据本申请的一个实施例的区块链系统的交易处理装置1100,包括:第一接收单元1102、第一处理单元1104、第二处理单元1106和第一生成单元1108。
其中,第一接收单元1102配置为接收所述业务节点网络发送的交易信息;第一处理单元1104配置为在所述业务节点网络发送的交易信息是批量交易信息时,对所述批量交易信息进行签名验证;第二处理单元1106配置为通过所述代理节点的私钥对签名验证通过的多条批量交易信息进行整体签名,得到整体签名信息;第一生成单元1108配置为根据所述多条批量交易信息和所述整体签名信息生成批量交易包,将所述批量交易包发送给所述记账节点网络,以供所述记账节点网络对所述批量交易包进行共识和上链处理。
在本申请的一些实施例中,基于前述方案,第二处理单元1106配置为:如果收集到的签名验证通过的批量交易信息的数量达到设定数量,则通过所述代理节点的私钥对收集到的达到所述设定数量的批量交易信息进行整体签名。
在本申请的一些实施例中,基于前述方案,第二处理单元1106配置为:在设定的等待时长内收集签名验证通过的批量交易信息;通过所述代理节点的私钥对在所述等待时长内收集到的签名验证通过的批量交易信息进行整体签名。
在本申请的一些实施例中,基于前述方案,第一生成单元1108还配置为:若所述业务节点网络发送的交易信息是非批量交易信息,则将所述非批量交易信息直接发送给所述记账节点网络。
在本申请的一些实施例中,基于前述方案,第一处理单元1104还配置为:在接收到所述业务节点网络发送的交易信息后,根据所述交易信息的交易字段中包含的标识信息确定所述交易信息是否是所述批量交易信息。
图12示出了根据本申请的一个实施例的区块链系统的交易处理装置的框图,该区块链系统包括记账节点网络和业务节点网络,以及连接在所述记账节点网络和所述业务节点网络之间的代理节点,图12所示的交易处理装置设置在所述记账节点网络中的记账节点内。
参照图12所示,根据本申请的一个实施例的区块链系统的交易处理装置1200,包括:第二接收单元1202、第三处理单元1204、第二生成单元1206和第四处理单元1208。
其中,第二接收单元1202配置为接收代理节点发送的批量交易包,所述批量交易包是所述代理节点根据签名验证通过的多条批量交易信息,以及所述多条批量交易信息的整体签名信息生成的;第三处理单元1204配置为对所述批量交易包的整体签名信息进行验证;第二生成单元1206配置为在对所述批量交易包的整体签名信息验证通过之后,根据所述批量交易包中的批量交易信息生成区块;第四处理单元1208配置为在所述记账节点网络中对所述区块进行共识和上链处理。
在本申请的一些实施例中,基于前述方案,第二生成单元1206配置为:若根据所述批量交易包的出块等待时长确定需要将所述批量交易包添加至区块中,且待生成区块的剩余区块容量能够容纳所述批量交易包,则将所述批量交易包添加至所述待生成区块中。
在本申请的一些实施例中,基于前述方案,第二生成单元1206还配置为:若根据所述批量交易包的出块等待时长确定需要将所述批量交易包添加至区块中,且待生成区块的剩余区块容量不能够容纳所述批量交易包,则使所述批量交易包继续进行等待,以将所述批量交易包添加至能够容纳所述批量交易包的区块中。
在本申请的一些实施例中,基于前述方案,第二生成单元1206配置为:根据所述批量交易包的哈希值和所述整体签名信息生成区块头,并在所述区块头中添加用于指示包含有批量交易信息的标识信息;根据所述批量交易包中所包含的批量交易信息生成区块体;基于所述区块头和所述区块体生成区块。
在本申请的一些实施例中,基于前述方案,第三处理单元1204还配置为:如果接收到所述记账节点网络中的其它记账节点广播的待共识区块,则对所述待共识区块中包含的非批量交易信息进行签名验证,并对所述待共识区块中包含的批量交易包的整体签名信息进行验证;若对所述待共识区块中包含的非批量交易信息验证通过,且对所述待共识区块中包含的批量交易包的整体签名信息验证通过,则确定对所述待共识区块验证通过。
在本申请的一些实施例中,基于前述方案,第三处理单元1204还配置为:在对所述待共识区块中包含的批量交易包的整体签名信息进行验证的过程中,若本地交易池中未存储所述批量交易包所包含的批量交易信息,则根据所述待共识区块中包含的所述批量交易信息生成所述批量交易包;基于生成的所述批量交易包对所述整体签名信息进行验证。
图13示出了适于用来实现本申请实施例的电子设备的计算机系统的结构示意图。
需要说明的是,图13示出的电子设备的计算机系统1300仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图13所示,计算机系统1300包括中央处理单元(Central Processing Unit,CPU)1301,其可以根据存储在只读存储器(Read-Only Memory,ROM)1302中的程序或者从存储部分1308加载到随机访问存储器(Random Access Memory,RAM)1303中的程序而执行各种适当的动作和处理,例如执行上述实施例中所述的方法。在RAM 1303中,还存储有系统操作所需的各种程序和数据。CPU 1301、ROM 1302以及RAM 1303通过总线1304彼此相连。输入/输出(Input /Output,I/O)接口1305也连接至总线1304。
以下部件连接至I/O接口1305:包括键盘、鼠标等的输入部分1306;包括诸如阴极射线管(Cathode Ray Tube,CRT)、液晶显示器(Liquid Crystal Display,LCD)等以及扬声器等的输出部分1307;包括硬盘等的存储部分1308;以及包括诸如LAN(Local AreaNetwork,局域网)卡、调制解调器等的网络接口卡的通信部分1309。通信部分1309经由诸如因特网的网络执行通信处理。驱动器1310也根据需要连接至I/O接口1305。可拆卸介质1311,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1310上,以便于从其上读出的计算机程序根据需要被安装入存储部分1308。
特别地,根据本申请的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本申请的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的计算机程序。在这样的实施例中,该计算机程序可以通过通信部分1309从网络上被下载和安装,和/或从可拆卸介质1311被安装。在该计算机程序被中央处理单元(CPU)1301执行时,执行本申请的系统中限定的各种功能。
需要说明的是,本申请实施例所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)、闪存、光纤、便携式紧凑磁盘只读存储器(Compact Disc Read-Only Memory,CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的计算机程序。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的计算机程序可以用任何适当的介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。其中,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现,所描述的单元也可以设置在处理器中。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。
作为另一方面,本申请还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该电子设备执行时,使得该电子设备实现上述实施例中所述的方法。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本申请的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本申请实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、触控终端、或者网络设备等)执行根据本申请实施方式的方法。
本领域技术人员在考虑说明书及实践这里公开的实施方式后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。
Claims (24)
1.一种区块链系统的交易处理方法,其特征在于,所述区块链系统包括记账节点网络和业务节点网络,以及连接在所述记账节点网络和所述业务节点网络之间的代理节点,所述交易处理方法由所述代理节点执行,所述交易处理方法包括:
接收所述业务节点网络发送的交易信息;
若所述业务节点网络发送的交易信息是批量交易信息,则对所述批量交易信息进行签名验证;
通过所述代理节点的私钥对签名验证通过的多条批量交易信息进行整体签名,得到整体签名信息;
根据所述多条批量交易信息和所述整体签名信息生成批量交易包,所述批量交易包中包含有所述多条批量交易信息和所述整体签名信息,将所述批量交易包发送给所述记账节点网络,以供所述记账节点网络对所述批量交易包的整体签名信息进行验证,并对包含所述批量交易包的区块进行共识和上链处理。
2.根据权利要求1所述的区块链系统的交易处理方法,其特征在于,所述通过所述代理节点的私钥对签名验证通过的多条批量交易信息进行整体签名,包括:
如果收集到的签名验证通过的批量交易信息的数量达到设定数量,则通过所述代理节点的私钥对收集到的达到所述设定数量的批量交易信息进行整体签名。
3.根据权利要求1所述的区块链系统的交易处理方法,其特征在于,所述通过所述代理节点的私钥对签名验证通过的多条批量交易信息进行整体签名,包括:
在设定的等待时长内收集签名验证通过的批量交易信息;
通过所述代理节点的私钥对在所述等待时长内收集到的签名验证通过的批量交易信息进行整体签名。
4.根据权利要求1所述的区块链系统的交易处理方法,其特征在于,所述交易处理方法还包括:
若所述业务节点网络发送的交易信息是非批量交易信息,则将所述非批量交易信息直接发送给所述记账节点网络。
5.根据权利要求1至4中任一项所述的区块链系统的交易处理方法,其特征在于,所述交易处理方法还包括:
在接收到所述业务节点网络发送的交易信息后,根据所述交易信息的交易字段中包含的标识信息确定所述交易信息是否是所述批量交易信息。
6.一种区块链系统的交易处理方法,其特征在于,所述区块链系统包括记账节点网络和业务节点网络,以及连接在所述记账节点网络和所述业务节点网络之间的代理节点,所述交易处理方法由所述记账节点网络中的记账节点执行,所述交易处理方法包括:
接收代理节点发送的批量交易包,所述批量交易包是所述代理节点根据签名验证通过的多条批量交易信息,以及所述多条批量交易信息的整体签名信息生成的,所述批量交易包中包含有所述多条批量交易信息和所述整体签名信息,所述整体签名信息是通过所述代理节点的私钥对所述多条批量交易信息进行整体签名得到的;
对所述批量交易包的整体签名信息进行验证;
在对所述批量交易包的整体签名信息验证通过之后,根据所述批量交易包中的批量交易信息生成区块;
在所述记账节点网络中对所述区块进行共识和上链处理。
7.根据权利要求6所述的区块链系统的交易处理方法,其特征在于,所述根据所述批量交易包中的批量交易信息生成区块,包括:
若根据所述批量交易包的出块等待时长确定需要将所述批量交易包添加至区块中,且待生成区块的剩余区块容量能够容纳所述批量交易包,则将所述批量交易包添加至所述待生成区块中。
8.根据权利要求7所述的区块链系统的交易处理方法,其特征在于,所述交易处理方法还包括:
若根据所述批量交易包的出块等待时长确定需要将所述批量交易包添加至区块中,且待生成区块的剩余区块容量不能够容纳所述批量交易包,则使所述批量交易包继续进行等待,以将所述批量交易包添加至能够容纳所述批量交易包的区块中。
9.根据权利要求6所述的区块链系统的交易处理方法,其特征在于,所述根据所述批量交易包中的批量交易信息生成区块,包括:
根据所述批量交易包的哈希值和所述整体签名信息生成区块头,并在所述区块头中添加用于指示包含有批量交易信息的标识信息;
根据所述批量交易包中所包含的批量交易信息生成区块体;
基于所述区块头和所述区块体生成区块。
10.根据权利要求6至9中任一项所述的区块链系统的交易处理方法,其特征在于,所述交易处理方法还包括:
如果接收到所述记账节点网络中的其它记账节点广播的待共识区块,则对所述待共识区块中包含的非批量交易信息进行签名验证,并对所述待共识区块中包含的批量交易包的整体签名信息进行验证;
若对所述待共识区块中包含的非批量交易信息验证通过,且对所述待共识区块中包含的批量交易包的整体签名信息验证通过,则确定对所述待共识区块验证通过。
11.根据权利要求10所述的区块链系统的交易处理方法,其特征在于,所述交易处理方法还包括:
在对所述待共识区块中包含的批量交易包的整体签名信息进行验证的过程中,若本地交易池中未存储所述批量交易包所包含的批量交易信息,则根据所述待共识区块中包含的所述批量交易信息生成所述批量交易包;
基于生成的所述批量交易包对所述整体签名信息进行验证。
12.一种区块链系统的交易处理装置,其特征在于,所述区块链系统包括记账节点网络和业务节点网络,以及连接在所述记账节点网络和所述业务节点网络之间的代理节点,所述交易处理装置设置在所述代理节点内,所述交易处理装置包括:
第一接收单元,配置为接收所述业务节点网络发送的交易信息;
第一处理单元,配置为在所述业务节点网络发送的交易信息是批量交易信息时,对所述批量交易信息进行签名验证;
第二处理单元,配置为通过所述代理节点的私钥对签名验证通过的多条批量交易信息进行整体签名,得到整体签名信息;
第一生成单元,配置为根据所述多条批量交易信息和所述整体签名信息生成批量交易包,所述批量交易包中包含有所述多条批量交易信息和所述整体签名信息,将所述批量交易包发送给所述记账节点网络,以供所述记账节点网络对所述批量交易包的整体签名信息进行验证,并对包含所述批量交易包的区块进行共识和上链处理。
13.根据权利要求12所述的区块链系统的交易处理装置,其特征在于,所述第二处理单元配置为:
如果收集到的签名验证通过的批量交易信息的数量达到设定数量,则通过所述代理节点的私钥对收集到的达到所述设定数量的批量交易信息进行整体签名。
14.根据权利要求12所述的区块链系统的交易处理装置,其特征在于,所述第二处理单元配置为:
在设定的等待时长内收集签名验证通过的批量交易信息;通过所述代理节点的私钥对在所述等待时长内收集到的签名验证通过的批量交易信息进行整体签名。
15.根据权利要求12所述的区块链系统的交易处理装置,其特征在于,所述第一生成单元还配置为:
若所述业务节点网络发送的交易信息是非批量交易信息,则将所述非批量交易信息直接发送给所述记账节点网络。
16.根据权利要求12至15中任一项所述的区块链系统的交易处理装置,其特征在于,所述第一处理单元还配置为:
在接收到所述业务节点网络发送的交易信息后,根据所述交易信息的交易字段中包含的标识信息确定所述交易信息是否是所述批量交易信息。
17.一种区块链系统的交易处理装置,其特征在于,所述区块链系统包括记账节点网络和业务节点网络,以及连接在所述记账节点网络和所述业务节点网络之间的代理节点,所述交易处理装置设置在所述记账节点网络中的记账节点内,所述交易处理装置包括:
第二接收单元,配置为接收代理节点发送的批量交易包,所述批量交易包是所述代理节点根据签名验证通过的多条批量交易信息,以及所述多条批量交易信息的整体签名信息生成的,所述批量交易包中包含有所述多条批量交易信息和所述整体签名信息,所述整体签名信息是通过所述代理节点的私钥对所述多条批量交易信息进行整体签名得到的;
第三处理单元,配置为对所述批量交易包的整体签名信息进行验证;
第二生成单元,配置为在对所述批量交易包的整体签名信息验证通过之后,根据所述批量交易包中的批量交易信息生成区块;
第四处理单元,配置为在所述记账节点网络中对所述区块进行共识和上链处理。
18.根据权利要求17所述的区块链系统的交易处理装置,其特征在于,所述第二生成单元配置为:
若根据所述批量交易包的出块等待时长确定需要将所述批量交易包添加至区块中,且待生成区块的剩余区块容量能够容纳所述批量交易包,则将所述批量交易包添加至所述待生成区块中。
19.根据权利要求18所述的区块链系统的交易处理装置,其特征在于,所述第二生成单元还配置为:
若根据所述批量交易包的出块等待时长确定需要将所述批量交易包添加至区块中,且待生成区块的剩余区块容量不能够容纳所述批量交易包,则使所述批量交易包继续进行等待,以将所述批量交易包添加至能够容纳所述批量交易包的区块中。
20.根据权利要求17所述的区块链系统的交易处理装置,其特征在于,所述第二生成单元配置为:
根据所述批量交易包的哈希值和所述整体签名信息生成区块头,并在所述区块头中添加用于指示包含有批量交易信息的标识信息;根据所述批量交易包中所包含的批量交易信息生成区块体;基于所述区块头和所述区块体生成区块。
21.根据权利要求17至20中任一项所述的区块链系统的交易处理装置,其特征在于,所述第三处理单元还配置为:
如果接收到所述记账节点网络中的其它记账节点广播的待共识区块,则对所述待共识区块中包含的非批量交易信息进行签名验证,并对所述待共识区块中包含的批量交易包的整体签名信息进行验证;若对所述待共识区块中包含的非批量交易信息验证通过,且对所述待共识区块中包含的批量交易包的整体签名信息验证通过,则确定对所述待共识区块验证通过。
22.根据权利要求21所述的区块链系统的交易处理装置,其特征在于,所述第三处理单元还配置为:
在对所述待共识区块中包含的批量交易包的整体签名信息进行验证的过程中,若本地交易池中未存储所述批量交易包所包含的批量交易信息,则根据所述待共识区块中包含的所述批量交易信息生成所述批量交易包;基于生成的所述批量交易包对所述整体签名信息进行验证。
23.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至5中任一项所述的区块链系统的交易处理方法,或实现如权利要求6至11中任一项所述的区块链系统的交易处理方法。
24.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如权利要求1至5中任一项所述的区块链系统的交易处理方法,或实现如权利要求6至11中任一项所述的区块链系统的交易处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011432518.4A CN112232823B (zh) | 2020-12-10 | 2020-12-10 | 区块链系统的交易处理方法、装置、介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011432518.4A CN112232823B (zh) | 2020-12-10 | 2020-12-10 | 区块链系统的交易处理方法、装置、介质及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112232823A CN112232823A (zh) | 2021-01-15 |
CN112232823B true CN112232823B (zh) | 2021-04-23 |
Family
ID=74124005
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011432518.4A Active CN112232823B (zh) | 2020-12-10 | 2020-12-10 | 区块链系统的交易处理方法、装置、介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112232823B (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112926982B (zh) * | 2021-01-20 | 2022-08-02 | 腾讯科技(深圳)有限公司 | 一种交易数据处理方法、装置、设备及存储介质 |
CN113034137A (zh) * | 2021-03-12 | 2021-06-25 | 腾讯科技(深圳)有限公司 | 基于区块链的数据处理方法、装置及相关设备 |
CN112866421B (zh) * | 2021-03-30 | 2023-02-24 | 中国工商银行股份有限公司 | 基于分布式缓存以及nsq的智能合约运行方法及装置 |
CN113256424B (zh) * | 2021-06-15 | 2021-09-24 | 腾讯科技(深圳)有限公司 | 一种交易数据处理方法、装置、设备及存储介质 |
CN113313584B (zh) * | 2021-06-25 | 2023-10-10 | 中国农业银行股份有限公司 | 业务处理方法及处理装置 |
CN113542396B (zh) * | 2021-07-13 | 2024-03-08 | 华润数字科技有限公司 | 一种区块链存储及通讯方法、系统及其相关组件 |
CN113706146B (zh) * | 2021-08-04 | 2024-07-30 | 杭州溪塔科技有限公司 | 一种基于区块链执行批量交易的处理方法、装置和系统 |
CN113610635B (zh) * | 2021-08-11 | 2024-06-25 | 中国银行股份有限公司 | 控制银行终端交易等待时长的方法及装置 |
CN113806801B (zh) * | 2021-09-15 | 2023-08-29 | 网易(杭州)网络有限公司 | 交易信息上链方法、装置、计算机设备及存储介质 |
CN114092253B (zh) * | 2021-11-26 | 2024-09-20 | 成都质数斯达克科技有限公司 | 一种区块链批次交易方法、装置、设备及可读存储介质 |
CN114066456B (zh) * | 2022-01-13 | 2022-04-08 | 环球数科集团有限公司 | 一种基于erc1155的跨链nft转移和结算系统 |
CN116723239B (zh) * | 2023-08-09 | 2023-10-31 | 腾讯科技(深圳)有限公司 | 区块链数据的传输方法、装置、电子设备和可读介质 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10565645B1 (en) * | 2014-05-20 | 2020-02-18 | Wells Fargo Bank, N.A. | Systems and methods for operating a math-based currency exchange |
EP3433973A4 (en) * | 2016-03-23 | 2019-10-16 | Nokia Technologies Oy | MANAGEMENT OF CRYPTOGRAPHIC TRANSACTIONS |
CN106656974B (zh) * | 2016-10-17 | 2019-07-16 | 江苏通付盾科技有限公司 | 区块链的分组共识方法及系统 |
CN110930149B (zh) * | 2018-12-07 | 2023-09-26 | 深圳市智税链科技有限公司 | 在区块链网络中确定记账节点的方法、代理节点和介质 |
CN111614707A (zh) * | 2019-02-26 | 2020-09-01 | 傲为信息技术(江苏)有限公司 | 一种基于区块链的交易系统及交易方法 |
CN110197372A (zh) * | 2019-05-24 | 2019-09-03 | 杭州复杂美科技有限公司 | 交易组攻击的防护方法、设备和存储介质 |
CN110910138B (zh) * | 2019-12-04 | 2022-07-08 | 中科扶云(杭州)科技有限公司 | 一种区块链数据监管方法、装置 |
CN111161078A (zh) * | 2020-01-06 | 2020-05-15 | 江苏恒为信息科技有限公司 | 一种一对多的区块链转账实现方法 |
-
2020
- 2020-12-10 CN CN202011432518.4A patent/CN112232823B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN112232823A (zh) | 2021-01-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112232823B (zh) | 区块链系统的交易处理方法、装置、介质及电子设备 | |
CN112000976B (zh) | 区块链系统的认证管理方法、装置、介质及电子设备 | |
Yue et al. | A survey of decentralizing applications via blockchain: The 5G and beyond perspective | |
US20230023857A1 (en) | Data processing method and apparatus, intelligent device, and storage medium | |
CN112132447B (zh) | 一种基于区块链的算力网络信任评估与保障算法 | |
CN109636492B (zh) | 基于区块链系统的税务管理方法、装置、介质及电子设备 | |
Xue et al. | Integration of blockchain and edge computing in internet of things: A survey | |
CN112231741B (zh) | 基于区块链系统的数据处理方法、装置、介质及电子设备 | |
CN109658097B (zh) | 区块链系统的认证管理方法、装置、介质及电子设备 | |
CN112287031B (zh) | 区块链系统的数据同步方法、装置、可读介质及电子设备 | |
CN112291376B (zh) | 区块链系统中的数据处理方法及相关设备 | |
Barenji et al. | Blockchain-based cloud manufacturing: Decentralization | |
CN109379381B (zh) | 区块链系统的数据管理方法、装置、介质及电子设备 | |
CN112532753B (zh) | 区块链系统的数据同步方法、装置、介质及电子设备 | |
CN112231414B (zh) | 区块链系统的数据同步方法、装置、可读介质及电子设备 | |
CN112565104B (zh) | 区块链系统的流量控制方法、装置、介质及电子设备 | |
Sabir et al. | Authentication and load balancing scheme based on JSON Token for Multi-Agent Systems | |
CN114567643A (zh) | 跨区块链的数据流转方法、装置及相关设备 | |
CN116150260A (zh) | 区块链系统的数据处理方法、装置、介质及电子设备 | |
Chen et al. | On the latency performance in private blockchain networks | |
Liao | Design of the secure smart home system based on the blockchain and cloud service | |
Moussaoui et al. | Distributed ledger technologies for cellular networks and beyond 5g: a survey | |
CN116186749A (zh) | 基于区块链的业务处理方法、装置、电子设备和可读介质 | |
CN116186786A (zh) | 基于区块链的业务处理方法、装置、电子设备和可读介质 | |
CN116233139A (zh) | 区块链系统的数据处理方法、装置、介质及电子设备 |
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 |