比特幣的精巧設(shè)計(jì)
比特幣是一種虛擬貨幣,他的神奇之處在于,在一個(gè)沒(méi)有權(quán)力干預(yù)的互聯(lián)網(wǎng)世界中,虛擬的數(shù)字真得能像黃金一樣有價(jià)值。那這是為什么呢?比特幣的精巧之處在于,他的創(chuàng)始人中本聰設(shè)計(jì)了一個(gè)不能被人改變的規(guī)則,準(zhǔn)確的說(shuō)是不能被少數(shù)人改變或操控的規(guī)則。想象一下,黃金為什么會(huì)值錢(qián)?那是因?yàn)樨泿攀强繖?quán)力來(lái)維持它的價(jià)值的,如果權(quán)力不存在了,那貨幣也就等同于一堆廢紙,而黃金卻不一樣,它不需要權(quán)力來(lái)維持它的價(jià)值,因?yàn)辄S金有一個(gè)特有的屬性:稀缺(總量有限)。這也就是為什么只要社會(huì)不穩(wěn)定,金價(jià)必然會(huì)上升。
說(shuō)到這里,我相信大家應(yīng)該明白了吧,只要大家相信比特幣具有像黃金一樣的屬性,不管是怎么樣厲害的人、或者經(jīng)濟(jì)危機(jī)、甚至是戰(zhàn)亂,都無(wú)法改變比特幣預(yù)先設(shè)定的規(guī)則,那只要是這個(gè)規(guī)則的設(shè)計(jì)是合理的,那比特幣就會(huì)像黃金一樣有價(jià)值。接下來(lái),我們來(lái)看看中本聰給比特幣設(shè)計(jì)的規(guī)則:
1.總量固定:比特幣的總量被永久限制在2100萬(wàn)個(gè)之內(nèi)。
2.自運(yùn)行:比特幣通過(guò)自己的生態(tài)自己運(yùn)行,其中有買(mǎi)家、賣(mài)家還有維持秩序的礦工。
3.去中心化:比特幣是運(yùn)行在一個(gè)去中心化的網(wǎng)絡(luò)中,保證少數(shù)人無(wú)法改變預(yù)設(shè)的規(guī)則。
比特幣需要什么樣的技術(shù)來(lái)支撐?
比特幣就像是一部巨大的機(jī)器,從按下他的啟動(dòng)按鈕開(kāi)始,它就按預(yù)設(shè)的規(guī)則運(yùn)行,再也沒(méi)有人可以阻止它。是不是很科幻啊?那它到底需要什么樣的技術(shù)來(lái)支撐呢?答案簡(jiǎn)單到你無(wú)法想象,支撐比特幣最核心的技術(shù)就是:共識(shí)機(jī)制。
那什么是共識(shí)機(jī)制呢?在一個(gè)去中心化的網(wǎng)絡(luò)中,從全世界接入到這個(gè)網(wǎng)絡(luò)中的計(jì)算機(jī),能夠按預(yù)定的規(guī)則達(dá)成一種共識(shí),同時(shí)當(dāng)有攻擊者進(jìn)入這個(gè)網(wǎng)絡(luò)時(shí),能夠快速的識(shí)別他們,同時(shí)把他們清理出這個(gè)網(wǎng)絡(luò)。舉個(gè)例子,如果用戶A給用戶B轉(zhuǎn)了1個(gè)比特幣,如果轉(zhuǎn)成功了,那在比特幣這個(gè)網(wǎng)絡(luò)中,所有的機(jī)器會(huì)達(dá)成一個(gè)共識(shí):A給B轉(zhuǎn)了1個(gè)比特幣。有共識(shí)機(jī)制的保證,在這個(gè)網(wǎng)絡(luò)中不會(huì)出現(xiàn)部分機(jī)器認(rèn)為轉(zhuǎn)賬成功,部分機(jī)器認(rèn)為轉(zhuǎn)賬失敗了。
有了共識(shí)機(jī)制,上面所有的規(guī)則就能開(kāi)始運(yùn)行了。首先,既然是貨幣,我們需要一個(gè)帳本,那就做一個(gè)數(shù)據(jù)庫(kù)來(lái)存儲(chǔ)這個(gè)帳本,因?yàn)橛泄沧R(shí)機(jī)制,所以帳本上記錄的數(shù)據(jù)能在全世界所有的機(jī)器上保持一致。其次,我們還要為比特幣設(shè)定一些規(guī)則,還是因?yàn)楣沧R(shí)機(jī)制,這些規(guī)則在全世界的機(jī)器上還是保持一致。
到這里,你是否明白了,為什么我說(shuō)共識(shí)機(jī)制是比特幣最最核心的技術(shù)?因?yàn)橹灰谝粋€(gè)去中心化的網(wǎng)絡(luò)中,能達(dá)成共識(shí),那剩下的都可以通過(guò)共識(shí)來(lái)建立。
區(qū)塊鏈解決的世紀(jì)難題(拜占庭將軍問(wèn)題)
比特幣底層的技術(shù)是區(qū)塊鏈,那區(qū)塊鏈?zhǔn)窃趺磥?lái)解決共識(shí)問(wèn)題的呢(這個(gè)問(wèn)題也叫拜占庭將軍問(wèn)題)?在比特幣的應(yīng)用中,區(qū)塊鏈?zhǔn)峭ㄟ^(guò)POW(工作量證明)來(lái)解決共識(shí)的。簡(jiǎn)單來(lái)說(shuō),就是給在區(qū)塊鏈中維持秩序的機(jī)器(礦工)發(fā)一道計(jì)算題,誰(shuí)先計(jì)算出正確答案,就由誰(shuí)來(lái)產(chǎn)生新區(qū)塊,并且會(huì)得到包含所有打包進(jìn)這個(gè)區(qū)塊中的所有交易的手續(xù)費(fèi)和新挖出來(lái)的比特幣。這就是POW共識(shí)機(jī)制的原理,這里還有2個(gè)問(wèn)題要解決:
1.如果是壞人計(jì)算出了結(jié)果,并制造一筆不存在的轉(zhuǎn)賬給自己會(huì)怎么樣?
2.如果兩臺(tái)機(jī)器同時(shí)計(jì)算出結(jié)果會(huì)怎么樣?
在區(qū)塊鏈的網(wǎng)絡(luò)中,雖然沒(méi)有算出正確答案的機(jī)器會(huì)聽(tīng)算出正確答案的,算出了正確答案的機(jī)器會(huì)產(chǎn)生一個(gè)區(qū)塊,并把這個(gè)區(qū)塊放在區(qū)塊鏈的頂端,收到這個(gè)區(qū)塊的所有機(jī)器,都會(huì)對(duì)這個(gè)區(qū)塊做驗(yàn)證,如果發(fā)生問(wèn)題1中所說(shuō)的情況,其它機(jī)器驗(yàn)證完成后發(fā)現(xiàn)區(qū)塊有問(wèn)題,立馬會(huì)拒絕接收新區(qū)塊,除非壞人能控制全網(wǎng)51%的算力(按目前算力的規(guī)模,這個(gè)成本是巨大的)。
如果有兩臺(tái)機(jī)器同時(shí)計(jì)算出了結(jié)果,那區(qū)塊鏈就會(huì)分叉。假設(shè)機(jī)器A和機(jī)器B同時(shí)算出了正確答案,同時(shí)因?yàn)榫W(wǎng)絡(luò)延遲的原因,在全世界的網(wǎng)絡(luò)中,會(huì)有一部分相信機(jī)器A,另一部分相信機(jī)器B。相信機(jī)器A的會(huì)在A挖出來(lái)的區(qū)塊后面繼續(xù)工作。相信機(jī)器B的會(huì)在B挖出來(lái)的區(qū)塊后面繼續(xù)工作。這時(shí),在這兩個(gè)分叉上,必然會(huì)有一個(gè)算力比另一個(gè)強(qiáng),擁有更強(qiáng)算力的那一幫機(jī)器會(huì)更早算出下一道計(jì)算題,繼續(xù)在他們的分支上增加區(qū)塊。這時(shí),這兩個(gè)分叉就會(huì)出現(xiàn)長(zhǎng)短,當(dāng)一臺(tái)礦機(jī)發(fā)現(xiàn)兩個(gè)分支時(shí),就會(huì)立馬切換到長(zhǎng)的分支上。經(jīng)過(guò)一段時(shí)間后,整個(gè)網(wǎng)絡(luò)又會(huì)回到同一個(gè)鏈上。
這就是區(qū)塊鏈解決的世紀(jì)難題,是不是很簡(jiǎn)單?但基于POW的共識(shí)機(jī)制還有明顯的缺點(diǎn)就是效率太低,挖礦耗費(fèi)了大量的電力,并且目前只能每秒處理7筆交易。在接下來(lái)的文章中,我會(huì)繼續(xù)討論P(yáng)OS、DPOS等共識(shí)機(jī)制,看看這些共識(shí)機(jī)制是怎么來(lái)解決POW的缺陷的。