“双花问题”是怎么回事?

澳门新葡亰平台9411 6

双花问题,简单讲就是一笔钱能被花两次三次很多次。为什么双花问题会成为比特币系统里面一个这么重要的问题呢?原因就在于,比特币,是虚拟货币,它是虚拟的,通过代码形式呈现出来的,是可以被复制下来的。一旦被攻破了代码漏洞,那么就可以循环使用同一笔比特币,这样一来,比特币就失去了货币的价值了。我们想一下,要是一笔钱可以花很多次,你有500块钱,你去买一件500块钱的衣服,还能循环使用,再去买一双500块钱的鞋,这样一来,钱的价值在哪里呢?它就没有价值了啊!所以,中本聪在设定比特币系统的时候,他所有的技术手段基本上都是围绕着解决双花问题的,来保护比特币作为一种货币,它自身的一个价值。其实,这个双花问题在我们现在的中心化世界里面根本不是问题,因为有银行啊!钱的交易结算都是通过银行,很安全,有问题直接找银行。但是在去中心化世界里面呢,没有银行这样一个中心机构,还必须保证一笔钱只能花一次,怎么样实现在去中心化的前提下,杜绝“双花问题”呢,这是一个难题。这里插一句,中本聪为什么如此执着的追求“去中心化”呢,自找烦恼吗?不是,他希望能够通过去中心化,来解决一些社会问题,其中最主要的问题就是因为权力机构过量发行货币造成的通货膨胀。所以总结一下他的逻辑:中心化的货币增发导致通货膨胀——所以我们要实现去中心化——去中心化要面临很多问题,最大的问题是双花问题——所以我们要解决双花问题——怎么解决双花问题?这里,中本聪就引入了UTXO和“时间戳”概念,依靠这两种手段来解决双花问题。

双花是什么花,你知道吗?

这是一篇最易懂,同时又能让你了解核心原理的比特币介绍。相信我,你一定能看懂,看完你肯定会有收获。

澳门新葡亰平台9411 1

比特币已经出现九年了,大部分人对它还是很陌生。我知道很多人是有点抗拒它的,对新事物保持距离是人的本能。但此刻,让我们卸下防备,鼓起勇气,敞开胸怀,去认识认识它。无论投资与否,了解它都非常值得,也很有意思。

“双花”问题.jpg

在我写这篇文章的时候,一个比特币的价格是10万人民币左右,最高的时候到过12万,你听了可能觉得很疯狂,不就是一串数字吗?前一段时间,达芬奇的一副名为《救世主》的油画,拍卖到4.5亿美元,神经病吧?我们姑且先把他们当做神经病,来看看比特币到底是怎么回事。

提个问题先:

澳门新葡亰平台9411 2

小明在星巴克点了大杯拿铁,付给漂亮的收银员小姐姐30元现金。喝完咖啡,小明走进隔壁的花店,准备为女朋友买玫瑰花,一摸钱包发现用来买咖啡的钱是最后的现金。这时候,小明想用已经给小姐姐的30元来买花。可能吗?

2017年比特币的价格走势

不可能。除非他从小姐姐那把钱偷回来。

我们知道世界上经常会出现一些数学家,构造一个题目或者猜想,让世人来解答,有些还有高额的奖金,给那些算出答案的人。

如果小明使用的不是现金,而是数字货币呢?

2008年,有一个类似的这种人,他化名叫中本聪。中本聪设计了一种程序,可以理解为就是给互联网世界出了一道题目,然后让大家来计算。这道题有很多个答案,一旦某个人优先算出一个答案,他将会得到奖励:程序会给他发一定数量的比特币。比特币就是这么产生的。就像老师在黑板上出了道题,很多同学上去解答,如果你第一时间算出了正确答案,就奖励给你一颗糖,这颗糖就是比特币。所以一句话概括就是:比特币是给计算这道题目,并优先算出某个答案的人,派发的奖励。

要回答这个问题,你需要了解“双花”问题。

在比特币的世界里,这名计算人员称为“矿工”,因为计算这道题需要电脑做大量的计算,就像在现实中艰难地挖矿一样。当然,我们普通人不需要去参与计算,可以通过交易所,去购买和出售比特币。

什么是“双花”?

到这不难理解吧?计算题目→算出答案→获得比特币。接着往下看。

澳门新葡亰平台9411 ,所谓“双花”,即双重支付,指的是在数字货币系统中,由于数据的可复制性,使得系统可能存在同一笔数字资产因不当操作被重复使用的情况。“双花”是任何一种数字货币都要解决的问题,为什么呢?试想一下,如果某种数字化货币能被人重复使用,同样一笔钱被花掉两次或多次,它没有价值。

