CN110505084B - 一种区块链打包节点共识推举方法 - Google Patents
一种区块链打包节点共识推举方法 Download PDFInfo
- Publication number
- CN110505084B CN110505084B CN201910710913.5A CN201910710913A CN110505084B CN 110505084 B CN110505084 B CN 110505084B CN 201910710913 A CN201910710913 A CN 201910710913A CN 110505084 B CN110505084 B CN 110505084B
- Authority
- CN
- China
- Prior art keywords
- node
- nodes
- consensus
- packing
- random number
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/58—Random or pseudo-random number generators
- G06F7/588—Random number generators, i.e. based on natural stochastic processes
-
- 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
-
- 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
- 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/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- 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
Abstract
本发明公开了一种区块链打包节点共识推举方法,包括:每个具有打包权限的节点分别生成随机数,全网广播;由上个打包的矿工节点生成一个KEY随机数,并全网广播;每个节点在收到所有网络节点的随机数与KEY随机数后,分别计算各个节点随机数与KEY随机数差值的绝对值,并进行排序,选取绝对值最小的节点获得打包权限,将本交易池可打包的交易打包到区块,并全网广播有新块打包,其他节点同步新区块数据。该机制各节点产生随机数的计算过程是随机的,每个节点被选为打包者的概率相等,保证了随机性和公平性;同时在原有的区块链技术基础上抛开数字资产,直接针对快速数据上链进行设计,大大提升区块的打包速度,在性能上实现了高并发机制。
Description
技术领域
本发明涉及区块链技术领域,尤其涉及一种区块链打包节点共识推举方法。
背景技术
区块链(Blockchain)是指通过去中心化和去信任的方式集体维护一个可靠数据库的技术方案。能够让参与者在技术层面建立信任,连接联盟生态内成员,构建点对点的价值传递网络。包括共有链、联盟链、私链。公有链(public blockchain)是完全去中心化的,链上数据都是公开透明的,不可更改,任何人都可以通过交易或挖矿读取和写入数据。联盟链(consortium blockchains),是指有若干组织或机构共同参与管理的区块链,每个组织或机构控制一个或多个节点,共同记录交易数据,并且只有这些组织或机构能够对联盟链中的数据进行读写和发送交易。完全私有区块链(fullyprivate blockchains)简称私链,私链和联盟链类似,是指其写入权限仅在一个组织手里的区块链。
公有链的典型代表就是就是比特币,因带有很重的数字货币特征,导致区块链的共识速度较慢,执行速度慢,规模和速度远远达不到商业应用高并发、高响应速度的需求,无法有效处理高并发量大的数据上链请求。目前针对联盟链和私链,抛开数字货币特征,实现数据快速上链的共识方法,鲜有报道。
发明内容
发明目的:针对现有技术存在的上述问题,本发明的目的在于提供一种区块链打包节点共识推举方法。该方法各节点产生随机数的计算过程是随机的,每个节点被选为打包者的概率相等,保证了打包者选举的随机性和公平性;同时在原有的区块链技术基础上抛开数字资产,直接针对快速数据上链进行设计,大大提升区块的打包速度,在性能上实现了高并发机制;减少了对资源的消耗,这些资源包括但不限于:计算用硬件设备、存储设备、网络流量、电力资源;而且实现难度较低,通过常见算法来得到绝对值最小的节点从而获得打包权限,降低区块链研究上的入门门槛。
技术方案:为了实现上述发明目的,本发明采用的技术方案为:
一种区块链打包节点共识推举方法,包括以下步骤:
1)每个具有打包权限的节点分别生成随机数,全网广播,节点之间互相同步随机数,当接收到其它节点广播的随机数后保存在本地;
2)由上个打包节点生成一个KEY随机数,并全网广播;每个节点在收到所有网络节点的随机数与KEY随机数后,分别计算各个节点随机数与KEY随机数差值的绝对值,并进行排序,选取绝对值最小的节点获得打包权限;
3)获得打包权限的节点无需验证token交易,将本交易池可打包的交易打包到区块,并全网广播有新块打包;
4)其它节点在收到新块打包广播时,停止现有工作,同步新区块数据,并在同步完成后,参与到新一个打包流程。
初始区块链打包节点包括区块链节点运行程序和区块链运行参数配置文件两个模块。
配置参数包括节点名称、打包间隔时间、节点总数、随机数值范围。
节点名称全网唯一。
打包间隔时间为100MS-10S。
区块链各个节点在节点可靠性与数据实时性方面达成一致共识。
步骤2)中,在初始打包流程,KEY随机数为0,分别计算各个节点随机数与KEY随机数差值的绝对值,并进行排序,选取绝对值最小的节点作为第一个打包节点。
步骤2)中排序的绝对值出现并列的最小值时,返回步骤1)重新开始;步骤2)中绝对值最小值唯一时,该最小值对应的节点获得打包权限,同时向网络广播打包权限,获得超过半数的节点支持后,开始打包;如果未获得超过半数的节点同意,返回步骤1)重新开始。
上述共识推举方法应用于私链、联盟链。
计算机可读存储介质包括存储的计算机程序,其中,在计算机程序运行时控制所述计算机可读存储介质所在设备执行上述共识推举方法。
有益效果:与现有技术相比,本发明具有以下技术优点:
1)在原有的区块链技术基础上抛开数字资产,直接针对快速数据上链进行设计,从而可以大大提升区块的打包速度,在性能上实现了高并发机制;
2)实现难度较低,通过常见算法来得到绝对值最小的节点从而获得打包权限,降低区块链研究上的入门门槛;
3)减少了对资源的消耗,这些资源包括但不限于:计算用硬件设备、存储设备、网络流量、电力资源;
4)各节点产生随机数的计算过程是随机的,每个节点被选为打包者的概率相等,保证了打包者选举的随机性和公平性。
附图说明
图1是本发明实施例中区块链打包节点共识推举方法的流程图。
具体实施方式
下面结合具体实施例对本发明做进一步的说明。
实施例1
本实施例是在原有的区块链技术基础上抛开数字资产,直接针对快速数据上链进行设计,主要的快速数据上链场景,不支持token类交易。由于共识推举方法本身的限制,主要使用在私链或者联盟链,不建议用在公链。
一种区块链打包节点共识推举方法,包括以下步骤:
1)每个具有打包权限的节点分别生成随机数,全网广播,节点之间互相同步随机数,当接收到其它节点广播的随机数后保存在本地;
2)由上个打包的矿工节点生成一个KEY随机数,(在初始打包流程,KEY随机数为0,分别计算各个节点随机数与KEY随机数差值的绝对值,并进行排序,选取绝对值最小的节点作为第一个打包节点。)并全网广播;每个节点在收到所有网络节点的随机数与KEY随机数后,分别计算各个节点随机数与KEY随机数差值的绝对值,并进行排序,选取绝对值最小的节点获得打包权限;当排序的绝对值出现并列的最小值时,返回步骤1)重新开始;当绝对值最小值唯一时,该最小值对应的节点获得打包权限,同时向网络广播打包权限,获得超过半数的节点支持后,开始打包;如果未获得超过半数的节点同意,返回步骤1)重新开始。
3)获得打包权限的节点无需验证token交易,将本交易池可打包的交易打包到区块,并全网广播有新块打包;
4)其它节点在收到新块打包广播时,停止现有工作,同步新区块数据,并在同步完成后,参与到新一个打包流程。
初始区块链打包节点包括区块链节点运行程序和区块链运行参数配置文件两个模块。
在运行区块链节点之前,需要在区块链运行参数配置文件里配置以下参数:
1)节点名称:节点名称全网唯一,例如:node1、node2、...、nodeN。
2)打包间隔时间:系统可限制并设置范围在100MS-10S。
3)节点总数。
4)随机数范围。
区块链中的节点是诚实可靠的,值得信赖的。各个节点在数据实时性方面达成一致共识,不同节点之间的数据交互,可以理解为数据同步或者是数据备份过程。其他节点通过交易同步工具来实现对不同区块链上交易数据的获取。
上述计算机程序指令存储于有形计算机可读介质上,如ROM/RAM、磁碟、光盘等,同时也可通过计算机或其他可编程设备上执行实施例所述的共识推举方法。
需要注意的是,以上列举的仅为本发明的具体实施例,显然本发明不限于以上实施例,随之有着许多的类似变化。本领域的技术人员如果从本发明公开的内容直接导出或联想到的所有变形,均应属于本发明的保护范围。
Claims (10)
1.一种区块链打包节点共识推举方法,其特征在于,包括以下步骤:
1)每个具有打包权限的节点分别生成随机数,全网广播,节点之间互相同步随机数,当接收到其它节点广播的随机数后保存在本地;
2)由上个打包节点生成一个KEY随机数,并全网广播;每个节点在收到所有网络节点的随机数与KEY随机数后,分别计算各个节点随机数与KEY随机数差值的绝对值,并进行排序,选取绝对值最小的节点获得打包权限;
3)获得打包权限的节点无需验证token交易,将本交易池可打包的交易打包到区块,并全网广播有新块打包;
4)其它节点在收到新块打包的广播时,停止现有工作,同步新区块数据,并在同步完成后,参与到新一个打包流程。
2.根据权利要求1所述的共识推举方法,其特征在于,初始区块链打包节点包括区块链节点运行程序和区块链运行参数配置文件两个模块。
3.根据权利要求2所述的共识推举方法,其特征在于,所述参数配置包括节点名称、打包间隔时间、节点总数、随机数值范围。
4.根据权利要求3所述的共识推举方法,其特征在于,节点名称全网唯一。
5.根据权利要求3所述的共识推举方法,其特征在于,打包间隔时间为100MS-10S。
6.根据权利要求1所述的共识推举方法,其特征在于,区块链各个节点在节点可靠性与数据实时性方面达成一致共识。
7.根据权利要求1所述的共识推举方法,其特征在于,步骤2)中,在初始打包流程,KEY随机数为0,分别计算各个节点随机数与KEY随机数差值的绝对值,并进行排序,选取绝对值最小的节点作为第一个打包节点。
8.根据权利要求1所述的共识推举方法,其特征在于,步骤2)中排序的绝对值出现并列的最小值时,返回步骤1)重新开始;步骤2)中绝对值最小值唯一时,该最小值对应的节点获得打包权限,同时向网络广播打包权限,获得超过半数的节点支持后,开始打包;如果未获得超过半数的节点同意,返回步骤1)重新开始。
9.根据权利要求1所述的共识推举方法,其特征在于,所述共识推举方法应用于私链、联盟链。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行如权利要求1所述的共识推举方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910710913.5A CN110505084B (zh) | 2019-08-01 | 2019-08-01 | 一种区块链打包节点共识推举方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910710913.5A CN110505084B (zh) | 2019-08-01 | 2019-08-01 | 一种区块链打包节点共识推举方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110505084A CN110505084A (zh) | 2019-11-26 |
CN110505084B true CN110505084B (zh) | 2022-06-10 |
Family
ID=68586991
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910710913.5A Active CN110505084B (zh) | 2019-08-01 | 2019-08-01 | 一种区块链打包节点共识推举方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110505084B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111177258B (zh) * | 2019-12-13 | 2021-05-18 | 浙商银行股份有限公司 | 一种基于区块链平台的自适应配置交易打包方法 |
CN111612445B (zh) * | 2020-05-21 | 2021-08-20 | 腾讯科技(深圳)有限公司 | 基于区块链的数据处理方法、系统、设备和存储介质 |
CN112838953A (zh) * | 2021-01-11 | 2021-05-25 | 绵阳沸尔特科技有限公司 | 一种区块链打包节点共识推举方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107347009A (zh) * | 2017-08-30 | 2017-11-14 | 北京知金链网络技术有限公司 | 区块链一维随机数共识推举方法 |
CN107481145A (zh) * | 2017-08-30 | 2017-12-15 | 北京知金链网络技术有限公司 | 区块链多维随机数共识推举方法 |
CN107493173A (zh) * | 2017-08-30 | 2017-12-19 | 北京知金链网络技术有限公司 | 区块链随机数共识推举方法 |
WO2018209542A1 (zh) * | 2017-05-16 | 2018-11-22 | 北京大学深圳研究生院 | 一种用于去中心化域名系统的共识方法 |
WO2019034983A1 (en) * | 2017-08-15 | 2019-02-21 | nChain Holdings Limited | GENERATION OF RANDOM NUMBERS IN A BLOCK CHAIN |
CN110022231A (zh) * | 2019-03-26 | 2019-07-16 | 广州供电局有限公司 | 区块链共识推举方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10832230B2 (en) * | 2017-04-04 | 2020-11-10 | International Business Machines Corporation | Scalable and distributed shared ledger transaction management |
US10243748B1 (en) * | 2018-06-28 | 2019-03-26 | Jonathan Sean Callan | Blockchain based digital certificate provisioning of internet of things devices |
CN110402561B (zh) * | 2018-12-21 | 2021-11-23 | 创新先进技术有限公司 | 基于通用账户模型和同态加密的区块链数据保护 |
-
2019
- 2019-08-01 CN CN201910710913.5A patent/CN110505084B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018209542A1 (zh) * | 2017-05-16 | 2018-11-22 | 北京大学深圳研究生院 | 一种用于去中心化域名系统的共识方法 |
WO2019034983A1 (en) * | 2017-08-15 | 2019-02-21 | nChain Holdings Limited | GENERATION OF RANDOM NUMBERS IN A BLOCK CHAIN |
CN107347009A (zh) * | 2017-08-30 | 2017-11-14 | 北京知金链网络技术有限公司 | 区块链一维随机数共识推举方法 |
CN107481145A (zh) * | 2017-08-30 | 2017-12-15 | 北京知金链网络技术有限公司 | 区块链多维随机数共识推举方法 |
CN107493173A (zh) * | 2017-08-30 | 2017-12-19 | 北京知金链网络技术有限公司 | 区块链随机数共识推举方法 |
CN110022231A (zh) * | 2019-03-26 | 2019-07-16 | 广州供电局有限公司 | 区块链共识推举方法 |
Non-Patent Citations (1)
Title |
---|
区块链共识算法的发展现状与展望;袁勇、倪晓春、曾帅、王飞跃;《自动化学报》;20180927;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN110505084A (zh) | 2019-11-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11663090B2 (en) | Method and system for desynchronization recovery for permissioned blockchains using bloom filters | |
US11556247B2 (en) | Secure and transparent pruning for blockchains | |
US20220141018A1 (en) | Method and system for an efficient consensus mechanism for permissioned blockchains using audit guarantees | |
CN110505084B (zh) | 一种区块链打包节点共识推举方法 | |
CN108512652B (zh) | 基于时间证明的去中心化共识方法、系统及区块链系统 | |
CN111600720B (zh) | 基于区块链的数据处理方法、装置、设备及可读存储介质 | |
CN109542979B (zh) | 一种区块链系统快速同步及简精数据存储的方式 | |
CN111092896B (zh) | 基于优化paxos的食品溯源分布式数据同步方法 | |
CN112085504B (zh) | 一种数据处理方法、装置、计算机设备及存储介质 | |
CN111382456A (zh) | 提案消息处理方法、装置、设备以及存储介质 | |
Zoican et al. | Blockchain and consensus algorithms in internet of things | |
CN110928880B (zh) | 基于区块链的数据处理方法、装置、终端及介质 | |
EP3667534B1 (en) | Time stamping of data in an offline node | |
CN111654395A (zh) | 投票信息处理方法、装置、设备以及存储介质 | |
CN111865983A (zh) | 一种基于区块链的数据安全追溯方法 | |
CN116910820A (zh) | 数据报表处理方法、装置、计算机设备以及存储介质 | |
CN108882230B (zh) | 通话记录管理方法、装置及系统 | |
CN110502578A (zh) | 一种快速数据上链的共识机制 | |
CN114721749A (zh) | 基于区块链的投票表决方法、装置、存储介质及电子设备 | |
CN109558744B (zh) | 一种数据处理方法和系统 | |
CN113468574A (zh) | 一种区块链数据上链方法和装置 | |
KR20210115675A (ko) | 규칙 증명 방식의 합의 알고리즘 기반 블록체인 시스템 및 그 방법 | |
WO2023221772A1 (zh) | 基于区块链网络的数据处理方法及相关产品 | |
CN112488836A (zh) | 交易发送方法、装置、电子设备及可读存储介质 | |
CN115687507A (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 |