數字錢包檔案wallet.dat損壞怎麼解決?當錢包檔案wallet.dat出現損壞情況的時候,不要著急,如今各大數字貨幣交易網站比如BHCX都有這樣的修復功能,需要使用正確的方法來修復,否則只會對其造成更大的損害,給我們帶來更多的損失。
最近幾年以來,伴隨著比特幣的誕生,數字貨幣行業獲得了飛速的發展,越來越多的人開始關注到這個不曾瞭解的行業,也有不少人夠買過一些數字貨幣進行嘗試。可能中本聰提出比特幣的時候是萬萬沒想到的吧。很多人剛瞭解數字貨幣的時候是感到陌生的,還有太多的專有名詞從來沒有見過,我們鏈報的宗旨就是幫助那些還不太瞭解數字貨幣的朋友,有什麼還不瞭解的問題可以儘管提出來,小編為大家一一解答。
過去半年裡小太的日常:
“比太錢包的wallet.dat放哪裡啦?”
“比太沒有wallet.dat”
“不可能,所有的比特幣錢包都有wallet.dat,沒wallet.dat的怎麼能叫錢包?”
這個比特幣老玩家們經常掛在嘴邊的“wallet.dat”到底是何方神聖呢?
我們知道,從早期的比特幣客戶端(bitcoin-qt)開始,中本聰就設計了一個叫“wallet.dat”的檔案,用來存放比特幣私鑰及相關交易。直到今天,官方的qt/core以及大部分第三方客戶端都採用了類似的方案。
比特幣玩家們透過努力學習,掌握了非常多的wallet.dat使用“技巧”,比如說,如何備份wallet.dat,錢包損壞如何恢復,甚至有人送比特幣也是直接給一個wallet.dat(儲存在光碟或隨身碟上)。對於大部分比特幣使用者來說,比特幣就是wallet.dat,wallet.dat就是比特幣。
當然,這其實並不十分準確,wallet.dat只是一種不太合理的檔案儲存方式(序列化或資料庫),比特幣就是比特幣,它與wallet.dat一點關係都沒有。
比特幣的產權無論是過去、現在還是未來,都只由一個東西來確定,那就是私鑰。誰掌握私鑰,誰就控制著該地址上的比特幣,弄丟私鑰,比特幣就沒了。 重要的是私鑰,那交易呢?難道交易不重要嗎?比特幣的區塊鏈總賬上記錄的不都是交易嗎?
交易的確也很重要,歷史交易記錄決定了某地址上的比特幣餘額,決定了您能花費多少錢。但重要的是區塊鏈(Blockchain)上的交易,而不是您錢包檔案wallet.dat裡的交易。任何人都可以在自己的wallet.dat中編造出一個假的交易,嘗試著去花費,只是其它比特幣節點並不會接受這筆交易而已。
也就是說,wallet.dat中存放的那些交易,僅僅是軟體本身為了方便查詢而採取的一種資料結構而已,畢竟,總不能每次查詢相關地址的歷史交易,就去檢索整個區塊鏈吧?
為了達到這個目的,將那些與錢包地址相關的比特幣交易存放在wallet.dat中,就成了過去最常用的一種解決方案,跟這個檔案打交道也就成了比特幣使用者們的“日常”。
那問題又來了,為什麼要把交易和私鑰存放在一起?
估計的答案是,中本聰最初就是這麼設計的,後來大家也就繼續這麼做了。
這種設計的壞處很多:(這也是小太為什麼會放棄bitcoinj而重新開發了bitherj的原因之一)
1、每同步到一個新區塊,都要更新wallet.dat,也就是說,要對存放私鑰的檔案進行寫操作,這既存在效能問題,也增加了寫壞私鑰資料的潛在風險;
2、對於普通使用者,備份wallet.dat的難度遠大於直接備份私鑰,風險當然也更高,備份檔案的有效性也很難驗證;
3、區塊同步時會一直更新wallet.dat檔案,殺程序可能會導致wallet.dat與記憶體中的wallet物件不一致,有時可能需要修復,某些情況下甚至需要重置整個區塊鏈資料;
4、錢包的擴充套件性嚴格受制於wallet.dat,比如說,像交易所或電子商務解決方案提供商,就無法採用bitcoin-core的解決方案。經常聽他們說,“我們需要的地址太多,qt滿足不了,只能基於qt改”。其實仔細一想,幾百萬甚至幾千萬條地址記錄,對於資料庫技術來說,都不能算是大資料量,怎麼反倒成了困擾比特幣行業的問題呢?
5、無法實現冷熱分離的模型,私鑰和交易存放在一起,交易需要與區塊鏈進行同步,這也就意味著私鑰是“熱”的,想“冷”?改程式吧;
把交易和私鑰放一起的壞處這麼多,那我們又該怎麼辦呢?
很簡單,交易是交易,私鑰是私鑰,這兩者原本就不是一回事,千萬別放一起。
對於使用者來說,最重要的永遠是私鑰,有了私鑰,任何時候都可以想辦法從比特幣區塊鏈上獲取到相關的交易,比如採用SPV輕錢包模式與區塊鏈進行同步,或者從可資信賴的第三方區塊查詢服務(blockchain.info、blockmeta.info等)API上獲取交易資料,這些方式都可以,只要獲取的資料與比特幣區塊鏈一致就沒有問題。 錢包本身可以提供任何一種私鑰儲存方式,只要足夠安全可靠,文字、二維碼、blockchain.info的json格式檔案等,都是好方法。
這樣,使用者就無需學習wallet.dat,也不用再去備份這個檔案。使用者只需要明白一件事,私鑰很重要,私鑰決定產權,要備份、要保護的也是私鑰。
因為喬布斯和他的iPhone,我們在使用智慧手機時終於不用學習“檔案”這個惱人的概念。沒想到比特幣又讓大家重新糾結起wallet.dat,這到底是退步呢?還是退步呢?忘了wallet.dat吧,管好您的比特幣,不需要檔案,只需要私鑰。