中本聪出的这道题目,可以有无穷多个答案。但是奖励,也就是比特币却是有限的,是一开始就设计好的,总数是2100万个。比特币昂贵,原因之一,就是它的总量是有限的。

在上述星巴克买咖啡的情境中,小明使用的30元现金可以很容易地被小姐姐确认。但如果小明使用的是某种数字化货币,小姐姐想确认就不那么容易了。事实上,30元数字货币背后的数据是相同的,伪造数据的成本远远低于伪造现金。

比特币有了,那它能干嘛?它常被叫做数字货币、虚拟货币,被称为“货币”,但前面却冠以“数字”“虚拟”这种称号,让人觉得熟悉又陌生,这也让很多人觉得它是一种不可靠的东西。

那你可能要问了,我每天都在淘宝上买买买,也不需要使用现金。支付宝如何解决“双花问题”呢?

中本聪发明比特币是很严肃的,他想设计一套全新的货币系统。比特币的全名是Bitcoin,coin就是硬币的意思。他希望比特币能和其他货币一样,在真实世界里被认可和使用。

事实上,支付宝中的钱并不存在于数字世界。相反,它仍存在于现实世界的银行中。当小明在淘宝上下单并付款给卖家时,小明实际上做的是:

不要觉得他疯了。退回到几千年前,我们的祖先还用贝壳买过布,我们不会觉得他们傻吧。如果一个人从未来穿越回我们现在,可能会不理解我们为什么用一张纸买东西。货币不等于纸币,纸币作为货币被成熟并广泛的使用,不过几百年的历史。

  • 你把钱付给支付宝;
  • 支付宝将你的钱存在他们的银行账户中;
  • 你确认收货后,支付宝将钱从他们的银行账户中取出,并支付给卖家。

不过既然世界上已经有这么多货币了,我好好的人民币不用,好好的美元不用,干嘛用比特币?因为国家发行的货币,有缺点。有些已经出现,有些则是潜在的。

更简单地说,支付宝仅仅是一个第三方中介。当你走进任何一家商店,星巴克也好,花店也好,如果你想使用数字货币进行支付,你必须将钱交给一个第三方中介,可以是支付宝,也可以是微信等。这类机构对数据进行中心化管理,并通过实时修改账户余额的方法来防止“双花”的出现。只有经过第三方确认后,小姐姐们才会把咖啡和玫瑰给小明。

我选择了比特币的两个最重要的特点来说明,如果它作为一种货币,有什么好处。

这样有什么问题吗?

第一,  避免通货膨胀。

国家发行的货币会有通货膨胀的问题,并且大多数国家都处于通货膨胀中。这是最好理解又非常重要的一点,很多人好像都模模糊糊知道“通货膨胀”这个词,但其实理解得不深刻。通货就是流通中的货币,膨胀就是太多了。通货膨胀就是国家发行的货币太多了,再直白一点,就是印了太多的钱。就是这么简单。我们可能都有这样的体验,感觉物价在不断上涨,原来5块钱能吃碗面,现在要花10块钱,这就是通货膨胀的结果。因为通货膨胀,我们手中的钱会不断贬值(多印的钱会稀释掉我们手中的钱,这个道理很容易理解吧)。通货膨胀对经济的影响很大,对个人而言,通货膨胀是通过多发行货币来偷取我们的财富。

你会问,那国家为啥要多印钱呢?这个问题就很复杂了,理论上是应该按照一定的规则来发行货币的,但是……我打个比方吧,如果一个村庄使用的货币是由村长印刷的,虽然他印钱要按规则来,但本质上他是不是想印多少就印多少?

而比特币,总量只有2100万个,任何人和机构都无法多发行,因此就不会导致通货膨胀。所以,如果你赚得了一个比特币,你就拥有了这一个比特币的永久的实际价值,不会因发行过多的而“稀释”它。

人类需要为交易中第三方验证支付巨额费用。虽然每一笔交易的“中介费”并不高,但全球总共有超过75亿人,每天交易量高达以万亿级别。更值得注意的是,这类第三方机构对数据进行的是中心化管理,它们会不会有意或无意(被黑客攻击)篡改数据呢?我不知道。以支付宝、微信举例子,仅仅是因为我日常生活中常使用它们,并非有意诋毁,它们都是伟大的公司。

第二,  去中心化。

