教程网

您现在的位置是: 首页 > 产业

区块链中的时间戳是什么意思?区块链时间戳有哪些用途?

区块链中的时间戳是什么意思?区块链时间戳有哪些用途?
区块链中的时间戳是什么意思?区块链是在时间上有序的、由记录块(区块)组成的一根链条。一个区块包含两个部分:区块头(Block Header)和记录部分。区块中的所有记录通过默克尔

区块链中的时间戳是什么意思?区块链是在时间上有序的、由记录块(区块)组成的一根链条。一个区块包含两个部分:区块头(Block Header)和记录部分。区块中的所有记录通过默克尔树(Merkle Tree)组织起来,默克尔树根(Root)的哈希值做为本区块里所有记录的数字指纹被放入区块头。

区块头还包含以下字段:前一个区块头的哈希值(这是前一个区块的数字指纹,也可以看做是指向前一个区块的哈希指针),本区块的时间戳、高度(Hight,即从第一个区块开始数本区块是第几个块),以及一些其他信息。系统的共识算法保证了每过固定的一段时间(Bitcoin是大约10分钟),参与整个系统记账的节点会达成共识在区块链上添加下一个新的区块。

时间戳的这种设计,使得更改一条记录的困难程度按时间的指数倍增加,越老的记录越难更改。这是因为,如果改动某个区块里的一条记录,意味着该区块原来的默克尔树根失效了,需要改动区块头,该区块的数字指纹随之失效。又由于下一个区块的区块头包含这个哈希指针,这就意味着下一个区块也需要改动。如此直到最新的那个区块。

可见要想改动一个区块,必须同时改动该区块后面的所有区块。因为将一个区块放入区块链中需要消耗非常多的资源(资源种类依共识算法的不同而不同,可以是计算力,流逝的时间,拥有的权益等),随着后面添加的区块越来越多,要想改动某个区块几乎是不可能的。

对一个普通应用来说,如何实现这样一个时间戳服务呢?我们需要自己创建一个区块链吗?其实没必要,Bitcoin就是一个很好的时间戳服务,我们可以把哈希值写到Bitcoin的区块链中。这是一种存在证明(Proof of Existence)。Factom也提供类似的服务,它收集所有的哈希,每隔10分钟生成一个哈希值,写到Bitcoin的区块链中。

哪些数据需要有时间戳?必须是不能变更的数据,特别适合存档文件。需要现在就考虑实施时间戳吗?这个跟你的数据战略相关。在大数据时代,拥有高质量的数据就是拥有了价值。时间戳可以一定程度上保证数据的可信度,至少这些数据是经过“时间考验”的。

有用又有趣的时间戳

有趣的时间戳

如果你现在看到一张发帖时间在2014年7月15日,内容是2018年世界杯法国4:2克罗地亚夺冠的截图,你一定不会认为这图片是真的,即使它是真是真的。

世界杯决赛与区块链时间戳

在当今社会,不论是计算机或是手机,或者其他任何电子设备,我们都可以通过修改它显示的时间,“穿越”到过去,或者“穿梭”到未来,我们也可以通过各种软件来修改图片或者视频等等。因此,在网络上,关于时间的信息似乎失去意义,因为几乎任何人都可以修改它。

不过,在区块链中,时间戳永远不会撒谎,因为区块链过去的部分是不能以任何方式进行修改的。而且时间戳是区块链区块包含特定信息的一个过程,它永远存在。

早在2009年1月3日,比特币概念的创始人中本聪在他创造的第一个区块——“创世区块”上刻下一句永不修改的话:“The Times 03/Jan/2009 Chancellor on brink of second bailout for banks(2009年1月3日,财政大臣正处于实施第二轮银行紧急援助的边缘)。”而这句话正式当日英国泰晤士报的头版文章标题。因为区块链的时间戳服务,这句话被永久性的保留了下来。

区块链与网络

比特币公司BTCC在2015年推出了一项服务“千年之链”——即区块链刻字服务,用户可以将通过这项服务将文字刻在区块链上,永久保存。

现在,通过区块链,我们只需将图片、音频甚至是视频盖上时间戳,不论多少年后,也足以证明它是时间戳的时间就存在的。

为什么区块链中时间戳永不撒谎?

1997年,密码朋克成员哈伯和斯托尼塔提出了一个用时间戳的方法保证数字文件安全的协议,哈伯和斯托尼塔对它的简单解释是,用时间戳的方式表达文件创建的先后顺序,协议要求在文件创建后,其时间戳不能改动,这就使得文件被篡改的可能性为零。

