通過前面兩篇文章愁溜,我們知道比特幣的出現(xiàn)有其歷史必然性,因為它能夠提高交易的效率。同時焙蹭,從貨幣的屬性來看,比特幣已經(jīng)被定義為一種貨幣墓律。 今天我們要聊的是,比特幣作為貨幣察纯,它是如何解決“偽造”和“雙花”這個問題的,這里的雙花香伴,簡單理解就是“一份錢當(dāng)兩份來花”具则。
大家已經(jīng)普遍接受銀行賬戶和微信賬戶的余額數(shù)字其實就是貨幣這一概念了即纲。然而低斋,我們知道互聯(lián)網(wǎng)的一個特點就是復(fù)制和粘貼束昵,這個功能大家都用過。所以我們有理由擔(dān)心,銀行賬號的數(shù)字會不會也被人復(fù)制粘貼呢术奖?嚴(yán)格來說是有可能的,只是基于我們對銀行的信任佣耐,認(rèn)為銀行不會做種事情唧龄,或者說銀行做這種事情的可能性極低(央行的超發(fā)除外)。另外讽挟,銀行每年花費巨資來維護(hù)銀行系統(tǒng)的安全性丸冕,黑客也很難攻破銀行的安全系統(tǒng)去作惡。所以眼姐,我們是基于對銀行的信任佩番,認(rèn)為他會想盡辦法去解決好偽造的問題。 對于比特幣來說趟畏,這個問題就要復(fù)雜多了,因為比特幣背后沒有類似銀行這樣一個機構(gòu)來維護(hù)比特幣系統(tǒng)的安全持际,它只能通過自己的算法和設(shè)計來解決這個問題哗咆。
分布式賬本
我們知道,銀行集中管理著一個涵蓋所有賬戶的賬本晌柬,里面記錄著每一個賬戶的賬戶余額是多少,而賬戶之間的轉(zhuǎn)賬就是通過增減每一個賬戶的余額來完成的澈歉,這個賬本放在銀行系統(tǒng)內(nèi)部某一臺電腦上面埃难。比特幣系統(tǒng)也是一個大賬本,記錄著每一個賬戶的余額涡尘,也是通過余額增減來完成轉(zhuǎn)賬操作响迂。但是它這個賬本是存放在比特幣系統(tǒng)內(nèi)部的每一臺電腦上面的,即系統(tǒng)內(nèi)的每一臺電腦存放著一個完整并且一模一樣的賬本川梅,這就是我們常說的分布式賬本然遏,或者叫做分布式的數(shù)據(jù)庫。這里的“分布式”是指這個賬本不是集中存儲潮饱,而是存儲在網(wǎng)絡(luò)里面的每一臺電腦上面诫给。這正是解決“偽造”和“雙發(fā)”的核心設(shè)計。具體如何實現(xiàn)的呢凫碌,我們用一個簡單的例子來說明:
假設(shè)比特幣系統(tǒng)有4臺電腦胃榕,分別是A瞄摊、B换帜、C鹤啡、D,他們共同維護(hù)一份一模一樣的賬本祟牲。然后抖部,A打算轉(zhuǎn)一個比特幣給B,轉(zhuǎn)完之后慎颗,A把這個消息同時告訴B、C几颜、D讯屈。首先涮母,B躁愿、C、D會檢查自己的賬本確認(rèn)A是否有足夠的比特幣彤钟,核查后,B和C會同時更新自己的賬本营搅,從而轉(zhuǎn)賬成功梆砸。如果A作弊,它沒有一個比特幣帖世,或者它想把同一個比特幣即轉(zhuǎn)給B、又轉(zhuǎn)給C赂弓,這個時候B、C翔怎、D都會站出來指出A的轉(zhuǎn)賬有問題,拒絕A的轉(zhuǎn)賬姓惑,即轉(zhuǎn)賬不成功按脚。你也許你會說,我偷偷的同時改掉A唯沮、B介蛉、C、D的賬本的余額不就好了嗎币旧?
但是如果我告訴你猿妈,比特幣系統(tǒng)有成千上萬臺電腦通過自己的算力來維護(hù)這個賬本,要實現(xiàn)篡改賬本鳍刷,你需要在同一時間之內(nèi)侵入所有的電腦來完成這一動作俯抖,以目前人類已有的計算能力,成功的機會很小芬萍,或者說實施的成本高到?jīng)]有人愿意這么做。而且全網(wǎng)的電腦數(shù)量還在快速的增加芹缔,賬本被篡改的可能性變得越來越低瓶盛。