27

一枚BTC还能花两次?时间戳:这辈子都不可能的

 5 years ago
source link: https://www.huoxing24.com/newsdetail/20190418103403440520.html?amp%3Butm_medium=referral
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

2008年,中本聪发表了一篇论文《比特币:一个点对点的电子现金系统》,想通过采用数字货币的方式来解决日常生活中纸币所带来的不便。

aiiyqyu.jpg!web

到今天为止,比特币已经成为家喻户晓的数字货币,但数字货币与我们现实世界中的法币,依然有本质的区别。因为数字货币是虚拟的,就导致了很多在法币中根本不是问题的问题发生。

今天小K君就给大家讲一下,数字货币在诞生过程中存在的主要问题,以及解决的方法。

头疼的双花问题

众所周知,比特币系统与我们现实世界的最大区别在于,它是虚拟的、去中心化的。比特币作为一个去中心化的点对点电子现金系统,它既不是实物,也不存在中心数据库,而是通过代码形式呈现出来的虚拟资产。

rmI3EfI.jpg!web

那既然是代码,是虚拟的,必然就会存在漏洞,而双花问题就是其中最大的一个难点,也是数字货币诞生中最令人头痛的问题。双花,指的是同样一笔数字资产被重复支付,也被称为双重支付。

在法币世界中,因为法币是实体,一手交钱一手交货,所以并不存在这个问题。但在数字货币世界中则不一样,因为数字货币是虚拟的,可以被更改,所以就有了一笔钱花很多次的可能性。

JjYJRnR.jpg!web

那么双花问题如何解决呢?下面小K君就给大家讲讲双花问题的解决方法。

解决双花问题的方式: 时间戳

1970年,两个密码朋克成员哈伯和斯托尼塔(Haber and Stornetta)提出了一个新的概念“时间戳”,即通过使用时间戳的方法可以保证数字文件安全的协议。

哈伯和斯托尼塔对它的简单解释是,用时间戳的方式来表示文件创建的先后顺序。协议中明确要求文件创建后的时间戳不能被改动,这就使数据及文件的原创性得以保证。

M7nIzqu.jpg!web

随着时间的推移,后来中本聪发现,时间戳这种使数据不可篡改的特性,在解决双花问题上有巨大的作用,于是就引进到区块链的用户模型中,并赋予了区块链不可篡改、可追溯、高透明的特点,也正是由于这些特点,时间戳自然而然地成为了区块链中解决双花问题的主要方法。

那么区块链中的时间戳又怎么理解呢?按照官方的定义,时间戳(timestamp)指的是一个能表示一份数据在某个特定时间之前已经存在的、完整的、可验证的数据,通常是一个字符序列。

简单来讲,时间戳就是给一个信息盖上时间的“烙印”。在区块链系统中只要发生了一件事,经过大家确认后,就会打上一个时间的烙印,最后按照时间的顺序,留下一份记录,且这个记录任何人都无法篡改。

aeiA7n3.jpg!web

所以,时间戳的本质,就是按时间顺序记录事件数据。那时间戳的工作原理是什么?它是如何解决双花问题呢?下面小K君就给大家具体讲解一下其中的过程。

时间戳是如何解决双花问题的

时间戳的工作原理是这样的:

第一、在区块链网络中,当一笔交易产生的时候,系统会自动生成交易数据(包括转出地址、转入地址、交易金额、数字签名等)的时间戳标记;

第二、按照时间戳的标记顺序,某个节点会将这些交易数据打包到区块之中;

第三、一个完整的区块经过整个区块链网络的认证后,该节点会对这个新产生的区块进行区块的时间戳标记;

第四、标记之后,会通过广播的方式,同步给全网的所有节点,这样每个节点手里都有一份这个区块的所有信息,包括时间戳,这样就形成了一个去中心化的分布式时间戳。

第五、新产生的区块会按照时间戳的标记跟以前打包好的区块按顺序依次相连,形成一条有序的不可纂改的区块链。

jm6zAjI.jpg!web

所以,我们所谈论的区块链,本质上就是一个在P2P网络上通过节点间的共识算法实现的分布式时间戳服务,整个网络具备可追溯和不可篡改的特性。

在明白了这一点后,我们再来看看时间戳是如何解决双花问题的。

假设A将1个BTC同时转账给B和C,那两笔交易中仅有一笔会成功完成。因为系统中的节点会根据时间戳来选择记录先接收到的那笔交易,先被记录的交易会通过上述的流程打包到区块链网络之中。

yi6rMjU.jpg!web

当第一笔交易完成后,第二笔交易的数据在上传到区块链网络的过程中,节点就会通过时间戳的顺序,追溯到这笔钱在之前已经划过一次,从而判断后面的这次转账为异常数据,就不会再有一笔数字资产被花掉两次或多次的可能了,从而解决了双花问题。

补充一点,因为时间戳具备不可纂改、可追溯、透明化等特点,所以除了解决双花问题之外在知识产权保护方面也有重要作用。

比如你想发表一篇学术论文,在发表之前想找行业专家指点一下,但是又担心被别人用他的名义偷偷发表,这个时候你就可以先把论文保存在区块链上,就会被打上时间戳,生成独一无二的哈希值。这样就可以证明自己的原创版权,且链上每个节点记录的人都可以为你作证。

总的来说,时间戳就是一个给信息盖上时间的“烙印”的方法,目前,其作为区块链的核心技术之一,是解决比特币双花问题的重要手段。

FRbAvuz.jpg!web

以上就是我们本期科普的全部内容啦!如果您对区块链有什么看法或是疑问,可以在后台留言,小K君会为大家答疑解惑哦,欢迎大家留言提问。

- END -


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK