—撰文|Cobo金庫大掌柜
相信所有用過“去中心化錢包”的同學對助記詞都不陌生。
不管是硬件錢包還是軟件錢包,創建錢包都有兩種方式:
創建助記詞:錢包隨機生成一組助記詞,用戶需要抄寫備份
導入助記詞:用戶導入一套已有的助記詞到錢包內恢復資產
那助記詞又是如何變成我們的主私鑰,進而用HD的方式生成所有子私鑰的呢?
其實很簡單。一套助記詞,經過2048輪的HMAC-SHA512算法的狂虐,生成一個主私鑰,進而派生出一套HD錢包。
所以,助記詞和主私鑰是一一對應的關系,一套助記詞對應一個主私鑰,也就是對應一個HD錢包。
大家這里有沒有想過一個很恐怖的問題:
比方說這是掌柜手里的12個助記詞:
cattonightsadnesswalnutfancaptainsureassumegorillacautionstorypull
方便起見,我們稱這套詞為
但是,當掌柜把導入錢包的時候,第一個詞手抖輸入成了dog,于是助記詞變成了:
以太坊基金會現任EIP Editor與William將參與Timely與ETHDenver聯合舉辦的時間NFT公益拍賣:2月27日消息,以太坊基金會現任EIP Editor Victor Zhou 與 ERC721(NFT)協議第一作者 William 將參與支持 Timely 與 ETHDenver 聯合舉辦的 Donate 1 Hour 時間NFT公益拍賣活動。競拍獲得者將有機會與對應時間NFT捐贈者一對一線上交流。本次活動所獲得資金將全部捐贈至ETHDenver Scholarship以幫助更多Builder能獲得資助。
據悉,Victor Zhou為現任EIP Editor六人之一,也是以太坊社區第一位華人EIP Editor。EIP Editor負責審核所有提交ETH社區EIP協議,對以太坊社區生態發展至關重要。Victor Zhou也是ERC1202,ERC5750等協議作者,為以太坊DAO投票治理相關協議作出過重大貢獻。William是 ERC721 第一作者,打開了加密世界的 NFT 大門。William對區塊鏈的見解獨到,對全球社會,歷史,經濟制度等也有深刻思考。[2023/2/27 12:31:42]
dogtonightsadnesswalnutfancaptainsureassumegorillacautionstorypull
魚池將下線AE、HDAC礦池:據魚池公告稱,因AE、HDAC礦池的挖礦收益及礦工數量持續下降,可能導致幣種網絡安全問題增加,造成礦工損失。F2Pool魚池將于2021年1月14日08:00停止提供以上兩幣種的挖礦服務。[2021/1/12 15:58:37]
方便起見,我們稱這套詞為
這時候就是悲劇的開始。
作為一名純24K囤幣黨,掌柜千辛萬苦省吃儉用,把所有信仰都充值到了下的地址上。
然后有一天,可能因為手機或者硬件錢包壞了,也可能是又手抖刪除了錢包App,總之種種原因,導致需要拿出助記詞才能恢復資產。
此時,掌柜掏出了那套塵封已久的,將它導入了錢包。
前面已經提過,一套助記詞跟一個HD錢包是一一對應的。此時用恢復得到的地址,跟的地址是不一樣的。也就是說,下,沒有任何資產。
因為誤輸入了一個助記詞dog,掌柜的所有資產和信仰,全丟了。
是不是很恐怖?
其實機智的比特幣開發者早就想到了這一切。他們定義了助記詞的標準協議,會對所有助記詞有效與否,進行校驗。
越南HDBank首次完成基于區塊鏈的信用證交易:越南HDBank已在區塊鏈平臺上開展信用證的發行、交單和支付業務。Century Synthetic Fibre Corporation、Tainan Spinning Co. Ltd以及CTBC是HDBank區塊鏈平臺上信用證交易的第一批參與者。與傳統方式相比,基于區塊鏈的信用證交易提供了更高的安全性,減少了處理交易所需的時間(只需要大約兩個小時),減少了文書工作和錯誤。
此前消息,越南HDBank已加入區塊鏈貿易融資網絡Contour。Contour專注于改善信用證(LC)的簽發過程,傳統交易中信用證的簽發需要紙張記錄,處理耗時且費用昂貴,通過在區塊鏈網絡上對信用證進行數字化處理,可大大減少處理時間和成本,提高市場效率。(bizhub)[2021/1/6 16:34:04]
在講“校驗原理”之前,掌柜先普及一個關于助記詞的基礎知識。
BIP39定義了助記詞的標準,標準內含有一份2048個詞的詞表。所有錢包只要遵循BIP39,生成的助記詞都是從這個2048個詞的詞表中獲得的,的所有詞也不例外。
2048詞表的每個單詞我們都標上序號,從“0”到“2047”。最大的序號“2047”用二進制表示剛好是11位“11111111111”。所以詞表里的每一個詞,我們都可以根據它的序號對應一個11位的二進制數。對于轉換二進制后不滿11位的,我們在它的二進制數前面補“0”,直至滿足11位。
動態 | ConsenSys創始人及V神分別為MolochDAO捐助1000枚ETH:據coindesk報道,SpankChain首席執行官Ameen Soleimani的以太坊資助計劃MolochDAO宣布,已經從ConsenSys創始人Joseph Lubin和V神(Vitalik Buterin)處各獲得了1000枚ETH,還有來自ConsenSys和以太坊基金會的一些人的2000枚ETH。[2019/5/11]
比如cat是第287個詞,序列號為“286”,其對應的11位二進制數就是“100011110”,我們補足11位,將其表示為“00100011110”。
接下來我們看看具體的“校驗”步驟:
第一步:我們按照上面的方法,根據2048詞表找到12個詞對應的11位二進制數。
第二步:我們把這12個詞對應的11位二進制數串在一起,得到一個132位的二進制數:
001000111101110010010010111101111111101101100101001011000100010001110110100000000110111101100100101001001001011101011010010101101010
動態 | Bchd開發出可替代BCH全節點的公開API:據bitcoin.com報道,Bchd開發者宣布用go(golang)語言編寫了可替代BCH全節點的gRPC API。其可以為用戶提供了一個高性能且可靠的服務器,具有快速同步模式等功能,允許客戶端的初始鏈在記錄時間內同步下載。該節點還包括BIP113,157,158等屬性和可調整區塊大小上限。[2019/5/4]
第三步:我們把這個132位的二進制數拆成兩部分,左邊的128位,以及右邊的4位。
左邊128位:00100011110111001001001011110111111110110110010100101100010001000111011010000000011011110110010010100100100101110101101001010110
右邊4位:1010
第四步:我們開始校驗這套助記詞的有效性。
判斷有效性的原理:左邊128位二進制數的SHA256的結果的前4位,必須等于右邊的4位二進制數。
我們驗算一下的結果。
把左邊128位二進制數放進一個在線SHA256計算器
可以看到,SHA256的結果的前4位,正好就是132位二進制數的右邊4位“1010”。
這就說明,通過了校驗,是一套有效助記詞,然后就能進入后面的主私鑰生成流程。
那我們馬上來做個練習,看看輸錯一個單詞的能否通過校驗:
第一步:12個詞對應詞表的11位二進制數如下:
第二步:把這12個詞對應的11位二進制數串在一起,得到一個132位的二進制數:
010000001001110010010010111101111111101101100101001011000100010001110110100000000110111101100100101001001001011101011010010101101010
第三步:把這個132位的二進制數拆成兩部分,左邊的128位,以及右邊的4位:
左邊128位:
01000000100111001001001011110111111110110110010100101100010001000111011010000000011011110110010010100100100101110101101001010110
右邊4位:1010
第四步:把左邊128位二進制數放進SHA256計算器。
可以看到,SHA256的結果的前4位是“0010”,與132位二進制數的右邊4位“1010”不一致。
這樣,這組就無法通過校驗,符合標準BIP39協議開發的錢包App會提醒用戶檢查自己的助記詞。此時用戶會發現錯誤,把“dog”改成正確的“cat”,才能通過校驗,完成錢包創建,也就能避免悲劇的發生。
最后,我們來檢查一下作業,來看看在輸入一套無效助記詞時,中外知名的HD錢包們會不會根據標準BIP39協議,檢查出助記詞的錯誤呢?
因為只要輸入一套無效助記詞,就可以達到檢查的目的,所以方便起見我們就不輸入復雜的助記詞,直接輸入12個cat。檢查結果如下:
第一家:imToken成功通過考驗!
第二家:火幣錢包成功通過考驗!
第三家:TrustWallet成功通過考驗!
第四家:BRD成功通過考驗!
第五家:BitPay成功通過考驗!
第六家:imKey成功通過考驗!
第七家:CoboWallet和Cobo金庫,成功通過考驗!
!webp\"data-img-size-val=\"305,559\"width=\"305\"\u002F\\>
第八家:比特派錢包,未做助記詞校驗,無效助記詞可以生成錢包,沒有提示助記詞錯誤。
第九家:硬件錢包比特護盾。比特護盾的助記詞是在手機端輸入,在輸入12個助記詞的時候會有混淆詞,輸入24個助記詞的時候沒有,所以我們輸入24個cat試了一下,結果是沒有提示助記詞錯誤的
最后,給大家提醒一個硬件錢包風險點:
掌柜在檢查各校驗助記詞的作業時發現,有些硬件錢包是在手機端完成助記詞輸入的。
我們之所以使用硬件錢包,就是為了將助記詞\u002F私鑰脫網保存,在聯網設備上輸入助記詞就完全失去了硬件錢包的意義。
這里有一種解決辦法是在手機端導入助記詞到硬件錢包的時候,在手機端打亂詞序并加入混淆詞,混淆詞的工作原理是:比如我們的助記詞是11個abandon+about,當我們在手機端輸入助記詞時,冷端會提示:
請在手機輸入第3個助記詞
請在手機輸入cat
請在手機輸入第12個助記詞
請在手機輸入dog
…
請在手機輸入第6個助記詞
請在手機輸入region
cat,dog,region就是混淆詞
但是混淆詞+打亂詞序導入,真的有用嗎?
如果12個詞的助記詞,加上12個混淆詞,都被黑客劫持,黑客通過上文提到的校驗助記詞有效性的形式暴力破解出正確的助記詞,需要做1295295050649600次哈希,這個數字看著很大,但是螞蟻S17+的算力已經達到了每秒73000000000000次哈希。暴力破解出正確的12個助記詞只需要18秒。
參考鏈接:
https:\u002F\u002Fgithub.com\u002F
https:\u002F\u002Fcryptii.com\u002F
編者按:本文來自:威廉閑談,作者:陳威廉,Odaily星球日報經授權轉載。今天這個文是最近暴跌的有感而發,也是我一直以來的思考.
1900/1/1 0:00:00文|黎哲翁編輯|畢彤彤來源|PANews沒能熬過監管寒冬的印度交易所Koinex倒在去年6月的酷夏,而最高院如同“春雷”般的審判,卻在一夜之間給尚存的交易所帶來了數倍的交易量增長.
1900/1/1 0:00:00這一陣子的世界局勢相當不安,似乎到處都是黑天鵝,到處都是不穩定因素。股市除了暴跌還是暴跌;黃金也沒有像以往那樣在混亂的局勢中單邊上漲而是上躥下跳;昨天的原油又發生史詩級暴跌;幣圈也是雞犬不寧,比.
1900/1/1 0:00:00文|王也編輯|Mandy王夢蝶出品|Odaily星球日報 在剛剛過去的2月,DEX月交易量創下了歷史新高.
1900/1/1 0:00:00編者按:本文來自中本小蔥,Odaily星球日報經授權發布。作為世界第三大加密貨幣,瑞波幣以94億市值居于比特幣和以太坊之后.
1900/1/1 0:00:00編者按:本文來自鏈聞ChainNews,撰文:ChrisBurniske,加密貨幣投資機構Placeholder合伙人,翻譯:盧江飛,星球日報經授權發布.
1900/1/1 0:00:00