区块链关键技术之时间戳理论
《区块链理论与方法》读书笔记
时间戳是使用数字签名技术产生的数据,签名的对象包括了原始文件信息、签名参数、签名时间等信息。
1991年Stuart Harber和Scott Stornetta 提出了一种可以保证数据的可追溯与不可篡改的方法。时间戳服务器对新文档,当前时间,指向之前文档签名的哈希指针进行签名。后续的文档又对当前文档的签名进行再次签名,形成了一个根据文档生成时间排序的证书链。
在区块链中,时间戳技术借鉴和发展了以上工作,获得记账权的节点必须在当前数据区块头中加盖时间戳,表明数据写入的时间。所以保证了主链上的各区块是按照时间顺序依次排列的。 (与传统时间戳不同,区块链不需要可信第三方)
比特币系统时间戳的设计
1.第一个问题,区块链的不可篡改性是怎么实现的?(有疑问,不使用时间戳只使用哈希不也能是一样的实现吗?)
看区块链的结构想要篡改某一区块的时间戳,必须同时篡改之后的所有时间戳,所以链条越长,区块链的安全性越好。
2.第二个问题,区块链的时间戳机制如何实现的不需要可信第三方?
- 选择校正时间:由连接到本节点的所有节点时间的中位数(网络调整时间)作为时间戳写入到区块。
- 接受区块的合法性:区块的时间戳大于过去11个区块时间戳的中位数,小于(网络调整时间 + 2小时)就被认为是合法的。