可信时间戳由算力时间源来负责保障时间的授时和守时监测,任何机构包括时间戳中心自己不能对时间进行修改,以保障时间的权威。

哈伯和斯托尼塔提出的这项安全协议后来成为比特币区块链协议的原型,直接赐予区块链技术无中心、防篡改、高透明的特点。这也是区块链技术被视为改变当今中心化垄断、信用严重缺失的社会现状的革命性技术的关键所在。

现如今的区块链中包含了一个永不停息的时间戳系统。

区块链论与时间戳系统

而区块链拥有的以下特点,使得时间戳可以完全信任:

l 不可预测/伪造。因Block的计算是随机事件,其Hash值是一个32字节的随机大数(2256)。想蒙对该数的概率实在是太低了;

l 不可销毁/修改。Block Chain拥有巨大的算力在维护与延续,对于N个确认的Block,想篡改是不可能的;

l Block具有天然时间特性。时间戳是Block meta字段之一;

l Block可以存储信息。对于Block meta信息,是无法控制的。但Block会收录交易,而交易是可以”写入”自己的数据。

时间戳的这种设计,使得更改一条记录的困难程度按时间的指数倍增加,越老的记录越难更改。这是因为,如果改动某个区块里的一条记录,意味着该区块原来的默克尔树根失效了,需要改动区块头,该区块的数字指纹随之失效。又由于下一个区块的区块头包含这个哈希指针,这就意味着下一个区块也需要改动。如此直到最新的那个区块。

可见要想改动一个区块,必须同时改动该区块后面的所有区块。因为将一个区块放入区块链中需要消耗非常多的资源(资源种类依共识算法的不同而不同,可以是计算力,流逝的时间,拥有的权益等),随着后面添加的区块越来越多,要想改动某个区块是不可能的。

我们能用时间戳做些什么?

时间戳像是一台永不失真的摄像机,能把时间和当时正发生的事件原原本本地记录在区块链中。因为时间戳证明了区块链上什么时候发生了什么事情,而且没有人篡改它。

时间戳可以在区块链中扮演公证人的角色,而且比传统的公证制度更为可信。如果用户决定公开了一个时间戳,我们能在区块链上看到的,将是结合一个特定文件的哈希值。

结合时间戳的特性,我们可以做些什么呢:

l 保护知识产权。假如你写了一篇论文,在发布之前想先找行业专家指点一下,但是你担心专家直接用他的名义发表。这时候你只需先保存在区块链链上,便可以轻松证明版权了;

l 记录特殊时刻。如果你想记录某个特殊时刻,记得盖上时间戳;

l 储存特定信息。如果你想永久保存某些重要信息,盖上时间戳。

时间戳的功能,会是区块链的另一种用途,它可能会彻底改变人类的未来。

众所周知,不管是在金融交易中还是在电子商务交易文件中,时间是十分重要的信息,例如签合同时一定要注明时间且不可篡改。而数字时间戳正是提供这样一种服务的技术。时间戳是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总秒数。

通俗的讲, 时间戳是一份能够表示一份数据在一个特定时间点已经存在的完整的可验证的数据。

区块链通过时间戳保证每个区块依次顺序相连。时间戳使区块链上每一笔数据都具有时间标记。简单来说,时间戳证明了区块链上什么时候发生了什么事情,且任何人无法篡改。

时间戳在区块链中扮演公证人的角色,而且比传统的公证制度更为可信,因为区块链上记录的信息无法被任何人以任何方式修改。

区块链时间戳对我们来说就有了全新的意义

一,我们有了真正可以信任的历史数据。

二,这些数据因为可信变得更有价值,可以在应用之外被其他应用或者分析工具使用。

三,我们可以基于这些可信的历史记录生成信用。

四,我们真正进入一个信用社会。

想象一下,如果我们想在未来某天证明自己的数据是在今天产生的,可以在今天对今天的所有数据进行某种形式的哈希(比如默克尔树),最终得到一个哈希值,然后在第二天的《参考消息》上登一个广告,把哈希值发布出去。明天的《参考消息》就成了我们的时间戳。

简单来说,时间戳证明了区块链上什么时间发生了什么事,且任何人无法篡改。区块链通过时间戳保证每个区块依次顺序相连。时间戳使 区块链上每一笔数据都具有时间标记

传统关系型数据库在设计表时一般会有一个或多个时间戳(timestamp)字段,用来标记一行记录添加或修改时的时间。

基本上,这些时间戳是给应用内部使用的。当数据被共享给其他应用时,这些时间戳并没有多大意义,因为时间戳可以伪造。

