一种区块链的新区块生成方法、设备及可读存储介质与流程

文档序号:16671429发布日期:2019-01-18 23:36阅读:284来源:国知局
一种区块链的新区块生成方法、设备及可读存储介质与流程

本发明涉及区块链技术领域,尤其涉及一种区块链的新区块生成方法、设备及可读存储介质。



背景技术:

区块链是一种数据结构,其中创建了一系列文件或块,并且每个都包含其前一个的加密散列(即哈希)。区块链将用于分布式系统,而为了保证在交易用户交易记录所传播网络的可访问性,将存在很多链的副本。这个网络上的任何一方都不会被所有人认为是完全可信的,从某种意义上说,他将始终遵循一定的规则并始终可用。从而,区块链即是将不一定可信也不一定随时可用的各方组成具有信任和可用性的网络。区块链可能包含的信息为:1)在区块链上持有的资产交易;2)蕴含大量数据的哈希值,包括指向数据的指针;3)房地产、宝石等资产记录;4)智能合约,即当区块链本身触发某些条件时,保证其运行的程序,这些程序通常会创建多个交易。

当矿工们通过“挖矿”来产生新区块并添加到区块链上时,其中验证及添加区块链涉及到的共识系统被称为“工作量证明”。矿工们使用庞大的计算机算力来解决密码学难题,而难度值决定了难题解开所需要的计算量,这是区块链技术中最具有开拓意义的机制之一。早期的去中心化点对点数字货币系统之所以会失败,是由于“拜占庭将军问题”导致的,而工作量证明的共识系统为该问题提供了一种解决方案。采用一种新的机制以用来挖掘新的区块,因此哈希算法仍然至关重要,其工作原理是调整难度值的设定,从而使得在拜占庭将军问题得以避免的情况下有效确定谁可以开发下一个新块。



技术实现要素:

鉴于上述技术问题,本公开内容提出了一种区块链的新区块生成方法、设备及可读存储介质,发明的核心思想在于通过已有的区块生成和维护一个公平的随机数,用于生成下一个区块。

在本公开内容的一个方面,提供了一种区块链的新区块生成方法,其包括:第一步,确定生成新区块的交易和相应的哈希值;第二步,如果该当前区块之前的k个块均公布承诺的隐藏数值作为第一随机数,并将随机数添加到当前区块中,则将k个区块的随机数与当前区块的交易部分的哈希值进行哈希运算生成一个随机字符串n,所述随机字符串n用于构建下一个区块记账权限;如果当前区块之前的区块随机数的数量不足k个,需要进行迭代哈希来计算所述随机字符串n,保障区块确定之前,没有用户有足够的时间可以计算出所述随机字符串n,所述随机字符串n不需要出现在当前区块中,只要当前块包含所有的输入信息,那么所有人都可以自己计算所述第二随机数n;第三步,进行哈希竞争,胜利者可以创建新的区块。

在一些实施方式中,创建所述新区块的具有记账权的一方在第一时间t1处提出关于新区块中的交易记录和交易的哈希h的声明,提示前k个区块的生成者将随机字符串公开,若某一时间点t2该所述区块之前的k个区块没有完全公布承诺的隐藏数值作为第一随机数,那么在t3时刻计算已经公布的所有第一随机数的迭代哈希值并放在当前区块上,与当前区块的交易部分的哈希值再次进行哈希运算生成一个随机字符串,添加到所述新区块上作为第二随机数n。

在一些实施方式中,新区块的生成者生成区块前购买令牌,所述令牌对要建立新块的各方都是可见的,各方都有关于自己令牌的全部信息和/或挖矿盟军令牌的全部信息。

在一些实施方式中,若前k个块的生成者都将随机字符串公开,那么该随机字符串与哈希值h再次哈希后变成了下一块的加密谜题,并被放在将要构建的新块中完善新块;如果前k个块的生成者没有全部都将随机字符串公开,那么在第二时刻t2将这些值的哈希放置在将要构建的新块中,并且采用迭代哈希作为下一个区块公平竞赛的随机数,从而使得由于迭代次数的限制困难,当前块的生成者在第二时刻t2无法完成迭代哈希运算,从而使得在此后的第三时刻t3计算出新的哈希值,并放置在当前块中。

在一些实施方式中,所述隐藏数值采用加密k个随机数,并且按照时间顺序逐个释放该k个随机数的方式进行隐藏。

