CN109255713B - 一种区块链网络中某一时间段内记账权的获取方法 - Google Patents
一种区块链网络中某一时间段内记账权的获取方法 Download PDFInfo
- Publication number
- CN109255713B CN109255713B CN201811339395.2A CN201811339395A CN109255713B CN 109255713 B CN109255713 B CN 109255713B CN 201811339395 A CN201811339395 A CN 201811339395A CN 109255713 B CN109255713 B CN 109255713B
- Authority
- CN
- China
- Prior art keywords
- block
- manufacturer
- transaction
- message
- nodes
- 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
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/542—Event management; Broadcasting; Multicasting; Notifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3825—Use of electronic signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/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
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/40—Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
- G06Q20/401—Transaction verification
- G06Q20/4014—Identity check for transactions
-
- 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)
- Theoretical Computer Science (AREA)
- Accounting & Taxation (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Finance (AREA)
- General Business, Economics & Management (AREA)
- Strategic Management (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Technology Law (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明属于区块链分布式技术领域,公开了一种区块链网络中某一时间段内记账权的获取方法;包括:普通节点参与选举;制造者产生;制造者宣布任期开始;制造者生成新区块;其他节点确认当前任期开始;其他节点在任期内对交易进行处理;其他节点对新区块进行验证;制造者收集第一次反馈投票;其他节点处理提交消息;制造者统计完成消息;制造者任期结束。在使用适宜大小的区块条件下,本发明的区块产生速度可达到3秒每块,秒级交易确认时间,同时单位时间内处理交易数量可达到7000笔每秒。本发明使用约定好的选取方法在有序排列候选节点中产生记账节点,避免额外的电力消耗。本发明允许区块链网络节点的动态加入,具有良好的扩张性。
Description
技术领域
本发明属于区块链分布式技术领域,尤其涉及一种区块链网络中某一时间段内记账权的获取方法。
背景技术
目前,业内常用的现有技术是这样的:区块链是一种时序的,按照类似链表方式组织区块数据的数据结构,也是依靠使用散列函数获得不可篡改性和不可伪造性的分布式去中心化账本,能够安全存储具有一定格式的、时间上有先后关系的、能在系统内进行验证的数据。区块链技术被认为是下一代互联网颠覆性技术,在金融、通信、医疗以及众多行业中有着广泛的应用。
共识算法是区块链的核心技术之一,共识算法的设计紧贴区块链系统应用背景,直接决定了一个区块链网络的运行安全。Paxos算法,是一种基于消息传递且具有高度容错性的一致性算法,由于其设计的复杂程度以及高昂的学习成本而没有被直接使用于生产环境之中,将其进行简化,可以通过弱化某些特性来提高实用性。基于计算机算力的工作量证明共识算法PoW,一般要求使用者经行一些耗时适当的复杂运算,并且答案能够被快速验算,以此耗费的时间、设备与能源作为担保成本来确保区块链网络的正常运行,但在依靠算力竞争保证区块链网络安全性的同时,带来系统效率低下和资源浪费的问题,改变算力竞争过程将大大提高区块链网络的处理效率,减少电力资源的消耗。实用拜占庭容错算法PBFT是一种基于消息传递的一致性算法,应用于复杂网络环境中,主要解决分布式集群一致性的问题,并将原有的容错算法算法复杂度由指数级降低到多项式级,但由于其设计的原因存在网络扩展性差的问题,改为动态节点管理将使其可以应用于公共网络中。权益证明PoS是在工作量证明的基础之上提出的一种变体共识算法,通过股权证明弥补工作量证明机制的上述缺点,但相对较高的中心化程度降低了整个区块链网络的健壮性,整个网络将依赖于代币持有较多的部分节点而不是所有节点。
综上所述,现有技术存在的问题是:现有的区块链共识算法存在效率低下、资源浪费、网络扩展性差、中心化程度提高。
解决上述技术问题的难度和意义:为了解决上述问题,首先需要引入新的竞争机制,不再使用原本的算力竞争,这样在避免原有工作量证明机制的低效同时减少了不必要的计算,避免了资源的浪费;新的竞争机制同时还需要能够允许节点动态的参与记账权竞争,使得网络规模具有良好的弹性,可适配不同的应用环境;最后需要权衡上面的要求和区块链的去中心化特征,在满足上面的需求之上,最大程度的保留区块链去中心化特性。
发明内容
针对现有技术存在的问题,本发明提供了一种区块链网络中某一时间段内记账权的获取方法。
本发明是这样实现的,一种区块链网络中某一时间段内记账权的获取方法,本方法可应用于运行Windows或类Unix操作系统的各类服务器、个人电脑之上。所述区块链网络中某一时间段内记账权的获取方法包括:普通节点参与选举;制造者产生;制造者宣布任期开始;制造者生成新区块;其他节点确认当前任期开始;其他节点在任期内对交易进行处理;其他节点对新区块进行验证;制造者收集第一次反馈投票;其他节点处理提交消息;制造者统计完成消息;制造者任期结束。
进一步,所述区块链网络中某一时间段内记账权的获取方法具体包括:
步骤一,将要进行记账权争夺的节点向选举地址发送交易消息,成为备选节点;选举交易消息包含参与节点的交易地址、节点自身的未使用交易输出总额、以及作为目标地址的选举地址;
步骤二,选举交易池中共有N个备选者,且按照未使用交易输出总额进行降序排列,编号为(h+r)%(N/2)的备选者获得记账权成为制造者,执行步骤三,其中h为当前区块链的块高度,r表示的格林尼治时间,单位为秒;其他备选者在该任期内将履行复制者的职责,跳转步骤六;
步骤三,新的制造者将向全网所有的其他节点广播一条空交易消息,确认自己制造者的身份;其他节点在收到该条消息后初始化计时器,开始该任期;
步骤四,制造者将从一般交易池中取出过去一段时间内的通过验证的交易消息,通过散列函数生成马尔可夫树,配合交易信息构成区块的块体,将马尔可树的树根root和前一区块的哈希值blkh、时间戳ts形成块头,块头和块体构成完整的区块;
制造者生成预提交消息广播发送给其他节点,预提交消息格式为<block,<s,h,r,blkh>>,其中,block为制造者上一阶段打包交易新生成的区块,s表示该区块制造者的签名,h表示当前区块链的块高度,r表示该制造者的任期,blkh表示该区块的哈希值;
步骤五,落选的备选者与其他复制者接收到步骤三制造者所发出的空交易信息,确认制造者的身份后,重置本地任期计时器,正式开始该制造者的任期;
步骤六,其他节点在任期内对交易进行处理:除制造者外的其他节点等待制造者生成新的区块,同时完成交易的生成,交易的验证和转发工作。根据交易发起者的意愿使用足额的未使用交易输出,将目标地址填写为交易对象的地址,该交易消息将发送给与节点直接相连的节点,经过这些节点的验证之后再次转发给其他节点;当节点收到一条交易消息时,对该消息进行验证,包括消息格式验证,输入输出合法性验证,通过验证的交易消息将会被转发,未通过的消息将会被就地抛弃;
步骤七,首先验证制造者的签名有效,使用公私钥加解密区块数据完成制造者的身份确认,之后对块头的数据进行验证,确保块高为当前块高加一,前一块哈希值与最后一块的哈希值相同,以及其他参数的验证,最后对块中的交易进行验证,验证通过后节点将使用自己的私钥对该块的块头进行签名,生成反馈投票消息,向块制造者发送。反馈投票消息的格式为<bh,bhs>,其中bh是区块的块头,bhs是该节点对bh的私钥签名;
步骤八,制造者收集第一次反馈投票:制造者接收步骤七生成的反馈投票,当投票总数超过网络节点总数的1/2时,认为网络已经准备好将该块添加到区块链之上;否则制造者持续等待收集反馈投票直到任期结束;
制造者在收到超过网络节点总数1/2的反馈投票消息之后,进入提交阶段,制造者生成提交消息<votes,vs>并广播给其他节点,其中,votes是收到的vote消息,vs是制造者对votes的私钥签名;
步骤九,每个节点收到提交消息<votes,vs>之后,使用当前制造者的公钥对vs解密,确认vs是当前制造者对votes消息的签名;若验证通过,将该区块添加到本地的区块链副本之上;反之,则等待正确的提交消息验证通过直到超时;添加完成之后节点向制造者发送完成消息<nh,nhs>,其中nh表示新的区块链高度,nhs为节点对nh的私钥签名;
步骤十,制造者统计完成消息:制造者收到超过网络节点总数1/2的完成消息之后,确认整个网络接收了新生成的区块;反之否则将持续等待收集完成消息直到任期结束;
步骤十一,制造者任期是否结束:完成之后根据任期计时器判断当前任期是否结束,是则结束;反之,跳转步骤三。
进一步,所述步骤一的区块链的块高度是指区块链中最新的区块的序号;区块链中每一区块都对应一个序号,序号表示区块在链中的顺序关系,新产生的区块的序号将在前一块的基础上加一,不断递增的序号较为形象的表示区块链的长度或者说高度。
进一步,所述步骤六的交易的生成,交易的验证和转发是指:按照交易双方的需求生成包含软件协议版本、时间、消息大小、源地址、目标地址、交易数额、以及对应哈希值的交易消息,即为交易的生成;交易的验证则是节点对一条交易消息的上述内容进行语法语义验证,语法验证是指该交易消息的格式是否正确,语义验证则对该交易消息所包含的内容合法性进行验证;交易转发是指在节点验证通过一条交易消息后,将该交易消息又发送给与自己直接相连的几个节点,一条合法的交易消息将在多次转发之后传遍整个区块链网路。
本发明的另一目的在于提供一种应用所述区块链网络中某一时间段内记账权的获取方法的区块链网络信息处理系统。
本发明的另一目的在于提供一种应用所述区块链网络中某一时间段内记账权的获取方法的信息数据处理终端。
综上所述,本发明的优点及积极效果为:以应用范围最为广泛的工作量证明PoW共识机制为例,采用PoW共识算法的比特币,交易确认延时间为60分钟,每秒处理交易数量为6笔;采用PoW共识算法的以太坊交易确认时间为15秒,每秒处理交易数量为约为20笔。本发明在记账权分配过程中引入选举机制,从时间上划分为一个个任期,减少了记账权争夺的次数,一定程度上提高处理速度。在使用适宜大小的区块条件下,本发明的区块产生速度可达到3秒每块,秒级交易确认时间,同时单位时间内处理交易数量可达到7000笔每秒。本发明使用约定好的选取方法在有序排列候选节点中产生记账节点,避免额外的电力消耗。本发明允许区块链网络节点的动态加入,具有良好的扩张性。
附图说明
图1是本发明实施例提供的区块链网络中某一时间段内记账权的获取方法流程图。
图2是本发明实施例提供的应用场景图。
图3是本发明实施例提供的区块链网络中某一时间段内记账权的获取方法实现流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
针对现有的区块链共识算法存在效率低下、资源浪费、网络扩展性差、中心化程度降低区块链网络的健壮性的问题。本发明改变记账权获取过程,引入任期机制,带来较高的处理效率,支持大规模节点网络,同时避免额外的资源消耗。
下面结合附图对本发明的应用原理作详细的描述。
如图1所示,本发明实施例提供的区块链网络中某一时间段内记账权的获取方法包括以下步骤:
S101:普通节点参与选举;制造者产生;制造者宣布任期开始;
S102:制造者生成新区块;其他节点确认当前任期开始;其他节点在任期内对交易进行处理;其他节点对新区块进行验证;
S103:制造者收集第一次反馈投票;其他节点处理提交消息;制造者统计完成消息;制造者任期结束。
下面结合附图对本发明的应用原理作详细的描述。
本发明适用于图2所示的联盟链网络,场景中包含联盟链的参与节点;节点之间通过端到端连接通信,当联盟链网络运行时,所有参与节点通过本发明在每一个时间段内产生唯一记账权获得者,该记账权获得者负责组织区块链网络中的交易信息,生成该时间段内的新区块,通过广播传输给其他节点,其他节点通过验证后进行反馈,该记账权获得者收集反馈信息达到要求后,向其他节点广播正式提交消息,完成一轮区块提交。
如图3所示,本发明实施例提供的区块链网络中某一时间段内记账权的获取方法具体包括以下步骤:
步骤一:普通节点参与选举。
将要进行记账权争夺的节点向选举地址发送交易消息,成为备选节点。该选举交易消息包含参与节点的交易地址、节点自身的未使用交易输出总额、以及作为目标地址的选举地址。
网络中每个节点维护一个选举交易池,该交易池仅存储产生的选举交易消息。全网节点定义一个特殊的交易地址为选举地址,目标地址为选举地址的交易消息将会被各个节点放入选举交易池。选举交易池中的交易将按照未使用交易输出总额的多少有序排列。
步骤二:制造者产生。
设选举交易池中共有N个备选者,且按照未使用交易输出总额进行降序排列,编号为(h+r)%(N/2)的备选者获得记账权成为制造者,执行步骤三,其中h为当前区块链的块高度,r表示的格林尼治时间,单位为秒;其他备选者在该任期内将履行复制者的职责,跳转步骤六。
步骤三:制造者宣布任期开始。
新的制造者将向全网所有的其他节点广播一条空交易消息,确认自己制造者的身份。其他节点在收到该条消息后初始化计时器,开始该任期。
步骤四:制造者生成新区块。
制造者将从一般交易池中取出过去一段时间内的通过验证的交易消息,通过散列函数生成马尔可夫树,配合交易信息构成区块的块体,将马尔可树的树根root和前一区块的哈希值blkh、时间戳ts形成块头,块头和块体构成完整的区块。
制造者生成预提交消息广播发送给其他节点,预提交消息格式为<block,<s,h,r,blkh>>,其中,block为制造者上一阶段打包交易新生成的区块,s表示该区块制造者的签名,h表示当前区块链的块高度,r表示该制造者的任期,blkh表示该区块的哈希值。
步骤五:其他节点确认当前任期开始。
落选的备选者与其他复制者接收到步骤三制造者所发出的空交易信息,确认制造者的身份后,重置本地任期计时器,正式开始该制造者的任期。
步骤六:其他节点在任期内对交易进行处理。
除制造者外的其他节点等待制造者生成新的区块,同时完成交易的生成,交易的验证和转发工作。根据交易发起者的意愿使用足额的未使用交易输出,将目标地址填写为交易对象的地址,该交易消息将发送给与节点直接相连的节点,经过这些节点的验证之后再次转发给其他节点。当节点收到一条交易消息时,会对该消息进行验证,包括消息格式验证,输入输出合法性验证,通过验证的交易消息将会被转发,未通过的消息将会被就地抛弃。
步骤七:其他节点对新区块进行验证。
首先验证制造者的签名有效,使用公私钥加解密区块数据完成制造者的身份确认,之后对块头的数据进行验证,确保块高为当前块高加一,前一块哈希值与最后一块的哈希值相同,以及其他参数的验证,最后对块中的交易进行验证,验证通过后节点将使用自己的私钥对该块的块头进行签名,生成反馈投票消息,向块制造者发送。反馈投票消息的格式为<bh,bhs>,其中bh是区块的块头,bhs是该节点对bh的私钥签名。
步骤八:制造者收集第一次反馈投票。
制造者接收步骤七生成的反馈投票,当投票总数超过网络节点总数的1/2时,可以认为网络已经准备好将该块添加到区块链之上。否则制造者持续等待收集反馈投票直到任期结束。
制造者在收到超过网络节点总数1/2的反馈投票消息之后,进入提交阶段,制造者生成提交消息<votes,vs>并广播给其他节点,其中,votes是收到的vote消息,vs是制造者对votes的私钥签名。
步骤九:其他节点处理提交消息。
每个节点收到提交消息<votes,vs>之后,使用当前制造者的公钥对vs解密,确认vs是当前制造者对votes消息的签名。若验证通过,将该区块添加到本地的区块链副本之上;反之,则等待正确的提交消息验证通过直到超时。添加完成之后节点向制造者发送完成消息<nh,nhs>,其中nh表示新的区块链高度,nhs为节点对nh的私钥签名。
步骤十:制造者统计完成消息。
制造者收到超过网络节点总数1/2的完成消息之后,可以确认整个网络接收了新生成的区块;反之否则将持续等待收集完成消息直到任期结束。
步骤十一:制造者任期是否结束。
完成之后根据任期计时器判断当前任期是否结束,是则结束;反之,跳转步骤三。
下面结合测试对本发明的应用效果作详细的描述。
本发明在完成实现的同时,进行了初步的性能测试,具体测试情况如下:
表1测试环境参数
测试前提:
1.固定出块时间设置较低,为3s,约为以太坊的四分之一。这样设置的目的是测试本发明的性能,较长的出块时间以及较小的区块容量的限制导致测试瓶颈不再是共识算法本身,没有参考价值。
2.测试生成的区块没有进行持久化操作,只是保留在内存中,没有写入磁盘,真实生产环境中需要考虑IO操作带来的降低。
3.测试的节点之间通信没有经过网卡和路由,生产环境也需要考虑通信带来的影响。
测试内容:
1.性能测试,模拟生成交易消息,逐步提升数量尝试达到本发明算法的最大吞吐量。
2.压力测试,模拟生成大量交易消息,验证前一步得到的最大吞吐量是否可以保持稳定状态。
测试结果如表2和表3所示。
表2性能测试结果
表3压力测试结果
测试结果说明:
1.TPS均值=节点实际存储的交易数/(最后一个区块的产生时间–第一次收到交易的时间)。
2.TPS峰值=Max(区块i保存的实际交易数/区块i的实际产生时间),i为测试生成的区块号。
3.依照结果,本发明的共识算法吞吐量可以稳定在7000左右,可以满足大多数的企业级需求。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (5)
1.一种区块链网络中某一时间段内记账权的获取方法,其特征在于,所述区块链网络中某一时间段内记账权的获取方法包括:普通节点参与选举;制造者产生;制造者宣布任期开始;制造者生成新区块;其他节点确认当前任期开始;其他节点在任期内对交易进行处理;其他节点对新区块进行验证;制造者收集第一次反馈投票;其他节点处理提交消息;制造者统计完成消息;制造者任期结束;
所述区块链网络中某一时间段内记账权的获取方法具体包括:
步骤一,将要进行记账权争夺的节点向选举地址发送交易消息,成为备选节点;选举交易消息包含参与节点的交易地址、节点自身的未使用交易输出总额、以及作为目标地址的选举地址;
步骤二,选举交易池中共有N个备选者,且按照未使用交易输出总额进行降序排列,编号为(h+r)%(N/2)的备选者获得记账权成为制造者,执行步骤三,其中h为当前区块链的块高度,r表示的格林尼治时间,单位为秒;其他备选者在该任期内将履行复制者的职责,跳转步骤六;
步骤三,新的制造者将向全网所有的其他节点广播一条空交易消息,确认自己制造者的身份;其他节点在收到该条消息后初始化计时器,开始该任期;
步骤四,制造者将从一般交易池中取出过去一段时间内的通过验证的交易消息,通过散列函数生成马尔可夫树,配合交易信息构成区块的块体,将马尔可树的树根root和前一区块的哈希值blkh、时间戳ts形成块头,块头和块体构成完整的区块;
制造者生成预提交消息广播发送给其他节点,预提交消息格式为<block,<s,h,r,blkh>>,其中,block为制造者上一阶段打包交易新生成的区块,s表示该区块制造者的签名,h表示当前区块链的块高度,r表示该制造者的任期,blkh表示该区块的哈希值;
步骤五,落选的备选者与其他复制者接收到步骤三制造者所发出的空交易信息,确认制造者的身份后,重置本地任期计时器,正式开始该制造者的任期;
步骤六,其他节点在任期内对交易进行处理:除制造者外的其他节点等待制造者生成新的区块,同时完成交易的生成,交易的验证和转发工作;根据交易发起者的意愿使用足额的未使用交易输出,将目标地址填写为交易对象的地址,该交易消息将发送给与节点直接相连的节点,经过这些节点的验证之后再次转发给其他节点;当节点收到一条交易消息时,对该消息进行验证,包括消息格式验证,输入输出合法性验证,通过验证的交易消息将会被转发,未通过的消息将会被就地抛弃;
步骤七,首先验证制造者的签名有效,使用公私钥加解密区块数据完成制造者的身份确认,之后对块头的数据进行验证,确保块高为当前块高加一,前一块哈希值与最后一块的哈希值相同,以及其他参数的验证,最后对块中的交易进行验证,验证通过后节点将使用自己的私钥对该块的块头进行签名,生成反馈投票消息,向块制造者发送;反馈投票消息的格式为<bh,bhs>,其中bh是区块的块头,bhs是该节点对bh的私钥签名;
步骤八,制造者收集第一次反馈投票:制造者接收步骤七生成的反馈投票,当投票总数超过网络节点总数的1/2时,认为网络已经准备好将该块添加到区块链之上;否则制造者持续等待收集反馈投票直到任期结束;
制造者在收到超过网络节点总数1/2的反馈投票消息之后,进入提交阶段,制造者生成提交消息<votes,vs>并广播给其他节点,其中,votes是收到的vote消息,vs是制造者对votes的私钥签名;
步骤九,每个节点收到提交消息<votes,vs>之后,使用当前制造者的公钥对vs解密,确认vs是当前制造者对votes消息的签名;若验证通过,将该区块添加到本地的区块链副本之上;反之,则等待正确的提交消息验证通过直到超时;添加完成之后节点向制造者发送完成消息<nh,nhs>,其中nh表示新的区块链高度,nhs为节点对nh的私钥签名;
步骤十,制造者统计完成消息:制造者收到超过网络节点总数1/2的完成消息之后,确认整个网络接收了新生成的区块;反之否则将持续等待收集完成消息直到任期结束;
步骤十一,制造者任期是否结束:完成之后根据任期计时器判断当前任期是否结束,是则结束;反之,跳转步骤三。
2.如权利要求1所述的区块链网络中某一时间段内记账权的获取方法,其特征在于,所述步骤一的区块链的块高度是指区块链中最新的区块的序号;区块链中每一区块都对应一个序号,序号表示区块在链中的顺序关系,新产生的区块的序号将在前一块的基础上加一,不断递增的序号较为形象的表示区块链的长度或者说高度。
3.如权利要求1所述的区块链网络中某一时间段内记账权的获取方法,其特征在于,所述步骤六的交易的生成,交易的验证和转发是指:按照交易双方的需求生成包含软件协议版本、时间、消息大小、源地址、目标地址、交易数额、以及对应哈希值的交易消息,即为交易的生成;交易的验证则是节点对一条交易消息的上述内容进行语法语义验证,语法验证是指该交易消息的格式是否正确,语义验证则对该交易消息所包含的内容合法性进行验证;交易转发是指在节点验证通过一条交易消息后,将该交易消息又发送给与自己直接相连的几个节点,一条合法的交易消息将在多次转发之后传遍整个区块链网路。
4.一种应用权利要求1~3任意一项所述区块链网络中某一时间段内记账权的获取方法的区块链网络信息处理系统。
5.一种应用权利要求1~3任意一项所述区块链网络中某一时间段内记账权的获取方法的信息数据处理终端。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811339395.2A CN109255713B (zh) | 2018-11-12 | 2018-11-12 | 一种区块链网络中某一时间段内记账权的获取方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811339395.2A CN109255713B (zh) | 2018-11-12 | 2018-11-12 | 一种区块链网络中某一时间段内记账权的获取方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109255713A CN109255713A (zh) | 2019-01-22 |
CN109255713B true CN109255713B (zh) | 2022-02-01 |
Family
ID=65043401
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811339395.2A Active CN109255713B (zh) | 2018-11-12 | 2018-11-12 | 一种区块链网络中某一时间段内记账权的获取方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109255713B (zh) |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109918926B (zh) * | 2019-02-28 | 2023-03-14 | 浪潮软件股份有限公司 | 基于区块链的数据分级分类鉴权方法、节点及区块链系统 |
CN109978516A (zh) * | 2019-03-06 | 2019-07-05 | 西安电子科技大学 | 区块链网络中区块的制造和同步方法、信息数据处理终端 |
CN109993647B (zh) * | 2019-03-08 | 2023-12-22 | 西安电子科技大学 | 一种基于区块链的纳税征信系统及处理方法 |
CN110190963B (zh) * | 2019-04-04 | 2020-09-01 | 阿里巴巴集团控股有限公司 | 一种针对授时证书生成请求的监控方法、装置及设备 |
US10979233B2 (en) | 2019-04-04 | 2021-04-13 | Advanced New Technologies Co., Ltd. | Monitoring time certificate generation requests |
CN110012100B (zh) * | 2019-04-09 | 2021-04-27 | 杭州秘猿科技有限公司 | 一种带宽优化的区块链共识方法、装置及电子设备 |
CN112039823B (zh) * | 2019-06-03 | 2024-08-27 | 本无链科技(深圳)有限公司 | 一种用于区块链的即时随机出块方法及系统 |
CN110210865A (zh) * | 2019-06-17 | 2019-09-06 | 北京艾摩瑞策科技有限公司 | 基于区块链的打包方法及装置 |
CN112116346A (zh) * | 2019-06-20 | 2020-12-22 | 北京威宁特科技有限公司 | 快速确认交易的区块链和区块链上快速确认交易方法 |
CN111371556B (zh) * | 2020-02-21 | 2022-06-17 | 运易通科技有限公司 | 一种区块链节点记账方法、装置、设备及存储介质 |
CN111415235A (zh) * | 2020-03-12 | 2020-07-14 | 厦门区块链云科技有限公司 | 一种区块链技术中分布式记账权生成的方法 |
CN111431696B (zh) * | 2020-03-26 | 2023-10-17 | 深圳市欧欣泰科技有限公司 | 一种基于身份的区块链封印机制 |
CN111553669B (zh) * | 2020-04-28 | 2021-09-10 | 腾讯科技(深圳)有限公司 | 一种交易路由方法、装置及计算机可读存储介质 |
CN112152812B (zh) * | 2020-05-07 | 2021-05-25 | 北京天德科技有限公司 | 一种基于密码学的文件溯源与防篡改方法 |
CN111695995B (zh) * | 2020-05-12 | 2024-01-30 | 深圳点链科技有限公司 | 一种基于区块链技术的电子设备管理系统 |
CN112488704B (zh) * | 2020-11-16 | 2024-03-19 | 华南师范大学 | 基于区块链的数据处理方法、系统、装置及介质 |
CN113194146B (zh) * | 2021-05-06 | 2022-10-28 | 杭州复杂美科技有限公司 | 领导节点确定方法、计算机设备和存储介质 |
CN114915816A (zh) * | 2021-12-30 | 2022-08-16 | 天翼数字生活科技有限公司 | 一种用户观看行为采集、发布方法和系统 |
CN116629871B (zh) * | 2023-07-21 | 2023-10-17 | 济南正浩软件科技有限公司 | 一种订单线上支付系统及支付方法 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106878071A (zh) * | 2017-01-25 | 2017-06-20 | 上海钜真金融信息服务有限公司 | 一种基于Raft算法的区块链共识机制 |
CN107578336A (zh) * | 2017-09-29 | 2018-01-12 | 左鹏 | 基于动态股权的区块链记账方法 |
CN108512652A (zh) * | 2018-04-02 | 2018-09-07 | 陆雷钦 | 基于时间证明的去中心化共识方法、系统及区块链系统 |
CN108564468A (zh) * | 2018-04-04 | 2018-09-21 | 上海金丘信息科技股份有限公司 | 一种基于信任成员的动态权益的共识方法 |
CN108600161A (zh) * | 2018-03-12 | 2018-09-28 | 成都零光量子科技有限公司 | 一种公平高效的区块链共识方法 |
CN108596621A (zh) * | 2018-04-28 | 2018-09-28 | 深圳市优学链科技有限公司 | 区块链记账节点生成方法、装置、计算机设备及存储介质 |
CN108712276A (zh) * | 2018-04-19 | 2018-10-26 | 上海分布信息科技有限公司 | 基于区块链技术的共识网络管理方法、装置、设备及存储介质 |
CN108737375A (zh) * | 2018-04-13 | 2018-11-02 | 中山大学 | 一种区块链共识方法及系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11112784B2 (en) * | 2016-05-09 | 2021-09-07 | Strong Force Iot Portfolio 2016, Llc | Methods and systems for communications in an industrial internet of things data collection environment with large data sets |
-
2018
- 2018-11-12 CN CN201811339395.2A patent/CN109255713B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106878071A (zh) * | 2017-01-25 | 2017-06-20 | 上海钜真金融信息服务有限公司 | 一种基于Raft算法的区块链共识机制 |
CN107578336A (zh) * | 2017-09-29 | 2018-01-12 | 左鹏 | 基于动态股权的区块链记账方法 |
CN108600161A (zh) * | 2018-03-12 | 2018-09-28 | 成都零光量子科技有限公司 | 一种公平高效的区块链共识方法 |
CN108512652A (zh) * | 2018-04-02 | 2018-09-07 | 陆雷钦 | 基于时间证明的去中心化共识方法、系统及区块链系统 |
CN108564468A (zh) * | 2018-04-04 | 2018-09-21 | 上海金丘信息科技股份有限公司 | 一种基于信任成员的动态权益的共识方法 |
CN108737375A (zh) * | 2018-04-13 | 2018-11-02 | 中山大学 | 一种区块链共识方法及系统 |
CN108712276A (zh) * | 2018-04-19 | 2018-10-26 | 上海分布信息科技有限公司 | 基于区块链技术的共识网络管理方法、装置、设备及存储介质 |
CN108596621A (zh) * | 2018-04-28 | 2018-09-28 | 深圳市优学链科技有限公司 | 区块链记账节点生成方法、装置、计算机设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN109255713A (zh) | 2019-01-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109255713B (zh) | 一种区块链网络中某一时间段内记账权的获取方法 | |
CN109559120B (zh) | 基于权重的区块链共识方法、系统、存储介质及电子设备 | |
CN112685796B (zh) | 一种基于区块链的区块共识方法以及相关设备 | |
WO2021244208A1 (zh) | 区块链的提案消息处理方法、装置、设备以及存储介质 | |
US12093247B2 (en) | Blockchain system and method | |
CN108009811B (zh) | 一种面向云际计算环境价值交换的跨链通信方法 | |
CN111445333B (zh) | 区块生成方法、装置、计算机设备以及存储介质 | |
US20200059369A1 (en) | Determining consensus by parallel proof of voting in consortium blockchain | |
CN109978516A (zh) | 区块链网络中区块的制造和同步方法、信息数据处理终端 | |
EP4300323A1 (en) | Data processing method and apparatus for blockchain network, computer device, computer readable storage medium, and computer program product | |
CN110115001A (zh) | 促进实用拜占庭容错区块链共识和节点同步 | |
CN110855432B (zh) | 基于可验证随机函数分配验证者奖励的异步bft&dpos共识机制 | |
CN111327648A (zh) | 基于区块链智能合约的处理方法和系统 | |
CN112862486B (zh) | 一种基于镜像跨链的多方跨链方法及系统 | |
CN112291372B (zh) | 区块链的异步落账方法、装置、介质及电子设备 | |
CN110417502A (zh) | 一种区块链节点时钟共识方法及装置 | |
CN114971625A (zh) | 一种基于区块链技术的微网绿电交易系统及数据存储与结算方法 | |
CN109919760A (zh) | 基于投票机制的拜占庭容错共识算法 | |
CN104484167B (zh) | 任务处理方法及装置 | |
WO2024051454A1 (zh) | 处理事务日志的方法及装置 | |
Ezhilchelvan et al. | Non-blocking two phase commit using blockchain | |
CN112069259A (zh) | 一种基于区块链的多云环境数据存储系统及方法 | |
CN110990790A (zh) | 一种数据处理方法及设备 | |
CN113626765A (zh) | 一种能源数据处理方法、装置、设备及存储介质 | |
CN113392379A (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 | ||
TR01 | Transfer of patent right |
Effective date of registration: 20230628 Address after: Room 870, Room 406, No. 1, Yichuang Street, Huangpu District (Zhongxin Guangzhou Knowledge City), Guangzhou, Guangdong 510700 Patentee after: Guangzhou Lianrong Information Technology Co.,Ltd. Address before: 710077 Mingyuan new residence, No. 10, Keji Road, Xi'an, Shaanxi Patentee before: Pei Ruohan |
|
TR01 | Transfer of patent right |