CN114666327A - 基于区块链交易的区块打包方法、装置及电子设备 - Google Patents
基于区块链交易的区块打包方法、装置及电子设备 Download PDFInfo
- Publication number
- CN114666327A CN114666327A CN202011541034.3A CN202011541034A CN114666327A CN 114666327 A CN114666327 A CN 114666327A CN 202011541034 A CN202011541034 A CN 202011541034A CN 114666327 A CN114666327 A CN 114666327A
- Authority
- CN
- China
- Prior art keywords
- node
- transaction
- blockchain
- packed
- voted
- 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.)
- Granted
Links
- 238000012856 packing Methods 0.000 title claims abstract description 29
- 238000000034 method Methods 0.000 title claims abstract description 28
- 238000004806 packaging method and process Methods 0.000 claims abstract description 12
- 238000004590 computer program Methods 0.000 claims description 16
- 238000012795 verification Methods 0.000 claims description 4
- 238000004422 calculation algorithm Methods 0.000 abstract description 7
- 230000006870 function Effects 0.000 description 10
- 238000010586 diagram Methods 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000007792 addition Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 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/3821—Electronic credentials
- G06Q20/38215—Use of certificates or encrypted proofs of transaction rights
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/30—Decision processes by autonomous network management units using voting and bidding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
- H04L9/3242—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/56—Financial cryptography, e.g. electronic payment or e-cash
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Strategic Management (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Power Engineering (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明涉及一种基于区块链交易的区块打包方法、装置及电子设备。所述方法包括:区块链中的每一节点接收并存储区块链交易;每一节点根据区块链交易计算出每一节点的哈希值,并根据每一节点的哈希值生成一打包投票信息,并将打包投票信息发送给被投票的节点;每一节点根据接收的打包投票信息记录作为被投票的节点的数量得到每一节点的投票数;每一节点根据所述投票数将所述投票数最多的节点作为目标节点;及所述目标节点将接收的区块链交易打包成区块,并广播给所述区块链中的所有节点。本案能够避免在确定区块的打包权时使用工作量证明共识算法耗费大量的计算资源的问题。
Description
技术领域
本发明涉及区块链技术领域,具体涉及一种基于区块链交易的区块打包方法、装置及电子设备。
背景技术
在去中心化的区块链网路中,各节点之间依循一套共识算法,用以定义谁具有区块的打包权。具有打包权的节点将打包完成的区块透过广播的方式传递给所有节点。其他节点接收到广播的区块后,首先验证该区块的有效性,然后再将有效的区块写入区块链中。现有的工作量证明(Proof of Work,PoW)共识算法使得区块链网络中的所有节点必须耗费大量的计算资源来猜测哈希值才能确定哪个节点取得区块的打包权。
发明内容
鉴于以上内容,有必要提出一种基于区块链交易的区块打包方法、装置及电子设备,以避免在确定区块的打包权时使用工作量证明共识算法耗费大量的计算资源的问题。
本申请的第一方面提供一种基于区块链交易的区块打包方法,所述方法包括:
区块链中的每一节点接收并存储区块链交易;
每一节点根据所述区块链交易计算出每一节点的哈希值,并根据每一节点的哈希值生成一打包投票信息,并将所述打包投票信息发送给被投票的节点,其中,所述打包投票信息中包括投票的节点的数字签名及被投票的节点的唯一识别码;
每一节点根据接收的打包投票信息记录作为被投票的节点的数量得到每一节点的投票数;
每一节点根据所述投票数将所述投票数最多的节点作为目标节点;及
所述目标节点将接收的区块链交易打包成区块,并广播给所述区块链中的所有节点。
优选地,所述区块链中的每一节点接收并存储区块链交易包括:
区块链中的每一节点通过对等网络接收所述区块链交易,并将所述区块链交易存储在每一节点的本地端交易池中。
优选地,所述区块链交易为包括多个交易的交易组合。
优选地,所述每一节点根据所述区块链交易计算出每一节点的哈希值,并根据每一节点的哈希值生成一打包投票信息,并将所述打包投票信息发送给被投票的节点包括:
计算每一节点接收到的交易组合中的每一交易的哈希值,并将所述交易组合中的每一交易的哈希值进行异或运算得到相应的节点的哈希值;
将每一节点的哈希值分别与所述区块链中的所有节点的唯一标识码进行异或运算得到每一节点与所述区块链中的每一节点的异或距离值;
分别确定出每一节点与所述区块链的各个节点之间的异或距离值的最小值;
在所述区块链中将距离每一节点的异或距离值为最小值所对应的节点作为每一节点的打包投票信息中被投票的节点;及
每一节点分别将打包投票信息发送给相应的被投票的节点。
优选地,所述区块链中的每一节点根据所述区块链交易计算出每一节点的哈希值,并根据每一节点的哈希值生成一打包投票信息,并将所述打包投票信息发送给被投票的节点包括:
所述区块链中的每一节点在预设时间段内根据所述区块链交易计算出每一节点的哈希值,并根据每一节点的哈希值生成一打包投票信息,并将所述打包投票信息发送给被投票的节点。
优选地,所述每一节点根据接收的打包投票信息记录作为被投票的节点的数量得到每一节点的投票数包括:
每一节点根据作为被投票节点的投票数、作为被投票节点的唯一识别码及验证信息生成投票信息;及
每一节点将投票信息广播给所述区块链中所有的节点。
优选地,所述区块链中的每一节点接收相同或不同的区块链交易。
本申请的第二方面提供一种基于区块链交易的区块打包装置,所述装置包括:
交易接收模块,用于控制区块链中的每一节点接收并存储区块链交易;
投票模块,用于控制每一节点根据所述区块链交易计算出每一节点的哈希值,并根据每一节点的哈希值生成一打包投票信息,并将所述打包投票信息发送给被投票的节点,其中,所述打包投票信息中包括投票的节点的数字签名及被投票的节点的唯一识别码;
计票模块,用于:
控制每一节点根据接收的打包投票信息记录作为被投票的节点的数量得到每一节点的投票数;及
控制每一节点根据所述投票数将所述投票数最多的节点作为目标节点;及
打包模块,用于控制所述目标节点将接收的区块链交易打包成区块,并广播给所述区块链中的所有节点。
优选地,所述区块链交易为包括多个交易的交易组合,所述投票模块还用于:
计算每一节点接收到的交易组合中的每一交易的哈希值,并将所述交易组合中的每一交易的哈希值进行异或运算得到相应的节点的哈希值;
将每一节点的哈希值分别与所述区块链中的所有节点的唯一标识码进行异或运算得到每一节点与所述区块链中的每一节点的异或距离值;
分别确定出每一节点与所述区块链的各个节点之间的异或距离值的最小值;
在所述区块链中将距离每一节点的异或距离值为最小值所对应的节点作为每一节点的打包投票信息中被投票的节点;及
每一节点分别将打包投票信息发送给相应的被投票的节点。
本申请的第三方面提供一种电子设备,所述电子设备包括处理器及存储器,所述处理器用于执行所述存储器中存储的计算机程序时实现所述基于区块链交易的区块打包方法。
本案中每一节点根据所述投票数将所述投票数最多的节点作为目标节点,及所述目标节点将接收的区块链交易打包成区块,并广播给所述区块链中的所有节点,从而避免在确定区块的打包权时使用工作量证明共识算法耗费大量的计算资源的问题。
附图说明
图1为本发明一实施方式中基于区块链交易的区块打包方法的流程图。
图2为本发明一实施方式中基于区块链交易的区块打包装置的结构图。
图3为本发明一实施方式中电子设备的示意图。
具体实施方式
为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施例对本发明进行详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。
优选地,本发明基于区块链交易的区块打包方法应用在一个或者多个电子设备中。所述电子设备是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(Application SpecificIntegrated Circuit,ASIC)、可编程门阵列(Field-Programmable Gate Array,FPGA)、数字处理器(Digital Signal Processor,DSP)、嵌入式设备等。
所述电子设备可以是桌上型计算机、笔记本电脑、平板电脑及云端服务器等计算设备。所述设备可以与用户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互。
实施例1
图1是本发明一实施方式中基于区块链交易的区块打包方法的流程图。根据不同的需求,所述流程图中步骤的顺序可以改变,某些步骤可以省略。
参阅图1所示,所述基于区块链交易的区块打包方法具体包括以下步骤。
步骤S11,区块链中的每一节点接收并存储区块链交易。
本实施方式中,新产生的区块链交易通过对等(Peer to Peer,P2P)网络广播给区块链中的所有节点。区块链中的每一节点通过对等网络接收所述区块链交易,并将所述区块链交易存储在每一节点的本地端交易池中。例如,区块链中的任一节点产生了新的区块链交易后通过对等网络后广播给所述区块链中的所有节点,区块链中的每一节点接收到相应节点广播的区块链交易后将所述区块链交易存储在每一节点的本地端交易池中。
步骤S12,每一节点根据所述区块链交易计算出每一节点的哈希值,并根据每一节点的哈希值生成一打包投票信息,并将所述打包投票信息发送给被投票的节点,其中,所述打包投票信息中包括投票的节点的数字签名及被投票的节点的唯一识别码。
本实施方式中,所述区块链交易为包括多个交易的交易组合。本实施方式中,由于P2P网络传输延时的影响,所述区块链中的每一节点接收到的区块链交易可能相同,也可能不同,也即,所述区块链中的每一节点接收到的交易组合中的交易可能相同,也可能不同。本实施方式中,当所述区块链的两个节点接收到相同的区块链交易时,所述两个节点计算出的哈希值相同;当所述区块链的两个节点接收到不同的区块链交易时,所述两个节点计算出的哈希值也不相同。
本实施方式中,所述每一节点根据所述区块链交易计算出每一节点的哈希值,并根据每一节点的哈希值生成一打包投票信息,并将所述打包投票信息发送给被投票的节点包括:计算每一节点接收到的交易组合中的每一交易的哈希值,并将所述交易组合中的每一交易的哈希值进行异或运算得到相应的节点的哈希值;将每一节点的哈希值分别与所述区块链中的所有节点的唯一标识码进行异或运算得到每一节点与所述区块链中的每一节点的异或距离值;分别确定出每一节点与所述区块链的各个节点之间的异或距离值的最小值;在所述区块链中将距离每一节点的异或距离值为最小值所对应的节点作为每一节点的打包投票信息中被投票的节点;及每一节点分别将打包投票信息发送给相应的被投票的节点。
例如,所述区块链由节点X、节点Y、节点Z、节点U四个节点组成。节点X的唯一识别码为0xF000,节点Y的识别码为0x0F00,节点Z的识别码为0x00F0,节点U的识别码为0x000F。其中,F表示十六进制中的数字F。所述区块链交易包括交易A、交易B及交易C中的一个或多个。计算出交易A的哈希值为0x0FFF,计算出交易B的哈希值为0xF0FF,计算出交易C的哈希值为0xFF0F。当节点X接收到的区块链交易包括交易A、交易B及交易C时,节点X将交易A、交易B及交易C的哈希值进行异或运算,即将0x0FFF⊕0xF0FF⊕0xFF0F进行运算得到节点X的哈希值为0x000F。当节点Y接收到的区块链交易包括交易A、交易B及交易C时,节点Y将交易A、交易B及交易C的哈希值进行异或运算,即将0x0FFF⊕0xF0FF⊕0xFF0F进行运算得到节点Y的哈希值为0x000F。当节点Z接收到的区块链交易包括交易A及交易B时,节点Z将交易A及交易B的哈希值进行异或运算,即将0x0FFF⊕0xF0FF进行运算得到节点Y的哈希值为0xFF00。当节点U接收到的区块链交易包括交易B及交易C时,节点U将交易B及交易C的哈希值进行异或运算,即将0xF0FF⊕0xFF0F进行运算得到节点U的哈希值为0x0FF0。节点X将节点X的哈希值分别与节点X、节点Y、节点Z、节点U的唯一标识码进行异或运算得到节点X与节点X的异或距离值为61455,得到节点X与节点Y的异或距离值为3855,得到节点X与节点Z的异或距离值为255,及得到节点X与节点U的异或距离值为0。由于节点X与节点U之间的异或距离值最小,所以节点X将节点U作为节点X的打包投票信息中被投票的节点,及节点X将打包投票信息发送给节点U。区块链中剩余的节点Y、节点Z、节点U确定出各自打包投票信息中被投票的节点的过程与节点X确定出打包投票信息节点中被投票的节点的过程相同,这里不再详述。
在一实施方式中,所述区块链中的每一节点根据所述区块链交易计算出每一节点的哈希值,并根据每一节点的哈希值生成一打包投票信息,并将所述打包投票信息发送给被投票的节点包括:所述区块链中的每一节点在预设时间段内根据所述区块链交易计算出每一节点的哈希值,并根据每一节点的哈希值生成一打包投票信息,并将所述打包投票信息发送给被投票的节点。本实施方式中,所述预设时间段为10秒。
步骤S13,每一节点根据接收的打包投票信息记录作为被投票的节点的数量得到每一节点的投票数。
本实施方式中,所述每一节点根据接收的打包投票信息记录作为被投票的节点的数量得到每一节点的投票数包括:每一节点根据作为被投票节点的投票数、作为被投票节点的唯一识别码及验证信息生成投票信息;及每一节点将投票信息广播给所述区块链中所有的节点。
步骤S14,每一节点根据所述投票数将所述投票数最多的节点作为目标节点。
步骤S15,所述目标节点将接收的区块链交易打包成区块,并广播给所述区块链中的所有节点。
本实施方式中,所述目标节点所述目标节点将接收的区块链交易打包成区块,并通过P2P网络广播给所述区块链中的所有节点。
本发明中每一节点根据所述投票数将所述投票数最多的节点作为目标节点,及所述目标节点将接收的区块链交易打包成区块,并广播给所述区块链中的所有节点,从而避免在确定区块的打包权时使用工作量证明共识算法耗费大量的计算资源的问题。
实施例2
图2为本发明一实施方式中基于区块链交易的区块打包装置30的结构图。
在一些实施例中,所述基于区块链交易的区块打包装置30可以包括多个由程序代码段所组成的功能模块。所述基于区块链交易的区块打包装置30中的各个程序段的程序代码可以存储于存储器中,并由至少一个处理器所执行,以执行区块打包功能。
本实施例中,所述基于区块链交易的区块打包装置30根据其所执行的功能,可以被划分为多个功能模块。参阅图2所示,所述基于区块链交易的区块打包装置30可以包括交易接收模块301、投票模块302、计票模块303及打包模块304。本发明所称的模块是指一种能够被至少一个处理器所执行并且能够完成固定功能的一系列计算机程序段,其存储在存储器中。所述在一些实施例中,关于各模块的功能将在后续的实施例中详述。
所述交易接收模块301用于控制区块链中的每一节点接收并存储区块链交易。
本实施方式中,新产生的区块链交易通过P2P网络广播给区块链中的所有节点。所述交易接收模块301控制区块链中的每一节点通过对等网络接收所述区块链交易,并将所述区块链交易存储在每一节点的本地端交易池中。例如,区块链中的任一节点产生了新的区块链交易后通过对等网络后广播给所述区块链中的所有节点,所述交易接收模块301控制区块链中的每一节点接收到相应节点广播的区块链交易后将所述区块链交易存储在每一节点的本地端交易池中。
所述投票模块302用于控制每一节点根据所述区块链交易计算出每一节点的哈希值,并根据每一节点的哈希值生成一打包投票信息,并将所述打包投票信息发送给被投票的节点,其中,所述打包投票信息中包括投票的节点的数字签名及被投票的节点的唯一识别码。
本实施方式中,所述区块链交易为包括多个交易的交易组合。本实施方式中,由于P2P网络传输延时的影响,所述区块链中的每一节点接收到的区块链交易可能相同,也可能不同,也即,所述区块链中的每一节点接收到的交易组合中的交易可能相同,也可能不同。本实施方式中,当所述区块链的两个节点接收到相同的区块链交易时,所述两个节点计算出的哈希值相同;当所述区块链的两个节点接收到不同的区块链交易时,所述两个节点计算出的哈希值也不相同。
本实施方式中,所述投票模块302控制计算每一节点接收到的交易组合中的每一交易的哈希值,并将所述交易组合中的每一交易的哈希值进行异或运算得到相应的节点的哈希值;将每一节点的哈希值分别与所述区块链中的所有节点的唯一标识码进行异或运算得到每一节点与所述区块链中的每一节点的异或距离值;分别确定出每一节点与所述区块链的各个节点之间的异或距离值的最小值;在所述区块链中将距离每一节点的异或距离值为最小值所对应的节点作为每一节点的打包投票信息中被投票的节点;及每一节点分别将打包投票信息发送给相应的被投票的节点。
例如,所述区块链由节点X、节点Y、节点Z、节点U四个节点组成。节点X的唯一识别码为0xF000,节点Y的识别码为0x0F00,节点Z的识别码为0x00F0,节点U的识别码为0x000F。其中,F表示十六进制中的数字F。所述区块链交易包括交易A、交易B及交易C中的一个或多个。所述投票模块302计算出交易A的哈希值为0x0FFF,计算出交易B的哈希值为0xF0FF,计算出交易C的哈希值为0xFF0F。当节点X接收到的区块链交易包括交易A、交易B及交易C时,所述投票模块302控制节点X将交易A、交易B及交易C的哈希值进行异或运算,即将0x0FFF⊕0xF0FF⊕0xFF0F进行运算得到节点X的哈希值为0x000F。当节点Y接收到的区块链交易包括交易A、交易B及交易C时,所述投票模块302控制节点Y将交易A、交易B及交易C的哈希值进行异或运算,即将0x0FFF⊕0xF0FF⊕0xFF0F进行运算得到节点Y的哈希值为0x000F。当节点Z接收到的区块链交易包括交易A及交易B时,所述投票模块302控制节点Z将交易A及交易B的哈希值进行异或运算,即将0x0FFF⊕0xF0FF进行运算得到节点Y的哈希值为0xFF00。当节点U接收到的区块链交易包括交易B及交易C时,所述投票模块302控制节点U将交易B及交易C的哈希值进行异或运算,即将0xF0FF⊕0xFF0F进行运算得到节点U的哈希值为0x0FF0。所述投票模块302控制节点X将节点X的哈希值分别与节点X、节点Y、节点Z、节点U的唯一标识码进行异或运算得到节点X与节点X的异或距离值为61455,得到节点X与节点Y的异或距离值为3855,得到节点X与节点Z的异或距离值为255,得到节点X与节点U的异或距离值为0。由于节点X与节点U之间的异或距离值最小,所述投票模块302控制节点X将节点U作为节点X的打包投票信息中被投票的节点,及控制节点X将打包投票信息发送给节点U。所述投票模块302控制控制区块链中剩余的节点Y、节点Z、节点U确定出各自打包投票信息中被投票的节点的过程与节点X确定出打包投票信息节点中被投票的节点的过程相同,这里不再详述。
在一实施方式中,所述区块链中的每一节点根据所述区块链交易计算出每一节点的哈希值,并根据每一节点的哈希值生成一打包投票信息,并将所述打包投票信息发送给被投票的节点包括:所述区块链中的每一节点在预设时间段内根据所述区块链交易计算出每一节点的哈希值,并根据每一节点的哈希值生成一打包投票信息,并将所述打包投票信息发送给被投票的节点。本实施方式中,所述预设时间段为10秒。
所述计票模块303用于控制每一节点根据接收的打包投票信息记录作为被投票的节点的数量得到每一节点的投票数。
本实施方式中,所述计票模块303控制每一节点根据作为被投票节点的投票数、作为被投票节点的唯一识别码及验证信息生成投票信息;及每一节点将投票信息广播给所述区块链中所有的节点。
所述计票模块303控制每一节点根据所述投票数将所述投票数最多的节点作为目标节点。
所述打包模块304控制所述目标节点将接收的区块链交易打包成区块,并广播给所述区块链中的所有节点。
本实施方式中,所述打包模块304控制所述目标节点所述目标节点将接收的区块链交易打包成区块,并通过P2P网络广播给所述区块链中的所有节点。
本发明中每一节点根据所述投票数将所述投票数最多的节点作为目标节点,及所述目标节点将接收的区块链交易打包成区块,并广播给所述区块链中的所有节点,从而避免在确定区块的打包权时使用工作量证明共识算法耗费大量的计算资源的问题。
实施例3
图3为本发明一实施方式中电子设备6的示意图。
所述电子设备6包括存储器61、处理器62以及存储在所述存储器61中并可在所述处理器62上运行的计算机程序63。所述处理器62执行所述计算机程序63时实现上述基于区块链交易的区块打包方法实施例中的步骤,例如图1所示的步骤S11~S15。或者,所述处理器62执行所述计算机程序63时实现上述基于区块链交易的区块打包装置实施例中各模块/单元的功能,例如图2中的模块301~304。
示例性的,所述计算机程序63可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器61中,并由所述处理器62执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,所述指令段用于描述所述计算机程序63在所述电子设备6中的执行过程。例如,所述计算机程序63可以被分割成图2中的交易接收模块301、投票模块302、计票模块303及打包模块304,各模块具体功能参见实施例2。
本领域技术人员可以理解,所述示意图仅仅是电子设备6的示例,并不构成对电子设备6的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述电子设备6还可以包括输入输出设备、网络接入设备、总线等。
所称处理器62可以是中央处理模块(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者所述处理器62也可以是任何常规的处理器等,所述处理器62是所述电子设备6的控制中心,利用各种接口和线路连接整个电子设备6的各个部分。
所述存储器61可用于存储所述计算机程序63和/或模块/单元,所述处理器62通过运行或执行存储在所述存储器61内的计算机程序和/或模块/单元,以及调用存储在存储器61内的数据,实现所述电子设备6的各种功能。所述存储器61可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据电子设备6的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器61可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
所述电子设备6集成的模块/单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,所述计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
在本发明所提供的几个实施例中,应该理解到,所揭露的电子设备和方法,可以通过其它的方式实现。例如,以上所描述的电子设备实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
另外,在本发明各个实施例中的各功能模块可以集成在相同处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在相同模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他模块或步骤,单数不排除复数。电子设备权利要求中陈述的多个模块或电子设备也可以由同一个模块或电子设备通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
最后应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。
Claims (10)
1.一种基于区块链交易的区块打包方法,其特征在于,所述方法包括:
区块链中的每一节点接收并存储区块链交易;
每一节点根据所述区块链交易计算出每一节点的哈希值,并根据每一节点的哈希值生成一打包投票信息,并将所述打包投票信息发送给被投票的节点,其中,所述打包投票信息中包括投票的节点的数字签名及被投票的节点的唯一识别码;
每一节点根据接收的打包投票信息记录作为被投票的节点的数量得到每一节点的投票数;
每一节点根据所述投票数将所述投票数最多的节点作为目标节点;及
所述目标节点将接收的区块链交易打包成区块,并广播给所述区块链中的所有节点。
2.如权利要求1所述的基于区块链交易的区块打包方法,其特征在于,所述区块链中的每一节点接收并存储区块链交易包括:
区块链中的每一节点通过对等网络接收所述区块链交易,并将所述区块链交易存储在每一节点的本地端交易池中。
3.如权利要求1所述的基于区块链交易的区块打包方法,其特征在于,所述区块链交易为包括多个交易的交易组合。
4.如权利要求3所述的基于区块链交易的区块打包方法,其特征在于,所述每一节点根据所述区块链交易计算出每一节点的哈希值,并根据每一节点的哈希值生成一打包投票信息,并将所述打包投票信息发送给被投票的节点包括:
计算每一节点接收到的交易组合中的每一交易的哈希值,并将所述交易组合中的每一交易的哈希值进行异或运算得到相应的节点的哈希值;
将每一节点的哈希值分别与所述区块链中的所有节点的唯一标识码进行异或运算得到每一节点与所述区块链中的每一节点的异或距离值;
分别确定出每一节点与所述区块链的各个节点之间的异或距离值的最小值;
在所述区块链中将距离每一节点的异或距离值为最小值所对应的节点作为每一节点的打包投票信息中被投票的节点;及
每一节点分别将打包投票信息发送给相应的被投票的节点。
5.如权利要求3所述的基于区块链交易的区块打包方法,其特征在于,所述区块链中的每一节点根据所述区块链交易计算出每一节点的哈希值,并根据每一节点的哈希值生成一打包投票信息,并将所述打包投票信息发送给被投票的节点包括:
所述区块链中的每一节点在预设时间段内根据所述区块链交易计算出每一节点的哈希值,并根据每一节点的哈希值生成一打包投票信息,并将所述打包投票信息发送给被投票的节点。
6.如权利要求1所述的基于区块链交易的区块打包方法,其特征在于,所述每一节点根据接收的打包投票信息记录作为被投票的节点的数量得到每一节点的投票数包括:
每一节点根据作为被投票节点的投票数、作为被投票节点的唯一识别码及验证信息生成投票信息;及
每一节点将投票信息广播给所述区块链中所有的节点。
7.如权利要求1所述的基于区块链交易的区块打包方法,其特征在于,所述区块链中的每一节点接收相同或不同的区块链交易。
8.一种基于区块链交易的区块打包装置,其特征在于,所述装置包括:
交易接收模块,用于控制区块链中的每一节点接收并存储区块链交易;
投票模块,用于控制每一节点根据所述区块链交易计算出每一节点的哈希值,并根据每一节点的哈希值生成一打包投票信息,并将所述打包投票信息发送给被投票的节点,其中,所述打包投票信息中包括投票的节点的数字签名及被投票的节点的唯一识别码;
计票模块,用于:
控制每一节点根据接收的打包投票信息记录作为被投票的节点的数量得到每一节点的投票数;及
控制每一节点根据所述投票数将所述投票数最多的节点作为目标节点;及打包模块,用于控制所述目标节点将接收的区块链交易打包成区块,并广播给所述区块链中的所有节点。
9.如权利要求8所述的基于区块链交易的区块打包装置,其特征在于,所述区块链交易为包括多个交易的交易组合,所述投票模块还用于:
计算每一节点接收到的交易组合中的每一交易的哈希值,并将所述交易组合中的每一交易的哈希值进行异或运算得到相应的节点的哈希值;
将每一节点的哈希值分别与所述区块链中的所有节点的唯一标识码进行异或运算得到每一节点与所述区块链中的每一节点的异或距离值;
分别确定出每一节点与所述区块链的各个节点之间的异或距离值的最小值;
在所述区块链中将距离每一节点的异或距离值为最小值所对应的节点作为每一节点的打包投票信息中被投票的节点;及
每一节点分别将打包投票信息发送给相应的被投票的节点。
10.一种电子设备,其特征在于,所述电子设备包括处理器及存储器,所述处理器用于执行所述存储器中存储的计算机程序时实现如权利要求1至7中任一项所述基于区块链交易的区块打包方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011541034.3A CN114666327B (zh) | 2020-12-23 | 2020-12-23 | 基于区块链交易的区块打包方法、装置及电子设备 |
US17/552,879 US20220198449A1 (en) | 2020-12-23 | 2021-12-16 | Block packaging method based on blockchain transaction and electronic device using the same |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011541034.3A CN114666327B (zh) | 2020-12-23 | 2020-12-23 | 基于区块链交易的区块打包方法、装置及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114666327A true CN114666327A (zh) | 2022-06-24 |
CN114666327B CN114666327B (zh) | 2023-12-19 |
Family
ID=82021434
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011541034.3A Active CN114666327B (zh) | 2020-12-23 | 2020-12-23 | 基于区块链交易的区块打包方法、装置及电子设备 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20220198449A1 (zh) |
CN (1) | CN114666327B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115529187B (zh) * | 2022-09-30 | 2025-01-03 | 中国农业银行股份有限公司 | 基于分布式网络的信息处理方法、装置、设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108182635A (zh) * | 2017-12-18 | 2018-06-19 | 深圳前海微众银行股份有限公司 | 区块链共识方法、系统和计算机可读存储介质 |
CN109165945A (zh) * | 2018-09-07 | 2019-01-08 | 腾讯科技(深圳)有限公司 | 代表节点设备选举方法、装置、计算机设备及存储介质 |
CN109872152A (zh) * | 2019-01-11 | 2019-06-11 | 平安科技(深圳)有限公司 | 基于股份授权证明机制的区块链共识方法及相关设备 |
CN109981281A (zh) * | 2019-01-14 | 2019-07-05 | 北京领主科技有限公司 | 基于区块链提案随机共识确定候选元素的方法及装置 |
CN111930845A (zh) * | 2020-08-12 | 2020-11-13 | 湖南宸瀚信息科技有限责任公司 | 一种区块链的共识方法、系统、终端、及存储介质 |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3764589A1 (en) * | 2016-02-23 | 2021-01-13 | Nchain Holdings Limited | Agent-based turing complete transactions integrating feedback within a blockchain system |
US20190149337A1 (en) * | 2016-04-29 | 2019-05-16 | nChain Holdings Limited | Implementing logic gate functionality using a blockchain |
US10417217B2 (en) * | 2016-08-05 | 2019-09-17 | Chicago Mercantile Exchange Inc. | Systems and methods for blockchain rule synchronization |
DE112017006701T5 (de) * | 2016-12-30 | 2019-09-19 | Intel Corporation | Internet der Dinge |
CN107196900B (zh) * | 2017-03-24 | 2020-04-24 | 创新先进技术有限公司 | 一种共识校验的方法及装置 |
WO2019232789A1 (zh) * | 2018-06-08 | 2019-12-12 | 北京大学深圳研究生院 | 一种基于投票的共识方法 |
CN107231299A (zh) * | 2017-06-07 | 2017-10-03 | 众安信息技术服务有限公司 | 一种链路由及实现区块链跨链通信的系统 |
EP3688701A4 (en) * | 2017-09-29 | 2021-05-05 | Leverage Rock LLC | SCALABLE DISTRIBUTED ACCOUNT SYSTEM |
KR20190067581A (ko) * | 2017-12-07 | 2019-06-17 | 한국전자통신연구원 | 블록체인 트랜잭션 분산 처리 장치 및 방법 |
JP6840692B2 (ja) * | 2018-02-22 | 2021-03-10 | 株式会社日立製作所 | 計算機システム、接続装置、及びデータ処理方法 |
US20190361917A1 (en) * | 2018-05-25 | 2019-11-28 | Bao Tran | Smart device |
CN110020854B (zh) * | 2018-11-27 | 2020-11-17 | 创新先进技术有限公司 | 一种基于多个区块链网络的数据存证方法及系统 |
US11418402B1 (en) * | 2019-01-17 | 2022-08-16 | Artema Labs, Inc | Robust and secure proof of space based mining |
US11341009B1 (en) * | 2019-01-18 | 2022-05-24 | EMC IP Holding Company LLC | Directing placement of data in cloud storage nodes |
CN110648137B (zh) * | 2019-04-26 | 2021-08-20 | 腾讯科技(深圳)有限公司 | 一种区块处理方法和节点以及系统 |
KR20220063147A (ko) * | 2019-06-13 | 2022-05-17 | 루이스 에두아르도 구티에레스-셰리스 | 적합도-경사 블록체인 합의를 사용하는 시스템 및 방법 |
US20210099312A1 (en) * | 2019-09-27 | 2021-04-01 | Cypherium Blockchain Inc. | Systems and methods for selecting and utilizing a committee of validator nodes in a distributed system |
CN111506884A (zh) * | 2020-04-15 | 2020-08-07 | 腾讯科技(深圳)有限公司 | 用户邀请方法、装置、计算机设备及计算机可读存储介质 |
-
2020
- 2020-12-23 CN CN202011541034.3A patent/CN114666327B/zh active Active
-
2021
- 2021-12-16 US US17/552,879 patent/US20220198449A1/en active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108182635A (zh) * | 2017-12-18 | 2018-06-19 | 深圳前海微众银行股份有限公司 | 区块链共识方法、系统和计算机可读存储介质 |
CN109165945A (zh) * | 2018-09-07 | 2019-01-08 | 腾讯科技(深圳)有限公司 | 代表节点设备选举方法、装置、计算机设备及存储介质 |
CN109872152A (zh) * | 2019-01-11 | 2019-06-11 | 平安科技(深圳)有限公司 | 基于股份授权证明机制的区块链共识方法及相关设备 |
CN109981281A (zh) * | 2019-01-14 | 2019-07-05 | 北京领主科技有限公司 | 基于区块链提案随机共识确定候选元素的方法及装置 |
CN111930845A (zh) * | 2020-08-12 | 2020-11-13 | 湖南宸瀚信息科技有限责任公司 | 一种区块链的共识方法、系统、终端、及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
US20220198449A1 (en) | 2022-06-23 |
CN114666327B (zh) | 2023-12-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111445333B (zh) | 区块生成方法、装置、计算机设备以及存储介质 | |
EP3825945A1 (en) | Method and device for performing credit evaluation on work publisher based on block chain | |
CN108512939B (zh) | 一种区块链共识方法、装置及相关设备 | |
CN108848148B (zh) | 基于区块链的交易信息确认方法及装置 | |
CN109615525B (zh) | 多签名共享账户的保护方法、系统及电子设备 | |
CN111416709B (zh) | 基于区块链系统的投票方法、装置、设备及存储介质 | |
CN108509615B (zh) | 基于抽签机制的共识建立方法、装置及可读存储介质 | |
CN112163412B (zh) | 数据校验方法、装置、电子设备及存储介质 | |
CN112202779B (zh) | 基于区块链的信息加密方法、装置、设备及介质 | |
CN112291321B (zh) | 业务处理方法、装置及系统 | |
CN111679893A (zh) | 运行系统构建方法、装置、电子设备及存储介质 | |
CN111949666A (zh) | 标识生成方法、装置、电子设备及存储介质 | |
CN111611249A (zh) | 数据管理方法、装置、设备及存储介质 | |
CN111901490B (zh) | 资源共享方法、装置、计算机装置及存储介质 | |
CN110659905A (zh) | 交易验证方法、装置、终端设备以及存储介质 | |
CN114172659B (zh) | 区块链系统中的消息传输方法、装置、设备及存储介质 | |
CN112134883A (zh) | 基于可信计算进行节点间信任关系快速认证的方法、装置及相关产品 | |
CN114666327B (zh) | 基于区块链交易的区块打包方法、装置及电子设备 | |
CN110990790A (zh) | 一种数据处理方法及设备 | |
CN113626765A (zh) | 一种能源数据处理方法、装置、设备及存储介质 | |
CN111899104B (zh) | 一种业务执行方法及装置 | |
CN109981286B (zh) | 一种工作量证明计算的触发方法、装置及计算设备 | |
CN112165383A (zh) | 基于共享根密钥的加密方法、装置、设备及介质 | |
CN113064899B (zh) | 资产类证券型通证交易凭证的存储方法、装置和电子设备 | |
TWI759028B (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 |