在一些实施方式中,所述隐藏数值采用将随机数进行k次迭代后,释放每次迭代的原像方式进行隐藏。

一种区块链的新区块生成设备,其包括处理器,其中所述处理器可以用于:第一步,确定生成新区块的交易和相应的哈希值;第二步,如果该当前区块之前的k个块均公布承诺的隐藏数值作为第一随机数,并将随机数添加到当前区块中,则将k个区块的随机数与当前区块的交易部分的哈希值进行哈希运算生成一个随机字符串n,所述随机字符串n用于构建下一个区块记账权限;如果当前区块之前的区块随机数的数量不足k个,需要进行迭代哈希来计算所述随机字符串n,保障区块确定之前,没有用户有足够的时间可以计算出所述随机字符串n,所述随机字符串n不需要出现在当前区块中,只要当前块包含所有的输入信息,那么所有人都可以自己计算所述第二随机数n;第三步,进行哈希竞争,胜利者可以创建新的区块。

在一些实施方式中,创建所述新区块的具有记账权的一方在第一时间t1处提出关于新区块中的交易记录和交易的哈希h的声明,提示前k个区块的生成者将随机字符串公开,若某一时间点t2该所述区块之前的k个区块没有完全公布承诺的隐藏数值作为第一随机数,那么在t3时刻计算已经公布的所有第一随机数的迭代哈希值并放在当前区块上,与当前区块的交易部分的哈希值再次进行哈希运算生成一个随机字符串,添加到所述新区块上作为第二随机数n。

在一些实施方式中,新区块的生成者生成区块前购买令牌,所述令牌对要建立新块的各方都是可见的,各方都有关于自己令牌的全部信息和/或挖矿盟军令牌的全部信息。

在一些实施方式中,若前k个块的生成者都将随机字符串公开,那么该随机字符串与哈希值h再次哈希后变成了下一块的加密谜题,并被放在将要构建的新块中完善新块;如果前k个块的生成者没有全部都将随机字符串公开,那么在第二时刻t2将这些值的哈希放置在将要构建的新块中,并且采用迭代哈希作为下一个区块公平竞赛的随机数,从而使得由于迭代次数的限制困难,当前块的生成者在第二时刻t2无法完成迭代哈希运算,从而使得在此后的第三时刻t3计算出新的哈希值,并放置在当前块中。

在一些实施方式中,所述隐藏数值采用加密k个随机数,并且按照时间顺序逐个释放该k个随机数的方式进行隐藏。

在一些实施方式中,所述隐藏数值采用将随机数进行k次迭代后,释放每次迭代的原像方式进行隐藏。

在本公开内容的再一方面,还提供了一种机器可读存储介质,其上存储有计算机程序,其中所述计算机程序在由处理器执行时实现如上文所述的区块链的新区块生成方法。

与现有技术相比,本公开内容的有益效果为:

首先,本公开内容的技术方案的区块创建理念是有权建立新块的各方竞争,除非和以前的区块生成者勾结,否则无法控制方案中的随机数,从而无法获得建块优先权限,提高了区块链交易安全和不可篡改性,同时利用令牌机制下的共识机制,体现投资越大,权益越大的理念,从而创建了公正、稳定、高效的区块链交易环境。

附图说明

在所附权利要求书中具体阐述了本发明的新颖特征。通过参考对在其中利用到本发明原理的说明性实施方式加以阐述的以下详细描述和附图,将会对本发明的特征和优点获得更好的理解。附图仅用于示出实施方式的目的,而并不应当认为是对本发明的限制。而且在整个附图中,用相同的附图标记表示相同的元素,在附图中:

图1示出了依据本公开内容示例性实施方式的区块链的新区块生成方法的流程图;以及

图2示出了依据本公开内容示例性实施方式的区块链的新区块生成设备的结构示意图。

具体实施方式

下面将参照附图更详细地描述本公开内容的示例性实施方式。虽然附图中显示了本公开内容的示例性实施方式,然而应当理解,可以以各种形式实现本公开内容而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了能够更透彻地理解本公开内容,并且能够将本公开内容的范围完整地传达给本领域技术人员。在以下详细描述中没有任何内容旨在表明任何特定组件、特征或步骤对于本发明是必不可少的。本领域技术人员将会理解,在不脱离本公开内容的范围内各种特征或步骤可以彼此替代或结合。

