什么是时间戳?

在之前,我们已经讲过UTXO是如何解决双花问题中的第一类问题,可双花问题还有另一种情况,就是记账后的双花问题,即一笔钱虽然只使用了一次,但是如果有人通过黑客攻击银行或者采用造假的方式,把这笔钱又复制了一份,再次使用怎么办呢?区块链为了解决这个问题,就加入了时间戳的概念。

所谓时间戳,按官方定义,就是能表示其他的数据在某个特定时间之前已经完整存在、 并且可以验证的一种数据,一般是一个字符序列,能唯一地标识某一刻的时间。

什么是时间戳?

这句话种有两个重点,第一、时间戳也是一种数据;第二、时间戳可以证明其他的某个数据,在什么时间点,就已经完整存在。所以,简单来说,时间戳就相当于是数据的生产日期,并起到数据验证的作用。

时间戳在区块链中,与密码学有着非常紧密的关系,它其实也可以说是密码学的一个应用。它的工作原理是这样的:

什么是时间戳?

第一步、节点会先对区块中的信息进行哈希加密,生成一个信息摘要,也就是哈希值。

第二步、生成好之后,节点会发送一个时间戳的请求,给相关的时间戳服务器,然后时间戳服务器会从中提取该哈希值以及数据的时间信息。

第三步、时间戳服务器会对这些提取到的哈希值以及时间信息进行签名,也就是再次加密,打上时间烙印,生成时间戳。

什么是时间戳?

最后一步,生成的时间戳数据和交易信息绑定之后,再返回系统。

整个过程在区块链中就是,我们先把数据进行加密处理,处理后放到另一个地方进行公证,以二次加密作为证明,之后再把证明后的东西放到下一个区块中,进行打包,然后不停地重复这样一个过程,最后就形成了一个去中心化,并且经历过哈希算法与时间戳两次加密的分布式系统。

这样的好处在于,提高了区块链的不可篡改性,因为每一笔数据都在时间戳中进行了二次加密,有相关的时间记录。并且区块连接时,在哈希算法的基础上,进行了时间的排序。如果有人想要篡改数据,不仅要攻破哈希算法,还要更改时间戳。

什么是时间戳?

时间戳之所以能解决双花中的第二类问题,原因在于,它起到了一个防伪的作用。一方面时间戳提高了区块链的安全性,黑客很难去篡改,另一方面,系统会给每一个区块的交易信息都自动打上了时间烙印作为标识,你在什么时间,花了多少钱,都有记录。没有这个标识的,一看就是“假钱”。

总的来说,时间戳在区块链中起到了非常重要的作用,它让每个区块按照时间顺序层层嵌套,进一步加强了区块链的安全系数,也正是因为它的存在,才使区块链中的“假钱”问题,不再是一个问题。