CN109166037A - 区块链的共识方法 - Google Patents

区块链的共识方法 Download PDF

Info

Publication number
CN109166037A
CN109166037A CN201810828165.6A CN201810828165A CN109166037A CN 109166037 A CN109166037 A CN 109166037A CN 201810828165 A CN201810828165 A CN 201810828165A CN 109166037 A CN109166037 A CN 109166037A
Authority
CN
China
Prior art keywords
block
common recognition
interval
time
recognition method
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
Application number
CN201810828165.6A
Other languages
English (en)
Other versions
CN109166037B (zh
Inventor
郑翊
叶倍宏
吴明
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Magic Alliance Information Technology Co Ltd
Original Assignee
Shanghai Magic Alliance Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shanghai Magic Alliance Information Technology Co Ltd filed Critical Shanghai Magic Alliance Information Technology Co Ltd
Priority to CN201810828165.6A priority Critical patent/CN109166037B/zh
Publication of CN109166037A publication Critical patent/CN109166037A/zh
Application granted granted Critical
Publication of CN109166037B publication Critical patent/CN109166037B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3829Payment protocols; Details thereof insuring higher security of transaction involving key management

Landscapes

  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Engineering & Computer Science (AREA)
  • Finance (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Development Economics (AREA)
  • Technology Law (AREA)
  • Marketing (AREA)
  • Economics (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种区块链的共识方法,包括:区块链网络中的节点可以创建区块,在不同的区块高度上,区块的出块时间间隔可变。本发明的上述技术方案提供了一种区块链的共识方法,使得区块的出块时间间隔能够根据网络状态进行调节。

Description

区块链的共识方法
技术领域
本发明涉及区块链技术领域,具体来说,涉及一种区块链的共识方法。
背景技术
由于加密货币多数采用去中心化的区块链设计,节点是各处分散且平行的,所以必须设计一套制度,来维护系统的运作顺序与公平性,统一区块链的版本,并奖励提供资源维护区块链的使用者,以及惩罚恶意的危害者。这样的制度,必须依赖某种方式来证明,是由谁取得了一个区块链的打包权(或称记帐权),并且可以获取打包这一个区块的奖励;又或者是谁意图进行危害,就会获得一定的惩罚,这就是共识机制。
共识机制有很多,主流的共识机制包括:
(1)PoW(Proof of Work,工作量证明机制):PoW机制中根据矿工的工作量来执行货币的分配和记账权的确定。算力竞争的胜者将获得相应区块记账权和比特币奖励。因此,矿机芯片的算力越高,挖矿的时间更长,就可以获得更多的数字货币。
(2)PoS(Proof of Stake,权益证明机制):POS机制采用类似股权证明与投票的机制,选出记帐人,由它来创建区块。持有股权愈多则有较大的特权,且需负担更多的责任来产生区块,同时也获得更多收益的权力。
简单地说,PoS就是把PoW由算力决定记账权变成由持有币数来决定记账权。在PoW中,是按照算力占有总算力的百分比,从而决定你获得本次记账权的概率。在PoS中,持有币数占系统总币数的百分比,决定着获得本次记账权的概率。
(3)DPoS(Delegated Proof of Stake,股份授权证明机制):DPoS是在POS基础之上发展起来的。与PoS的主要区别在于持币者投出一定数量的节点,代理他们进行验证和记账。其合规监管、性能、资源消耗和容错性与PoS相似。
(4)PBFT(Practical Byzantine Fault Tolerance,实用拜占庭容错),实用拜占庭容错在保证活性和安全性(liveness&safety)的前提下提供了(N-1)/3的容错性。在分布式计算上,不同的计算机通过讯息交换,尝试达成共识;但有时候,系统上协调计算机(Coordinator/Commander)或成员计算机(Member/Lieutanent)可能因系统错误并交换错的讯息,导致影响最终的系统一致性。拜占庭将军问题就根据错误计算机的数量,寻找可能的解决办法,这无法找到一个绝对的答案,但只可以用来验证一个机制的有效程度。而拜占庭问题的可能解决方法为:在N≥3F+1的情况下一致性是可能解决。其中,N为计算机总数,F为有问题计算机总数。信息在计算机间互相交换后,各计算机列出所有得到的信息,以大多数的结果作为解决办法。
(5)DBFT(Delegated Byzantine Fault Tolerance,授权拜占庭容错算法):是由权益来选出记账人,然后记账人之间通过拜占庭容错算法来达成共识。DBFT和PBFT的关系类似于PoS和DPoS的关系。
(6)PoA(Proof of Authority,权威证明机制):所谓权威证明,就是使用一组所谓的“权限”来允许人们在区块链上创建新的节点并确保区块链的安全。
在PoA中,验证者(validator)是整个共识机制的关键。验证者不需要昂贵的显卡,也不需要足够的资产,但他必须具有已知的,并且已获得验证的身份。验证者通过放置这个身份来获得担保网络的权利,从而换取区块奖励。若是验证者在整个过程中有恶意行为,或与其他验证者勾结。那通过链上管理可以移除和替换恶意行为者。现有的法律反欺诈保障会被用于整个网络的参与者免受验证者的恶意行为。
PoA共识机制能达到较高的TPS(transactions per second,每秒的交易数),具有高并发的特点,非常适合私有链和联盟链。
(7)混合证明机制:由于不同共识机制有着不同的优劣势,有些系统选择采用多种共识机制的方式来取长补短。较为典型的就是以太坊将要采用PoW+PoS的共识机制。
可以根据记账节点的选择将上述共识机制划分成两类,一类共识机制中全网所有的节点都可以成为记账节点,如PoW、PoS;另一类共识机制中是先选出少量节点,然后在这些少量节点中形成共识,如DPoS、DBFT、PoA。
目前所有的区块链共识方法,共识参数中会有一个设计好的确定的区块的出块时间间隔(例如,比特币区块出块时间间隔为10分钟),虽然在实际的区块链网络中区块的出块的时间间隔和设计的时间间隔会有偏差,但是实际出块时间间隔还是会尽量向这个参数靠近。这种固定区块出块时间间隔的方法的缺点是:当交易较少、网络空闲的时候,频繁地产生区块是没有必要的,并且会造成存储空间的浪费;当交易较多、网络拥堵的时候,导致交易拥堵,区块产生不及时,无法及时记录到区块链中。
另一方面,所谓区块链治理,即区块链的治理参与者如何实现区块链升级(如共识参数的修改)的方法。在比特币或以太坊等大多数区块链项目中,区块链参数无法进行链上治理。当治理参与者对共识参数出现分歧时,区块链就有可能出现分叉,例如著名的比特币与比特现金的硬分叉事件。
发明内容
针对相关技术中的上述问题,本发明提出一种区块链的共识方法,区块的出块时间间隔能够根据网络状态进行调节。
本发明的技术方案是这样实现的:
根据本发明的一个方面,提供了一种区块链的共识方法,包括:区块链网络中的节点可以创建区块,在不同的区块高度上,区块的出块时间间隔可变。
根据本发明实施例,区块的出块时间间隔与区块交易数相关参数有关。
根据本发明实施例,区块交易数相关参数包括指定N个区块内的平均交易数,其中N为大于或等于1的正整数。
根据本发明实施例,N通过共识方法中预先设定和/或智能合约确定。
根据本发明实施例,区块的出块时间间隔还和最大区块时间间隔以及最小区块时间间隔相关。
根据本发明实施例,最大区块时间间隔和最小区块时间间隔通过共识方法中预先设定和/或智能合约确定。
根据本发明实施例,区块的出块时间间隔的计算公式为block_interval=min_interval+(max_interval-min_interval)/(transaction_num+1),其中,min_interval为最小区块时间间隔,max_interval为最大区块时间间隔,transaction_num为指定N个区块内的平均交易数。
根据本发明实施例,可以创建区块的节点为授权节点,授权节点通过共识方法中预先设定和/或智能合约确定。
根据本发明实施例,在某一区块高度上,可创建区块的授权节点的数量为M个(M为大于或等于1的正整数),共识方法为每个授权节点分配不同的出块时间,出块时间的计算公式为block_time=parent_block_time+block_interval+timeout*miner_index;其中,parent_block_time为上一区块出块时间,block_interval为区块的出块时间间隔,timeout为超时时间,miner_index为索引值,且对于不同授权节点,miner_index取值不同。
本发明的上述技术方案的有益效果在于:
可以根据网络状态调节区块的出块时间,从而能够避免网络空闲时浪费存储空间;
相比于现有的共识方法,可以在交易量较少时,降低生产区块的速率,避免存储资源浪费;在交易量大时,增大生产区块的速率,及时将交易记录到区块链中,能够根据网络及时调整区块链的状态,且可以避免网络繁忙时不能及时记录交易数据;
通过使用智能合约对授权节点进行治理,能够避免区块链分叉;
通过在每一区块高度上明确当前可创建区块的节点的优先级,当前可创建区块的节点只需在上一个区块的时间戳之后生产区块即可,相比于现有的共识方法创建区块的时间更加灵活。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明实施例的共识方法的区块创建流程图;
图2是根据本发明实施例的判断授权节点是否可以创建下一个区块的流程;
图3是根据本发明实施例的计算出块时间的流程图;
图4至图6是根据本发明实施例的5个授权节点的区块创建过程的示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本发明保护的范围。
为了解决现有技术中存在的技术问题,本发明提出了一种区块链的共识方法。在该共识方法中,区块链网络中的节点可以创建区块,在不同的区块高度上,区块的出块时间间隔可变。由于区块的出块时间间隔可变,因此可以根据网络状态调节区块的出块时间,能够避免网络空闲时浪费存储空间。
在本发明的共识方法中,区块可以由区块链网络中的节点来创建。在一个实施例中,可以创建区块的节点为授权节点。其中,授权节点可以通过共识方法中预先设定和/或智能合约确定。
为了便于理解本发明,首先对授权节点创建区块的流程进行说明。对于一个可创建新区块的授权节点,图1示出了本发明的共识方法的区块创建流程图,包括以下步骤:
S101,开始创建区块流程。
S102,判断是否可以创建下一个区块。如果可以,则继续步骤S103;否则,跳到步骤S108。
S103,创建区块。
S104,计算block_time(出块时间),确定将区块添加到链上并向网络广播的时间。
S105,对区块进行签名。
S106,等待,直到block_time结束。在等待期间,链的状态是否发生改变。如果发生改变,则跳回步骤S101;否则,继续步骤S107。
S107,将区块添加到链上并向网络广播,跳回步骤S101。
S108,等待,直到链的状态发生改变,然后跳回步骤S101。
在步骤S105中,可以使用ecdsa_sign_recoverable(可恢复的椭圆曲线数字签名)对区块进行签名,使用该方法进行签名,签名者的公钥可以从签名中恢复出来。也可以使用其他方法进行签名,只需能满足区块链的加密和验证原理即可。本发明对此不做限定。
对于步骤S102,如图2所示,判断授权节点是否可以创建下一个区块的流程包括以下步骤:
步骤S201,判断next_block_miner_list(下一区块创建者列表)是否在缓存中?如果在缓存中,则跳到步骤步骤S205;否则,继续步骤S202。
步骤S202,获取current_authorized_miner_list(当前已授权区块创建者列表)。
步骤S203,使用ecdsa_recover(椭圆曲线数字签名恢复)从区块签名(或缓存)中恢复出最近一个区块创建者的公钥。
步骤S204,确定next_block_miner_list列表,并将其存储在缓存中。
步骤S205,我是否在next_block_miner_list列表中?如果在列表中,则继续步骤S206;否则,跳到步骤S207。
步骤S206,返回“是”,流程结束。
步骤S207,返回“否”,流程结束。
其中,在next_block_miner_list列表中的所有节点都可以创建区块,但是在某一时刻顺序越高的节点可以创建区块的优先级越高。
对于步骤S104,如图3所示,计算block_time的方法包括以下步骤:
步骤S301,首先设置以下参数:
1.授权节点最长等待时间(或可称为超时时间)timeout。如果在timeout时间内,没有接收到前一个节点的区块,那么下一个节点将广播其区块。
2.最小区块时间间隔min_interval,最大区块时间间隔max_interval,实际区块的出块时间间隔的计算公式为:block_interval=min_interval+(max_interval-min_interval)/X,X为正数。
在一个实施例中,X=transaction_num+1,transaction_num为指定N个区块内的平均交易数,其中N为大于或等于1的正整数。例如,N为1时,transaction_num可以为最近一个区块的交易数,或指定某个区块的交易数;N大于1时,transaction_num可以为最近N个区块内的平均交易数,或指定N个区块的平均交易数。可以通过在共识算法中预先设定transaction_num,或通过智能合约来确定transaction_num,或者预先设定和智能合约两者相结合的方法来确定transaction_num。智能合约也包括DGP智能合约或其他智能合约,本发明不做限定。另外,也可以通过在共识算法中预先设定min_interval和max_interval,或通过智能合约来确定min_interval和max_interval,或者预先设定和智能合约两者相结合的方法来确定min_interval和max_interval。应当理解,当transaction_num为0时,block_interval=max_interval;当transaction_num很大时,block_interval的值会接近于min_interval。也就是说,当区块内的交易数很少时,为了避免生成过多的区块造成存储空间的浪费,调节区块出块时间间隔使其变大,降低出块的速度;当区块内的交易数较多时,调节区块出块时间间隔使其变小,增大出块的速度,使得交易能够尽快被记录到区块中。
X是用来调节区块出块的时间间隔的,在该实施例中X和区块的交易数相关,因为我们希望根据交易数来调节区块的出块时间间隔。若希望根据其他参数来调节区块的出块时间间隔时,X也可以和其他因素相关,本发明对此不做限定。
此外,计算公式block_interval=min_interval+(max_interval-min_interval)/X只是其中一个实施例,block_interval的计算公式也可以为其他形式,本发明的实质在于block_interval不是一个设计的固定值,而是可根据某些参数而改变的可变值。
步骤S302,设置miner_index为next_block_miner_list列表中当前区块创建者公钥的索引。
block_time=parent_block_time+block_interval+timeout*miner_index。
其中parent_block_time为上一区块的区块时间戳,也就是其表示上一区块出块时间,block_interval为区块的出块时间间隔,timeout为每个授权超时时间,miner_index为当前区块创建者在next_block_miner_list中的索引值。其中,对于不同的授权节点,miner_index取值不同。
步骤S303,返回block_time。
上述实施例中是以授权节点创建区块的情况进行说明,但是本发明中区块的出块时间间隔设计方法可用于任何共识算法,并不仅限于有授权节点的共识算法中,例如,PoW、POS等共识算法也可使用本发明的区块出块时间间隔设计方案。
为了详细说明本发明的共识方法,下面我们用5个授权节点的区块创建过程进行示例。
如图4所示,假设在网络中5个授权节点A、B、C、D、E,他们都有资格创建新区块,且他们的公钥存储在一个顺序排列的列表中。该列表在区块链的早期就被初始化,可以通过智能合约对该列表进行更新。假设在区块高度为h1的时候,当前授权节点列表current_authorized_miner_list中按顺序排列的节点分别是[A的公钥,B的公钥,C的公钥,D的公钥,E的公钥]。这5个授权节点会轮流生成新区块,区块高度从h1直至h2。
其中,至少需要个授权节点保持一致才能使算法有效工作,n为总的授权节点个数。在本示例中,n=5,因此需要至少3个节点达成一致。也就是说,即使节点D,E节点停止工作,节点A,B,C也能继续创建新的区块。区块链上输出的区块的顺序可能变为ABCABC……。
在本示例中,判断节点能够创建下一个区块的共识算法需要满足:1)该节点当前是被授权的;2)最近的个区块不是由该节点创建。
通过这种方法,我们可以判断哪些节点可以创建下一个区块。只需要将创建了最近的个区块的授权节点从current_authorized_miner_list列表中移除。例如,如图5a、图5c所示,在区块高度h2处,当前授权节点列表current_authorized_miner_list中按顺序排列分别是A、B、C、D、E,由于最近的即2个区块的创建者分别是E和A,因此下一个可创建区块的节点列表next_block_miner_list中应该将E和A移除,即为B、C、D,如图5b所示。
虽然节点B、C、D都可以创建下一个区块,但是为了避免他们竞争下一个区块的创建权,应该给它们指定优先级顺序,这样也便于区块链被尽可能多的节点验证过。因此,我们定义next_block_miner_list为一个顺序列表,在current_authorized_miner_list列表中的当前区块创建者的下一个节点排在next_block_miner_list中的第一个位置,并且具有创建下一个区块的最高优先权,以此类推。在图5b中,next_block_miner_list中创建下一个区块的优先权依次是B,C,D。
当优先级顺序确定了之后,接下来计算分配给每个节点的block_time。在next_block_miner_list中排序更前的节点会分配更早的block_time。每个节点使用分配的block_time来创建新的区块,并且在block_time到来前保持等待状态。如果等待过程中没有接收到新的区块,节点就会在等待结束时广播自己创建的区块。Block_time的计算方法如上:block_time=parent_block_time+block_interval+timeout*miner_index
其中parent_block_time为上一区块的区块时间戳,block_interval为正常区块间隔,timeout为每个授权节点最长等待时间,miner_index为当前区块创建者在next_block_miner_list中的索引位置。
这样,如果一个节点未能成功广播新的区块,下一个节点会在timeout时间后取代当前节点。例如,如图6所示,在区块高度h2+1处,节点B不能正常工作,那么在next_block_miner_list列表中处于B的下一个位置的节点C在上一个区块的时间parent_block_time的block_interval+timeout时间后会广播其创建的区块。由于下一个区块不能由最近的的区块的创建者进行创建,因此在区块高度h2+2处当前可创建区块的节点不包含节点A,即为节点D,E,B。
本发明共识算法中的授权节点可以通过预先设定确定,或通过智能合约确定,也可以通过预先设定和智能合约相结合的方法确定。
DGP(Decentralized Governance Protocol,分布式自治协议)是Qtum(量子链)中应用的一项技术。它允许使用区块链上的智能合约在链上达成共识,修改区块链的参数,从而避免分叉。DGP本身通过部署在Qtum创世块的智能合约实现,其工作的方式如下:首先,由DGP的一名管理员发起提议去改变某一共识参数。随后,所有的DGP管理员可以对这个提议进行投票。如果提议收到了足够多的赞同票,则该提议中的参数修改生效。然后,提议的内容会被存储在区块链上,成为新的共识。所有节点都通过DGP直接获取新的共识参数。
在本发明的共识方法中,可以使用DGP智能合约进行授权节点的存储与更新。如上,DGP是Qtum中实现区块链共识参数无分叉治理的协议,可以使用DGP来存储和更新共识算法中的授权节点列表。授权的节点列表可以看做是一个公钥的列表,这个列表可以通过配置文件初始化,然后再通过DGP进行更新。为使授权节点的更新过程更加安全,DGP更新需满足以下条件:由DGP更新的矿工列表需要至少延迟个块之后真正生效,n是更新前列表的长度。这保证了授权节点列表的更新操作会在其成为区块链上的永久记录之后才真正生效。否则,如果更新操作可以被另一个分叉否定掉,则列表更新前的节点很有可能在这个分叉下继续挖矿甚至产生硬分叉。
综上所述,本发明提供了一种区块出块间隔时间可变的共识方法,并提供了区块出块间隔时间的计算方法。相比于现有的共识方法,可以在交易量较少时,降低生产区块的速率,避免存储资源浪费;在交易量大时,增大生产区块的速率,及时将交易记录到区块链中,能够根据网络及时调整区块链的状态。可以根据网络状态调节区块的出块时间,从而能够避免网络空闲时浪费存储空间,且可以避免网络繁忙时不能及时记录交易数据。通过使用智能合约对授权节点进行治理,能够避免区块链分叉。此外,通过在每一区块高度上明确当前可创建区块的节点的优先级,当前可创建区块的节点只需在上一个区块的时间戳之后生产区块即可,相比于现有的共识方法创建区块的时间更加灵活。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (9)

1.一种区块链的共识方法,其特征在于,
区块链网络中的节点可以创建区块,在不同的区块高度上,区块的出块时间间隔可变。
2.根据权利要求1所述的区块链的共识方法,其特征在于,所述区块的出块时间间隔与区块交易数相关参数有关。
3.根据权利要求2所述的区块链的共识方法,其特征在于,所述区块交易数相关参数包括指定N个区块内的平均交易数,其中N为大于或等于1的正整数。
4.根据权利要求3所述的区块链的共识方法,其特征在于,所述N通过共识方法中预先设定和/或智能合约确定。
5.根据权利要求2所述的区块链的共识方法,其特征在于,所述区块的出块时间间隔还和最大区块时间间隔以及最小区块时间间隔相关。
6.根据权利要求5所述的区块链的共识方法,其特征在于,所述最大区块时间间隔和最小区块时间间隔通过共识方法中预先设定和/或智能合约确定。
7.根据权利要求1-6任一项所述的区块链的共识方法,其特征在于,所述区块的出块时间间隔的计算公式为block_interval=min_interval+(max_interval-min_interval)/(transaction_num+1),其中,min_interval为最小区块时间间隔,max_interval为最大区块时间间隔,transaction_num为指定N个区块内的平均交易数。
8.根据权利要求1所述的区块链的共识方法,其特征在于,所述可以创建区块的节点为授权节点,所述授权节点通过共识方法中预先设定和/或智能合约确定。
9.根据权利要求8所述的区块链的共识方法,其特征在于,在某一区块高度上,所述可创建区块的授权节点的数量为M个(M为大于或等于1的正整数),共识方法为每个授权节点分配不同的出块时间,所述出块时间的计算公式为block_time=parent_block_time+block_interval+timeout*miner_index;其中,parent_block_time为上一区块出块时间,block_interval为区块的出块时间间隔,timeout为超时时间,miner_index为索引值,且对于不同授权节点,miner_index取值不同。
CN201810828165.6A 2018-07-25 2018-07-25 区块链的共识方法 Active CN109166037B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810828165.6A CN109166037B (zh) 2018-07-25 2018-07-25 区块链的共识方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810828165.6A CN109166037B (zh) 2018-07-25 2018-07-25 区块链的共识方法

Publications (2)

Publication Number Publication Date
CN109166037A true CN109166037A (zh) 2019-01-08
CN109166037B CN109166037B (zh) 2022-01-25

Family

ID=64898105

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810828165.6A Active CN109166037B (zh) 2018-07-25 2018-07-25 区块链的共识方法

Country Status (1)

Country Link
CN (1) CN109166037B (zh)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109889519A (zh) * 2019-02-18 2019-06-14 深圳市优学链科技有限公司 一种避免区块链共识中无代价攻击的算法
CN111125468A (zh) * 2020-02-05 2020-05-08 天津大学 基于区块链技术及智能合约的结构健康监测系统和方法
CN111522561A (zh) * 2020-03-06 2020-08-11 杜晓楠 Dbft分布式网络中平滑向后兼容升级的方法、计算机可读存储介质和dbft网络
CN111640020A (zh) * 2020-05-22 2020-09-08 百度在线网络技术(北京)有限公司 区块链中事务请求处理方法、装置、设备和介质
CN112073182A (zh) * 2020-07-31 2020-12-11 成都信息工程大学 一种基于区块链的量子密钥管理方法及系统
CN112132682A (zh) * 2020-08-10 2020-12-25 国网浙江省电力有限公司嘉兴供电公司 一种基于区块链技术的电力交易方法、装置及系统
WO2021057259A1 (zh) * 2019-09-23 2021-04-01 杭州复杂美科技有限公司 平行链共识方法、设备及存储介质
CN112887436A (zh) * 2021-04-28 2021-06-01 支付宝(杭州)信息技术有限公司 一种共识方法、共识节点和流水线方式的区块链系统
EP3828798A1 (de) * 2019-11-29 2021-06-02 Siemens Aktiengesellschaft Vorrichtung und verfahren zum bilden von datenblöcken
CN113347182A (zh) * 2021-06-01 2021-09-03 永旗(北京)科技有限公司 一种区块链节点的交易共识方法
CN115187251A (zh) * 2022-09-13 2022-10-14 国网数字科技控股有限公司 一种融合公证人模式的中继链跨链交易方法和装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106548397A (zh) * 2016-11-22 2017-03-29 天津米游科技有限公司 一种区块链共识机制
CN107424066A (zh) * 2017-07-19 2017-12-01 武汉凤链科技有限公司 一种基于价值量建立共识机制的方法及其系统
CN107679857A (zh) * 2017-10-10 2018-02-09 马晶瑶 区块链的跨链交易方法和存储介质
WO2018036441A1 (zh) * 2016-08-26 2018-03-01 杨鹏 一种区块链的写入权限分配方法及系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018036441A1 (zh) * 2016-08-26 2018-03-01 杨鹏 一种区块链的写入权限分配方法及系统
CN106548397A (zh) * 2016-11-22 2017-03-29 天津米游科技有限公司 一种区块链共识机制
CN107424066A (zh) * 2017-07-19 2017-12-01 武汉凤链科技有限公司 一种基于价值量建立共识机制的方法及其系统
CN107679857A (zh) * 2017-10-10 2018-02-09 马晶瑶 区块链的跨链交易方法和存储介质

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109889519A (zh) * 2019-02-18 2019-06-14 深圳市优学链科技有限公司 一种避免区块链共识中无代价攻击的算法
CN109889519B (zh) * 2019-02-18 2021-08-13 三亚京牛数字科技有限公司 一种避免区块链共识中无代价攻击的算法
WO2021057259A1 (zh) * 2019-09-23 2021-04-01 杭州复杂美科技有限公司 平行链共识方法、设备及存储介质
EP3828798A1 (de) * 2019-11-29 2021-06-02 Siemens Aktiengesellschaft Vorrichtung und verfahren zum bilden von datenblöcken
CN111125468A (zh) * 2020-02-05 2020-05-08 天津大学 基于区块链技术及智能合约的结构健康监测系统和方法
CN111522561A (zh) * 2020-03-06 2020-08-11 杜晓楠 Dbft分布式网络中平滑向后兼容升级的方法、计算机可读存储介质和dbft网络
CN111522561B (zh) * 2020-03-06 2023-06-06 杜晓楠 Dbft分布式网络中平滑向后兼容升级的方法、计算机可读存储介质和dbft网络
EP3832574A3 (en) * 2020-05-22 2021-09-15 Baidu Online Network Technology (Beijing) Co., Ltd. Method and apparatus for processing transaction requests in blockchain, device and medium
CN111640020A (zh) * 2020-05-22 2020-09-08 百度在线网络技术(北京)有限公司 区块链中事务请求处理方法、装置、设备和介质
CN111640020B (zh) * 2020-05-22 2023-09-19 百度在线网络技术(北京)有限公司 区块链中事务请求处理方法、装置、设备和介质
US11769125B2 (en) 2020-05-22 2023-09-26 Baidu Online Network Technology (Beijing) Co., Ltd Method and apparatus for processing transaction requests in blockchain, device and medium
CN112073182A (zh) * 2020-07-31 2020-12-11 成都信息工程大学 一种基于区块链的量子密钥管理方法及系统
CN112132682A (zh) * 2020-08-10 2020-12-25 国网浙江省电力有限公司嘉兴供电公司 一种基于区块链技术的电力交易方法、装置及系统
CN112887436A (zh) * 2021-04-28 2021-06-01 支付宝(杭州)信息技术有限公司 一种共识方法、共识节点和流水线方式的区块链系统
CN112887436B (zh) * 2021-04-28 2021-08-03 支付宝(杭州)信息技术有限公司 一种共识方法、共识节点和流水线方式的区块链系统
CN113347182A (zh) * 2021-06-01 2021-09-03 永旗(北京)科技有限公司 一种区块链节点的交易共识方法
CN115187251A (zh) * 2022-09-13 2022-10-14 国网数字科技控股有限公司 一种融合公证人模式的中继链跨链交易方法和装置

Also Published As

Publication number Publication date
CN109166037B (zh) 2022-01-25

Similar Documents

Publication Publication Date Title
CN109166037A (zh) 区块链的共识方法
CN109040271B (zh) 一种分布式环境下的网络设备完整性保护方法
JP7362654B2 (ja) 分割されたブロックチェーンネットワークにおけるブロックチェーンのブロックの維持管理
CN111241114B (zh) 一种结合交易与共识的智能服务交易区块链信誉管理方法和系统
US10579974B1 (en) Systems, methods, and program products for a distributed digital asset network with rapid transaction settlements
US11403605B1 (en) Systems, methods, and program products for a distributed digital asset network with rapid transaction settlements
WO2018209542A1 (zh) 一种用于去中心化域名系统的共识方法
US8539225B2 (en) Method and device for dynamic deployment of trust bridges in an ad hoc wireless network
Wang et al. A comparative study of blockchain consensus algorithms
CN109600433B (zh) 一种系统内数据汇总方法及装置
CN111371905B (zh) 一种基于云计算的区块链分层共识证明系统与方法
Wang et al. A trusted consensus fusion scheme for decentralized collaborated learning in massive IoT domain
CN111711526B (zh) 一种区块链节点的共识方法及系统
CN111861459A (zh) 一种基于DPoS共识算法的Iota账本优化系统及方法
Pupyshev et al. Gravity: a blockchain-agnostic cross-chain communication and data oracles protocol
Xi et al. A comprehensive survey on sharding in blockchains
Lee et al. Blockchain-based perfect sharing project platform based on the proof of atomicity consensus algorithm
CN114978638A (zh) 一种基于共享节点的区块链跨链监管方法
Lin et al. Blockchain based unified authentication with zero-knowledge proof in heterogeneous MEC
Grybniak et al. Waterfall: a scalable distributed ledger technology
Prabhakar et al. TCON-A lightweight Trust-dependent Consensus framework for blockchain
WO2020199703A1 (zh) 一种区块链交易的方法、装置和系统
CN109711842B (zh) 一种平行链定期汇合的区块链网络的账本记账方法
CN110493008A (zh) 一种区块链认证方法、装置、设备及介质
CN110610398A (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