这是比特币最为重要的一个特点。理解了这点,其他许多概念都将迎刃而解。

我们现在的交易都是中心化的,我们把钱存在银行,用支付宝交易,其实是银行和支付宝在帮我们算账,我们所有的资金信息都要通过他们。

而比特币则没有也不需要一个中心化机构。这里我必须说到比特币的核心技术:区块链技术。打比方固然能让你更轻松地明白一件事的大概,但有时候只有知道了最根本的概念,你才能理解事物的本质。请务必看完,慢慢想,去理解它。

区块链是比特币的底层技术。什么是区块链,你就看这个字面意思,就是一个个链接起来的区块。这些区块没有大小之分,没有中心与地方之分,他们都是平等的。所有的这些区块组成了一个庞大的“链条”,就是整个比特币程序。这整个程序,不是由某个机构掌管的,而是存储在非常多的节点上。什么是节点?就是只要安装了比特币程序的电脑就可以算一个节点。为了便于理解,你可以把世界上的每台电脑都当做一个节点。注意,在每个节点上存储的,都是一整个比特币链条,而不是其中某一个部分。

澳门新葡亰平台9411 3

每个区块都和前一个区块链接起来

比特币没有中心,所以交易信息不是由支付宝或者银行来计算的,它是这样运作的:当一笔交易产生的时候,由矿工把交易信息打包到一个新的区块中,然后把新区块链接到主区块链上。一个区块,包含了本区块的交易信息和与上一个区块的索引信息。每次写入数据,就是创造了一个新区块。矿工做计算,就是在存储信息,也就是在建立新的区块。再回想一下前面说的比特币,当矿工算出答案,就会建了一个新区块,同时,他会得到一定数量的比特币。

接着,所有节点都会更新并存储这一新的交易信息,也就是添加上了这一个新区块,于是整个网络都知道了。就像一个公司,记账算账的,不是一台财务的电脑,而是每台电脑上都有一个大账本,并会同步和存储新的交易信息。所以它无法被篡改、销毁。(当然理论上,如果你掌握了51%的节点是有可能的,但这在现实中几乎不会发生,除非是外星人过来把整个地球一锅端了。)

复习一遍:矿工做计算→建立区块(同时获得比特币)→区块包含当前时段的交易信息→新建立的区块链接在前一个区块上→全世界所有节点都会更新这个新区块。

澳门新葡亰平台9411 4

区块链是一种去中心化的分布式数据库

去中心化有很多好处。比如显然就无法做假,比如全球化交易变得方便快捷多了,因为不用通过某个中心结构,比如你也不用担心资金被操控。比特币还有一些其他特点,像匿名性,手续费低等等,这里就不再一一介绍了。

最后,我还想再说下之前提到的一点,我们理解一件新事物,有时要在观念上做一点改变和突破,试着理解它的底层逻辑和原理,这样我们才能获得新知。我看到有句话是这样说的:你不敢买,是因为你不了解它。我这里引用这句话不是任何投资建议,但确实说得好。

好了,有人可能会问,你特么说了这么多,你就告诉我比特币到底值不值这个价?还会不会涨?这样的问题简单粗暴,我很喜欢,我们下次再聊。

那我们有没有可能,在不需要信任中心化第三方机构的情况,向某人转移数字资产?

欢迎关注我的微博:币圈十年

程序员、科学家、密码学家们花了50多年时间来解决此问题,但都没有找到好的答案,直到“中本聪”发明比特币。

微信公众号:币圈每日谈

澳门新葡亰平台9411 5

比特币作为一个去中心化的点对点电子现金系统,主要依靠未花费的交易输出(unspend
transaction output, UTXO)和时间戳来解决“双花”问题。

什么是UTXO?

比特币交易的基本单位是未花费的一个交易输出,简称UTXO。UTXO是不能再分割、被所有者锁住和记录区块链网络中的一定数量的比特币货币。当一个用户接收比特币时,金额被当作UTXO记录到区块链里。一个用户拥有的比特币实际上会被当作UTXO分散到数百个交易和数百个区块中。

“一个用户的比特币余额”,这个概念是通过比特币钱包创建的派生之物。比特币钱包通过扫描区块链并聚合所有属于该用户的UTXO来计算该用户的比特币余额。事实上,比特币现金系统中并没有账户,没有钱包,没有余额,有的只是记录在区块链中,被所有者锁住的UTXO。

当某一笔比特币交易被创建并广播到区块链网络之后,接收到此交易信息的节点会对交易进行验证,检查其是否存在于UTXO中。如果交易输出已不存在于UTXO中,则验证失败。

