一种哈希时间戳创建方法、设备及可读存储介质与流程

文档序号:16847793发布日期:2019-02-12 22:28阅读:448来源:国知局
一种哈希时间戳创建方法、设备及可读存储介质与流程

本发明涉及区块链技术领域,尤其涉及一种哈希时间戳创建方法、设备及可读存储介质。



背景技术:

哈希算法是区块链技术中比较关键的一环,哈希算法是不可逆的,其把任意长度的输入(又称为预映射pre-image)通过散列算法,变换成固定长度的输出,该输出就是散列值。哈希算法是压缩映射,散列值空间通常远小于输入的空间,不同的输入可能会散列成相同的输出,不能从散列值确定唯一的输入值。总之,哈希算法可以将任意长度的消息压缩到某一固定长度的消息摘要函数。假如,想要证明在时间t我们就知道了x的值,但并不想披露它的具体值。只有在未来很长时间后,当有可能需要证明我们确实知道这个值的时候,才有可能需要去披露它,当然,如果我们在时间t知道x的值,我们在t之后的时间还是知道这个x的值,而且一旦我们证明了这一点,就需要使这个证据具备永久性。可以用哈希函数来锁定数据x,不需要公布x值本身,即抗碰撞性,当然还可以依赖哈希函数另外的特性,即只要x本身具备比较高的最小信息熵分布特性,也就是说,x是不可预测的,那么x的哈希函数结果不会透露关于x的任何信息。如果x本身没有这种不可预测的特性,可以选择一个有较高的最小信息熵分布的随机数r和x组合签名,然后用组合签名的哈希作为对外公布的一个数值约定。区块链中天然存在时间戳性质,从区块生成的一刻起就存在于区块之中,它对应的是每一次交易记录的认证,证明交易记录的真实性。时间戳是直接写在区块链中的,而区块链中已经生成的区块不可篡改,因为一旦篡改,生成的哈希值就会变化,从而变成一个无效的数据,每个区块链会将前一个区块的哈希也纳入其自身哈希值中,这一过程不断重复,依次相连,最后会生成一个完整的链条,从而获知事件发生是有一定的发生顺序的。区块链这种只能被添加的记录特性可以被用来建立一个安全时间戳(securetimestamping)系统。。现有技术中,我们在时间点t只向外公布组合签名的哈希函数,然后在之后的某个时间点来公布r和x。任何人看到这个只能做增量的记录,都会相信发表组合签名的哈希函数时一定知道x,因为没有除此之外的其它方法可以让我们产生那些数据。所有实际上都知道时间在一个可容忍的范围内,当然是远小于预期的块间时间。对于a,当他为某件事写入时间戳的时候存在两种说谎的选择,即声称该时间早于实际情况或者晚于实际情况。例如,如果被告知提交进入哈希谜题的条目,并且在时间t之前生成块,那么a可能在更早的时间将这些时间戳放在稍后的时间戳上,这就意味着一小部分矿工可能会很快的增加一些块,然后进行控制。另外一方面,一些设备可能对那些使用时间戳小于t的人可用,a可能会给较晚的条目增加一个较早的时间戳,目前的时间戳机制不能阻止a将一项较早进入的项目达上较晚进入的条目。

此外,由于区块链并不能提供一个理想的强制执行准确性的环境,因此那些抱怨a的时间戳存在问题的一方本身可能就在说谎。这为时间戳可靠性的判断提出了更大的挑战,时间戳的可靠性非常重要。



技术实现要素:

鉴于上述技术问题,本公开内容提出了一种哈希时间戳的创建方法、设备及可读存储介质,通过当前时间戳建立依赖当前为止的哈希时间信息,从而保证无法提前创建时间戳或者防止提前创建的时间戳被接收,进而防止节点提前做事的可能,从而提供防止提前创建时间戳的可能。

在本公开内容的一个方面,提供了一种哈希时间戳的创建方法,其包括:在每一个区块中嵌入一系列有承诺但未透露的信息;根据定义的规则通知这些区块的创建者,将序列的连续值释放到一些普通可读的空间,将释放动作链接到各自的观测序列,所述规则包含后续的一系列事件和基于历史的一些公式化延迟;按照时间或者后期的特定事件触发释放一组先前的随机数;以释放随机数时间作为计时基础控制时间从而形成哈希时间戳。

在一些实施方式中,多个节点提供哈希时间戳服务,所述服务为一种为了增强区块链而使得节点必需针对接收的费用而履行的服务。

在一些实施方式中,还可以通过节点进行大量的哈希运算控制时间从而形成哈希时间戳,即采用复杂顺序计算作为计时的基础和创建机制,设置一些基本顺序计算所花费时间的下限,设定一个节点用于获取一些最近获得的信息并指定比所述节点已经完成的哈希运算更多的哈希运算,而非直接获知该随机数,从而在块和块的创建之间施加一个最小的时间,任何比所述最小的时间长的顺序计算都不可能完成,同时也不能作为时间戳建立的基础。

在一些实施方式中,所述复杂顺序计算为多次迭代哈希,所述计算速度为400万次/秒。

在一些实施方式中,所述有承诺但未透露的信息包括隐藏迭代哈希的中间状态,并存储在块中。

在一些实施方式中,所述创建方法允许计算机以不同的速率进行计算带来的变化,使用内置虚拟服务提供商作为标准为用户提供快速哈希服务,以减少计算机计算速率差异带来的影响。

一种哈希时间戳创建设备,其包括处理器,其中所述处理器可以用于:在每一个区块中嵌入一系列有承诺但未透露的信息;根据定义的规则通知这些区块的创建者,将序列的连续值释放到一些普通可读的空间,将释放动作链接到各自的观测序列,所述规则包含后续的一系列事件和基于历史的一些公式化延迟;按照时间或者后期的特定事件触发释放一组先前的随机数;以释放随机数时间作为计时基础控制时间从而形成哈希时间戳。

在一些实施方式中,多个节点提供哈希时间戳服务,所述服务为一种为了增强区块链而使得节点必需针对接收的费用而履行的服务。

在一些实施方式中,还可以通过节点进行大量的哈希运算控制时间从而形成哈希时间戳,即采用复杂顺序计算作为计时的基础和创建机制,设置一些基本顺序计算所花费时间的下限,设定一个节点用于获取一些最近获得的信息并指定比所述节点已经完成的哈希运算更多的哈希运算,而非直接获知该随机数,从而在块和块的创建之间施加一个最小的时间,任何比所述最小的时间长的顺序计算都不可能完成,同时也不能作为时间戳建立的基础。

在一些实施方式中,所述复杂顺序计算为多次迭代哈希,所述多次迭代哈希的计算速度为400万次/秒。

在一些实施方式中,所述有承诺但未透露的信息包括隐藏迭代哈希的中间状态,并存储在块中。

在一些实施方式中,所述创建方法允许计算机以不同的速率进行计算带来的变化,使用内置虚拟服务提供商作为标准为用户提供快速哈希服务,以减少计算机计算速率差异带来的影响。

在本公开内容的再一方面,还提供了一种机器可读存储介质,其上存储有计算机程序,其中所述计算机程序在由处理器执行时实现如上文所述的哈希时间戳创建方法。

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

防止接受早期的时间戳从而防止节点提前做事,鼓励矿工执行新的计时任务从而获得利益,如果矿工没有这么做,会对他所开采的区块中涉及的代币奖励以及声誉方面产生不良的影响,从而优化信任模型,同时也提供了一个很好的机制控制链生长的速率,即所有的块创建者都执行这样的创建方法,或者以某种明确定义的方式在某种安全意义上与其所有的块创建者都会这样做,同时有足够的同类当事人提供实际的保证,保证并不是所有的时间戳都存在安全问题。

附图说明

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

图1示出了依据本公开内容示例性实施方式的哈希时间戳创建方法的流程图;以及

图2示出了依据本公开内容示例性实施方式的哈希时间戳创建设备的结构示意图。

具体实施方式

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

图1示出了依据本公开内容示例性实施方式的哈希时间戳创建的流程图。如图1所示,一种哈希时间戳的创建方法,通过当前时间戳建立依赖当前为止的哈希时间信息,从而保证无法提前创建时间戳或者防止提前创建的时间戳被接收,进而防止节点提前做事的可能,从而提供防止提前创建时间戳的可能,其包括如下步骤:

