CN110704464A - 一种分叉问题的处理方法及装置 - Google Patents

一种分叉问题的处理方法及装置 Download PDF

Info

Publication number
CN110704464A
CN110704464A CN201910865414.3A CN201910865414A CN110704464A CN 110704464 A CN110704464 A CN 110704464A CN 201910865414 A CN201910865414 A CN 201910865414A CN 110704464 A CN110704464 A CN 110704464A
Authority
CN
China
Prior art keywords
chain
nodes
block
node
following
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
CN201910865414.3A
Other languages
English (en)
Other versions
CN110704464B (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.)
Guangzhou Ant Bit Block Chain Technology Co Ltd
Original Assignee
Guangzhou Ant Bit Block Chain 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 Guangzhou Ant Bit Block Chain Technology Co Ltd filed Critical Guangzhou Ant Bit Block Chain Technology Co Ltd
Priority to CN201910865414.3A priority Critical patent/CN110704464B/zh
Publication of CN110704464A publication Critical patent/CN110704464A/zh
Application granted granted Critical
Publication of CN110704464B publication Critical patent/CN110704464B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2365Ensuring data consistency and integrity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Economics (AREA)
  • Computer Security & Cryptography (AREA)
  • Development Economics (AREA)
  • Computing Systems (AREA)
  • Marketing (AREA)
  • Strategic Management (AREA)
  • Technology Law (AREA)
  • General Business, Economics & Management (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

本发明提供了一种分叉问题的处理方法及装置,该方法包括区块链和区块链上的若干个公正节点,区块链上固定设置有N个工作节点;当区块链存在分叉时,从n个公正节点中选择出m个节点(n>=m,其中m为奇数),让这m个节点自由选择跟随任意一个方向的链;当这m个节点都自由选择完毕时,分别统计两个分叉的方向上公正节点的个数,并选择两个方向上较多公正节点的链的方向为后续的全网链发展方向。本发明通过设置在固定检查点的区块链进行检测,能够及时识别区块链中的升级的节点,使得整个区块链的各个节点之间的信息始终保持一致,同时,通过验证的手段还能使得分叉的链条中选择最优的链条作为后续链的发展方向,提高区块链网的高效运行。

Description

一种分叉问题的处理方法及装置
技术领域
本发明涉及区块链技术领域,尤其涉及一种分叉问题的处理方法及装置。
背景技术
区块链中,导致区块链分叉的情形有:多个节点同时成功挖矿,其他节点在记账时,会首先记录自己看到的块,因而各节点记录的区块存在不一致性;由于区块链的整体性升级,有些节点在没来的及升级,出现了遵从不同机制产生的分叉;由于区块链分叉问题的存在,导致区块链中各节点记录的信息容易不一致。
如CN109379396A现有技术公开了一种区块链系统中防止出现硬分叉现象的方法在现有的区块链系统中,当区块链系统要进行功能扩展或者其他需求需要对组成的节点进行升级时,经常会出现部分节点不接受升级的情况发生,进而导致该部分不接受升级的节点仍然在旧有的区块链系统上进行区块的生产,而升级后的节点在新的区块链系统上进行区块的生产,使得区块链系统出现硬分叉,进而导致两个版本系统的同时存在致使用户被分流。导致区块链中各节点记录的信息容易不一致,引起多用户之间被分流,不利于区块链网的高效运行。
为了解决本领域普遍存在区块链中各节点记录的信息容易不一致、工作效率低、验证分叉手段缺乏、无法选择最优的后续链发展方向等等问题,作出了本发明。
发明内容
本发明的目的在于,针对目前区块链存在的分叉问题所存在的不足,提出了一种分叉问题的处理方法。
为了克服现有技术的不足,本发明采用如下技术方案:
一种分叉问题的处理方法,所述方法包括选择全网链发展方向和计算信用总分;
所述选择全网量法阵方向的步骤包括:在区块链上固定设置有n个公正节点,当所述区块链存在分叉时,从n个公正节点中选择出m个节点 (n>=m,其中m为奇数),让这m个节点自由选择跟随任意一个方向的链;
当这m个节点都自由选择完毕时,分别统计两个分叉的方向上公正节点的个数,并选择两个方向上较多公正节点的链的方向为后续的全网链发展方向,所述跟随方向包括全网链的发展方向和单个节点的跟随方向;
所述全网链的发展方向的决定方法包括:从n个公正节点中选择出m 个节点,m个节点中较多的节点选择的方向作为全网链发展方向;
单个节点的跟随方向选择方法:分别计算两个链的信用总分,单个节点的跟随方向选择信用总分较大的那个链方向。
可选的,所述计算信用总分的步骤包括:统计各个分叉链的打包每个块的节点的财力、算力、效率、在链上从事的交易和挖矿的笔数,根据所述分叉链的所述节点的财力、算力、效率、在链上从事的交易和挖矿的笔数计算出一个数值,选择数值较大的方向作为后续链的方向,抛弃另一个子链。
可选的,所述计算信用总分的步骤还包括计算方法,所述计算方法包括:统计分叉链的打包每个块的节点的财力、算力、效率、在链上从事的交易或者挖矿的笔数的计算公式,所述的计算公式包括:
Score=a*amount+b*computing power+c*Correct deal count
其中,amount为财力;computing power为算力;Correct deal count为历史正确处理交易数;Score为计算出的一个数值;a、b、c分别表示财力、算力以及历史正确处理交易数占据节点总分值的比例。
可选的,所述处理方法还包括:当区块链出现分叉时,让后续的多个链继续往后自由选择跟随链的方向,并从n个公正节点中选择出m个节点 (n>=m),各让这m/2个节点统计2个子链中之前每个区块中记录的打包该区块的节点的信用分值的总和,选分值总和大的子链方向为后续跟随的方向。
可选的,所述处理方法还包括:
从网络上获取区块,并验证该区块,以此更新节点的账本;
当一个节点通过p2p网络获得一个新区块时,都会执行验证程序,以识别这个区块是不是有效的区块。
可选的,
所述执行验证程序包括:
验证工作量证明,即验证区块头的哈希值小于当前目标值;
验证Merkle树的根哈希值是否由区块体中的交易得到的,即重构区块Merkle树得到的树根,并验证是否和区块头中的hashMerkleRoot值相等;
验证区块的大小,即看区块大小是否在设定范围之内;
验证是否只有一个基准币交易,即一个区块;
验证所有的交易,即遍历区块内所有的交易,检查是否为合法的交易。
可选的,当节点软件搜索检测点数据发现了某个区块高度是一个监测点时,那该节点在验证同一个区块时,就会在验证规则中加入的区块的哈希值必须等于监测点里指定的哈希值;
如果不相等,加入的区块就是一个废块,会被抛弃掉。检测点检测点哈希值检测点
如果不相等,那就是一个废块,会被抛弃掉。
可选的,所述监测点能用来部署协议分叉,所有节点都统一运行带有监测点的完整节点软件,检测所述监测点的区块是否被挖出。检测点检测点检测点
另外,本发明还提供一种分叉问题处理装置,包括:
选择模块,用于选择区块链上的各个节点;
验证模块,用于执行验证程序;
执行模块,用于运行节点软件。
还提供一种电子设备,包括处理器、存储器,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述机器可读指令被所述处理器执行时执行所述的分叉问题的处理方法。
本发明所取得的有益效果是:
1.通过设置在固定检查点的区块链进行检测,能够及时识别区块链中的升级的节点,使得整个区块链的各个节点之间的信息始终保持一致;
2.通过采用多种验证方式,使得验证整个区块链的节点是不是有效的,使得整个区块链的工作效率得以提高;
3.通过验证的手段还能使得分叉的链条中选择最优的链条作为后续链的发展方向从而提高整个区块链网的整体效率的高效。
附图说明
从以下结合附图的描述可以进一步理解本发明。图中的部件不一定按比例绘制,而是将重点放在示出实施例的原理上。在不同的视图中,相同的附图标记指定对应的部分。
图1为本发明的一种分叉问题的处理方法的流程图。
图2为本发明的一种分叉问题的处理方法的后续跟随方向的流程图。
图3为本发明的一种分叉问题的处理方法的验证方式的流程图。
图4为本发明的一种分叉问题的处理方法的验证方法流程图。
具体实施方式
为了使得本发明的目的.技术方案及优点更加清楚明白,以下结合其实施例,对本发明进行进一步详细说明;应当理解,此处所描述的具体实施例仅用于解释本发明,并不用于限定本发明。对于本领域技术人员而言,在查阅以下详细描述之后,本实施例的其它系统.方法和/或特征将变得显而易见。旨在所有此类附加的系统.方法.特征和优点都包括在本说明书内. 包括在本发明的范围内,并且受所附权利要求书的保护。在以下详细描述描述了所公开的实施例的另外的特征,并且这些特征根据以下将详细描述将是显而易见的。
本发明实施例的附图中相同或相似的标号对应相同或相似的部件;在本发明的描述中,需要理解的是,若有术语“上”.“下”.“左”.“右”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或组件必须具有特定的方位. 以特定的方位构造和操作,因此附图中描述位置关系的用语仅用于示例性说明,不能理解为对本专利的限制,对于本领域的普通技术人员而言,可以根据具体情况理解上述术语的具体含义。
实施例一:一种分叉问题的处理方法,包括区块链和区块链上的若干个公正节点,所述区块链上固定设置有N个工作节点;
当所述区块链存在分叉时,从n个公正节点中选择出m个节点(n>=m,其中m为奇数),让这m个节点自由选择跟随任意一个方向的链;
当这m个节点都自由选择完毕时,分别统计两个分叉的方向上公正节点的个数,并选择两个方向上较多公正节点的链的方向为后续的全网链发展方向。在经公正节点的选择,选择跟随链的方向,并统计分叉链的打包每个块的节点的财力、算力、效率、在链上从事的交易或者挖矿的笔数,根据这些计算出一个数值,选择数值较大的方向作为后续链的方向,抛弃另一个子链。所述跟随方向包括全网链的发展方向和单个节点的跟随方向,所述全网链的发展方向的决定方法包括:从n个公正节点中选择出m个节点,m个节点中较多的节点选择的方向作为全网链发展方向;单个节点的跟随方向选择方法:分别计算两个链的信用总分,单个节点的跟随方向选择信用总分较大的那个链方向。如图1中的步骤101-105处理方法还包括:当区块链出现分叉时,让后续的多个链继续往后自由选择跟随链的方向,并从n个公正节点中选择出m个节点(n>=m),各让这m/2个节点统计2 个子链中之前每个区块中记录的打包该区块的节点的信用分值的总和,选分值总和大的子链方向为后续跟随的方向。如图2中步骤201-203所示,在所述公正节点选择跟随链方向后,并统计分叉链的打包每个块的节点的财力、算力、效率、在链上从事的交易或者挖矿的笔数的计算公式,根据这些计算出一个数值(记为Score),选择数值较大的方向作为后续链的方向,抛弃另一个子链,所述的计算公式包括:
Score=a*amount+b*computing power+c*Correct deal count。其中,amount为财力;computing power为算力;Correct deal count为历史正确处理交易数;Score为计算出的一个数值;a、b、c分别表示财力、算力以及历史正确处理交易数占据节点总分值的比例。
如图3中的步骤304-303所示。所述处理方法还包括:从网络上获取区块,并验证该区块,以此更新节点的账本;当一个节点通过p2p网络获得一个新区块时,都会执行验证程序,以识别这个区块是不是有效的区块。
如图4中的步骤401-404所示,所述验证的标准包括:验证工作量证明,即验证区块头的哈希值小于当前目标值;验证Merkle树的根哈希值是否是由区块体中的交易得到的,即重构区块Merkle树得到的树根,并验证是否和区块头中的hashMerkleRoot值相等;验证区块大,即看区块大小是否在设定范围之内;验证是否只有一个Coinbase交易,即一个区块;验证所有的交易,即遍历区块内所有的交易,检查是否是合法的交易。当节点软件搜索检测点检测点数据发现了某个区块高度是一个检测点时,那这个节点在验证这一个区块时,就会在验证规则中加入这个区块的哈希值必须等于检测点里指定的哈希值;如果不相等,那就是一个废块,会被抛弃掉。所述检测点可以用来部署协议分叉,所有节点都统一运行带有检测点的完整节点软件,检测所述检测点的区块是否被挖出。
实施例二:一种分叉问题的处理方法,包括区块链和区块链上的若干个公正节点,所述区块链上固定设置有N个工作节点;当所述区块链存在分叉时,从n个公正节点中选择出m个节点(n>=m,其中m为奇数),让这m个节点自由选择跟随任意一个方向的链;当这m个节点都自由选择完毕时,分别统计两个分叉的方向上公正节点的个数,并选择两个方向上较多公正节点的链的方向为后续的全网链发展方向。具体的,在经公正节点的选择,选择跟随链的方向,并统计分叉链的打包每个块的节点的财力、算力、效率、在链上从事的交易或者挖矿的笔数,根据这些计算出一个数值,选择数值较大的方向作为后续链的方向,抛弃另一个子链。具体的,选择出最优的区块的链条作为全网链的发展方向,在选择的过程中,要经过所述验证方式进行验证的操作,使得分叉的区块链条能进行识别并挑选出最优的链条。
所述跟随方向包括全网链的发展方向和单个节点的跟随方向,所述全网链的发展方向的决定方法包括:从n个公正节点中选择出m个节点,m 个节点中较多的节点选择的方向作为全网链发展方向;单个节点的跟随方向选择方法:分别计算两个链的信用总分,单个节点的跟随方向选择信用总分较大的那个链方向。具体的,在选择全网链的发展方向和单个节点的跟随方向的过程中,N个所述公正节点进行选择,特别的,N个所述公正节点均来自官方的节点。并进行后续的处理工作,在处理的工程中,采用的本实施例提供的处理方法。处理方法还包括:当区块链出现分叉时,让后续的多个链继续往后自由选择跟随链的方向,并从n个公正节点中选择出m个节点(n>=m),各让这m/2个节点统计2个子链中之前每个区块中记录的打包该区块的节点的信用分值的总和,选分值总和大的子链方向为后续跟随的方向。具体的,选分值总和大的子链方向为后续跟随的方向。在处理的过程中需要注意节点的选取,具体的:m/2个节点的结果也是通过投票原则的2/3取得的。在所述公正节点选择跟随链方向后,并统计分叉链的打包每个块的节点的财力、算力、效率、在链上从事的交易或者挖矿的笔数的计算公式,根据这些计算出一个数值(记为Score),选择数值较大的方向作为后续链的方向,抛弃另一个子链,所述的计算公式包括: Score=a*amount+b*computingpower+c*Correct deal count。具体的,其中,a、 b、c分别表示财力、算力以及历史正确处理交易数占据节点总分值的比例;a、b、c分别表示财力、算力以及历史正确处理交易数占据节点总分值的比例。举一个例子对上述的计算公式进行解释,以加深对计算公式的理解。例如,子链A方向的总和为ScoreA:其中, Scorei表示打包子链A方向第i个块的分值。
子链B方向的总和为ScoreB:
Figure BDA0002201125130000082
其中,Scorej表示打包子链B方向第j个块的分值。
If ScoreA>ScoreB:
跟随子链A方向
If ScoreA<ScoreB:
跟随子链B方向
所述处理方法还包括:从网络上获取区块,并验证该区块,以此更新节点的账本;当一个节点通过p2p网络获得一个新区块时,都会执行验证程序,以识别这个区块是不是有效的区块。具体的,任何一个下载并安装运行的完整节点都会从网络中获取区块,并验证区块,以此更新节点的账本。当一个节点通过p2p网络获得一个新区块时,都会执行验证程序,以识别这个区块是不是有效的区块。所述验证的标准包括:验证工作量证明,即验证区块头的哈希值小于当前目标值;验证Merkle树的根哈希值是否是由区块体中的交易得到的,即重构区块Merkle树得到的树根,并验证是否和区块头中的hashMerkleRoot值相等;验证区块大,即看区块大小是否在设定范围之内;验证是否只有一个基准交易,即一个区块;验证所有的交易,即遍历区块内所有的交易,检查是否是合法的交易。当节点软件搜索检测点数据发现了某个区块高度是一个检测点时,那这个节点在验证这一个区块时,就会在验证规则中加入这个区块的哈希值必须等于检测点里指定的哈希值;如果不相等,那就是一个废块,会被抛弃掉。具体的,检测点就是指定一个区块高度的区块哈希必须等于某个哈希值。所述检测点可以用来部署协议分叉,所有节点都统一运行带有检测点的完整节点软件,检测所述检测点的区块是否被挖出。在这一过程中,需要增加检测点检查点验证规则,比特币节点在绝大多数情况下都是按上面的标准的验证区块程序进行验证区块的,但可以加入额外的规则,就是加入一个检测点。检测点是一个数据,这个数据就是一个区块高度值和对应的哈希值构成,所有检测点会被存储在一个叫检测点数据的数据块里。下面是网络上的历史检测点值。
实施例三:在实施例二的基础上,本实施例还提供一种验证方法,具体的,本实施例中,该区块链分叉链条的节点采用智能合约可基于预设的同态加密验证算法来进行合数验证。其中,同态加密是基于数学难题的计算复杂性理论的密码学技术。对经过同态加密的数据进行处理得到一个输出,将这一输出进行解密,其结果与用同一方法处理未加密的原始数据得到的输出结果是一样的。本实施例中,基于预设的同态加密验证算法可验证两个分叉链条之间的每个节点的财力,从而验证最优链条是否正常。例如,在一种实施方式中,该区块链节点对应的智能合约可以采用加法同态加密验证算法进行合数验证,假设R和S是域,称加密函数E:R→S为加法同态,如果存在有效算法⊕,使得E(x+y)=E(x)⊕E(y)或者x+y= D(E(x)⊕E(y))成立,该有效算法⊕即为加法同态加密验证算法。在这一过程中,最优所述链条还能运用区块链技术进行多方参与的交易事件例如转账交易、支付交易等事件时,在去中心化的区块链系统当中,由于没有绝对权威机构节点,因此对每笔交易都必须进行集体验证。本实施例中采用同态加密验证算法来进行合数验证,既能有效地验证运用区块链技术进行多方参与的交易是否正常,又能防止多方账户的余额泄露,有效地保证了交易信息的安全。
综上所述,本发明的一种分叉问题的处理方法,通过设置在固定检查点的区块链进行检测,能够及时识别区块链中的升级的节点,使得整个区块链的各个节点之间的信息始终保持一致;通过采用多种验证方式,使得验证整个区块链的节点是不是有效的,使得整个区块链的工作效率得以提高;通过验证的手段还能使得分叉的链条中选择最优的链条作为后续链的发展方向从而提高整个区块链网的整体效率的高效。虽然上面已经参考各种实施例描述了本发明,但是应当理解,在不脱离本发明的范围的情况下,可以进行许多改变和修改。也就是说上面讨论的方法,系统和设备是示例。各种配置可以适当地省略,替换或添加各种过程或组件。例如,在替代配置中,可以以与所描述的顺序不同的顺序执行方法,和/或可以添加,省略和/或组合各种部件。而且,关于某些配置描述的特征可以以各种其他配置组合,如可以以类似的方式组合配置的不同方面和元素。此外,随着技术发展其中的元素可以更新,即许多元素是示例,并不限制本公开或权利要求的范围。
在说明书中给出了具体细节以提供对包括实现的示例性配置的透彻理解。然而,可以在没有这些具体细节的情况下实践配置例如,已经示出了众所周知的电路,过程,算法,结构和技术而没有不必要的细节,以避免模糊配置。该描述仅提供示例配置,并且不限制权利要求的范围,适用性或配置。相反,前面对配置的描述将为本领域技术人员提供用于实现所描述的技术的使能描述。在不脱离本公开的精神或范围的情况下,可以对元件的功能和布置进行各种改变。
综上,其旨在上述详细描述被认为是例示性的而非限制性的,并且应当理解,以上这些实施例应理解为仅用于说明本发明而不用于限制本发明的保护范围。在阅读了本发明的记载的内容之后,技术人员可以对本发明作各种改动或修改,这些等效变化和修饰同样落入本发明权利要求所限定的范围。

Claims (10)

1.一种分叉问题的处理方法,其特征在于,所述方法包括选择全网链发展方向和计算信用总分;
所述选择全网链发展方向的步骤包括:在区块链上固定设置有n个公正节点,当所述区块链存在分叉时,从n个公正节点中选择出m个节点(n>=m,其中m为奇数),让这m个节点自由选择跟随任意一个方向的链;
当这m个节点都自由选择完毕时,分别统计两个分叉的方向上公正节点的个数,并选择两个方向上较多公正节点的链的方向为后续的全网链发展方向,所述跟随方向包括全网链的发展方向和单个节点的跟随方向;
所述全网链的发展方向的决定方法包括:从n个公正节点中选择出m个节点,m个节点中较多的节点选择的方向作为全网链发展方向;
单个节点的跟随方向选择方法:分别计算两个链的信用总分,单个节点的跟随方向选择信用总分较大的那个链方向。
2.根据权利要求1所述的一种分叉问题的处理方法,其特征在于,所述计算信用总分的步骤包括:统计各个分叉链的打包每个块的节点的财力、算力、效率、在链上从事的交易和挖矿的笔数,根据所述分叉链的所述节点的财力、算力、效率、在链上从事的交易和挖矿的笔数计算出一个数值,选择数值较大的方向作为后续链的方向,抛弃另一个子链。
3.根据权利要求2所述的一种分叉问题的处理方法,其特征在于,所述计算信用总分的步骤还包括计算方法,所述计算方法包括:统计分叉链的打包每个块的节点的财力、算力、效率、在链上从事的交易或者挖矿的笔数的计算公式,所述的计算公式包括:
Score=a*amount+b*computing power+c*Correct deal count
其中,amount为财力;computing power为算力;Correct deal count为历史正确处理交易数;Score为计算出的一个数值;a、b、c分别表示财力、算力以及历史正确处理交易数占据节点总分值的比例。
4.根据权利要求1所述的一种分叉问题的处理方法,其特征在于,所述处理方法还包括:当区块链出现分叉时,让后续的多个链继续往后自由选择跟随链的方向,并从n个公正节点中选择出m个节点(n>=m),各让这m/2个节点统计2个子链中之前每个区块中记录的打包该区块的节点的信用分值的总和,选分值总和大的子链方向为后续跟随的方向。
5.根据权利要求1所述的一种分叉问题的处理方法,其特征在于,所述处理方法还包括:
从网络上获取区块,并验证该区块,以此更新节点的账本;
当一个节点通过p2p网络获得一个新区块时,都执行验证程序,以识别所述新区块是不是有效的区块。
6.根据权利要求5所述的一种分叉问题的处理方法,其特征在于,所述执行验证程序包括:
验证工作量证明,即验证区块头的哈希值小于当前目标值;
验证Merkle树的根哈希值是否由区块体中的交易得到的,即重构区块Merkle树得到的树根,并验证是否和区块头中的hashMerkleRoot值相等;
验证区块的大小,即看区块大小是否在设定范围之内;
验证是否只有一个基准币交易,即一个区块;
验证所有的交易,即遍历区块内所有的交易,检查是否为合法的交易。
7.根据权利要求6所述的一种分叉问题的处理方法,其特征在于,当节点软件搜索检测点数据发现了某个区块高度是一个检测点监测点时,那该节点在验证同一个区块时,就会在验证规则中加入的区块的哈希值哈希值必须等于检测点里指定的哈希值;
如果不相等,加入的区块就是一个废块,会被抛弃掉。
8.根据权利要求7所述的一种分叉问题的处理方法,其特征在于,所述监测点检测点能用来部署协议分叉,所有节点都统一运行带有监测点检测点的完整节点软件,检测所述监测点检测点的区块是否被挖出。
9.一种分叉问题的处理装置,其特征在于,包括:
选择模块,用于选择区块链上的各个节点;
验证模块,用于执行验证程序;
执行模块,用于运行节点软件。
10.一种电子设备,其特征在于,包括处理器、存储器,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述机器可读指令被所述处理器执行时执行权利要求1-8任一项所述的分叉问题的处理方法。
CN201910865414.3A 2019-09-12 2019-09-12 一种分叉问题的处理方法及装置 Active CN110704464B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910865414.3A CN110704464B (zh) 2019-09-12 2019-09-12 一种分叉问题的处理方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910865414.3A CN110704464B (zh) 2019-09-12 2019-09-12 一种分叉问题的处理方法及装置

Publications (2)

Publication Number Publication Date
CN110704464A true CN110704464A (zh) 2020-01-17
CN110704464B CN110704464B (zh) 2022-07-08

Family

ID=69195320

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910865414.3A Active CN110704464B (zh) 2019-09-12 2019-09-12 一种分叉问题的处理方法及装置

Country Status (1)

Country Link
CN (1) CN110704464B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111324591A (zh) * 2020-01-20 2020-06-23 腾讯科技(深圳)有限公司 区块链分叉的检测方法及相关装置
CN111813852A (zh) * 2020-05-29 2020-10-23 上海申铁信息工程有限公司 一种区块链网络的分叉控制方法和装置
CN112114852A (zh) * 2020-09-18 2020-12-22 山大地纬软件股份有限公司 用于避免区块链分叉的区块链节点升级系统及方法
WO2021204181A1 (zh) * 2020-04-09 2021-10-14 堡垒科技有限公司 用于防止区块链分叉的方法和设备

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016015041A1 (en) * 2014-07-25 2016-01-28 Blockchain Technologies Corporation System and method for creating a multi-branched blockchain with configurable protocol rules
CN105827410A (zh) * 2016-03-11 2016-08-03 邓迪 构建可信节点/卫星节点的区块链传输方法和系统
CN106407481A (zh) * 2016-11-30 2017-02-15 福州微启迪物联科技有限公司 基于区块链架构的生态环境监管系统及其实现方法
CN106789908A (zh) * 2016-11-23 2017-05-31 江苏通付盾科技有限公司 区块链中区块共识建立方法及系统
CN108596623A (zh) * 2018-05-09 2018-09-28 合肥达朴汇联科技有限公司 一种区块链共识达成方法
CN108647963A (zh) * 2018-05-02 2018-10-12 百度在线网络技术(北京)有限公司 区块链主链的确定方法、装置、服务器和存储介质
WO2018214898A1 (zh) * 2017-05-25 2018-11-29 阿里巴巴集团控股有限公司 一种向区块链系统中写入业务数据的方法和装置
CN109726887A (zh) * 2018-10-12 2019-05-07 西安电子科技大学 基于区块链的移动众包数据数据采集与处理系统及方法
US20190182284A1 (en) * 2016-08-16 2019-06-13 Alcatel Lucent Blockchain-based security threat detection method and system
CN109981794A (zh) * 2019-04-09 2019-07-05 广州蚁比特区块链科技有限公司 基于区块链节点网络的处理方法、装置及电子设备
CN110084596A (zh) * 2019-04-01 2019-08-02 杜晓楠 一种处理区块链混合共识的方法和装置

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016015041A1 (en) * 2014-07-25 2016-01-28 Blockchain Technologies Corporation System and method for creating a multi-branched blockchain with configurable protocol rules
CN105827410A (zh) * 2016-03-11 2016-08-03 邓迪 构建可信节点/卫星节点的区块链传输方法和系统
US20190182284A1 (en) * 2016-08-16 2019-06-13 Alcatel Lucent Blockchain-based security threat detection method and system
CN106789908A (zh) * 2016-11-23 2017-05-31 江苏通付盾科技有限公司 区块链中区块共识建立方法及系统
CN106407481A (zh) * 2016-11-30 2017-02-15 福州微启迪物联科技有限公司 基于区块链架构的生态环境监管系统及其实现方法
WO2018214898A1 (zh) * 2017-05-25 2018-11-29 阿里巴巴集团控股有限公司 一种向区块链系统中写入业务数据的方法和装置
CN108647963A (zh) * 2018-05-02 2018-10-12 百度在线网络技术(北京)有限公司 区块链主链的确定方法、装置、服务器和存储介质
CN108596623A (zh) * 2018-05-09 2018-09-28 合肥达朴汇联科技有限公司 一种区块链共识达成方法
CN109726887A (zh) * 2018-10-12 2019-05-07 西安电子科技大学 基于区块链的移动众包数据数据采集与处理系统及方法
CN110084596A (zh) * 2019-04-01 2019-08-02 杜晓楠 一种处理区块链混合共识的方法和装置
CN109981794A (zh) * 2019-04-09 2019-07-05 广州蚁比特区块链科技有限公司 基于区块链节点网络的处理方法、装置及电子设备

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
REIKI KANDA 等: "Block Interval Adjustment Toward Fair Proof-of-Work Blockchains", 《2020 IEEE 36TH INTERNATIONAL CONFERENCE ON DATA ENGINEERING WORKSHOPS (ICDEW)》 *
李倩舒: "区块链技术助力在线教育发展的路径分析---兼论常州开放大学实践思路", 《厦门城市职业学院学报》 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111324591A (zh) * 2020-01-20 2020-06-23 腾讯科技(深圳)有限公司 区块链分叉的检测方法及相关装置
CN111324591B (zh) * 2020-01-20 2021-02-12 腾讯科技(深圳)有限公司 区块链分叉的检测方法及相关装置
WO2021204181A1 (zh) * 2020-04-09 2021-10-14 堡垒科技有限公司 用于防止区块链分叉的方法和设备
CN111813852A (zh) * 2020-05-29 2020-10-23 上海申铁信息工程有限公司 一种区块链网络的分叉控制方法和装置
CN111813852B (zh) * 2020-05-29 2023-12-01 上海申铁信息工程有限公司 一种区块链网络的分叉控制方法和装置
CN112114852A (zh) * 2020-09-18 2020-12-22 山大地纬软件股份有限公司 用于避免区块链分叉的区块链节点升级系统及方法

Also Published As

Publication number Publication date
CN110704464B (zh) 2022-07-08

Similar Documents

Publication Publication Date Title
CN110704464B (zh) 一种分叉问题的处理方法及装置
TWI782970B (zh) 基於未判定資料保證區塊鏈交易的安全之電腦實施方法、電子裝置及電腦可讀儲存媒體
CN110869967B (zh) 用于并行处理区块链交易的系统和方法
US20200401729A1 (en) Weighted source data secured on blockchains
CN110383279B (zh) 用于检测重放攻击的系统和方法
CN108334753B (zh) 盗版应用验证方法和分布式服务器节点
US20200128043A1 (en) System and method for detecting replay attack
WO2018187410A1 (en) Systems and methods for data backup and authentication using blockchain
US20200128044A1 (en) System and method for detecting replay attack
US9454666B2 (en) Method for protecting data
CN110276198B (zh) 一种基于概率预测的嵌入式可变粒度控制流验证方法及系统
CN109088902B (zh) 注册方法及装置、认证方法及装置
CN110084596B (zh) 一种处理区块链混合共识的方法和装置
CN105550875A (zh) 用于保护电子货币交易的系统和方法
CN114116313A (zh) 一种备份数据处理方法及装置
CN111984725A (zh) 分布式数据库中的测量数据集的验证
Wang et al. Exploring unfairness on proof of authority: Order manipulation attacks and remedies
CN105359455A (zh) 电子签名系统
CN111259370A (zh) 一种fpga程序安全验证方法、系统、终端及存储介质
CN111464286A (zh) 一种基于密钥门位置选择的逻辑加密防御方法
WO2023019841A1 (zh) 数据审计方法及装置
CN111935163B (zh) 保护隐私的数据联合处理方法及装置
CN111191273B (zh) 处理单据的方法、装置、电子设备及可读存储介质
CN107391970A (zh) Flash应用程序中的函数访问控制方法及装置
CN110910091A (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