李昕遠(yuǎn)
(西安交通大學(xué)蘇州附屬中學(xué),蘇州 215008)
傳統(tǒng)的貨幣由于種種客觀原因的限制只能采用政府等中心機(jī)構(gòu)管理的方式,但是經(jīng)濟(jì)危機(jī)、金融危機(jī)的爆發(fā)讓人們發(fā)現(xiàn)這種管理方式是十分脆弱的。因此,隨著信息技術(shù)的發(fā)展,一種以互聯(lián)網(wǎng)技術(shù)為依托的新型數(shù)字虛擬貨幣——比特幣,出現(xiàn)在人們的視野中。
2008年,中本聰在論文中提出了一種去中心化的虛擬貨幣—比特幣。比特幣是建立在P2P網(wǎng)絡(luò)技術(shù)之上的。P2P的最大特點(diǎn)就是點(diǎn)對(duì)點(diǎn),也就是說在比特幣交易中不再需要中心代理機(jī)構(gòu),用戶可以直接使用虛擬貨幣進(jìn)行交易。這是比特幣與傳統(tǒng)貨幣的最大不同。比特幣的交易過程由P2P網(wǎng)絡(luò)中的節(jié)點(diǎn)組成的數(shù)據(jù)庫(kù)記錄,并由密碼學(xué)的相關(guān)設(shè)計(jì)來保證比特幣和交易過程的安全性。比特幣本身的特性使得比特幣無法被主觀人為因素操控來制造,所以比特幣在數(shù)量上是有限的。比特幣的總數(shù)量被限定在2100萬(wàn)個(gè)。
2.1.1 規(guī)則制定及改進(jìn)
比特幣具有去中心化的特征,但是仍然有屬于自己的一套規(guī)則。最早的比特幣規(guī)則是由中本聰本人親自制定的。中本聰最初的開源項(xiàng)目吸引了很多人的參加,很多人研發(fā)了不同的比特幣軟件,用戶可以根據(jù)實(shí)際情況選擇比特幣軟件,但是所有人的交易、所有軟件的運(yùn)行都必須遵循中本聰制定的最初的規(guī)則。中本聰制定的軟件代碼庫(kù)被比特幣社區(qū)作為Bitcoin Core進(jìn)行維護(hù);Bitcoin Core可視為比特幣核心版本,或標(biāo)準(zhǔn)客戶端軟件。
隨著比特幣的不斷發(fā)展,很多不完善的地方是需要進(jìn)行改進(jìn)的。比特幣社區(qū)目前主要采用BIP方式對(duì)比特幣規(guī)則進(jìn)行改進(jìn)。只有所有用戶對(duì)新BIP達(dá)成完全一致的共識(shí)后,Bitcoin Core才會(huì)支持該BIP。
2.1.2 去中心化共識(shí)機(jī)制
比特幣是沒有政府等中心機(jī)構(gòu)代管的,所以控制權(quán)在用戶自己的手中。但是這種模式很可能會(huì)導(dǎo)致這樣一個(gè)問題:比特幣被部分用戶控制造成資金危險(xiǎn)。比特幣采用了去中心化共識(shí)機(jī)制解決這一問題。
(1)新交易驗(yàn)共識(shí)。在進(jìn)行交易的時(shí)候,由各個(gè)節(jié)點(diǎn)獨(dú)立對(duì)交易進(jìn)行驗(yàn)證。如果在交易過程中發(fā)生不符合規(guī)則的交易將會(huì)被交易節(jié)點(diǎn)中止并廢除。
(2)新區(qū)塊創(chuàng)建共識(shí)。挖礦節(jié)點(diǎn)獨(dú)立將交易打包并創(chuàng)建新區(qū)塊。創(chuàng)建區(qū)塊時(shí)需要付出大量的計(jì)算工作量(POW)。
(3)新區(qū)塊驗(yàn)證共識(shí)。新區(qū)塊在創(chuàng)建的過程中需要網(wǎng)絡(luò)中的每一個(gè)節(jié)點(diǎn)獨(dú)立驗(yàn)證,然后進(jìn)入?yún)^(qū)塊鏈。在驗(yàn)證的過程中有不符合規(guī)則的區(qū)塊就會(huì)被廢除。
(4)區(qū)塊鏈選擇共識(shí)。當(dāng)存在分叉現(xiàn)象時(shí),每個(gè)節(jié)點(diǎn)獨(dú)立選擇累計(jì)工作量最大的區(qū)塊鏈。通過將每個(gè)區(qū)塊中難度目標(biāo)加起來,就可得到建立該區(qū)塊鏈所需的工作量總量。
2.2.1 數(shù)據(jù)安全性
在比特幣的使用過程中有三個(gè)方面的數(shù)據(jù):交易、區(qū)塊和區(qū)塊鏈。不同方面的數(shù)據(jù)采用不同的技術(shù)保證比特幣使用的安全性。
(1)交易數(shù)據(jù)的安全性。教育過程中的解鎖腳本中有用戶自己的數(shù)字簽名,所以必須由節(jié)點(diǎn)(用戶)親自驗(yàn)證,保證交易的安全。
(2)區(qū)塊數(shù)據(jù)的安全性。區(qū)塊頭引入Merkle根字段,驗(yàn)證區(qū)塊中是否存在某交易;在創(chuàng)建區(qū)區(qū)塊鏈的過程中引入工作量證明機(jī)制,創(chuàng)建難度和成本加大使得區(qū)塊鏈不能被隨意創(chuàng)建。
(3)區(qū)塊鏈數(shù)據(jù)安全性。區(qū)塊頭引入父區(qū)塊哈希值,確保所有區(qū)塊連接形成完整的單鏈條(分叉現(xiàn)象屬于臨時(shí)狀態(tài)),且從任意區(qū)塊均可回溯至第一個(gè)區(qū)塊;將創(chuàng)世區(qū)塊作為第一個(gè)區(qū)塊,確保區(qū)塊鏈具有信任錨(信任起點(diǎn));基于每個(gè)節(jié)點(diǎn)獨(dú)立選擇累計(jì)工作量最大的區(qū)塊鏈(去中心化共識(shí)),使得區(qū)塊深度(該區(qū)塊后面的區(qū)塊數(shù))越大越難被分叉篡改,可有效避免共識(shí)攻擊,確保不出現(xiàn)雙重支付或偽交易(被撤銷)。
2.2.2 賬戶及隱私安全性
保護(hù)比特幣賬戶的是用戶賬戶的私鑰,私鑰直接與賬戶進(jìn)行捆綁,私鑰一旦丟失,賬戶就會(huì)被封鎖而無法使用。私鑰保證在使用比特幣的過程中不會(huì)出現(xiàn)賬戶因被盜取而出現(xiàn)資金轉(zhuǎn)移的情況。保護(hù)私鑰主要有以下幾種方式。
(1)加密私鑰。采用BIP38標(biāo)準(zhǔn)(使用AES算法),先使用口令將私鑰加密,然后使用Base58Check進(jìn)行編碼。
(2)硬件錢包。私鑰的加密是信息數(shù)據(jù)的形式,所以會(huì)有被黑客或者一些不法分子使用互聯(lián)網(wǎng)技術(shù)破解的可能性,因此必須使用硬件的形式進(jìn)行雙重加密,如CPUIC卡。在使用比特幣的時(shí)候必須使用加密硬件按需生成。
(3)紙錢包。私鑰加密和硬件錢包的使用使得比特幣的安全性大大增加。但是還是會(huì)有一定的風(fēng)險(xiǎn),例如可能會(huì)有黑客從用戶使用過計(jì)算機(jī)上竊取相關(guān)信息機(jī)密(這種情況非常少見),為了防止相關(guān)意外情況的產(chǎn)生。用戶可以將私鑰加密數(shù)據(jù)打印在紙上,就不需要在計(jì)算機(jī)存儲(chǔ)加密數(shù)據(jù)。而紙錢包可以鎖在保險(xiǎn)柜或者交給銀行代為保管。
比特幣的出現(xiàn)改變了傳統(tǒng)貨幣存在的很多固有的弊端,采用去中心化的模式加強(qiáng)了用戶本身對(duì)于貨幣的控制。本文主要從管理和業(yè)務(wù)以及技術(shù)的層面上分析了保障比特幣安全性的使用的技術(shù)手段和加密方式。比特幣將會(huì)成為未來貨幣、信息技術(shù)等相關(guān)領(lǐng)域中的研究熱點(diǎn)。