在数据黑市上,一个数据掮客可以将一份银行VIP客户数据进行注水,掺入一半的假数据。

一家保险公司为了搅乱市场上竞争对手的视线,故意污染数据,将高净值用户放入骗保用户黑名单,将骗保用户放入高净值用户名单,然后让污染后的数据故意泄露出去。

如果每条数据都带有一个真实可信的时间戳(这条数据产生的真实时间点),这样的造假行为就比较难奏效,因为假数据的时间戳一般都是最近的。

以前我们很少关心数据的时间戳,很少去了解时间戳对数据的意义,一个原因也许是我们不知道如何用技术去实现这样的时间戳。

如果技术实现完全可行,那么这个时间戳对我们来说就有了全新的意义。

首先,我们有了真正可以信任的历史数据。

第二,这些数据因为可信变得更有价值,可以在应用之外被其他应用或者分析工具使用。

第三,我们可以基于这些可信的历史记录生成信用。

最后,我们真正进入一个信用社会。

想象一下,如果我们想在未来某天证明自己的数据是在今天产生的,可以在今天对今天的所有数据进行某种形式的哈希(比如默克尔树),最终得到一个哈希值,然后在第二天的《参考消息》上登一个广告,把哈希值发布出去。明天的《参考消息》就成了我们的时间戳。

如果明天我们想做同样的事,可以如法炮制,另外有一个关键点,那就是要记得把今天的哈希值也给哈希进去。这样每天的哈希值就包含了以前所有数据的哈希信息。

区块链在P2P网络上通过节点间的共识算法实现了一个分布式的时间戳服务。

区块链是在时间上有序的、由记录块(区块)组成的一根链条。一个区块包含两个部分:区块头(Block Header)和记录部分。区块中的所有记录通过默克尔树(Merkle Tree)组织起来,默克尔树根(Root)的哈希值做为本区块里所有记录的数字指纹被放入区块头。

区块头还包含以下字段:前一个区块头的哈希值(这是前一个区块的数字指纹,也可以看做是指向前一个区块的哈希指针),本区块的时间戳、高度(Hight,即从第一个区块开始数本区块是第几个块),以及一些其他信息。系统的共识算法保证了每过固定的一段时间(Bitcoin是大约10分钟),参与整个系统记账的节点会达成共识在区块链上添加下一个新的区块。

时间戳的这种设计,使得更改一条记录的困难程度按时间的指数倍增加,越老的记录越难更改。这是因为,如果改动某个区块里的一条记录,意味着该区块原来的默克尔树根失效了,需要改动区块头,该区块的数字指纹随之失效。又由于下一个区块的区块头包含这个哈希指针,这就意味着下一个区块也需要改动。如此直到最新的那个区块。

可见要想改动一个区块,必须同时改动该区块后面的所有区块。因为将一个区块放入区块链中需要消耗非常多的资源(资源种类依共识算法的不同而不同,可以是计算力,流逝的时间,拥有的权益等),随着后面添加的区块越来越多,要想改动某个区块几乎是不可能的。

对一个普通应用来说,如何实现这样一个时间戳服务呢?我们需要自己创建一个区块链吗?其实没必要,Bitcoin就是一个很好的时间戳服务,我们可以把哈希值写到Bitcoin的区块链中。这是一种存在证明(Proof of Existence)。Factom也提供类似的服务,它收集所有的哈希,每隔10分钟生成一个哈希值,写到Bitcoin的区块链中。

哪些数据需要有时间戳?必须是不能变更的数据,特别适合存档文件。需要现在就考虑实施时间戳吗?这个跟你的数据战略相关。在大数据时代,拥有高质量的数据就是拥有了价值。时间戳可以一定程度上保证数据的可信度,至少这些数据是经过“时间考验”的。

时间戳是什么?如何保证区块链按顺序链接?

区块链通过时间戳保证每个区块依次顺序相连。时间戳使区块链上每一笔数据都具有时间标记。简单来说,时间戳证明了区块链上什么时候发生了什么事情,且任何人无法篡改。

时间戳在区块链中扮演公证人的角色,而且比传统的公证制度更为可信,因为区块链上记录的信息无法被任何人以任何方式修改。

因为运用了时间戳,区块链技术很适合用于知识产权保护等领域。举个例子,你写了一篇论文,在发布之前想先找行业专家指点一下,但是你担心专家直接用他的名义发表。这时候你只需先保存在链上,便可以轻松证明版权。

 1/3    1 2 3 下一页 尾页