步骤s101,在每一个区块中嵌入一系列有承诺但未透露的信息;

步骤s102,根据定义的规则通知这些区块的创建者,将序列的连续值释放到一些普通可读的空间,将释放动作链接到各自的观测序列,所述规则包含后续的一系列事件和基于历史的一些公式化延迟;

步骤s103,按照时间或者后期的特定事件触发释放一组先前的随机数,该实施例中采用每分钟或者在每个块完成后的一分钟或者后期事件作为触发的基础;

步骤104,以释放随机数时间作为计时基础控制时间从而形成哈希时间戳。

在该实施方式中,多个节点提供哈希时间戳服务,服务为一种为了增强区块链而使得节点必需针对接收的费用而履行的服务。

在该实施方式中,除了以释放随机数时间作为计时基础控制时间从而形成哈希时间戳以外,还可以通过节点进行大量的哈希运算控制时间从而形成哈希时间戳,即采用复杂顺序计算作为计时的基础和创建机制,设置一些基本顺序计算所花费时间的下限,设定一个节点用于获取一些最近获得的信息并指定比所述节点已经完成的哈希运算更多的哈希运算,而非直接获知该随机数,从而在块和块的创建之间施加一个最小的时间,任何比所述最小的时间长的顺序计算都不可能完成,同时也不能作为时间戳建立的基础。

实际场景中,需要考虑计算机计算速率的差异,而该创建方法允许计算机以不同的速率进行计算带来的变化,使用内置虚拟服务提供商作为标准为用户提供快速哈希服务,以减少计算机计算速率差异带来的影响。

在每一个区块中嵌入一系列有承诺但未透露的信息;通知这些区块的创建者,将序列的连续值揭示为一些普通可读的空间,将这些空间链接到各自的观测序列,这些序列包含后续的一系列事件和基于历史的一些公式化延迟;每分钟或者在每个块完成后的一分钟或者任何时刻释放一组先前的秘密数值;形成哈希时间戳。

该实施方式中,有承诺但未透露的信息包括隐藏多个序列的哈希序列,并存储在块中,例如,将hash100(n)存储在块中,和有效隐藏了从hash99(n)开始的100个序列,并且以n结尾。每当看到这些值时,就可以在块链中对其进行检查,这比使用传统的密码签名更有效,然后就可以实施步骤102。

该实施方式中,基本顺序计算为普通哈希运算哈希,而创建哈希时钟的第二种机制为采用迭代哈希这样的复杂顺序计算,为了延迟1秒,将需要4000万哈希这样的东西,虽然并不是环境友好的处理方式,但只需要运算几个核心部分,而不是数千个核心部分,由于矿工需要相互检查,因此还是相当具有安全方面的优势的。如果所有的块创建者都以明确定义的方式或者符合安全预期的方式执行这样的方法,并且有足够的节点提供实际的保证,通常采用投票的方式进行保证,那么该哈希时间戳也就顺理成章的提供了一个设置哈希谜题的理想方式。对于定时属性,我们需要在正确的时间释放大多数的随机数,为了创建谜题,需要释放期望的随机数,而只有一个才是适合作为随机输入从而确保正确公平的选择后续区块的创建者记账权的随机数,哈希时间戳正是可以提供一方面的保证。

随机数的数量根据信任模型的规模和要求确定,并且均在时间戳创建前的很短时间内发布,信任模型包括:安全作为区块链系统的基础内置,对秘密数值进行有效性检查,认证和数据验证,在各个层面对秘密数值进行加密,层面包括应用层面,有效性检查、认证和数据验证对应稳定,有弹性和可信赖的代码,对代码在使用前进行威胁分析和测试,除非有证据表明当前区块的创建者知道在所述区块应该发行的时刻的最近发布的足够多的价值,否则该区块不会被信任。

图2示出了依据本公开内容示例性实施方式的哈希时间戳的创建设备的结构示意图。如图2所示,一种哈希时间戳的创建设备,其包括处理器201,其中处理器201可以用于执行如下步骤:

