时间戳:他的提出主要是为用户提供一份电子证据,证明用户的某些数据的产生时间。广泛运用于合同签字,知识产权保护,金融账务等方面的字符序列,他可以表示一份数据,在某个特定时间之前就已经存在的,完整的,可验证的。通常有两种:
1.自建时间戳:此类时间戳是通过时间接收设备(如GPS,CDMA,北斗卫星)来获取时间到时间戳服务器上,并通过时间戳服务器签发时间戳证书。此种时间戳可用来企业内部责任认定,在法庭认证时并不具备法律效力。因其在通过时间接收设备接收时间时存在被篡改的可能,故此不能做为法律依据。
2.具有法律的效力的时间戳:它是由我国中科院国家授时中心与北京联合信任技术服务有限公司负责建设的我国第三方可信时间戳认证服务。由国家授时中心负责时间的授时与守时监测。因其守时监测功能而保障时间戳证书中的时间的准确性和不被篡改。获取时间戳平台有“大众版权保护平台”,可与我国中科院国家授时中心时间同步。
The solution we propose begins with a timestamp server.
我们从一种时间戳服务器来引出解决方案。
A timestamp server works by taking a hash of a block of items to be timestamped and widely publishing the hash, such as in a newspaper or Usenet post [2-5].
时间戳服务器运行的方式是,对区块形式存在的一组数据进行哈希运算并加上时间戳,并广泛发布这个哈希值,就像报纸和Usenet(可订阅的新闻组)帖子一样。
注:如何获取时间?如果是加上本机的时间,那么每个节点的时间不统一,且容易被篡改,怎么才能取得一个真实而统一的时间。比特币系统中认为多数即正义,时间来自于链接的其他节点时间的中位数,要求链接的节点数量至少为5,中位数和本地系统时间差别不超过70分钟,否则会提醒你更新本季时间。同时,在接受到新的区块时会拒绝时间与自己差2小时的区块。
中位数:中位数,又称中点数,中值。中数是按顺序排列的一组数据中居于中间位置的数,即在这组数据中,有一半的数据比他大,有一半的数据比他小,这里用来表示中位数。(注意:中位数和众数不同,众数指最多的数,众数有时不止一个,而中位数只能有一个。)
有一组数据:
将它按从小到大的顺序排序为:
则当N为奇数时, ;
当N为偶数时, 。
一个数集中最多有一半的数值小于中位数,也最多有一半的数值大于中位数。
如果大于和小于中位数的数值个数均少于一半,那麽数集中必有若干值等同于中位数。设连续随机变量X的分布函数
,那么满足条件的数称为X或分布F的中位数。
The timestamp proves that the data must have existed at the time, obviously, in order to get into the hash.
显然,该时间戳能够证实特定数据必然与某特定时刻是的确存在的,因为只有在该时刻存在了才能获取相应的哈希值。
Each timestamp includes the previous timestamp in its hash, forming a chain, with each additional timestamp reinforcing the ones before it.
每一个时间戳都在它的哈希值里包含了上一个时间戳,从而形成一条链,即每一次新增的时间戳都巩固印证了它们之前的所有记录。
注:该部分为manner所做的工作。这里的一组数据就是指很多笔交易,然后把这一组数据打包成了一个区块(block),并把这个区块加盖上时间戳并做hash,以此来保证时间的先后顺序,也就是要完成第2部分所介绍的“确保历史顺序”。而因为要得到这个hash是和当时的时间戳联系在一起的,所以这个hash就标识着时间了。因为这些区块是形成一个链条的,而区块的增长是CPU算力的证明(后文会描述),所以因为hash->体现了时间戳->hash被链在一起->链上一个新的区块需要耗费CPU->所以之前的hash就一定是正确的(不断被加强可信度)。上图说明了时间和区块挂钩,区块和hash挂钩,和这些hash因为区块链的性质连在一起。