CN109191120A - 一种防止区块链分叉的方法、设备及可读存储介质 - Google Patents
一种防止区块链分叉的方法、设备及可读存储介质 Download PDFInfo
- Publication number
- CN109191120A CN109191120A CN201810874258.2A CN201810874258A CN109191120A CN 109191120 A CN109191120 A CN 109191120A CN 201810874258 A CN201810874258 A CN 201810874258A CN 109191120 A CN109191120 A CN 109191120A
- Authority
- CN
- China
- Prior art keywords
- block
- bifurcated
- block chain
- preventing
- winner
- 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.)
- Pending
Links
Classifications
-
- 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
Landscapes
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Accounting & Taxation (AREA)
- Computer Security & Cryptography (AREA)
- Finance (AREA)
- Strategic Management (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种防止区块链分叉的方法、设备及可读存储介质,其包括:形成哈希时间戳,从而形成客观的时间线证明,确保前面的区块未产生前不会生成此后的区块;历史区块的创建者在多个后续区块创建者之间作出选择;历史区块的创建者检查多个分叉的区块,并返回一个与所有矿工使用的规则相同的区块。还公开了一种防止区块链分叉的系统,在决定谁能生成区块,即谁有记账权的时候就最大可能的保障消除分叉,并且对于没有遵守规则和没有参与若干个区块维护的历史区块创建者建立一定的惩罚机制,维护整个区块链的生态安全,并确保健康的链生长机制。
Description
技术领域
本发明涉及区块链技术领域,尤其涉及一种防止区块链分叉的方法、设备及可读存储介质。
背景技术
在区块链中,所有的节点向上回溯,都会到达源头,即区块链中的第一个区块,也就是“创世区块”。在“创世区块”诞生之后,比特币的用户通过不断“做题”,即通过计算寻找满足特定SHA-256哈希值对应的数值解,这个过程就是比特币中的“挖矿”。当任意一个用户优先计算出符合要求的数值解时,就会在全网范围内广播,而网络中的其他节点收到和信息会进行验证,若通过验证,其他节点就会放弃计算,并将新创建的区块加到前一个区块的后面。随着越来越多的人加入比特币的区块链系统,一个右一个哈希值的数值解被找到,在不断重复的过程中,新的区块不断地生成、验证,最终形成一个主链。同时,哈希算法的难度也会调整,以此控制用户们给出解出数据所用的时间。而在比特币的实际交际过程中,假设比特币中的用户A和B之间要完成一个交易,包含这笔交易的区块向区块链中的所有用户发布广播,全网用户通过验证哈希值来确认这笔交易是否有效,一旦被认证为有效,这个区块就会被加盖时间戳,然后被添加到区块链主链上。区块链的本质是一个相互验证的公开记账系统,这个系统所做的事情就是纪录所有帐户发生的所有交易,数据量的激增带来了分叉的问题。传统上防止分叉是通过陈述明确的规则来实现的,诚实的矿工必须遵守这些规则,从而使得“仁慈的多数击败恶意的少数”以及“细节取决于结算哈希数值竞赛的规则”,例如,如果挖掘一个区块的权利被分割成一系列彩票,当没有赢家存在的情况下,头奖会翻滚,返回最长的链是最长的。这种方法效率低,并且无法防止在公共链条中出现的由于分配、恶意或巧合出现的分叉,即多块记账中仍然是两人分作两块,由于引入多个块,这些块会由单块中继续,从而使得分叉持续存在多个块中并永久存在。因此,本发明的目的在于设计一种新的方法和系统,防止分叉,达成一致。
发明内容
鉴于上述技术问题,本公开内容提出了一种防止区块链分叉的方法、设备及可读存储介质,从而在决定记账权,即生成区块的人确定之时就能保障防止分叉,从而最大可能的消除分叉。
在本公开内容的一个方面,提供了一种防止区块链分叉的方法,其包括:形成哈希时间戳,从而形成客观的时间线证明,确保前面的区块未产生前不会生成此后的区块;历史区块的创建者在多个后续区块创建者之间作出选择;历史区块的创建者检查多个分叉的区块,并返回一个与所有矿工使用的规则相同的区块。
在一些实施方式中,所述返回一个与所有矿工使用的规则相同的区块包括区块链仅接受由赢家产生的区块,这种接受是合法的,并且仅当所述区块通过合法性测试后才可以被区块链接受,返回一个非赢家产生的区块或没有通过合法性测试的区块是非法的。
在一些实施方式中,通过较少的本地计算量以及较少的计算资源由任何人计算获得谁是赢家,并将该信息在区块链中进行公布。
在一些实施方式中,所述规则的细节与所述哈希运算相关,即释放随机数时与后面的区块相关。
在一些实施方式中,所述释放随机数时与后面的区块相关包括进行随机数与后面的区块进行哈希运算。
在一些实施方式中,由于一般分叉不会超过两个区块,对于超过两个区块的分叉,当前位置处不会再次发生分叉,而作为后面区块的祖先而永远存在了,当存在多个区块时,采用区块作为哈希时钟的时间单位。
在一些实施方式中,对于不执行检查多个分叉的区块的所述历史区块的创建者实施惩罚。
在一些实施方式中,如果赢家没有提供区块,区块链选择等待足够长的时间后直接跳过该区块。
在一些实施方式中,如果赢家提供了合法区块后,区块链需要提供所述合法区块被及时提供的公平的事实证明,并通过诚实用户进行公证,所述公平的事实在所述区块中可见,所述诚实用户公正生成块的时间,由新块的创建者决定前一个合法区块是否被及时提供,或者任何被支付押金的一方进行确认,对于不允许创建的区块或不允许的祖先,所述的一方需要公告原因。
在一些实施方式中,通过投票确定由赢家提供的区块是及时的,将投票权赋予与实施哈希时钟相同的节点群。
在一些实施方式中,对投票设置数值阈值,超过一定数值阈值的投票结果有效,所述数值阈值根据用户对于投票数量的自定义,确定为超过投票总数50%或超过2/3或超过3/4为有效。
在一些实施方式中,对于需要预先确定所有区块的赢家后再创建区块的情况下,下一区块的赢家确定之前就创建出当前区块并不是必要的,只要不允许前一个较早的区块还没有出现的时候,逻辑上靠后的区块已经固定下来即可。
一种防止分叉的设备,其包括处理器,其中所述处理器可以用于:提供了一种防止区块链分叉的方法,其包括:形成哈希时间戳,从而形成客观的时间线证明,确保前面的区块未产生前不会生成此后的区块;历史区块的创建者在多个后续区块创建者之间作出选择;历史区块的创建者检查多个分叉的区块,并返回一个与所有矿工使用的规则相同的区块。
在一些实施方式中,所述返回一个与所有矿工使用的规则相同的区块包括区块链仅接受由赢家产生的区块,这种接受是合法的,并且仅当所述区块通过合法性测试后才可以被区块链接受,返回一个非赢家产生的区块或没有通过合法性测试的区块是非法的。
在一些实施方式中,通过较少的本地计算量以及较少的计算资源由任何人计算获得谁是赢家,并将该信息在区块链中进行公布。
在一些实施方式中,所述规则的细节与所述哈希运算相关,即释放随机数时与后面的区块相关。
在一些实施方式中,所述释放随机数时与后面的区块相关包括进行随机数与后面的区块进行哈希运算。
在一些实施方式中,由于一般分叉不会超过两个区块,对于超过两个区块的分叉,当前位置处不会再次发生分叉,而作为后面区块的祖先而永远存在了,当存在多个区块时,采用区块作为哈希时钟的时间单位。
在一些实施方式中,对于不执行检查多个分叉的区块的所述历史区块的创建者实施惩罚。
在一些实施方式中,如果赢家没有提供区块,区块链选择等待足够长的时间后直接跳过该区块。
在一些实施方式中,如果赢家提供了合法区块后,区块链需要提供所述合法区块被及时提供的公平的事实证明,并通过诚实用户进行公证,所述公平的事实在所述区块中可见,所述诚实用户公正生成块的时间,由新块的创建者决定前一个合法区块是否被及时提供,或者任何被支付押金的一方进行确认,对于不允许创建的区块或不允许的祖先,所述的一方需要公告原因。
在一些实施方式中,通过投票确定由赢家提供的区块是及时的,将投票权赋予与实施哈希时钟相同的节点群。
在一些实施方式中,对投票设置数值阈值,超过一定数值阈值的投票结果有效,所述数值阈值根据用户对于投票数量的自定义,确定为超过投票总数50%或超过2/3或超过3/4为有效。
在一些实施方式中,对于需要预先确定所有区块的赢家后再创建区块的情况下,下一区块的赢家确定之前就创建出当前区块并不是必要的,只要不允许前一个较早的区块还没有出现的时候,逻辑上靠后的区块已经固定下来即可。
在本公开内容的再一方面,还提供了一种机器可读存储介质,其上存储有计算机程序,其中所述计算机程序在由处理器执行时实现如上文所述的防止区块链分叉的方法。
与现有技术相比,本公开内容的有益效果为:
在决定谁能生成区块,即谁有记账权的时候就最大可能的保障消除分叉,并且对于没有遵守规则和没有参与若干个区块维护的历史区块创建者建立一定的惩罚机制,维护整个区块链的生态安全,并确保健康的链生长机制。
附图说明
在所附权利要求书中具体阐述了本发明的新颖特征。通过参考对在其中利用到本发明原理的说明性实施方式加以阐述的以下详细描述和附图,将会对本发明的特征和优点获得更好的理解。附图仅用于示出实施方式的目的,而并不应当认为是对本发明的限制。而且在整个附图中,用相同的附图标记表示相同的元素,在附图中:
图1示出了依据本公开内容示例性实施方式的防止区块链分叉的方法流程图;以及
图2示出了依据本公开内容示例性实施方式的防止区块链分叉的设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开内容的示例性实施方式。虽然附图中显示了本公开内容的示例性实施方式,然而应当理解,可以以各种形式实现本公开内容而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了能够更透彻地理解本公开内容,并且能够将本公开内容的范围完整地传达给本领域技术人员。在以下详细描述中没有任何内容旨在表明任何特定组件、特征或步骤对于本发明是必不可少的。本领域技术人员将会理解,在不脱离本公开内容的范围内各种特征或步骤可以彼此替代或结合。
图1示出了依据本公开内容示例性实施方式的防止区块链分叉的方法流程图。如图1所示,一种防止分叉的方法,包括:
步骤S101,形成哈希时间戳,从而形成客观的时间线证明,确保前面的区块未产生前不会生成此后的区块;
步骤S102,历史区块的创建者在多个后续区块创建者之间作出选择,包括:一个随机数的释放依赖后续区块的情况下,仅由每个级别触发一个区块,并且将其释放的方式返回一个选项,该选项作为矿工使用的规则,随机数为安全随机数,受到与哈希时间戳相同的时序约束;
步骤103,历史区块的创建者检查多个分叉的区块,并返回一个与所有矿工使用的规则相同的区块。
在该实施方式中,返回一个与所有矿工使用的规则相同的区块包括区块链仅接受由赢家产生的区块,这种接受是合法的,并且仅当所述区块通过合法性测试后才可以被区块链接受,返回一个非赢家产生的区块或没有通过合法性测试的区块是非法的。
该方法比较实际能够实施在于一个事实:通过较少的本地计算量以及较少的计算资源由任何人计算获得谁是赢家,并将该信息在区块链中进行公布,我们将挖矿的令牌放在区块链上,任何人都可以在获知当前块随机数的情况下将所需要的信息计算出来,当然只有在当前块的时候才能获知随机数,查询与身份绑定的令牌,从而获知所需要的赢家信息。因此,我们可以重复该计算,并且从根本上产生关于赢家和非赢家的公知的信息。我们强制执行仅接受每个阶段赢家生成的区块,并通过一定的合法性测试后作为合法区块纳入区块链中,这是通过写入区块链的机制进行保证的。
在该实施方式中,规则包括:诚实用户根据规则当遭遇分叉问题的时候必然会由于累积奖金最多而选择支持其中最长链;所述规则的细节与所述哈希运算相关,即释放随机数时与后面的区块相关。
在该实施方式中,释放随机数时与后面的区块相关包括进行随机数与后面的区块进行哈希运算。
在该实施方式中,哈希时钟作为另一个潜在的向量用于记录时间,历史区块的多个创建者在后继者中进行选择,其中释放的随机数与后面的块相关,当后面的区块出现分叉的时候这尤为重要。由于一般分叉不会超过两个区块,对于超过两个区块的分叉,当前位置处不会再次发生分叉,而作为后面区块的祖先而永远存在了,当存在多个区块时,采用区块作为哈希时钟的时间单位。
在该实施方式中,对于不执行检查多个分叉的区块的历史区块的创建者实施惩罚,包括可以扣除押金的方式,但不限于此。
在该实施方式中,如果赢家没有提供区块,区块链选择等待足够长的时间后直接跳过该区块。当然,这种情况通常不太会发生,赢家在获得记账权的情况下不太会轻易放弃奖金,然而,本实施例的方法是普适意义上的方法规则,会考虑各种情况下区块链都有相应的机制进行保证,例如,当前块为n,那么赢家没有提供当前区块n的情况下,区块链直接跳过该块,那么区块n+1会紧随区块n-1之后。
在该实施方式中,如果赢家提供了合法区块后,区块链需要一定的操作决定是否将赢家提供的合法区块包含在区块链之内,与前面提到的问题所选择的方法是相关的。当然这个问题的提出一方面是由于某些区块错误的选择了其祖先导致递归性的无效,或者是由于没有及时的提供区块,本实施防止分叉方法主要针对的是提供区块不及时地问题。区块链需要提供所述合法区块被及时提供的公平的事实证明,并通过诚实用户进行公证,即所有的诚实用户对此都认同,所述公平的事实在所述区块中可见,所述诚实用户公正生成块的时间,由新块的创建者决定前一个合法区块是否被及时提供,或者任何被支付押金的一方进行确认,对于不允许创建的区块或不允许的祖先,所述的一方需要公告原因。提供区块之后的原因被公告从而使得坏的节点返回坏的区块时更为明显。
分布式环境中,对于时间的绝对客观和公平我们是不能完全保证地,但是需要一个客观的方式决定对于时间公正性问题的答案。在该实施方式中,通过投票确定由赢家提供的区块是及时的,将投票权赋予与实施哈希时钟相同的节点群。例如,生成两个块的时间间隔为D,那么通常在D/3的时间处进行通讯,此时下一个区块已经出现,此时节点群内各个节点进行投票决定是否将该块作为他们投票的一部分,通过释放0或1分别表示不作为投票的一部分或者作为投票的一部分,此时为了更为客观和公正,对投票设置数值阈值,超过一定数值阈值的投票结果有效,所述数值阈值根据用户对于投票数量的自定义,确定为超过投票总数50%或超过2/3或超过3/4为有效。
在该实施方式中,对于需要预先确定所有区块的赢家后再创建区块的情况下,下一区块的赢家确定之前就创建出当前区块并不是必要的,只要不允许前一个较早的区块还没有出现的时候,逻辑上靠后的区块已经固定下来即可。
图2示出了依据本公开内容示例性实施方式的防止区块链分叉的设备结构示意图。如图2所示,其包括处理器201,其中处理器201可以用于:步骤S101,形成哈希时间戳,从而形成客观的时间线证明,确保前面的区块未产生前不会生成此后的区块;
步骤S102,历史区块的创建者在多个后续区块创建者之间作出选择,包括:一个随机数的释放依赖后续区块的情况下,仅由每个级别触发一个区块,并且将其释放的方式返回一个选项,该选项作为矿工使用的规则,随机数为安全随机数,受到与哈希时间戳相同的时序约束;
步骤103,历史区块的创建者检查多个分叉的区块,并返回一个与所有矿工使用的规则相同的区块。
在该实施方式中,返回一个与所有矿工使用的规则相同的区块包括区块链仅接受由赢家产生的区块,这种接受是合法的,并且仅当所述区块通过合法性测试后才可以被区块链接受,返回一个非赢家产生的区块或没有通过合法性测试的区块是非法的。
该方法比较实际能够实施在于一个事实:通过较少的本地计算量以及较少的计算资源由任何人计算获得谁是赢家,并将该信息在区块链中进行公布,我们将挖矿的令牌放在区块链上,任何人都可以在获知当前块随机数的情况下将所需要的信息计算出来,当然只有在当前块的时候才能获知随机数,查询与身份绑定的令牌,从而获知所需要的赢家信息。因此,我们可以重复该计算,并且从根本上产生关于赢家和非赢家的公知的信息。我们强制执行仅接受每个阶段赢家生成的区块,并通过一定的合法性测试后作为合法区块纳入区块链中,这是通过写入区块链的机制进行保证的。
在该实施方式中,规则包括:诚实用户根据规则当遭遇分叉问题的时候必然会由于累积奖金最多而选择支持其中最长链;所述规则的细节与所述哈希运算相关,即释放随机数时与后面的区块相关。
在该实施方式中,释放随机数时与后面的区块相关包括进行随机数与后面的区块进行哈希运算。
在该实施方式中,哈希时钟作为另一个潜在的向量用于记录时间,历史区块的多个创建者在后继者中进行选择,其中释放的随机数与后面的块相关,当后面的区块出现分叉的时候这尤为重要。由于一般分叉不会超过两个区块,对于超过两个区块的分叉,当前位置处不会再次发生分叉,而作为后面区块的祖先而永远存在了,当存在多个区块时,采用区块作为哈希时钟的时间单位。
在该实施方式中,对于不执行检查多个分叉的区块的历史区块的创建者实施惩罚,包括可以扣除押金的方式,但不限于此。
在该实施方式中,如果赢家没有提供区块,区块链选择等待足够长的时间后直接跳过该区块。当然,这种情况通常不太会发生,赢家在获得记账权的情况下不太会轻易放弃奖金,然而,本实施例的方法是普适意义上的方法规则,会考虑各种情况下区块链都有相应的机制进行保证,例如,当前块为n,那么赢家没有提供当前区块n的情况下,区块链直接跳过该块,那么区块n+1会紧随区块n-1之后。
在该实施方式中,如果赢家提供了合法区块后,区块链需要一定的操作决定是否将赢家提供的合法区块包含在区块链之内,与前面提到的问题所选择的方法是相关的。当然这个问题的提出一方面是由于某些区块错误的选择了其祖先导致递归性的无效,或者是由于没有及时的提供区块,本实施防止分叉方法主要针对的是提供区块不及时地问题。区块链需要提供所述合法区块被及时提供的公平的事实证明,并通过诚实用户进行公证,即所有的诚实用户对此都认同,所述公平的事实在所述区块中可见,所述诚实用户公正生成块的时间,由新块的创建者决定前一个合法区块是否被及时提供,或者任何被支付押金的一方进行确认,对于不允许创建的区块或不允许的祖先,所述的一方需要公告原因。提供区块之后的原因被公告从而使得坏的节点返回坏的区块时更为明显。
分布式环境中,对于时间的绝对客观和公平我们是不能完全保证地,但是需要一个客观的方式决定对于时间公正性问题的答案。在该实施方式中,通过投票确定由赢家提供的区块是及时的,将投票权赋予与实施哈希时钟相同的节点群。例如,生成两个块的时间间隔为D,那么通常在D/3的时间处进行通讯,此时下一个区块已经出现,此时节点群内各个节点进行投票决定是否将该块作为他们投票的一部分,通过释放0或1分别表示不作为投票的一部分或者作为投票的一部分,此时为了更为客观和公正,对投票设置数值阈值,超过一定数值阈值的投票结果有效,所述数值阈值根据用户对于投票数量的自定义,确定为超过投票总数50%或超过2/3或超过3/4为有效。
在该实施方式中,对于需要预先确定所有区块的赢家后再创建区块的情况下,下一区块的赢家确定之前就创建出当前区块并不是必要的,只要不允许前一个较早的区块还没有出现的时候,逻辑上靠后的区块已经固定下来即可。
在本公开内容的再一方面,还提供了一种机器可读存储介质,其上存储有计算机程序,其中所述计算机程序在由处理器执行时实现如上文所述的防止分叉的方法。对于防止分叉的方法的技术方案,在上文已经进行了详细描述,在此不再赘述。在一些实施方式中,机器可读存储介质是数字处理设备的有形组件。在另一些实施方式中,机器可读存储介质可选地是可从数字处理设备移除的。在一些实施方式中,举非限制性示例而言,机器可读存储介质可以包括U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、闪速存储器、可编程只读存储器(PROM)、可擦除可编程只读存储器(EPROM)、固态存储器、磁碟、光盘、云计算系统或服务等。
应当理解,本公开内容的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本发明的范围在此方面不受限制。
在本文所提供的说明书中,说明了大量具体细节。然而,应当理解,本公开内容的实施方式可以在没有这些具体细节的情况下实践。在一些实施方式中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
虽然本文已经示出和描述了本发明的示例性实施方式,但对于本领域技术人员显而易见的是,这样的实施方式只是以示例的方式提供的。本领域技术人员现将会在不偏离本发明的情况下想到许多更改、改变和替代。应当理解,在实践本发明的过程中可以采用对本文所描述的本发明实施方式的各种替代方案。以下权利要求旨在限定本发明的范围,并因此覆盖这些权利要求范围内的方法和结构及其等同项。
Claims (25)
1.一种防止区块链分叉的方法,其特征在于包括:形成哈希时间戳,从而形成客观的时间线证明,确保前面的区块未产生前不会生成此后的区块;历史区块的创建者在多个后续区块创建者之间作出选择;历史区块的创建者检查多个分叉的区块,并返回一个与所有矿工使用的规则相同的区块。
2.根据权利要求1所述的一种防止区块链分叉的方法,其特征在于:所述返回一个与所有矿工使用的规则相同的区块包括区块链仅接受由赢家产生的区块,这种接受是合法的,并且仅当所述区块通过合法性测试后才可以被区块链接受,返回一个非赢家产生的区块或没有通过合法性测试的区块是非法的。
3.根据权利要求1所述的一种防止区块链分叉的方法,其特征在于:通过较少的本地计算量以及较少的计算资源由任何人计算获得谁是赢家,并将该信息在区块链中进行公布。
4.根据权利要求2所述的一种防止区块链分叉的方法,其特征在于:所述规则的细节与所述哈希运算相关,即释放随机数时与后面的区块相关。
5.根据权利要求4所述的一种防止区块链分叉的方法,其特征在于:所述释放随机数时与后面的区块相关包括进行随机数与后面的区块进行哈希运算。
6.根据权利要求1所述的一种防止区块链分叉的方法,其特征在于:由于一般分叉不会超过两个区块,对于超过两个区块的分叉,当前位置处不会再次发生分叉,而作为后面区块的祖先而永远存在了,当存在多个区块时,采用区块作为哈希时钟的时间单位。
7.根据权利要求1所述的一种防止区块链分叉的方法,其特征在于:对于不执行检查多个分叉的区块的所述历史区块的创建者实施惩罚。
8.根据权利要求1-7任一所述的一种防止区块链分叉的方法,其特征在于:如果赢家没有提供区块,区块链选择等待足够长的时间后直接跳过该区块。
9.根据权利要求1-7任一所述的一种防止区块链分叉的方法,其特征在于:如果赢家提供了合法区块后,区块链需要提供所述合法区块被及时提供的公平的事实证明,并通过诚实用户进行公证,所述公平的事实在所述区块中可见,所述诚实用户公正生成块的时间,由新块的创建者决定前一个合法区块是否被及时提供,或者任何被支付押金的一方进行确认,对于不允许创建的区块或不允许的祖先,所述的一方需要公告原因。
10.根据权利要求9所述的一种防止区块链分叉的方法,其特征在于:通过投票确定由赢家提供的区块是及时的,将投票权赋予与实施哈希时钟相同的节点群。
11.根据权利要求10所述的一种防止区块链分叉的方法,其特征在于:对投票设置数值阈值,超过一定数值阈值的投票结果有效,所述数值阈值根据用户对于投票数量的自定义,确定为超过投票总数50%或超过2/3或超过3/4为有效。
12.根据权利要求1-11任一所述的一种防止区块链分叉的方法,其特征在于:对于需要预先确定所有区块的赢家后再创建区块的情况下,下一区块的赢家确定之前就创建出当前区块并不是必要的,只要不允许前一个较早的区块还没有出现的时候,逻辑上靠后的区块已经固定下来即可。
13.一种防止分叉的设备,其特征在于包括处理器,其中所述处理器可以用于:提供了一种防止区块链分叉的方法,其包括:形成哈希时间戳,从而形成客观的时间线证明,确保前面的区块未产生前不会生成此后的区块;历史区块的创建者在多个后续区块创建者之间作出选择;历史区块的创建者检查多个分叉的区块,并返回一个与所有矿工使用的规则相同的区块。
14.根据权利要求13所述的一种防止区块链分叉的设备,其特征在于:所述返回一个与所有矿工使用的规则相同的区块包括区块链仅接受由赢家产生的区块,这种接受是合法的,并且仅当所述区块通过合法性测试后才可以被区块链接受,返回一个非赢家产生的区块或没有通过合法性测试的区块是非法的。
15.根据权利要求13所述的一种防止区块链分叉的设备,其特征在于:通过较少的本地计算量以及较少的计算资源由任何人计算获得谁是赢家,并将该信息在区块链中进行公布。
16.根据权利要求13所述的一种防止区块链分叉的设备,其特征在于:所述规则的细节与所述哈希运算相关,即释放随机数时与后面的区块相关。
17.根据权利要求16所述的一种防止区块链分叉的设备,其特征在于:所述释放随机数时与后面的区块相关包括进行随机数与后面的区块进行哈希运算。
18.根据权利要求13所述的一种防止区块链分叉的设备,其特征在于:由于一般分叉不会超过两个区块,对于超过两个区块的分叉,当前位置处不会再次发生分叉,而作为后面区块的祖先而永远存在了,当存在多个区块时,采用区块作为哈希时钟的时间单位。
19.根据权利要求13所述的一种防止区块链分叉的设备,其特征在于:对于不执行检查多个分叉的区块的所述历史区块的创建者实施惩罚。
20.根据权利要求13-19任一所述的一种防止区块链分叉的设备,其特征在于:如果赢家没有提供区块,区块链选择等待足够长的时间后直接跳过该区块。
21.根据权利要求13-19任一所述的一种防止区块链分叉的设备,其特征在于:如果赢家提供了合法区块后,区块链需要提供所述合法区块被及时提供的公平的事实证明,并通过诚实用户进行公证,所述公平的事实在所述区块中可见,所述诚实用户公正生成块的时间,由新块的创建者决定前一个合法区块是否被及时提供,或者任何被支付押金的一方进行确认,对于不允许创建的区块或不允许的祖先,所述的一方需要公告原因。
22.根据权利要求21所述的一种防止区块链分叉的设备,其特征在于:通过投票确定由赢家提供的区块是及时的,将投票权赋予与实施哈希时钟相同的节点群。
23.根据权利要求22所述的一种防止区块链分叉的设备,其特征在于:对投票设置数值阈值,超过一定数值阈值的投票结果有效,所述数值阈值根据用户对于投票数量的自定义,确定为超过投票总数50%或超过2/3或超过3/4为有效。
24.根据权利要求13-23任一所述的一种防止区块链分叉的设备,其特征在于:对于需要预先确定所有区块的赢家后再创建区块的情况下,下一区块的赢家确定之前就创建出当前区块并不是必要的,只要不允许前一个较早的区块还没有出现的时候,逻辑上靠后的区块已经固定下来即可。
25.一种机器可读存储介质,其上存储有计算机程序,其中所述计算机程序在由处理器执行时实现如权利要求1-12任一所述的防止区块链分叉的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810874258.2A CN109191120A (zh) | 2018-08-03 | 2018-08-03 | 一种防止区块链分叉的方法、设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810874258.2A CN109191120A (zh) | 2018-08-03 | 2018-08-03 | 一种防止区块链分叉的方法、设备及可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109191120A true CN109191120A (zh) | 2019-01-11 |
Family
ID=64919960
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810874258.2A Pending CN109191120A (zh) | 2018-08-03 | 2018-08-03 | 一种防止区块链分叉的方法、设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109191120A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111445247A (zh) * | 2020-04-09 | 2020-07-24 | 堡垒科技有限公司 | 用于防止区块链分叉的方法和设备 |
-
2018
- 2018-08-03 CN CN201810874258.2A patent/CN109191120A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111445247A (zh) * | 2020-04-09 | 2020-07-24 | 堡垒科技有限公司 | 用于防止区块链分叉的方法和设备 |
CN111445247B (zh) * | 2020-04-09 | 2021-05-28 | 堡垒科技有限公司 | 用于防止区块链分叉的方法和设备 |
WO2021204181A1 (zh) * | 2020-04-09 | 2021-10-14 | 堡垒科技有限公司 | 用于防止区块链分叉的方法和设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102240939B1 (ko) | 트랜잭션 증명 방식의 합의 알고리즘이 적용된 블록체인 시스템 및 그 방법 | |
CN109039648B (zh) | 一种区块链的创建方法、设备及可读存储介质 | |
CN108513669B (zh) | 基于区块链的众筹信息处理方法、装置、存储介质及电子设备 | |
CN106920098B (zh) | 基于区块链和数字货币的数字票据交易监管系统及方法 | |
Miller et al. | Nonoutsourceable scratch-off puzzles to discourage bitcoin mining coalitions | |
CN109951474B (zh) | 一种实现区块链共识出块的方法 | |
US20190108232A1 (en) | Systems and Methods for Reputation Verification | |
CN106875254A (zh) | 一种基于区块链技术的Android恶意应用程序控制方法 | |
CN107124403A (zh) | 区块链中共识区块的生成方法与计算设备 | |
CN106251144A (zh) | 电子货币管理方法及电子货币节点装置 | |
CN110298641B (zh) | 区块链的规则更新方法、装置、区块链节点及网络 | |
CN110288348B (zh) | 基于传播活跃度和资产证明的区块链共识方法及系统 | |
CN109034802A (zh) | 用于区块链的权益证明创建方法、设备及可读存储介质 | |
CN108665354A (zh) | 一种艺术品共识鉴定方法及平台 | |
Gjermundrød et al. | Going beyond the coinbase transaction fee: Alternative reward schemes for miners in blockchain systems | |
CN109598365A (zh) | 事件预测方法及装置、电子设备 | |
Chaumont et al. | DPoPS: Delegated Proof-of-Private-Stake, a DPoS implementation under X-Cash, a Monero based hybrid-privacy coin | |
CN109191120A (zh) | 一种防止区块链分叉的方法、设备及可读存储介质 | |
CN110706111B (zh) | 可疑交易账户的识别方法、装置、存储介质和服务器 | |
Guégan et al. | A probative value for authentication use case blockchain | |
CN110060159A (zh) | 基于超级节点的数据处理方法及装置 | |
Swanson | Watermarked tokens and pseudonymity on public blockchains | |
Curtice | The geographical challenge: how winning elections has become much more difficult for Labour | |
Halcoussis et al. | All in: An empirical analysis of legislative voting on internet gambling restrictions in the United States | |
Iivari | The process of mediation in Finland: A special reference to the question “How to get Cases for Mediation?” |
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 |