—撰文|Cobo金庫大掌柜
相信所有用過“去中心化錢包”的同學對助記詞都不陌生。
不管是硬件錢包還是軟件錢包,創建錢包都有兩種方式:
創建助記詞:錢包隨機生成一組助記詞,用戶需要抄寫備份
導入助記詞:用戶導入一套已有的助記詞到錢包內恢復資產
那助記詞又是如何變成我們的主私鑰,進而用HD的方式生成所有子私鑰的呢?
其實很簡單。一套助記詞,經過2048輪的HMAC-SHA512算法的狂虐,生成一個主私鑰,進而派生出一套HD錢包。
所以,助記詞和主私鑰是一一對應的關系,一套助記詞對應一個主私鑰,也就是對應一個HD錢包。
大家這里有沒有想過一個很恐怖的問題:
比方說這是掌柜手里的12個助記詞:
cattonightsadnesswalnutfancaptainsureassumegorillacautionstorypull
方便起見,我們稱這套詞為
但是,當掌柜把導入錢包的時候,第一個詞手抖輸入成了dog,于是助記詞變成了:
ETHDenver Hackathon 22落幕,總計有218合格項目申請:2月21日消息,持續10天的ETHDenver 2022于2月20日落幕。今年ETHDenver由#BUIDL Week和黑客馬拉松組成,總計超過14000人聚集科羅拉多州丹佛,建設以太坊和多鏈生態。ETHDenver Hackathon 22總計有218合格項目申請,線下Hackathon正式接受171個開發者項目。
在九個賽道中,最終30個線下項目被120個評委選出,通過DoraHacks開發者平臺HackerLink.io進入MACI抗共謀二次方資助輪次,分配1,000,000 SPORK匹配獎金池。ETHDenver線上黑客馬拉松同步在DoraHacks開發者平臺開啟,在3月24日前,全球各地的開發者可以通過HackerLink.io報名參與ETHDenver 22線上Hackathon。[2022/2/21 10:04:52]
dogtonightsadnesswalnutfancaptainsureassumegorillacautionstorypull
方便起見,我們稱這套詞為
這時候就是悲劇的開始。
經紀交易商Watchdog Capital增加對Liquid Network的支持:12月2日,Blockstream側鏈Liquid Network官方發文稱,在美國證券交易委員會(SEC)注冊的經紀交易商Watchdog Capital最近增加了對Liquid Network的支持,這意味著尋求建立可靠協議的發行者得到了一個團隊的支持,該團隊了解面向零售和機構的證券及相關服務。[2020/12/2 22:50:04]
作為一名純24K囤幣黨,掌柜千辛萬苦省吃儉用,把所有信仰都充值到了下的地址上。
然后有一天,可能因為手機或者硬件錢包壞了,也可能是又手抖刪除了錢包App,總之種種原因,導致需要拿出助記詞才能恢復資產。
此時,掌柜掏出了那套塵封已久的,將它導入了錢包。
前面已經提過,一套助記詞跟一個HD錢包是一一對應的。此時用恢復得到的地址,跟的地址是不一樣的。也就是說,下,沒有任何資產。
因為誤輸入了一個助記詞dog,掌柜的所有資產和信仰,全丟了。
是不是很恐怖?
其實機智的比特幣開發者早就想到了這一切。他們定義了助記詞的標準協議,會對所有助記詞有效與否,進行校驗。
BHD持續上漲,當前漲幅22.3%:據火幣全球站數據顯示,比特硬幣BHD當前漲幅20.37%,現報價9.13美金/枚, 24小時成交額3.21億人民幣。BHD自4月13日以來持續上漲,漲幅累計超過100%。[2020/5/1]
在講“校驗原理”之前,掌柜先普及一個關于助記詞的基礎知識。
BIP39定義了助記詞的標準,標準內含有一份2048個詞的詞表。所有錢包只要遵循BIP39,生成的助記詞都是從這個2048個詞的詞表中獲得的,的所有詞也不例外。
2048詞表的每個單詞我們都標上序號,從“0”到“2047”。最大的序號“2047”用二進制表示剛好是11位“11111111111”。所以詞表里的每一個詞,我們都可以根據它的序號對應一個11位的二進制數。對于轉換二進制后不滿11位的,我們在它的二進制數前面補“0”,直至滿足11位。
比如cat是第287個詞,序列號為“286”,其對應的11位二進制數就是“100011110”,我們補足11位,將其表示為“00100011110”。
接下來我們看看具體的“校驗”步驟:
第一步:我們按照上面的方法,根據2048詞表找到12個詞對應的11位二進制數。
動態 | LINE和Nomura HD在區塊鏈領域成立商業聯盟:據Cointelegraph JP消息,LINE和Nomura Holdings 4 days(Nomura HD)宣布在區塊鏈領域建立資本和商業聯盟。Nomura HD已完成對LINE旗下虛擬貨幣和區塊鏈子公司LVC的投資。根據Nomura HD的公告,其目標是在LINE、LVC和Nomura HD之間使用區塊鏈技術提供金融服務。[2019/10/4]
第二步:我們把這12個詞對應的11位二進制數串在一起,得到一個132位的二進制數:
001000111101110010010010111101111111101101100101001011000100010001110110100000000110111101100100101001001001011101011010010101101010
第三步:我們把這個132位的二進制數拆成兩部分,左邊的128位,以及右邊的4位。
左邊128位:00100011110111001001001011110111111110110110010100101100010001000111011010000000011011110110010010100100100101110101101001010110
公告 | Zcash已發布最新版本Zcashd 2.0.7-3:據Zcash公司Electric Coin Company官方今晨消息,Zcash已發布最新版本Zcashd 2.0.7-3。新版本針對9月13日所發現的相關問題做了對應的安全修復程序。官方提醒稱,Zcashd所有運營商都應盡快升級其節點。注:官方未提及9月13日所發現問題具體內容,并稱將于之后披露具體細節。[2019/9/25]
右邊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
此前,我們已經從鏈上大數據的角度解析了2月的數據情況,在接下來的內容中,我們將從幣安、火幣這樣的頭部交易所數據細節角度,重現2月這兩家頭部交易所的鏈上數據趨勢.
1900/1/1 0:00:00同伴客數據近日對截至2020年2月末比特幣余額前100名的“大地址”進行了詳細的鏈上轉賬歷史分析,希望找到地址余額數據的整體統計規律,并結合市場歷史價格對照尋求更有價值的比特幣供需關系模型.
1900/1/1 0:00:00編者按:本文來自:Cointelegraph中文,作者:MarieHuillet,Odaily星球日報經授權轉載.
1900/1/1 0:00:00QUICKTAKE?由于閃電網絡是圍繞支付通道構建的,因此很難管理網絡上的流動性。人們提出了很多想法來提高網絡流動性,包括蹦床路由和原子多路徑支付.
1900/1/1 0:00:00近日,成都鏈安·安全實驗室對國內某著名社交平臺大量用戶信息在暗網及其他渠道出現泄露事件進行了跟蹤分析,涉及的信息販售平臺以所謂的贊助積分的方式通過BTC和ETH兜售這些敏感隱私信息.
1900/1/1 0:00:00作者|秦曉峰編輯|郝方舟出品|Odaily星球日報 一、整體概述 在本月初于巴黎舉行的以太坊社區會議ETHCC上,至少約八人被證實感染了新型冠狀病,在網上流傳的參會人員身體狀況信息表中.
1900/1/1 0:00:00