步骤s101,在每一个区块中嵌入一系列有承诺但未透露的信息;

步骤s102,根据定义的规则通知这些区块的创建者,将序列的连续值释放到一些普通可读的空间,将释放动作链接到各自的观测序列,所述规则包含后续的一系列事件和基于历史的一些公式化延迟;

步骤s103,按照时间或者后期的特定事件触发释放一组先前的随机数,该实施例中采用每分钟或者在每个块完成后的一分钟或者后期事件作为触发的基础;

步骤104,以释放随机数时间作为计时基础控制时间从而形成哈希时间戳。

在该实施方式中,多个节点提供哈希时间戳服务,服务为一种为了增强区块链而使得节点必需针对接收的费用而履行的服务。

在该实施方式中,除了以释放随机数时间作为计时基础控制时间从而形成哈希时间戳以外,还可以通过节点进行大量的哈希运算控制时间从而形成哈希时间戳,即采用复杂顺序计算作为计时的基础和创建机制,设置一些基本顺序计算所花费时间的下限,设定一个节点用于获取一些最近获得的信息并指定比所述节点已经完成的哈希运算更多的哈希运算,而非直接获知该随机数,从而在块和块的创建之间施加一个最小的时间,任何比所述最小的时间长的顺序计算都不可能完成,同时也不能作为时间戳建立的基础。

实际场景中,需要考虑计算机计算速率的差异,而该创建方法允许计算机以不同的速率进行计算带来的变化,使用内置虚拟服务提供商作为标准为用户提供快速哈希服务,以减少计算机计算速率差异带来的影响。

在每一个区块中嵌入一系列有承诺但未透露的信息;通知这些区块的创建者,将序列的连续值揭示为一些普通可读的空间,将这些空间链接到各自的观测序列,这些序列包含后续的一系列事件和基于历史的一些公式化延迟;每分钟或者在每个块完成后的一分钟或者任何时刻释放一组先前的秘密数值;形成哈希时间戳。

该实施方式中,有承诺但未透露的信息包括隐藏多个序列的哈希序列,并存储在块中,例如,将hash100(n)存储在块中,和有效隐藏了从hash99(n)开始的100个序列,并且以n结尾。每当看到这些值时,就可以在块链中对其进行检查,这比使用传统的密码签名更有效,然后就可以实施步骤102。

该实施方式中,基本顺序计算为普通哈希运算哈希,而创建哈希时钟的第二种机制为采用迭代哈希这样的复杂顺序计算,为了延迟1秒,将需要4000万哈希这样的东西,虽然并不是环境友好的处理方式,但只需要运算几个核心部分,而不是数千个核心部分,由于矿工需要相互检查,因此还是相当具有安全方面的优势的。如果所有的块创建者都以明确定义的方式或者符合安全预期的方式执行这样的方法,并且有足够的节点提供实际的保证,通常采用投票的方式进行保证,那么该哈希时间戳也就顺理成章的提供了一个设置哈希谜题的理想方式。对于定时属性,我们需要在正确的时间释放大多数的随机数,为了创建谜题,需要释放期望的随机数,而只有一个才是适合作为随机输入从而确保正确公平的选择后续区块的创建者记账权的随机数,哈希时间戳正是可以提供一方面的保证。

随机数的数量根据信任模型的规模和要求确定,并且均在时间戳创建前的很短时间内发布,信任模型包括:安全作为区块链系统的基础内置,对秘密数值进行有效性检查,认证和数据验证,在各个层面对秘密数值进行加密,层面包括应用层面,有效性检查、认证和数据验证对应稳定,有弹性和可信赖的代码,对代码在使用前进行威胁分析和测试,除非有证据表明当前区块的创建者知道在所述区块应该发行的时刻的最近发布的足够多的价值,否则该区块不会被信任。

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

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

在释放过程中,我们对不同的释放角色之间进行对比,对于定时属性,需要在正确的时间释放多数,对于创建谜题,需要释放所有期望的数值,然而对于创建正确的时间戳,只能适当的选择其中一个或若干个期望数值作为随机输入从而作为适当保留的秘密数值。这是时间戳创建机制中一个比较明显的创新点和进步。

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

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

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