CN112954009A - 区块链共识方法、设备及存储介质 - Google Patents
区块链共识方法、设备及存储介质 Download PDFInfo
- Publication number
- CN112954009A CN112954009A CN202110108757.2A CN202110108757A CN112954009A CN 112954009 A CN112954009 A CN 112954009A CN 202110108757 A CN202110108757 A CN 202110108757A CN 112954009 A CN112954009 A CN 112954009A
- Authority
- CN
- China
- Prior art keywords
- node
- period
- nodes
- consensus
- alliance
- 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
Images
Classifications
-
- 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
-
- 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
- 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/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例涉及区块链技术领域,公开了一种区块链共识方法、设备及存储介质。通过在周期T到来后,由周期(T‑1)对应的共识节点执行:从区块链账本中获取周期T对应的关键数据,关键数据包括周期T对应的起始时间以及共识节点数N;根据周期(T‑1)内联盟中各节点的业务参与量,从联盟中选择N个节点作为周期T对应的共识节点;之后,由选取出的周期T对应的共识节点执行周期T内交易信息的记账操作,并在记账完成后将生成的周期(T+1)对应的关键数据记录在区块链账本中,从而实现基于前一周期内联盟中各节点的业务参与量动态选取出后一周期对应的共识节点,避免共识权力集中在少数节点中,有效解决了联盟链规模和可信度受到限制的问题。
Description
技术领域
本发明实施例涉及区块链技术领域,特别涉及一种区块链共识方法、设备及存储介质。
背景技术
实用拜占庭容错(Practical Byzantine Fault Tolerance,PBFT)算法,解决了有限个节点的拜占庭问题,有3f+1(f为作恶节点数)的容错性,并同时保证一定的性能,是联盟链中常用的共识算法。权威证明(Proof-Of-Authority,PoA)常用于私有链中,核心在于将共识权力下放给组内信誉度高的授权节点(signers),由其负责新区块的产生和验证,具备较高的扩展性。
相关技术中,针对PBFT算法的改进主要集中于联盟共识节点数量相对固定的场景中,通过少数节点的竞争以及对非共识节点的利用来优化共识效率。由于PBFT算法可扩展性差的问题,共识节点数量的增加将降低交易速度,不利于联盟规模的扩大。而PoA过于中心化容易受到女巫攻击,共识权力集中在少数机构中,影响平台***的鲁棒性和区块链可信度。
发明内容
本发明实施方式的目的在于提供一种区块链共识方法、设备及存储介质,通过在共识机制的选取主节点(共识节点)阶段中,采用PoA权力下放的思想以联盟建设业务参与量为依托动态选取共识节点,并采用动态选取的共识节点在记账阶段完成记账,从而有效解决联盟链中共识权力集中于少数节点的问题。
为解决上述技术问题,本发明的实施方式提供了一种区块链共识方法,应用于区块链中的共识节点,所述方法包括:
在周期T到来后,周期(T-1)对应的共识节点从区块链账本中获取所述周期T对应的关键数据,所述关键数据包括所述周期T对应的起始时间以及共识节点数N;获取所述周期(T-1)内联盟中各节点的业务参与量;根据所述各节点的业务参与量,从所述联盟中选择所述N个节点作为所述周期T对应的共识节点;其中,所述业务参与量越大的节点成为共识节点的概率越大;
所述周期T对应的共识节点执行所述周期T内交易信息的记账操作,并在记账完成后将生成的周期(T+1)对应的关键数据记录在所述区块链账本中。
本发明的实施方式还提供了一种电子设备,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如上所述的区块链共识方法。
本发明的实施方式还提供了一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的区块链共识方法。
本发明实施方式相对于现有技术而言,通过在周期T到来后,由周期(T-1)对应的共识节点执行:从区块链账本中获取周期T对应的关键数据,所述关键数据包括周期T对应的起始时间以及共识节点数N;根据周期(T-1)内联盟中各节点的业务参与量,从联盟中选择N个节点作为周期T对应的共识节点;其中,业务参与量越大的节点成为共识节点的概率越大;之后,由选取出的周期T对应的共识节点执行周期T内交易信息的记账操作,并在记账完成后将生成的周期(T+1)对应的关键数据记录在区块链账本中,从而实现基于前一周期内联盟中各节点的业务参与量动态选取出后一周期对应的共识节点,避免共识权力集中在少数节点中,有效解决了联盟链规模和可信度受到限制的问题,更适用于未来共识节点众多的联盟链。
另外,在周期T到来后,上述方法还包括:周期(T-1)对应的共识节点获取截至周期(T-1)结束时,联盟中各节点的历史共识量;相应地,根据各节点的业务参与量,从联盟中选择N个节点作为周期T对应的共识节点,具体包括:根据各节点的业务参与量和各节点的历史共识量,从联盟中选择N个节点作为周期T对应的共识节点;其中,业务参与量越大,且历史共识量越小的节点成为共识节点的概率越大。通过选择业务参与量较大,且历史共识量越小的节点作为共识节点,可以有效保证动态选取的共识节点即为当前参与业务较为活跃的节点,使周期T的记账操作能够被顺利完成;同时,通过排除历史共识量较大的节点,以避免当前参与业务活跃的节点同时也为历史共识量较大的节点而导致的共识权利集中在少数节点中的问题。
另外,上述周期T对应的关键数据中还包括:周期T对应的历史共识量的第一临界比例;相应地,根据各节点的业务参与量和各节点的历史共识量,从联盟中选择N个节点作为周期T对应的共识节点,具体包括:对联盟中的节点按业务参与量从大到小的顺序生成节点序列;将节点序列中,历史共识量的占比小于第一临界比例,且排位前N的节点作为周期T对应的共识节点。通过对联盟中的节点按业务参与量从大到小进行排序,以联盟中所有节点的历史共识量作为基数,得到每个节点的历史共识量的占比,选取该占比小于第一临界比例,且在节点序列中排位前N的节点作为周期T对应的共识节点,以有效保证动态选取出的共识节点既有能力顺利完成周期T的记账操作,同时也可有效避免共识权利集中在少数节点中的问题。
另外,上述周期T对应的关键数据中还包括:周期T对应的历史共识量的第二临界比例;相应地,根据各节点的业务参与量和各节点的历史共识量,从联盟中选择N个节点作为周期T对应的共识节点,具体包括:对联盟中的节点按业务参与量从大到小的顺序生成节点序列;提取节点序列中排位在1~N的节点所对应的历史共识量,并计算该N个节点中,每个节点的历史共识量占比;判断该N个节点中是否存在历史共识量占比不小于第二临界比例的节点;如果是,则将历史共识量占比不小于第二临界比例的节点替换为节点序列中排位在前的未被提取过的同等数量的节点;计算替换后的该N个节点中,每个节点的历史共识量占比,并针对替换后的该N个节点再次执行判断该N个节点中是否存在历史共识量占比不小于第二临界比例的节点的过程;如果否,则将该N个节点作为周期T对应的共识节点。通过对联盟中的节点按业务参与量从大到小进行排序,提取节点序列中排位在前的N个节点的历史共识量作为基数,得到每个节点的历史共识量的占比,将该占比不小于第二临界比例的节点替换为节点序列中排位在前的未被提取过的节点,然后继续做比较和替换操作,直到所提取的N个节点的历史共识量的占比均小于第二临界比例,并将这N的节点作为周期T对应的共识节点,以有效保证动态选取出的共识节点既有能力顺利完成周期T的记账操作,同时也可有效避免共识权利集中在少数节点中的问题。
另外,获取周期(T-1)内联盟中各节点的业务参与量,具体包括:获取周期(T-1)内联盟中各节点的交易提案数、接收消息数和投入使用的计算资源量中的至少一种业务数据的业务数据量占比;根据各节点的业务数据量占比,计算各节点的业务参与量。通过引入各节点的交易提案数、接收消息数和投入使用的计算资源量中的至少一种业务数据来表征节点的业务参与行为,通过计算各节点的业务数据量占比,从而可以准确得到各节点的业务参与量,评价节点参与业务的活跃度。
另外,当获取周期(T-1)内联盟中各节点的交易提案数、接收消息数和投入使用的计算资源量中的至少两种业务数据的业务数据量占比时,根据各节点的业务数据量占比,计算各节点的业务参与量,具体包括:对各节点的至少两种所述业务数据的业务数据量占比进行加权计算,并将加权结果作为相应节点的所述业务参与量。通过对不同类型业务数据的业务数据量占比设置不同权重,以区别各类型业务数据对节点业务参与量的影响,从而通过加权求和的方式综合评价各节点的业务参与量。
另外,生成周期(T+1)对应的共识节点数N,具体包括:周期T对应的共识节点根据联盟中其他节点发送的账本更新消息统计区块链***的交易时延和吞吐量,并根据交易时延和吞吐量计算周期(T+1)对应的共识节点数N。由于区块链***中交易时延和吞吐量与共识节点的个数具有紧密关系,因此基于这两个参数可以更设置出与当前区块链***相匹配的共识节点数量。
附图说明
一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。
图1是根据本发明第一实施方式的区块链共识方法的具体流程图;
图2是根据本发明第二实施方式的区块链共识方法的具体流程图;
图3是根据本发明第三实施方式的区块链共识方法的具体流程图;
图4是根据本发明第四实施方式的区块链共识方法的具体流程图;
图5是根据本发明第五实施方式的区块链共识方法的具体流程图;
图6是根据本发明第六实施方式的区块链共识方法的具体流程图;
图7是根据本发明第七实施方式的区块链共识方法的具体流程图;
图8是根据本发明第八实施方式的电子设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的各实施方式进行详细的阐述。然而,本领域的普通技术人员可以理解,在本发明各实施方式中,为了使读者更好地理解本申请而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本申请所要求保护的技术方案。
本发明的第一实施方式涉及一种区块链共识方法,该方法应用于区块链中的共识节点。本实施方式的核心在于:通过在周期T到来后,由周期(T-1)对应的共识节点执行:从区块链账本中获取周期T对应的关键数据,所述关键数据包括周期T对应的起始时间以及共识节点数N;根据周期(T-1)内联盟中各节点的业务参与量,从联盟中选择N个节点作为周期T对应的共识节点;其中,业务参与量越大的节点成为共识节点的概率越大;之后,由选取出的周期T对应的共识节点执行周期T内交易信息的记账操作,并在记账完成后将生成的周期(T+1)对应的关键数据记录在区块链账本中,从而实现基于前一周期内联盟中各节点的业务参与量动态选取出后一周期对应的共识节点,避免共识权力集中在少数节点中,有效解决了联盟链规模和可信度受到限制的问题,更适用于未来共识节点众多的联盟链。下面对本实施方式的区块链共识方法的实现细节进行具体的说明,以下内容仅为方便理解提供的实现细节,并非实施本方案的必须。
如图1所示,本实施方式中的区块链共识方法,具体包括:
在周期T到来后,周期(T-1)对应的共识节点执行步骤101~103,周期T对应的共识节点执行步骤104。
步骤101:从区块链账本中获取周期T对应的关键数据,关键数据包括周期T对应的起始时间以及共识节点数N。
其中,T为大于1的整数,周期T为区块链中第T个共识周期;同理,周期(T-1)为区块链中第(T-1)个共识周期(周期T的前一个周期),周期(T+1)为区块链中第(T+1)个共识周期(周期T的下一个周期)。每个周期T包含两个阶段,第一阶段:选取周期T对应的共识节点(选主阶段);第二阶段:周期T对应的共识节点执行交易信息的记账操作(记账阶段)。针对周期T,选主阶段由周期(T-1)对应的共识节点执行相关操作,记账阶段由周期T对应的共识节点执行相关操作。
具体地,周期(T-1)对应的共识节点通过其节点上部署在接口层的区块链预言机实时获取外部时间,并将该外部时间与区块链账本中记录的最新周期T的起始时间作比较,当区块链进入周期T后,即到达当前区块链中记载的最新的共识时间Tx时(当区块链进入周期T时,该共识时间Tx即为周期T对应的起始时间),预言机会调用本地的***智能合约获取记录在区块链账本中的关键数据。即在进入周期T后,周期(T-1)对应的共识节点动态选取自己在上一周期记录在区块链账本的周期T对应的起始时间以及周期T对应的共识节点数N。
对于区块链的第一个共识周期,则是由创世节点约定执行记账阶段的操作,并将第二个周期对应的起始时间以及共识节点数N记录在创世区块中,以后每个共识周期都会由相应周期对应的共识节点对下一共识周期对应的共识节点数N进行更新,并记录在区块链账本中。
步骤102:获取周期(T-1)内联盟中各节点的业务参与量。
其中,业务参与量可以视为节点对联盟链的贡献度,业务参与量越多的节点对于联盟链的贡献度越大。而业务参与量可以但不局限于从以下几个方面进行量化评价:节点在区块链上业务交易度(交易提案数)、周期活跃度(接收消息数)和计算资源量投入度(投入使用的计算资源量)等。
具体地,在周期T到来后,周期(T-1)对应的共识节点会从以上几个方面收集各节点在(T-1)内的相关业务数据,并对这些相关业务数据进行统计量化得到各节点的业务参与量,从而基于各节点的业务参与量比较各节点在周期(T-1)内对联盟链的贡献度。
步骤103:根据各节点的业务参与量,从联盟中选择N个节点作为周期T对应的共识节点;其中,业务参与量越大的节点成为共识节点的概率越大。
具体地,通过各节点在周期(T-1)内的业务参与量可以比较出各节点在周期(T-1)内对联盟链的贡献度。出于对联盟链业务的处理效率考虑,每次从联盟中选择N个节点作为新一周期对应的共识节点时,会尽可能选择上一周期内业务参与量较大的节点,以保证被选出的共识节点的业务处理能力能够满足共识节点所需的能力要求。而基于各节点在周期(T-1)内的业务参与量选取周期T对应的共识节点,既可以保证被选取出的共识节点的业务处理能力持续稳定,也可以给那些历史贡献度小,而在近期对联盟链的贡献度较大的节点成为共识节点的机会,避免共识权利集中于少数具有较大历史贡献度,或者历史共识业务丰富的节点中。
本实施方式中,对于选取周期T对应的共识节点的选取方式不做限定,但应围绕周期(T-1)内业务参与量越大的节点成为共识节点的概率越大的原则展开。
步骤104:执行周期T内交易信息的记账操作,并在记账完成后将生成的周期(T+1)对应的关键数据记录在区块链账本中。
具体地,当周期T对应的共识节点被选取出来后,周期(T-1)对应的共识节点会广播这N个共识节点的信息,以告知其他节点该N个节点即为周期T对应的共识节点,并开始执行以下操作:
普通节点获得共识节点信息后,后续的交易信息将会广播给新选取出的共识节点。新选取出的共识节点有权对模拟执行结果进行排序、打包形成区块,并将区块广播给所有节点;普通节点接收到共识节点广播的区块后将调用本地智能合约获取共识节点的信息;本地智能合约将判断是否收到超过N/3+1条共识节点广播的消息,如果没有收到足够数量的共识节点发送的消息,则不做账本更新继续等待接收其他共识节点广播的消息;若收到足够数量的共识节点发送的消息,则根据广播中的交易记录更新本地的账本。至此,周期T内交易信息的记账操作过程完成。
在记账完成后,周期T对应的共识节点还执行一项处理,即生成周期(T+1)对应的关键数据,即周期(T+1)对应的起始时间以及共识节点数N,然后将该关键数据记录在区块链账本中。
其中,(T+1)对应的共识节点数N可以基于当前区块链***的运行状态灵活调整,本实施方式对于N的取值不做限定,但应围绕与当前区块链***的运行状态相适应的原则进行选择。
与现有技术相比,本发明实施方式通过在周期T到来后,由周期(T-1)对应的共识节点执行:从区块链账本中获取周期T对应的关键数据,所述关键数据包括周期T对应的起始时间以及共识节点数N;根据周期(T-1)内联盟中各节点的业务参与量,从联盟中选择N个节点作为周期T对应的共识节点;其中,业务参与量越大的节点成为共识节点的概率越大;之后,由选取出的周期T对应的共识节点执行周期T内交易信息的记账操作,并在记账完成后将生成的周期(T+1)对应的关键数据记录在区块链账本中,从而实现基于前一周期内联盟中各节点的业务参与量动态选取出后一周期对应的共识节点,避免共识权力集中在少数节点中,有效解决了联盟链规模和可信度受到限制的问题,更适用于未来共识节点众多的联盟链。
本发明的第二实施方式涉及一种区块链共识方法。第二实施方式是在第一实施方式基础上做的改进,其改进之处在于:
在周期T到来后,周期(T-1)对应的共识节点获取截至周期(T-1)结束时,联盟中各节点的历史共识量;相应地,根据各节点的业务参与量,从联盟中选择N个节点作为周期T对应的共识节点,具体包括:根据各节点的业务参与量和各节点的历史共识量,从联盟中选择N个节点作为周期T对应的共识节点;其中,业务参与量越大,且历史共识量越小的节点成为共识节点的概率越大。通过选择业务参与量较大,且历史共识量越小的节点作为共识节点,可以有效保证动态选取的共识节点即为当前参与业务较为活跃的节点,使周期T的记账操作能够被顺利完成;同时,通过排除历史共识量较大的节点,以避免当前参与业务活跃的节点同时也为历史共识量较大的节点而导致的共识权利集中在少数节点中的问题。
具体流程图如图2所示。
在周期T到来后,周期(T-1)对应的共识节点执行步骤201~204,周期T对应的共识节点执行步骤205。
步骤201:从区块链账本中获取周期T对应的关键数据,关键数据包括周期T对应的起始时间以及共识节点数N。
步骤202:获取周期(T-1)内联盟中各节点的业务参与量。
其中,步骤201~202与前述步骤101~102的内容对应相同,在此不做赘述。
步骤203:获取截至周期(T-1)结束时,联盟中各节点的历史共识量。
其中,各节点的历史共识量可以为各节点过去历史时间内作为共识节点执行相关操作所对应的统计量,历史共识量越多的节点其作为共识节点执行相关操作的工作量也越多。而历史共识量可以但不局限于从以下几个方面进行量化评价:历史成为共识节点的周期次数和/或作为共识节点参与共识操作所消耗的CPU/内存等资源量。
具体地,共识节点可以通过调用各节点对应的监控合约来获取各节点的历史共识量。本实施方式中,对于各节点的历史共识量的统计方式不做限定。
步骤204:根据各节点的业务参与量和各节点的历史共识量,从联盟中选择N个节点作为周期T对应的共识节点;其中,业务参与量越大,且历史共识量越小的节点成为共识节点的概率越大。
在本发明第一实施方式中提及到,出于对联盟链业务的处理效率考虑,每次从联盟中选择N个节点作为新一周期对应的共识节点时,会尽可能选择上一周期内业务参与量较大的节点,以保证被选出的共识节点的业务处理能力能够满足共识节点所需的能力要求。但是,由于通常情况下,节点在周期(T-1)内的业务参与量与其历史共识量往往存在一致性递增的关系,即业务参与量较高的节点成为共识节点的可能性较高,一旦这样的节点被选择作为共识节点,那么相应也会增加该节点的历史共识量。如果一个节点的业务参与量持续在一段时间内(多个共识周期)一直较其他节点偏高,那么该节点很可能一直会被选取作为后续共识周期的共识节点,执行记账操作,这样会造成共识权利会集中在历史共识量较高的少数节点中的现象发生。
为了避免这一现象发生,本实施方式在选择周期T对应的共识节点时,除引入各节点在周期(T-1)内的业务参与量之外,还引入了各节点的历史共识量作为参考,即从联盟中选择业务参与量较大,且历史共识量较小的节点作为共识节点。如此,被选取出的共识节点既可以有效保证其有能力顺利完成周期T的记账操作,同时也可有效避免共识权利集中在少数历史共识量较大的节点中的问题。
步骤205:执行周期T内交易信息的记账操作,并在记账完成后将生成的周期(T+1)对应的关键数据记录在区块链账本中。
其中,步骤205与前述步骤104的内容对应相同,在此不做赘述。
与现有技术相比,本发明实施方式通过选择业务参与量较大,且历史共识量越小的节点作为共识节点,可以有效保证动态选取的共识节点即为当前参与业务较为活跃的节点,使周期T的记账操作能够被顺利完成;同时,通过排除历史共识量较大的节点,以避免当前参与业务活跃的节点同时也为历史共识量较大的节点而导致的共识权利集中在少数节点中的问题。
本发明的第三实施方式涉及一种区块链共识方法。第三实施方式是在第二实施方式基础上做的改进,其改进之处在于:
上述周期T对应的关键数据中还包括:周期T对应的历史共识量的第一临界比例;相应地,根据各节点的业务参与量和各节点的历史共识量,从联盟中选择N个节点作为周期T对应的共识节点,具体包括:对联盟中的节点按业务参与量从大到小的顺序生成节点序列;将节点序列中,历史共识量的占比小于第一临界比例,且排位前N的节点作为周期T对应的共识节点。通过对联盟中的节点按业务参与量从大到小进行排序,以联盟中所有节点的历史共识量作为基数,得到每个节点的历史共识量的占比,选取该占比小于第一临界比例,且在节点序列中排位前N的节点作为周期T对应的共识节点,以有效保证动态选取出的共识节点既有能力顺利完成周期T的记账操作,同时也可有效避免共识权利集中在少数节点中的问题。
具体流程图如图3所示。
在周期T到来后,周期(T-1)对应的共识节点执行步骤301~305,周期T对应的共识节点执行步骤306。
步骤301:从区块链账本中获取周期T对应的关键数据,关键数据包括周期T对应的起始时间、共识节点数N以及历史共识量的第一临界比例。
步骤302:获取周期(T-1)内联盟中各节点的业务参与量。
步骤303:获取截至周期(T-1)结束时,联盟中各节点的历史共识量。
其中,步骤301~303与前述步骤201~203的内容对应相同或相似,在此不做赘述。
步骤304:对联盟中的节点按业务参与量从大到小的顺序生成节点序列。
具体地,共识节点通过调用排序智能合约对联盟中各节点按其在周期(T-1)内的业务参与量以从大到小的顺序进行排序,形成节点序列。
步骤305:将节点序列中,历史共识量的占比小于第一临界比例,且排位前N的节点作为周期T对应的共识节点。
具体地,在统计完联盟中每个节点的历史共识量后,通过调用权重判断合约执行以所有节点的历史共识量总和作为基数,计算每个节点的历史共识量在该基数中的占比(历史共识量的占比),并从所有节点中提取出历史共识量的占比小于第一临界比例的节点,以及根据提取出的节点在节点序列中的排位,从这些节点中选取排位前N的节点作为周期T对应的共识节点。
步骤306:执行周期T内交易信息的记账操作,并在记账完成后将生成的周期(T+1)对应的关键数据记录在区块链账本中。
其中,步骤306与前述步骤104的内容对应相同,在此不做赘述。
与现有技术相比,本发明实施方式通过对联盟中的节点按业务参与量从大到小进行排序,以联盟中所有节点的历史共识量作为基数,得到每个节点的历史共识量的占比,选取该占比小于第一临界比例,且在节点序列中排位前N的节点作为周期T对应的共识节点,以有效保证动态选取出的共识节点既有能力顺利完成周期T的记账操作,同时也可有效避免共识权利集中在少数节点中的问题。
本发明的第四实施方式涉及一种区块链共识方法。第四实施方式是在第二实施方式基础上做的改进,其改进之处在于:
上述周期T对应的关键数据中还包括:周期T对应的历史共识量的第二临界比例;相应地,根据各节点的业务参与量和各节点的历史共识量,从联盟中选择N个节点作为周期T对应的共识节点,具体包括:对联盟中的节点按业务参与量从大到小的顺序生成节点序列;提取节点序列中排位在1~N的节点所对应的历史共识量,并计算该N个节点中,每个节点的历史共识量占比;S1:如果该N个节点中存在X个节点的历史共识量占比不小于第二临界比例,则将该X个节点替换为节点序列中排位在前的X个未被提取过的节点;S2:计算替换后的该N个节点中,每个节点的历史共识量占比;循环执行S1~S2,直到X为0时结束,并将历史共识量占比均小于第二临界比例的该N个节点作为周期T对应的共识节点。通过对联盟中的节点按业务参与量从大到小进行排序,提取节点序列中排位在前的N个节点的历史共识量作为基数,得到每个节点的历史共识量的占比,将该占比不小于第二临界比例的节点替换为节点序列中排位在前的未被提取过的节点,然后继续做比较和替换操作,直到所提取的N个节点的历史共识量的占比均小于第二临界比例,并将这N的节点作为周期T对应的共识节点,以有效保证动态选取出的共识节点既有能力顺利完成周期T的记账操作,同时也可有效避免共识权利集中在少数节点中的问题。
具体流程图如图4所示。
在周期T到来后,周期(T-1)对应的共识节点执行步骤401~409,周期T对应的共识节点执行步骤410。
步骤401:从区块链账本中获取周期T对应的关键数据,关键数据包括周期T对应的起始时间、共识节点数N以及历史共识量的第二临界比例。
步骤402:获取周期(T-1)内联盟中各节点的业务参与量。
步骤403:获取截至周期(T-1)结束时,联盟中各节点的历史共识量。
其中,步骤401~403与前述步骤201~203的内容对应相同或相似,在此不做赘述。
步骤404:对联盟中的节点按业务参与量从大到小的顺序生成节点序列。
具体地,共识节点通过调用排序智能合约对联盟中各节点按其在周期(T-1)内的业务参与量以从大到小的顺序进行排序,形成节点序列。
步骤405:提取节点序列中排位在1~N的节点所对应的历史共识量,并计算该N个节点中,每个节点的历史共识量占比;
共识节点通过调用权重判断合约执行在上述节点序列中先提取排位在1~N的节点所对应的历史共识量,然后以该N个节点的历史共识量总和作为基数,计算得到这N个节点中,每个节点的历史共识量占比。
步骤406:判断该N个节点中是否存在历史共识量占比不小于第二临界比例的节点;如果是,则执行步骤407,否则执行步骤409。
具体地,权重判断合约遍历该N个节点的历史共识量的占比是否不小于第二临界比例,如果存在X(X为大于0的整数)个节点的历史共识量占比不小于第二临界比例,则执行步骤407,否则执行步骤409。
步骤407:将历史共识量占比不小于第二临界比例的节点替换为节点序列中排位在前的未被提取过的同等数量的节点。
具体地,权重判断合约将上述X个节点的信息同步给排序智能合约,以使得排序智能合约将节点序列中第N+1到N+X的节点的信息同步给权重判断合约,以替换掉上述X个节点,形成替换后的该N个节点。
步骤408:计算替换后的该N个节点中,每个节点的历史共识量占比,并针对替换后的该N个节点,再次执行步骤406。
具体地,替换后的该N个节点中包含了原来的N-X个节点以及被替换后的X个节点。权重判断合约以该N个节点的历史共识量总和作为基数,计算得到这N个节点中,每个节点的历史共识量占比。之后,跳回执行步骤406。
步骤409:将该N个节点作为周期T对应的共识节点。
具体地,在权重判断合约遍历该N个节点的历史共识量的占比是否不小于第二临界比例后,如果不存在历史共识量占比不小于第二临界比例的节点,即该N个节点的历史共识量的占比均小于第二临界比例,则将该N个节点作为周期T对应的共识节点。
步骤410:执行周期T内交易信息的记账操作,并在记账完成后将生成的周期(T+1)对应的关键数据记录在区块链账本中。
其中,步骤410与前述步骤104的内容对应相同,在此不做赘述。
与现有技术相比,本发明实施方式通过对联盟中的节点按业务参与量从大到小进行排序,提取节点序列中排位在前的N个节点的历史共识量作为基数,得到每个节点的历史共识量的占比,将该占比不小于第二临界比例的节点替换为节点序列中排位在前的未被提取过的节点,然后继续做比较和替换操作,直到所提取的N个节点的历史共识量的占比均小于第二临界比例,并将这N的节点作为周期T对应的共识节点,以有效保证动态选取出的共识节点既有能力顺利完成周期T的记账操作,同时也可有效避免共识权利集中在少数节点中的问题。
本发明的第五实施方式涉及一种区块链共识方法。第五实施方式是在以上任一实施方式基础上做的改进,其改进之处在于:
获取周期(T-1)内联盟中各节点的业务参与量,具体包括:获取周期(T-1)内联盟中各节点的交易提案数、接收消息数和投入使用的计算资源量中的至少一种业务数据的业务数据量占比;根据各节点的业务数据量占比,计算各节点的业务参与量。通过引入各节点的交易提案数、接收消息数和投入使用的计算资源量中的至少一种业务数据来表征节点的业务参与行为,通过计算各节点的业务数据量占比,从而可以准确得到各节点的业务参与量,评价节点参与业务的活跃度。
另外,当获取周期(T-1)内联盟中各节点的交易提案数、接收消息数和投入使用的计算资源量中的至少两种业务数据的业务数据量占比时,根据各节点的业务数据量占比,计算各节点的业务参与量,具体包括:对各节点的至少两种所述业务数据的业务数据量占比进行加权计算,并将加权结果作为相应节点的所述业务参与量。通过对不同类型业务数据的业务数据量占比设置不同权重,以区别各类型业务数据对节点业务参与量的影响,从而通过加权求和的方式综合评价各节点的业务参与量。
具体流程图如图5所示。
在周期T到来后,周期(T-1)对应的共识节点执行步骤501~504,周期T对应的共识节点执行步骤505。
步骤501:从区块链账本中获取周期T对应的关键数据,关键数据包括周期T对应的起始时间以及共识节点数N。
其中,步骤501与前述步骤101的内容对应相同,在此不做赘述。
步骤502:获取周期(T-1)内联盟中各节点的交易提案数、接收消息数和投入使用的计算资源量中的至少一种业务数据的业务数据量占比。
共识节点调用本地的***智能合约从账本中获取各节点的交易提案数、接收消息数和投入使用的计算资源量中的至少一种业务数据,并计算周期(T-1)内联盟中所有节点在各项业务数据上的业务数据占比。其中,交易提案数能够体现节点的业务交易度、接收消息数能够体现节点的活跃度、投入使用的计算资源量能够体现节点在计算资源上的投入度。具体地,计算公式如下:
其中,m表示节点总数,TNSi表示i节点在周期(T-1)内提交的Transaction交易提案数(单位:次);
其中,m表示节点总数,PASi表示i节点在周期(T-1)内接收消息数(单位:条);
其中,m表示节点总数,CISi表示i节点在周期(T-1)内投入使用的计算资源(单位:1核1g)。
步骤503:根据各节点的业务数据量占比,计算各节点的业务参与量。
具体地,根据各节点在不同类型的业务数据上的业务数据量占比,可以综合评估各节点的业务参能力,进而计算各节点的业务参与量。
在一具体实施方式中,当获取周期(T-1)内联盟中各节点的交易提案数、接收消息数和投入使用的计算资源量中的至少两种业务数据的业务数据量占比时,可对各节点的至少两种业务数据的业务数据量占比进行加权计算,并将加权结果作为相应节点的业务参与量。
例如通过公式(4)得到各节点的业务参与量:
BCi=ρ1TNi+ρ2PAi+ρ3CIi,(ρ1+ρ2+ρ3=1且0≤ρ1,ρ2,ρ3≤1)……(4)
其中,BCi表示i节点的业务参与量,TNi表示i节点的交易提案数占比、PAi表示i节点接收消息数占比、CIi表示i节点的投入使用的计算资源量占比,ρ1,ρ2,ρ3分别表示各中业务数据量占比的权重值,具体取值可由联盟创始成员自行设定,以体现对不同指标的重视程度。
步骤504:根据各节点的业务参与量,从联盟中选择N个节点作为周期T对应的共识节点;其中,业务参与量越大的节点成为共识节点的概率越大。
步骤505:执行周期T内交易信息的记账操作,并在记账完成后将生成的周期(T+1)对应的关键数据记录在区块链账本中。
其中,步骤504~505与前述步骤103~104的内容对应相同,在此不做赘述。
与现有技术相比,本发明实施方式通过引入各节点的交易提案数、接收消息数和投入使用的计算资源量中的至少一种业务数据来表征节点的业务参与行为,通过计算各节点的业务数据量占比,从而可以准确得到各节点的业务参与量,评价节点参与业务的活跃度。
另外,通过对不同类型业务数据的业务数据量占比设置不同权重,以区别各类型业务数据对节点业务参与量的影响,从而通过加权求和的方式综合评价各节点的业务参与量。
本发明的第六实施方式涉及一种区块链共识方法。第六实施方式是在第一实施方式基础上做的改进,其改进之处在于:
生成周期(T+1)对应的关键数据,具体包括:周期T对应的共识节点根据联盟中其他节点发送的账本更新消息统计区块链***的交易时延和吞吐量,并根据交易时延和吞吐量计算周期(T+1)对应的共识节点数N。由于区块链***中交易时延和吞吐量与共识节点的个数具有紧密关系,因此基于这两个参数可以更设置出与当前区块链***相匹配的共识节点数量。
另外,根据交易时延和吞吐量计算周期(T+1)对应的共识节点数N,具体包括:根据计算周期(T+1)对应的共识节点数N,其中t、c依次为交易时延和吞吐量,t'、c'和N'依次为区块链***的临界时延、临界吞吐量和临界共识节点数。基于交易时延和吞吐量与共识节点数之间的匹配关系,在交易时延较大时减小共识节点数,反之则增大共识节点数;在吞吐量较大时增大共识节点数,反之则减小共识节点数,从而设置出与当前区块链***相匹配的共识节点数量。
具体流程图如图6所示。
在周期T到来后,周期(T-1)对应的共识节点执行步骤601~603,周期T对应的共识节点执行步骤604~606。
步骤601:从区块链账本中获取周期T对应的关键数据,关键数据包括周期T对应的起始时间以及共识节点数N。
步骤602:获取周期(T-1)内联盟中各节点的业务参与量。
步骤603:根据各节点的业务参与量,从联盟中选择N个节点作为周期T对应的共识节点;其中,业务参与量越大的节点成为共识节点的概率越大。
步骤604:执行周期T内交易信息的记账操作。
其中,步骤601~604与前述步骤101~103的全部内容以及步骤104的部分内容对应相同,在此不做赘述。
步骤605:在记账完成后,根据联盟中其他节点发送的账本更新消息统计区块链***的交易时延和吞吐量,并根据交易时延和吞吐量计算周期(T+1)对应的共识节点数N。
具体地,如果普通节点收到足够多(大于N/3+1)条共识节点发送的新区块的广播消息,则根据广播的交易记录更新账本,然后将账本更新消息广播出去。周期T对应的共识节点根据联盟中其他节点发送的账本更新消息,统计区块链***的交易时延和吞吐量,并根据交易时延和吞吐量计算周期(T+1)对应的共识节点数N。
在一具体实施方式中,可通过如下公式:
计算周期(T+1)对应的共识节点数N,其中t、c依次为交易时延和吞吐量,t'、c'和N'依次为区块链***的临界时延、临界吞吐量和临界共识节点数。
步骤606:将生成的周期(T+1)对应的关键数据记录在区块链账本中。
与现有技术相比,本发明实施方式由于区块链***中交易时延和吞吐量与共识节点的个数具有紧密关系,因此可基于这两个参数可以更设置出与当前区块链***相匹配的共识节点数量。
另外,基于交易时延和吞吐量与共识节点数之间的匹配关系,在交易时延较大时减小共识节点数,反之则增大共识节点数;在吞吐量较大时增大共识节点数,反之则减小共识节点数,从而设置出与当前区块链***相匹配的共识节点数量。
本发明的第七实施方式涉及一种区块链共识方法。第七实施方式是将上述各实施方式进行有机结合后得到的一种综合实现方式,本实施方式中涉及的相关步骤可参考以上各实施方式中的对应步骤内容,在此不做赘述。
具体流程图如图7所示。
在周期T到来后,周期(T-1)对应的共识节点执行1~6,周期T对应的共识节点执行7、12。
1.获取周期T对应的起始时间、共识节点数N和临界比例P。
在周期T到来后,周期(T-1)对应的共识节点从区块链账本中获取周期T对应的关键数据,该关键数据包括周期T对应的起始时间、共识节点数N以及上述的历史共识量的第二临界比例。
2.获取周期(T-1)内联盟中各节点的业务参与量,并生成节点序列。
对各节点的业务参与量按从大到小的顺序对节点进行排序,形成节点序列。
3.提取节点序列中排名前N的节点。
4.判断该N个节点中是否存在历史共识量占比不小于P的节点,如果是,则进入5,否则进入6。
5.将历史共识量占比不小于P的节点替换为节点序列中排位在前的未被提取过的同等数量的节点。之后,跳回执行4。
6.确定该N个节点为周期T对应的共识节点,并连同周期T对应的起始时间一起广播全网。
7.共识节点将接收到的交易模拟执行结果排序、打包、广播。
8.普通节点接收共识节点广播的区块。
9.判断普通节点是否收到超过N/3+1条共识节点广播的消息,如果否,则进入10,继续等待状态后,返回8;如果是,则进入11。
11.普通节点更新本节点账本并广播账本更新消息。
12.共识节点统计区块链***的交易时延和吞吐量,计算周期(T+1)对应的共识节点数量并记录于账本中。
上面各种方法的步骤划分,只是为了描述清楚,实现时可以合并为一个步骤或者对某些步骤进行拆分,分解为多个步骤,只要包括相同的逻辑关系,都在本专利的保护范围内;对算法中或者流程中添加无关紧要的修改或者引入无关紧要的设计,但不改变其算法和流程的核心设计都在该专利的保护范围内。
本发明第八实施方式涉及一种电子设备,如图8所示,包括至少一个处理器802;以及,与至少一个处理器802通信连接的存储器;其中,存储器801存储有可被至少一个处理器802执行的指令,指令被至少一个处理器802执行,以使至少一个处理器802能够执行上述任一方法实施例。
其中,存储器801和处理器802采用总线方式连接,总线可以包括任意数量的互联的总线和桥,总线将一个或多个处理器802和存储器801的各种电路连接在一起。总线还可以将诸如***设备、稳压器和功率管理电路等之类的各种其他电路连接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口在总线和收发机之间提供接口。收发机可以是一个元件,也可以是多个元件,比如多个接收器和发送器,提供用于在传输介质上与各种其他装置通信的单元。经处理器802处理的数据通过天线在无线介质上进行传输,进一步,天线还接收数据并将数据传送给处理器802。
处理器802负责管理总线和通常的处理,还可以提供各种功能,包括定时,***接口,电压调节、电源管理以及其他控制功能。而存储器801可以被用于存储处理器802在执行操作时所使用的数据。
本发明第九实施方式涉及一种计算机可读存储介质,存储有计算机程序。计算机程序被处理器执行时实现上述任一方法实施例。
即,本领域技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域的普通技术人员可以理解,上述各实施方式是实现本发明的具体实施例,而在实际应用中,可以在形式上和细节上对其作各种改变,而不偏离本发明的精神和范围。
Claims (10)
1.一种区块链共识方法,应用于区块链中的共识节点,其特征在于,所述方法包括:
在周期T到来后,周期(T-1)对应的共识节点从区块链账本中获取所述周期T对应的关键数据,所述关键数据包括所述周期T对应的起始时间以及共识节点数N;获取所述周期(T-1)内联盟中各节点的业务参与量;根据所述各节点的业务参与量,从所述联盟中选择所述N个节点作为所述周期T对应的共识节点;其中,所述业务参与量越大的节点成为共识节点的概率越大;
所述周期T对应的共识节点执行所述周期T内交易信息的记账操作,并在记账完成后将生成的周期(T+1)对应的关键数据记录在所述区块链账本中。
2.根据权利要求1所述的方法,其特征在于,所述在周期T到来后,所述方法还包括:
所述周期(T-1)对应的共识节点获取截至所述周期(T-1)结束时,所述联盟中各节点的历史共识量;
所述根据所述各节点的业务参与量,从所述联盟中选择所述N个节点作为所述周期T对应的共识节点,具体包括:
根据所述各节点的业务参与量和所述各节点的历史共识量,从所述联盟中选择所述N个节点作为所述周期T对应的共识节点;其中,所述业务参与量越大,且所述历史共识量越小的节点成为共识节点的概率越大。
3.根据权利要求2所述的方法,其特征在于,所述周期T对应的关键数据中还包括:所述周期T对应的历史共识量的第一临界比例;
所述根据所述各节点的业务参与量和所述各节点的历史共识量,从所述联盟中选择所述N个节点作为所述周期T对应的共识节点,具体包括:
对所述联盟中的节点按所述业务参与量从大到小的顺序生成节点序列;
将所述节点序列中,所述历史共识量的占比小于所述第一临界比例,且排位前N的节点作为所述周期T对应的共识节点。
4.根据权利要求2所述的方法,其特征在于,所述周期T对应的关键数据中还包括:所述周期T对应的历史共识量的第二临界比例;
所述根据所述各节点的业务参与量和所述各节点的历史共识量,从所述联盟中选择所述N个节点作为所述周期T对应的共识节点,具体包括:
对所述联盟中的节点按所述业务参与量从大到小的顺序生成节点序列;
提取所述节点序列中排位在1~N的节点所对应的所述历史共识量,并计算该N个节点中,每个节点的历史共识量占比;判断所述该N个节点中是否存在历史共识量占比不小于所述第二临界比例的节点;
如果是,则将历史共识量占比不小于所述第二临界比例的节点替换为所述节点序列中排位在前的未被提取过的同等数量的节点;计算替换后的所述该N个节点中,每个节点的历史共识量占比,并针对替换后的所述该N个节点,再次执行判断所述该N个节点中是否存在历史共识量占比不小于所述第二临界比例的节点的过程;
如果否,则将所述该N个节点作为所述周期T对应的共识节点。
5.根据权利要求1至4中任一项所述的方法,其特征在于,所述获取所述周期(T-1)内联盟中各节点的业务参与量,具体包括:
获取所述周期(T-1)内联盟中各节点的交易提案数、接收消息数和投入使用的计算资源量中的至少一种业务数据的业务数据量占比;
根据各节点的所述业务数据量占比,计算各节点的所述业务参与量。
6.根据权利要求5所述的方法,其特征在于,当获取所述周期(T-1)内联盟中各节点的交易提案数、接收消息数和投入使用的计算资源量中的至少两种业务数据的业务数据量占比时,所述根据各节点的所述业务数据量占比,计算各节点的所述业务参与量,具体包括:
对各节点的至少两种所述业务数据的业务数据量占比进行加权计算,并将加权结果作为相应节点的所述业务参与量。
7.根据权利要求1所述的方法,其特征在于,生成周期(T+1)对应的共识节点数N,具体包括:
所述周期T对应的共识节点根据所述联盟中其他节点发送的账本更新消息统计区块链***的交易时延和吞吐量,并根据所述交易时延和吞吐量计算所述周期(T+1)对应的共识节点数N。
9.一种电子设备,其特征在于,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1至8中任一所述的区块链共识方法。
10.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至8中任一项所述的区块链共识方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110108757.2A CN112954009B (zh) | 2021-01-27 | 2021-01-27 | 区块链共识方法、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110108757.2A CN112954009B (zh) | 2021-01-27 | 2021-01-27 | 区块链共识方法、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112954009A true CN112954009A (zh) | 2021-06-11 |
CN112954009B CN112954009B (zh) | 2023-05-02 |
Family
ID=76237535
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110108757.2A Active CN112954009B (zh) | 2021-01-27 | 2021-01-27 | 区块链共识方法、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112954009B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113379419A (zh) * | 2021-06-25 | 2021-09-10 | 远光软件股份有限公司 | 交易信息的访问方法、***及计算机设备 |
CN114218612A (zh) * | 2021-12-14 | 2022-03-22 | 河北省科学院应用数学研究所 | 一种适用于联盟链高频交易场景的共识方法 |
CN115865642A (zh) * | 2023-03-03 | 2023-03-28 | 中南大学 | 一种招募可信节点完成计算任务的方法和装置 |
Citations (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106878000A (zh) * | 2017-03-06 | 2017-06-20 | 中钞***产业发展有限公司北京智能卡技术研究院 | 一种联盟链共识方法及*** |
CN106878071A (zh) * | 2017-01-25 | 2017-06-20 | 上海钜真金融信息服务有限公司 | 一种基于Raft算法的区块链共识机制 |
CN107040594A (zh) * | 2017-04-12 | 2017-08-11 | 山大地纬软件股份有限公司 | 基于pbft的许可区块链节点准入的方法及装置 |
WO2018111295A1 (en) * | 2016-12-16 | 2018-06-21 | Hitachi, Ltd. | Blockchain monitoring and management |
CN108596623A (zh) * | 2018-05-09 | 2018-09-28 | 合肥达朴汇联科技有限公司 | 一种区块链共识达成方法 |
WO2018214835A1 (zh) * | 2017-05-22 | 2018-11-29 | 阿里巴巴集团控股有限公司 | 一种区块链业务受理及业务共识方法及装置 |
CN109903155A (zh) * | 2019-01-14 | 2019-06-18 | 无锡一邦网络科技有限公司 | Iift区块链共识算法 |
CN110232446A (zh) * | 2019-06-12 | 2019-09-13 | 南京大学 | 一种基于基因遗传的共识节点选择方法和装置 |
US20190379538A1 (en) * | 2018-06-12 | 2019-12-12 | Electronics And Telecommunications Research Institute | Method and apparatus for selecting distributed consensus node based on proof of nonce |
CN110956542A (zh) * | 2019-11-07 | 2020-04-03 | 支付宝(杭州)信息技术有限公司 | 区块链***及其运行方法、装置及设备 |
US20200184473A1 (en) * | 2019-07-23 | 2020-06-11 | Alibaba Group Holding Limited | Managing transactions on blockchain networks |
CN111291060A (zh) * | 2020-01-14 | 2020-06-16 | 腾讯科技(深圳)有限公司 | 一种管理区块链节点的方法、装置及计算机可读介质 |
CN111353717A (zh) * | 2020-03-05 | 2020-06-30 | 中国工商银行股份有限公司 | 区块链共识节点推选***及方法 |
CN111444210A (zh) * | 2020-03-26 | 2020-07-24 | 腾讯科技(深圳)有限公司 | 区块链共识节点管理方法、装置、设备以及存储介质 |
CN111612455A (zh) * | 2020-04-21 | 2020-09-01 | 国网江苏省电力有限公司电力科学研究院 | 一种面向用电信息保护的拜占庭容错联盟链共识方法及其***、存储介质 |
CN111666343A (zh) * | 2020-06-12 | 2020-09-15 | 武汉斗鱼鱼乐网络科技有限公司 | 基于共识机制的数据上链方法、装置及可读存储介质 |
CN111861464A (zh) * | 2020-07-18 | 2020-10-30 | 北京天仪百康科贸有限公司 | 区块链的节点共识方法及*** |
CN111865595A (zh) * | 2019-04-29 | 2020-10-30 | 普天信息技术有限公司 | 一种区块链的共识方法及装置 |
-
2021
- 2021-01-27 CN CN202110108757.2A patent/CN112954009B/zh active Active
Patent Citations (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018111295A1 (en) * | 2016-12-16 | 2018-06-21 | Hitachi, Ltd. | Blockchain monitoring and management |
CN106878071A (zh) * | 2017-01-25 | 2017-06-20 | 上海钜真金融信息服务有限公司 | 一种基于Raft算法的区块链共识机制 |
CN106878000A (zh) * | 2017-03-06 | 2017-06-20 | 中钞***产业发展有限公司北京智能卡技术研究院 | 一种联盟链共识方法及*** |
CN107040594A (zh) * | 2017-04-12 | 2017-08-11 | 山大地纬软件股份有限公司 | 基于pbft的许可区块链节点准入的方法及装置 |
WO2018214835A1 (zh) * | 2017-05-22 | 2018-11-29 | 阿里巴巴集团控股有限公司 | 一种区块链业务受理及业务共识方法及装置 |
CN108596623A (zh) * | 2018-05-09 | 2018-09-28 | 合肥达朴汇联科技有限公司 | 一种区块链共识达成方法 |
US20190379538A1 (en) * | 2018-06-12 | 2019-12-12 | Electronics And Telecommunications Research Institute | Method and apparatus for selecting distributed consensus node based on proof of nonce |
CN109903155A (zh) * | 2019-01-14 | 2019-06-18 | 无锡一邦网络科技有限公司 | Iift区块链共识算法 |
CN111865595A (zh) * | 2019-04-29 | 2020-10-30 | 普天信息技术有限公司 | 一种区块链的共识方法及装置 |
CN110232446A (zh) * | 2019-06-12 | 2019-09-13 | 南京大学 | 一种基于基因遗传的共识节点选择方法和装置 |
US20200184473A1 (en) * | 2019-07-23 | 2020-06-11 | Alibaba Group Holding Limited | Managing transactions on blockchain networks |
CN110956542A (zh) * | 2019-11-07 | 2020-04-03 | 支付宝(杭州)信息技术有限公司 | 区块链***及其运行方法、装置及设备 |
CN111291060A (zh) * | 2020-01-14 | 2020-06-16 | 腾讯科技(深圳)有限公司 | 一种管理区块链节点的方法、装置及计算机可读介质 |
CN111353717A (zh) * | 2020-03-05 | 2020-06-30 | 中国工商银行股份有限公司 | 区块链共识节点推选***及方法 |
CN111444210A (zh) * | 2020-03-26 | 2020-07-24 | 腾讯科技(深圳)有限公司 | 区块链共识节点管理方法、装置、设备以及存储介质 |
CN111612455A (zh) * | 2020-04-21 | 2020-09-01 | 国网江苏省电力有限公司电力科学研究院 | 一种面向用电信息保护的拜占庭容错联盟链共识方法及其***、存储介质 |
CN111666343A (zh) * | 2020-06-12 | 2020-09-15 | 武汉斗鱼鱼乐网络科技有限公司 | 基于共识机制的数据上链方法、装置及可读存储介质 |
CN111861464A (zh) * | 2020-07-18 | 2020-10-30 | 北京天仪百康科贸有限公司 | 区块链的节点共识方法及*** |
Non-Patent Citations (2)
Title |
---|
DEEPA PAVITHRAN等: "An Optimal Consensus Node Selection Process for IoT Blockchain", 《2019 SIXTH HCT INFORMATION TECHNOLOGY TRENDS (ITT)》 * |
谭敏生等: "区块链共识机制综述", 《计算机工程》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113379419A (zh) * | 2021-06-25 | 2021-09-10 | 远光软件股份有限公司 | 交易信息的访问方法、***及计算机设备 |
CN114218612A (zh) * | 2021-12-14 | 2022-03-22 | 河北省科学院应用数学研究所 | 一种适用于联盟链高频交易场景的共识方法 |
CN114218612B (zh) * | 2021-12-14 | 2023-10-20 | 河北省科学院应用数学研究所 | 一种适用于联盟链高频交易场景的共识方法 |
CN115865642A (zh) * | 2023-03-03 | 2023-03-28 | 中南大学 | 一种招募可信节点完成计算任务的方法和装置 |
CN115865642B (zh) * | 2023-03-03 | 2023-05-09 | 中南大学 | 一种招募可信节点完成计算任务的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN112954009B (zh) | 2023-05-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112954009B (zh) | 区块链共识方法、设备及存储介质 | |
CN110300184B (zh) | 边缘节点分配方法、装置、调度服务器及存储介质 | |
US20110202657A1 (en) | Method for scheduling cloud-computing resource and system applying the same | |
CN101841556B (zh) | Cdn-p2p网络中放置资源副本的方法及*** | |
CN108540568B (zh) | 计算能力共享方法及智能设备 | |
CN112235140B (zh) | 网络切片管理方法、装置、网络设备和存储介质 | |
CN112512100A (zh) | 基于切片优先级的amf重定向方法和新增管理网元 | |
CN115510152A (zh) | 一种预言机节点筛选方法、装置、存储介质及电子装置 | |
CN111130790A (zh) | 基于区块链节点网络的共识出块方法 | |
CN109413202B (zh) | 区块链交易信息的排序***及方法 | |
CN116126488A (zh) | 一种服务器无感知计算自适应资源调度方法、***及计算机设备 | |
CN114938292B (zh) | 一种基于节点可信度的多层次优化pbft共识方法 | |
CN110930254A (zh) | 基于区块链的数据处理方法、装置、终端及介质 | |
CN110602227A (zh) | 一种智能合约管理的方法以及相关装置 | |
CN114428978A (zh) | 基于计算预言机的工业互联网区块链可信计算架构及方法 | |
CN116366669A (zh) | 一种适用于众包***的基于信誉值分权制衡的共识方法 | |
CN116015672A (zh) | 一种基于信誉模型的pbft共识机制 | |
CN113778675A (zh) | 一种基于面向区块链网络的计算任务分配***及方法 | |
CN114866790B (zh) | 直播流调度方法及装置 | |
CN115834054A (zh) | 一种多级密钥级数管理方法及装置 | |
CN115879889A (zh) | 基于区块链的业务处理方法、装置和计算机设备 | |
CN114189522B (zh) | 一种车联网中基于优先级的区块链共识方法及*** | |
CN112258184B (zh) | 冻结区块链网络的方法、装置、电子设备及可读存储介质 | |
CN114612037A (zh) | 一种仓库信息的管理方法和*** | |
CN111324444A (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 |