举个例子:

小明给李雷转账1个BTC。整个过程如下:

  • 小明要发送的那1个比特币存在于小明的UTXO中;

  • 小明发送的金额等于李雷接受的金额,即1BTC;

  • 李雷接收后,1个比特币从李雷的UTXO中解锁,进入李雷的UTXO中。

什么是时间戳?

时间戳(timestamp),一个能表示一份数据在某个特定时间之前已经存在的、
完整的、
可验证的数据。通常是一个字符序列,唯一地标识某一刻的时间。使用数字签名技术产生的数据,
签名的对象包括了原始文件信息、 签名参数、
签名时间等信息。广泛的运用在知识产权保护、 合同签字、 金融帐务、
电子报价投标、 股票交易等方面。

生活中时间戳也很常见,比如我们每天阅读的报纸。报纸记录是现实生活中曾经某一个时刻发生过的事件,我们通过报纸了解这个事件都是在事件发生之后。报纸便是该事件的时间戳,该事件一旦被写进报纸印刷成很多份分发后,便难以被后来人篡改。

比特币现金系统也引入了时间戳的概念。事实上,比特币现金系统是一个由众多节点共同参与的分布式数据库,是一个开放的大账本;由一串按照密码学方法产生的数据块,即区块组成。系统会对每一个区块的数据信息都自动加上时间戳,从而计算出一个数据加密数值,即哈希。每一个新区块都包含前一个区块的哈希,从创始区块开始,链接到当前区块链,形成区块链。

比特币现金系统本身就是构造了一个永不停息、无坚不摧的时间戳系统。系统利用数字时间戳保证每个区块按时间顺序相连成区块链,时间戳也为区块链链上每一笔数据打上时间标记。

假设小明将被存在于自己UTXO中的1个BTC同时转账给李雷和韩梅梅,两笔交易仅有一笔会成功完成。为什么呢?因为系统中的节点会选择性地记录先接收到的那笔交易。当两笔交易同时被同一节点记录,根据时间戳的数据,只有先被记录的交易才能被确认成功。

如果小明的两笔转账的时间隔得非常非常近,“小明在12点34分56秒转给李雷1个比特币”、“小明在12点34分57秒转给韩梅梅1个比特币”恰好被两个不同的节点记录,会出现“双花”吗?也不会。这两个节点会将各自挖出包含相关交易的区块同时广播到比特币网络中,此时区块链将出现分叉,剩余节点选择在他们认为的最长链上构建新的区块。最后,率先构建出新区块并成为当前最长链上的交易(通常为6个区块),才能被确认成功。之后的所有节点将在此最长链上构建新的区块。

总结一下,面对“双花问题”,比特币现金系统是这样解决的:

  • 首先,每笔交易都要先确认对应比特币之前的情况,要检查它是否存在于李雷的UTXO中。如果不在,那么该交易会被系统拒绝。

  • 如果小明用同一笔UTXO付给李雷和韩梅梅,系统中的节点只确认先接收到的那一笔。

  • 当两笔时间上很接近的交易被不同节点确认,区块链将发生分叉。剩余节点选择在他们认为的最长链上构建新的区块。当其中一笔交易被6个节点确认后,它将成为系统最长链,可以认为这笔交易获得了最终的确认。

有没有例外?

有。如果小明能掌握比特币网络中50%以上的节点,即使他落后最长的区块链(记录“小明在12点34分56秒转给李雷1个比特币”)也没关系,他可以一直在另一条区块链(记录“小明在12点34分57秒转给韩梅梅1个比特币”)上构建区块,直到追上并成为新的最长链,这就是比特币的“51%攻击”。“51%攻击”是比特币需要警惕的问题,目前尚未发生过。原因也很简单,首先没有人能轻易掌握51%的节点;其次,如果一个人或机构已经掌握51%的节点,他是比特币现金系统中的最大受益者。如果他发动51%攻击,比特币的价值将立刻归零(能够“双花”的比特币一文不值),届时他将成为最大的受害者。

总结

比特币作为一个去中心化的点对点电子现金系统,主要依靠UTXO和时间戳来解决“双花”问题,它教会世界如何在不需要信任第三方的情况下转移数字资产。


本文首发于微信公众号:郭知行

小密圈:区块链投资有道

时间就是金钱,知识就是力量。成功的投资是小心谋划、专注行事、耐心等待的副产品。欢迎你来圈子里交流,和我一起思考致富,终身成长。

澳门新葡亰平台9411 6

投资有道.png