图1示出了依据本公开内容示例性实施方式的区块链新区块创建的流程图。如图1所示,一种区块链新区块的生成方法,其包括如下步骤:

步骤s101,确定生成新区块的交易和相应的哈希值;

步骤s102,如果该当前区块之前的k个块均公布承诺的隐藏数值作为第一随机数,并将随机数添加到当前区块中,则将k个区块的随机数与当前区块的交易部分的哈希值进行哈希运算生成一个随机字符串n,所述随机字符串n用于构建下一个区块记账权限;如果当前区块之前的区块随机数的数量不足k个,需要进行迭代哈希来计算所述随机字符串n,保障区块确定之前,没有用户有足够的时间可以计算出所述随机字符串n,所述随机字符串n不需要出现在当前区块中,只要当前块包含所有的输入信息,那么所有人都可以自己计算所述第二随机数n;

步骤s103,进行哈希竞争,胜利者可以创建新的区块。

在该实施方式中,创建所述新区块的具有记账权的一方在第一时间t1处提出关于新区块中的交易记录和交易的哈希h的声明,提示前k个区块的生成者将随机字符串公开,若某一时间点t2该所述区块之前的k个区块没有完全公布承诺的隐藏数值作为第一随机数,那么在t3时刻计算已经公布的所有第一随机数的迭代哈希值并放在当前区块上,与当前区块的交易部分的哈希值再次进行哈希运算生成一个随机字符串,添加到所述新区块上作为第二随机数n。

在该实施方式中,若前k个块的生成者都将随机字符串公开,那么该随机字符串与哈希值h再次哈希后变成了下一块的加密谜题,并被放在将要构建的新块中完善新块;如果前k个块的生成者没有全部都将随机字符串公开,那么在第二时刻t2将这些值的哈希放置在将要构建的新块中,并且采用迭代哈希作为下一个区块公平竞赛的随机数,从而使得由于迭代次数的限制困难,当前块的生成者在第二时刻t2无法完成迭代哈希运算,从而使得在此后的第三时刻t3计算出新的哈希值,并放置在当前块中。

在该实施方式中,采用两种隐藏数值的方式,一种是采用加密k个随机数,并且按照时间顺序逐个释放该k个随机数的方式进行隐藏;另外一种是采用将随机数进行k次迭代后,释放每次迭代的原像方式进行隐藏,当然第二种方式比第一种有一定的优势,当k较大的时候,所占据的存储空间比较小。

本实施例中,援引本申请发明人另外一件申请中关于令牌的应用,包含随机字符串与当前区块进行哈希运算获得的哈希值或者单个迭代哈希值作为新的随机数,随机数也就是随机字符串,通常为一个随机十六进制数值。令牌对要建立新块的各方都是可见的,各方都有关于自己令牌的全部信息和/或挖矿盟军令牌的全部信息。

此外,令牌也包含承诺可以通过哈希竞争揭示的秘密部分,从而降低创建新块各方的优势不均衡。具体来讲,本实施例消除创建新块各方不平等的优势主要体现在:一方面在每个令牌中嵌入一个随机化增加的随机数作为加密谜题,创建新块的各方对所述加密谜题没有控制权;另一方面为创建新块的各方构建新块中的随机数作为加密谜题是无法预测的值,从而使得恶意参与哈希竞争的一方不能在规定的有限时间内获得随机数参与的哈希运算的解。

本实施例中,创建新块的各方有权在n处构造新块,并在第一时间t1处提出关于新块中的交易记录和交易的哈希h的声明,提示前k个块的生成者将随机字符串公开。通过哈希竞争的胜利者的计算速度很快从而可以沿多条线竞争一个新区块的创建权,即记账权。

图2示出了依据本公开内容示例性实施方式的区块链的新区块生成设备的结构示意图。如图2所示,一种区块链的新区块创建设备,其包括处理器201,其中处理器201可以用于:第一步,确定生成新区块的交易和相应的哈希值;第二步,如果该当前区块之前的k个块均公布承诺的隐藏数值作为第一随机数,并将随机数添加到当前区块中,则将k个区块的随机数与当前区块的交易部分的哈希值进行哈希运算生成一个随机字符串n,所述随机字符串n用于构建下一个区块记账权限;如果当前区块之前的区块随机数的数量不足k个,需要进行迭代哈希来计算所述随机字符串n,保障区块确定之前,没有用户有足够的时间可以计算出所述随机字符串n,所述随机字符串n不需要出现在当前区块中,只要当前块包含所有的输入信息,那么所有人都可以自己计算所述第二随机数n;第三步,进行哈希竞争,胜利者可以创建新的区块。

