比特幣的原理與運(yùn)作機(jī)制解析
眾所周知,比特幣依靠特定算法并通過大量的計(jì)算產(chǎn)生。然而,由于P2P的去中心化特性與算法本身,也將比特幣的總數(shù)量永久限制在了2100萬個(gè)。正因如此,比特幣才具有極強(qiáng)的稀缺性,這意味著其背后蘊(yùn)藏著巨大的升值空間。But!本期我們不講發(fā)家致富,而是要向各位科普一下比特幣的原理與運(yùn)作機(jī)制。
光知道掙錢 卻不知比特幣的原理與運(yùn)作機(jī)制?
比特幣是2009年由一個(gè)化名中本聰(Satoshi Nakamoto)的神秘個(gè)人(或組織)創(chuàng)建的。本質(zhì)上,比特幣就是一份數(shù)字文件,里面列舉著帳戶和金額,就像是一個(gè)賬本,這份文件的副本被保存在比特幣網(wǎng)絡(luò)的每一臺(tái)電腦中。其實(shí),在現(xiàn)實(shí)世界中,這些數(shù)字不具有任何意義,它們之所以存在價(jià)值,是因?yàn)槿藗冏栽赣闷浣灰渍鎸?shí)貨物以及購買服務(wù),并相信其他人也會(huì)這樣做。
當(dāng)你向別人轉(zhuǎn)賬時(shí),需要向整個(gè)網(wǎng)絡(luò)發(fā)送一條信息,隨后你賬戶的金額就會(huì)減少,接收者賬戶的金額就會(huì)增加,與此同時(shí),比特幣網(wǎng)絡(luò)中的節(jié)點(diǎn)或計(jì)算機(jī)會(huì)更新其賬戶副本信息,然后繼續(xù)將交易信息傳遞到其他節(jié)點(diǎn)。這種以數(shù)字計(jì)算為基礎(chǔ)的安全機(jī)制,組成了比特幣交易網(wǎng)絡(luò)本身,是一個(gè)系統(tǒng),讓一組計(jì)算機(jī)共同保存一份賬本。
說到這里,你會(huì)發(fā)現(xiàn)其實(shí)這與銀行保存賬本的方式很像,由一組計(jì)算機(jī)保存而非一個(gè)單一實(shí)體組織來保存賬本。舉例倆說,不像在銀行只有你自己知道你的交易信息,在比特幣交易網(wǎng)絡(luò)里,每個(gè)人都知道每個(gè)人的交易信息;而在現(xiàn)實(shí)生活中,你能夠信任銀行也有權(quán)起訴它(如果某些交易出了差錯(cuò)),但在比特幣網(wǎng)絡(luò)中,你每時(shí)每刻都在與陌生人打交道,因此你不能相信任何人。
換言之,比特幣系統(tǒng)的設(shè)計(jì)機(jī)制也讓“信任”沒有存在的必要。特設(shè)的數(shù)字函數(shù)確保系統(tǒng)的每個(gè)方面正常運(yùn)行。接下來,我們便為各位詳細(xì)介紹比特幣如何實(shí)現(xiàn)讓一群陌生人去管理其他人的金融交易。
簡單來說,例如A給B轉(zhuǎn)賬時(shí),他只需向比特幣網(wǎng)絡(luò)廣播一條信息,說明賬戶和金額信息,從A賬戶轉(zhuǎn)5個(gè)BTC給B賬戶,每個(gè)接收到這條信息的節(jié)點(diǎn),會(huì)更新他們的賬戶副本信息,然后繼續(xù)傳送這條交易消息,但節(jié)點(diǎn)如何能確定這條請(qǐng)求是可信的呢?因?yàn)橹挥姓嬲膿碛胁庞袡?quán)發(fā)送這條信息。
實(shí)際上,比特幣有一套密碼規(guī)則,用來解鎖和管理貨幣交易,這種密碼叫做“數(shù)字簽名”。就像現(xiàn)實(shí)生活中的親筆簽字一樣,它能夠證明交易的真實(shí)性,并通過一種數(shù)字算法實(shí)現(xiàn)。這種算法能夠防止數(shù)據(jù)復(fù)制或偽造。但與簡單的靜態(tài)密碼不同的是,每筆交易數(shù)字簽名都完全不同。因此,在比特幣交易網(wǎng)絡(luò)中你是和完全陌生的人打交道,所以你永遠(yuǎn)不要把密碼暴露給別人,因?yàn)槊艽a有被復(fù)制和重新使用的危險(xiǎn)。
數(shù)字簽名是這樣運(yùn)作的,它由兩個(gè)不同但相互關(guān)聯(lián)的密鑰構(gòu)成,“私人密鑰”用來創(chuàng)建一個(gè)數(shù)字簽名,“公共密鑰”用來讓其他人核對(duì)私人密鑰。我們可將私人密鑰看作真正的密碼,數(shù)字簽名將作為一個(gè)媒介,證明你擁有密碼,同時(shí)并不要求你將密碼信息展示出來。
在比特幣交易網(wǎng)絡(luò)中,公共密鑰其實(shí)就是“發(fā)送至”地址,所以當(dāng)你向某人轉(zhuǎn)賬時(shí),其實(shí)是將貨幣發(fā)送至對(duì)方的公共密鑰。消費(fèi)時(shí),你必須證明你是公鑰地址的(錢被轉(zhuǎn)至的地址)真正擁有者,通過交易信息和你的私鑰生成數(shù)字簽名的這個(gè)過程,可以證明你是真正擁有者的身份。
網(wǎng)絡(luò)中的其他節(jié)點(diǎn)可在一個(gè)不同的函數(shù)中,利用該數(shù)字簽名來核實(shí)它是否與你的公鑰相符。通過分析數(shù)字簽名背后的數(shù)學(xué)算法,網(wǎng)絡(luò)中的其他人就能夠核實(shí)發(fā)送人為密鑰真實(shí)擁有者,而無需真正看到密鑰。有一點(diǎn)非常重要,由于數(shù)字簽名取決于交易消息,因此每筆交易數(shù)字簽名都不相同,而且不能在另一筆交易中再次使用,而且數(shù)字簽名取決于交易信息的關(guān)系,意味著沒有人可以修改該信息。
當(dāng)該交易信息在網(wǎng)絡(luò)中傳送時(shí),因?yàn)槿魏螌?duì)交易信息的更改都會(huì)導(dǎo)致數(shù)字簽名失效。當(dāng)然,這背后的數(shù)學(xué)算法非常復(fù)雜,因此我們?cè)谶@里不做詳細(xì)的解釋,但可以提供一些關(guān)鍵詞供大家自行百度,例如‘橢圓曲線數(shù)字簽名算法’,‘?dāng)?shù)字陷門(函數(shù))’等等。
比特幣交易網(wǎng)絡(luò)中,貨幣的所有權(quán)是通過驗(yàn)證歷史交易信息進(jìn)行核實(shí)的。例如要發(fā)送5個(gè)BTC給B,A必須援引之前收到這5個(gè)或更多比特幣的歷史交易信息,這些被援引的交易記錄稱作“進(jìn)賬”,網(wǎng)絡(luò)中核實(shí)該交易信息的節(jié)點(diǎn)會(huì)查看那些“進(jìn)賬”,以確保A是真正的接收者,并確保進(jìn)賬數(shù)額為5個(gè)BTC或更多。
下面我們通過一個(gè)實(shí)例來看具體如何操作。如上圖,這筆交易援引了6個(gè)進(jìn)賬信息,總共139.6個(gè)比特幣,在出賬表格中有兩行內(nèi)容,第一行顯示退還給發(fā)送人的比特幣金額,有一條簡單的規(guī)則表示每筆交易都必須將進(jìn)賬金額用完,因此,如果你要發(fā)送的比特幣金額與任何一筆進(jìn)賬都不完全匹配,你需要將余額發(fā)送給自己。
通過這些被援引的進(jìn)賬關(guān)系,對(duì)于比特幣的所有權(quán)在網(wǎng)絡(luò)中以某種鏈條方式進(jìn)行傳遞。但你如何相信之前的歷史交易呢?當(dāng)然不能簡單相信,而是需要驗(yàn)證交易當(dāng)事人他們的進(jìn)賬。事實(shí)上,當(dāng)你開始安裝比特幣錢包軟件時(shí),該軟件會(huì)下載之前每筆交易記錄,并且會(huì)驗(yàn)證每筆交易的有效性,一直驗(yàn)證到最開始的第一筆交易。時(shí)刻記住你是在和陌生人打交道,因此必須為自己核實(shí)每筆交易,整個(gè)驗(yàn)證過程可能會(huì)花費(fèi)24多個(gè)小時(shí),但卻一勞永逸。
因此,比特幣并未采用記錄賬戶余額的方式,而是采用記錄交易信息的方式,一張信息量龐大的交易記錄表。擁有比特幣,也就意味著交易記錄表中有些交易與你的名字掛鉤,并且這些交易還沒有被消費(fèi),換言之,就是被其他交易活動(dòng)作為進(jìn)賬而引援。這種所有權(quán)結(jié)構(gòu)帶來一個(gè)有趣的結(jié)果,就是要計(jì)算你的賬戶余額,你需要對(duì)以往的每筆交易進(jìn)行計(jì)算,要對(duì)所有未消費(fèi)的進(jìn)賬進(jìn)行合計(jì)。當(dāng)然,比特幣網(wǎng)絡(luò)還能支持更復(fù)雜的交易過程,這里就不再贅述,感興趣的朋友可以自行研究一下。
總結(jié):雖然比特幣2009年就已出現(xiàn),但真正流行起來還要算2013年,其價(jià)值曾在兩個(gè)月內(nèi)暴漲了10倍之多。盡管升值空間巨大,但其投資風(fēng)險(xiǎn)也是有目共睹的,需有一顆強(qiáng)悍的心臟,應(yīng)對(duì)比特幣暴漲暴跌的走勢(shì)??傊?,投資需謹(jǐn)慎。