—撰文|Cobo金庫大掌柜
相信所有用過“去中心化錢包”的同學對助記詞都不陌生。
不管是硬件錢包還是軟件錢包,創建錢包都有兩種方式:
創建助記詞:錢包隨機生成一組助記詞,用戶需要抄寫備份
導入助記詞:用戶導入一套已有的助記詞到錢包內恢復資產
那助記詞又是如何變成我們的主私鑰,進而用HD的方式生成所有子私鑰的呢?
其實很簡單。一套助記詞,經過2048輪的HMAC-SHA512算法的狂虐,生成一個主私鑰,進而派生出一套HD錢包。
所以,助記詞和主私鑰是一一對應的關系,一套助記詞對應一個主私鑰,也就是對應一個HD錢包。
大家這里有沒有想過一個很恐怖的問題:
比方說這是掌柜手里的12個助記詞:
cattonightsadnesswalnutfancaptainsureassumegorillacautionstorypull
方便起見,我們稱這套詞為
但是,當掌柜把導入錢包的時候,第一個詞手抖輸入成了dog,于是助記詞變成了:
Zcash發布最新版本zcashd 4.2.0:12月22日,Zcash開發公司Electric Coin Company(ECC)官方宣布,已推出最新版本zcashd 4.2.0。該版本將使用ed25519-zebra機制替換libsodium ed25519機制進行進行簽名驗證。[2020/12/22 16:08:22]
dogtonightsadnesswalnutfancaptainsureassumegorillacautionstorypull
方便起見,我們稱這套詞為
這時候就是悲劇的開始。
作為一名純24K囤幣黨,掌柜千辛萬苦省吃儉用,把所有信仰都充值到了下的地址上。
然后有一天,可能因為手機或者硬件錢包壞了,也可能是又手抖刪除了錢包App,總之種種原因,導致需要拿出助記詞才能恢復資產。
此時,掌柜掏出了那套塵封已久的,將它導入了錢包。
前面已經提過,一套助記詞跟一個HD錢包是一一對應的。此時用恢復得到的地址,跟的地址是不一樣的。也就是說,下,沒有任何資產。
因為誤輸入了一個助記詞dog,掌柜的所有資產和信仰,全丟了。
BHD活動總監劉友建:BHD要做共識機制的龍頭幣:據悉,2020年7月4日,由LBank主辦,金色財經聯合協辦的“LBank和他的朋友們-2020百城計劃”分享會在濟南舉行。會上劉友建就“BHD的發展”發表了主題演講,其中就“POC容量證明共識機制”展開了分享:POC與POW一樣安全,幣價有支撐,但是能耗低、噪音少,人人可以參與。同時,他還提及,BHD未來全網容量會達到10,000P,基于容量本位的分布式加密穩定貨幣系統,為應用層服務,做共識機制的龍頭幣。[2020/7/4]
是不是很恐怖?
其實機智的比特幣開發者早就想到了這一切。他們定義了助記詞的標準協議,會對所有助記詞有效與否,進行校驗。
在講“校驗原理”之前,掌柜先普及一個關于助記詞的基礎知識。
BIP39定義了助記詞的標準,標準內含有一份2048個詞的詞表。所有錢包只要遵循BIP39,生成的助記詞都是從這個2048個詞的詞表中獲得的,的所有詞也不例外。
2048詞表的每個單詞我們都標上序號,從“0”到“2047”。最大的序號“2047”用二進制表示剛好是11位“11111111111”。所以詞表里的每一個詞,我們都可以根據它的序號對應一個11位的二進制數。對于轉換二進制后不滿11位的,我們在它的二進制數前面補“0”,直至滿足11位。
Sparrow完成350萬美元A輪融資,BitMEX母公司HDR Group領投:新加坡期權交易平臺Sparrow宣布完成350萬美元A輪融資,BitMEX母公司HDR Group領投,Signum Capital、Du Capital和FinLab EOS VC參投。
BitMEX首席執行官Arthur Hayes表示:“我們已看到數字資產期權領域的顯著增長,這里還有很多未開發的機會。我們為Sparrow的成長潛力和背后的團隊感到興奮,也為能領投這輪融資感到自豪。”(Crowdfund Insider)[2020/6/23]
比如cat是第287個詞,序列號為“286”,其對應的11位二進制數就是“100011110”,我們補足11位,將其表示為“00100011110”。
接下來我們看看具體的“校驗”步驟:
第一步:我們按照上面的方法,根據2048詞表找到12個詞對應的11位二進制數。
第二步:我們把這12個詞對應的11位二進制數串在一起,得到一個132位的二進制數:
001000111101110010010010111101111111101101100101001011000100010001110110100000000110111101100100101001001001011101011010010101101010
韓國現代集團區塊鏈子公司Hdac在其區塊鏈網絡上推出首個Dapp:韓國現代(Hyundai)集團旗下區塊鏈和加密貨幣子公司Hdac表示,它已經監督了第一個去中心化應用程序(Dapp)在其區塊鏈網絡上的發布,并稱一個“區塊鏈驅動的交易平臺”將隨后推出。(Cryptonews)[2020/3/18]
第三步:我們把這個132位的二進制數拆成兩部分,左邊的128位,以及右邊的4位。
左邊128位:00100011110111001001001011110111111110110110010100101100010001000111011010000000011011110110010010100100100101110101101001010110
右邊4位:1010
第四步:我們開始校驗這套助記詞的有效性。
判斷有效性的原理:左邊128位二進制數的SHA256的結果的前4位,必須等于右邊的4位二進制數。
我們驗算一下的結果。
把左邊128位二進制數放進一個在線SHA256計算器
可以看到,SHA256的結果的前4位,正好就是132位二進制數的右邊4位“1010”。
動態 | 印度銀行HDFC要求客戶簽訂加密貨幣監管同意書:據ambcrypto報道,印度銀行HDFC迫使他們的客戶簽訂加密貨幣監管同意書,并稱如果客戶繼續進行加密交易,銀行將關閉他們的帳戶。據悉,HDFC是印度第四大私營銀行,最大的放貸銀行。[2019/1/23]
這就說明,通過了校驗,是一套有效助記詞,然后就能進入后面的主私鑰生成流程。
那我們馬上來做個練習,看看輸錯一個單詞的能否通過校驗:
第一步: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
Tags:CATSHADOG區塊鏈YieldificationBaby Shark TankCYBRRRDOGEfuture幣區塊鏈
編者按:本文來自:Cointelegraph中文,作者:BenjaminPirus,Odaily星球日報經授權轉載.
1900/1/1 0:00:002月27號20:00,BlockManiaAMA直播第52期繼續進行,本期為硬核技術系列,BlockMania致力于將區塊鏈行業最深度的認知和思考帶給行業與公眾,歡迎其他社區跟我們合作.
1900/1/1 0:00:00編者按:本文來自藍狐筆記,Odaily星球日報經授權轉載。經常有藍狐筆記的讀者問,當前的智能合約平臺雖然不錯,但整體來說,智能合約平臺的擴展性限制了它的大規模采用,如果是這樣,新的智能合約平臺是.
1900/1/1 0:00:00QUICKTAKE?由于閃電網絡是圍繞支付通道構建的,因此很難管理網絡上的流動性。人們提出了很多想法來提高網絡流動性,包括蹦床路由和原子多路徑支付.
1900/1/1 0:00:00密碼技術和密碼分析學兩大分支,一方為紅軍,一方為藍軍,兩者缺一不可。 自古以來,密碼學領域加密和解密的故事不斷被演繹,你方唱罷,我方登場.
1900/1/1 0:00:00編者按:本文來自巴比特資訊,譯者:隔夜的粥,星球日報經授權發布。隨著疫情引發一系列黑天鵝事件,加密貨幣市場全線崩潰,市場排名第二的以太坊也出現了創紀錄的暴跌,受此影響,DeFi龍頭項目Maker.
1900/1/1 0:00:00