在该实施方式中,创建所述新区块的具有记账权的一方在第一时间t1处提出关于新区块中的交易记录和交易的哈希h的声明,提示前k个区块的生成者将随机字符串公开,若某一时间点t2该所述区块之前的k个区块没有完全公布承诺的隐藏数值作为第一随机数,那么在t3时刻计算已经公布的所有第一随机数的迭代哈希值并放在当前区块上,与当前区块的交易部分的哈希值再次进行哈希运算生成一个随机字符串,添加到所述新区块上作为第二随机数n。

在该实施方式中,若前k个块的生成者都将随机字符串公开,那么该随机字符串与哈希值h再次哈希后变成了下一块的加密谜题,并被放在将要构建的新块中完善新块;如果前k个块的生成者没有全部都将随机字符串公开,那么在第二时刻t2将这些值的哈希放置在将要构建的新块中,并且采用迭代哈希作为下一个区块公平竞赛的随机数,从而使得由于迭代次数的限制困难,当前块的生成者在第二时刻t2无法完成迭代哈希运算,从而使得在此后的第三时刻t3计算出新的哈希值,并放置在当前块中。

在该实施方式中,采用两种隐藏数值的方式,一种是采用加密k个随机数,并且按照时间顺序逐个释放该k个随机数的方式进行隐藏;另外一种是采用将随机数进行k次迭代后,释放每次迭代的原像方式进行隐藏,当然第二种方式比第一种有一定的优势,当k较大的时候,所占据的存储空间比较小。

本实施例中,援引本申请发明人另外一件申请中关于令牌的应用,包含随机字符串与当前区块进行哈希运算获得的哈希值或者单个迭代哈希值作为新的随机数,随机数也就是随机字符串,通常为一个随机十六进制数值。令牌对要建立新块的各方都是可见的,各方都有关于自己令牌的全部信息和/或挖矿盟军令牌的全部信息。

此外,令牌也包含承诺可以通过哈希竞争揭示的秘密部分,从而降低创建新块各方的优势不均衡。具体来讲,本实施例消除创建新块各方不平等的优势主要体现在:一方面在每个令牌中嵌入一个随机化增加的随机数作为加密谜题,创建新块的各方对所述加密谜题没有控制权;另一方面为创建新块的各方构建新块中的随机数作为加密谜题是无法预测的值,从而使得恶意参与哈希竞争的一方不能在规定的有限时间内获得随机数参与的哈希运算的解。

本实施例中,创建新块的各方有权在n处构造新块,并在第一时间t1处提出关于新块中的交易记录和交易的哈希h的声明,提示前k个块的生成者将随机字符串公开。通过哈希竞争的胜利者的计算速度很快从而可以沿多条线竞争一个新区块的创建权,即记账权。

在本公开内容的再一方面,还提供了一种机器可读存储介质,其上存储有计算机程序,其中所述计算机程序在由处理器执行时实现如上文所述的区块链的新区块生成方法

对于基于令牌、随机数等的区块创建方法的技术方案的实施例,在上文已经进行了详细描述,在此不再赘述。在一些实施方式中,机器可读存储介质是数字处理设备的有形组件。在另一些实施方式中,机器可读存储介质可选地是可从数字处理设备移除的。在一些实施方式中,举非限制性示例而言,机器可读存储介质可以包括u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、闪速存储器、可编程只读存储器(prom)、可擦除可编程只读存储器(eprom)、固态存储器、磁碟、光盘、云计算系统或服务等。

应当理解,本公开内容的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本发明的范围在此方面不受限制。

在本文所提供的说明书中,说明了大量具体细节。然而,应当理解,本公开内容的实施方式可以在没有这些具体细节的情况下实践。在一些实施方式中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。

虽然本文已经示出和描述了本发明的示例性实施方式,但对于本领域技术人员显而易见的是,这样的实施方式只是以示例的方式提供的。本领域技术人员现将会在不偏离本发明的情况下想到许多更改、改变和替代。应当理解,在实践本发明的过程中可以采用对本文所描述的本发明实施方式的各种替代方案。以下权利要求旨在限定本发明的范围,并因此覆盖这些权利要求范围内的方法和结构及其等同项。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1