如果一筆交易被確認(rèn)了足夠多次,該交易即不可撤銷、不可逆轉(zhuǎn)。這意味著,如果一個人錯誤地把比特幣打到另外一個人的合法地址中,除非對方愿意把比特幣再打回來,否則這個人的比特幣將永遠(yuǎn)無法追回。因為比特幣世界不存在仲裁者,無法強制用戶進(jìn)行操作,因此錯誤的交易能否被挽回,只取決于對方的自覺性。
基于同樣的原因,如果用戶的錢包文件(私鑰)損壞,就意味著錢包包含的所有地址上的所有比特幣都徹底丟失了,徹底躺在了交易記錄的歷史中,任何人都可以看到它,但卻得不到。因為這里可沒有拿身份證找回這一碼事。而如果想通過破解私鑰的辦法拿回丟失的比特幣,只能等到量子計算機出現(xiàn)了。依據(jù)當(dāng)前的加密理論,只有量子計算機才有可能在較短時間內(nèi)破解橢圓曲線加密算法。
比特幣之父中本聰在設(shè)計比特幣模型時,就將其設(shè)定成去中心化的,在結(jié)構(gòu)上使用P2P(Peer-To-Peer,點對點)網(wǎng)絡(luò)模型。這種網(wǎng)絡(luò)的特點是,不需要中央服務(wù)器,每一臺聯(lián)網(wǎng)電腦都是一個獨立的個體,通過協(xié)議連接到其他成百上千臺電腦,最后全球的電腦能夠連接成一個密密麻麻的網(wǎng)絡(luò)。
在這個P2P網(wǎng)絡(luò)上的所有電腦都直接或者間接連通,某一個節(jié)點上發(fā)出的信息,最終可以擴散到全球所有節(jié)點。舉例而言,A在中國,B在美國,A和B的連通方式可以是直接連接,也可以是通過位于歐洲的C電腦搭橋間接連接起來。因此,即使其中一部分節(jié)點發(fā)生故障,整個網(wǎng)絡(luò)的通信不會受到顯著影響。
所有節(jié)點均可直接或間接連通的特點意味著P2P網(wǎng)絡(luò)一旦啟動,就無法關(guān)閉,除非所有聯(lián)網(wǎng)的電腦全部關(guān)機,或者全部關(guān)閉了比特幣客戶端。
與此同時,對比特幣網(wǎng)絡(luò)的維護也是去中心化的,不存在獨立的第三方對網(wǎng)絡(luò)進(jìn)行集中監(jiān)管。比特幣的安全支付與流通由礦工維護,而礦工分布于全球各地,彼此通過競爭監(jiān)管交易、獲得獎勵,這一互相協(xié)作同時又互相競爭的群體很難被外部力量掌控。通過對礦工的獎勵,比特幣實現(xiàn)了發(fā)行的去中心化,沒有任何一個機構(gòu)或個人可以集中發(fā)行比特幣,比特幣在礦工成功搶到記賬權(quán)時自動發(fā)行。
這些去中心化的措施,使得比特幣網(wǎng)絡(luò)異常穩(wěn)固,由算法發(fā)行決定的發(fā)行機制、競爭性的維護機制使人們不用擔(dān)心比特幣被個別人或組織控制、利用,也不用擔(dān)心網(wǎng)絡(luò)被關(guān)閉、比特幣被沒收,因此,比特幣的信心支撐非常穩(wěn)固。
P2P網(wǎng)絡(luò)的連通性幾乎無懈可擊,但是信任問題無法只通過P2P網(wǎng)絡(luò)解決。例如,A發(fā)出一條信息給B,B通過P2P網(wǎng)絡(luò)最終接收到此信息。這條信息可以是直接從A電腦傳遞過來,也可能是通過多臺電腦轉(zhuǎn)手傳遞過來。于是B會有兩個問題:第一,這條信息到底是不是由A發(fā)送的?第二,這條信息是否可能被人窺探乃至篡改過?
這就回到了我們上節(jié)提到的公鑰、私鑰和非對稱加密技術(shù)。A要發(fā)送一條信息給B,確保這個信息只有B才能解密。那么A就用B的公鑰(公鑰是公開的,整個P2P網(wǎng)絡(luò)都知道B的公鑰)加密原始信息,這條信息在整個P2P網(wǎng)絡(luò)上傳播,雖然所有人都有B的公鑰,但是用公鑰無法解密這條信息,只有B的私鑰才能解開。最后B收到這條信息,用自己的私鑰解密,讀到A發(fā)來的消息。
那么A怎么證明自己是這條信息的發(fā)出者呢?在網(wǎng)絡(luò)上,每個人都可以把自己偽裝成任何人,B收到信息時,可能傳遞信息給B的那臺電腦會聲稱它就是A,B當(dāng)然不能輕信,那么有什么辦法可以使B確認(rèn)這條消息是由A發(fā)出的呢?
很簡單,A只要把消息分兩步加密就可以了:第一步,用A自己的私鑰對原始信息做第一層加密;第二步,在上一步獲得的數(shù)據(jù)基礎(chǔ)上再用B的公鑰做第二層加密。B收到這個加密的信息后,以相反的次序做兩次解密操作:第一步,用B自己的私鑰解密收到的信息,得到被A的私鑰加密過的信息;第二步,在第一步獲得的數(shù)據(jù)基礎(chǔ)上用A的公鑰再解密一次即得到未加密信息。
第一層加密的目的是證明這個信息是由A加密并發(fā)出的,因為只有A的私鑰才能完成這樣的加密,這一步也叫做數(shù)字簽名,它排除了消息是別人偽造或者別人冒充A的可能性。第二層加密的目的是確保信息只有B能夠解密、看到未加密信息,因為只有B有解密私鑰,即使別人看到了加密后的信息,也無法解密,更無法篡改。
有了這一密碼學(xué)技術(shù)保障,即使在匿名的P2P環(huán)境中,也無須擔(dān)心比特幣網(wǎng)絡(luò)通信的安全性,更不用擔(dān)心有人“冒領(lǐng)”比特幣。