宇宙链 宇宙链
Ctrl+D收藏宇宙链
首页 > 火币下载 > 正文

HD钱包灵魂大检查:到底有哪些钱包经得住考验?

作者:

时间:1900/1/1 0:00:00

:"\u003Cp\u003E—撰文|Cobo金库大掌柜\u003C\u002Fp\u003E\u003Cp\u003E相信所有用过“去中心化钱包”的同学对助记词都不陌生。\u003C\u002Fp\u003E\u003Cp\u003E不管是硬件钱包还是软件钱包,创建钱包都有两种方式:\u003C\u002Fp\u003E\u003Culstyle=\"list-style-type:disc;\"class=\"list-paddingleft-2\"\u003E\u003Cli\u003E\u003Cp\u003E创建助记词:钱包随机生成一组助记词,用户需要抄写备份\u003Cbr\u002F\u003E\u003C\u002Fp\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Cp\u003E导入助记词:用户导入一套已有的助记词到钱包内恢复资产\u003C\u002Fp\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003Cp\u003E那助记词又是如何变成我们的主私钥,进而用HD的方式生成所有子私钥的呢?\u003C\u002Fp\u003E\u003Cp\u003E其实很简单。一套助记词,经过2048轮的HMAC-SHA512算法的狂虐,生成一个主私钥,进而派生出一套HD钱包。\u003C\u002Fp\u003E\u003Cp\u003E所以,助记词和主私钥是一一对应的关系,一套助记词对应一个主私钥,也就是对应一个HD钱包。\u003C\u002Fp\u003E\u003Cp\u003E大家这里有没有想过一个很恐怖的问题:\u003C\u002Fp\u003E\u003Cp\u003E比方说这是掌柜手里的12个助记词:\u003C\u002Fp\u003E\u003Cblockquote\u003E\u003Cp\u003Ecattonightsadnesswalnutfancaptainsureassumegorillacautionstorypull\u003C\u002Fp\u003E\u003Cp\u003E方便起见,我们称这套词为\u003C\u002Fp\u003E\u003C\u002Fblockquote\u003E\u003Cp\u003E但是,当掌柜把导入钱包的时候,第一个词手抖输入成了dog,于是助记词变成了:\u003C\u002Fp\u003E\u003Cblockquote\u003E\u003Cp\u003Edogtonightsadnesswalnutfancaptainsureassumegorillacautionstorypull\u003C\u002Fp\u003E\u003Cp\u003E方便起见,我们称这套词为\u003C\u002Fp\u003E\u003C\u002Fblockquote\u003E\u003Cp\u003E这时候就是悲剧的开始。\u003C\u002Fp\u003E\u003Cp\u003E作为一名纯24K囤币党,掌柜千辛万苦省吃俭用,把所有信仰都充值到了下的地址上。\u003C\u002Fp\u003E\u003Cp\u003E然后有一天,可能因为手机或者硬件钱包坏了,也可能是又手抖删除了钱包App,总之种种原因,导致需要拿出助记词才能恢复资产。\u003C\u002Fp\u003E\u003Cp\u003E此时,掌柜掏出了那套尘封已久的,将它导入了钱包。\u003C\u002Fp\u003E\u003Cp\u003E前面已经提过,一套助记词跟一个HD钱包是一一对应的。此时用恢复得到的地址,跟的地址是不一样的。也就是说,下,没有任何资产。\u003C\u002Fp\u003E\u003Cp\u003E因为误输入了一个助记词dog,掌柜的所有资产和信仰,全丢了。\u003C\u002Fp\u003E\u003Cp\u003E是不是很恐怖?\u003C\u002Fp\u003E\u003Cp\u003E其实机智的比特币开发者早就想到了这一切。他们定义了助记词的标准协议,会对所有助记词有效与否,进行校验。\u003C\u002Fp\u003E\u003Cp\u003E在讲“校验原理”之前,掌柜先普及一个关于助记词的基础知识。\u003C\u002Fp\u003E\u003Cp\u003EBIP39定义了助记词的标准,标准内含有一份2048个词的词表。所有钱包只要遵循BIP39,生成的助记词都是从这个2048个词的词表中获得的,的所有词也不例外。\u003C\u002Fp\u003E\u003Cp\u003E2048词表的每个单词我们都标上序号,从“0”到“2047”。最大的序号“2047”用二进制表示刚好是11位“11111111111”。所以词表里的每一个词,我们都可以根据它的序号对应一个11位的二进制数。对于转换二进制后不满11位的,我们在它的二进制数前面补“0”,直至满足11位。\u003C\u002Fp\u003E\u003Cp\u003E比如cat是第287个词,序列号为“286”,其对应的11位二进制数就是“100011110”,我们补足11位,将其表示为“00100011110”。\u003C\u002Fp\u003E\u003Cp\u003E\u003Cimgalt=\"HD钱包灵魂大检查:到底有哪些钱包经得住考验?\"src=\"https:\u002F\u002Fpiccdn.0daily.com\u002F202003\u002F06135513\u002Fd330cbiv2bjo5o8n.png!webp\"data-img-size-val=\"316,127\"\u002F\\\u003E\u003C\u002Fp\u003E\u003Cp\u003E接下来我们看看具体的“校验”步骤:\u003C\u002Fp\u003E\u003Cp\u003E第一步:我们按照上面的方法,根据2048词表找到12个词对应的11位二进制数。\u003C\u002Fp\u003E\u003Cp\u003E\u003Cimgalt=\"HD钱包灵魂大检查:到底有哪些钱包经得住考验?\"src=\"https:\u002F\u002Fpiccdn.0daily.com\u002F202003\u002F06135513\u002Fk0rl7rm3purl3qqq.png!webp\"data-img-size-val=\"913,298\"\u002F\\\u003E\u003C\u002Fp\u003E\u003Cp\u003E第二步:我们把这12个词对应的11位二进制数串在一起,得到一个132位的二进制数:\u003Cbr\u002F\u003E\u003C\u002Fp\u003E\u003Cblockquote\u003E\u003Cp\u003E001000111101110010010010111101111111101101100101001011000100010001110110100000000110111101100100101001001001011101011010010101101010\u003C\u002Fp\u003E\u003C\u002Fblockquote\u003E\u003Cp\u003E第三步:我们把这个132位的二进制数拆成两部分,左边的128位,以及右边的4位。\u003C\u002Fp\u003E\u003Cblockquote\u003E\u003Cp\u003E左边128位:00100011110111001001001011110111111110110110010100101100010001000111011010000000011011110110010010100100100101110101101001010110\u003C\u002Fp\u003E\u003Cp\u003E\u003Cspanstyle=\"background-color:#FFFFFF;font-family:"SegoeUI","LucidaGrande",Helvetica,Arial,"MicrosoftYaHei",FreeSans,Arimo,"DroidSans","wenquanyimicrohei","HiraginoSansGB","HiraginoSansGBW3",FontAwesome,sans-serif;\"\u003E右边4位:1010\u003C\u002Fspan\u003E\u003C\u002Fp\u003E\u003C\u002Fblockquote\u003E\u003Cp\u003E第四步:我们开始校验这套助记词的有效性。\u003C\u002Fp\u003E\u003Cp\u003E判断有效性的原理:左边128位二进制数的SHA256的结果的前4位,必须等于右边的4位二进制数。\u003C\u002Fp\u003E\u003Cp\u003E我们验算一下的结果。\u003C\u002Fp\u003E\u003Cp\u003E把左边128位二进制数放进一个在线SHA256计算器\u003C\u002Fp\u003E\u003Cp\u003E\u003Cimgalt=\"HD钱包灵魂大检查:到底有哪些钱包经得住考验?\"src=\"https:\u002F\u002Fpiccdn.0daily.com\u002F202003\u002F06135514\u002Fbb5m2no4ut7vzisx.png!webp\"data-img-size-val=\"1,0\"width=\"1\"\u002F\\\u003E\u003C\u002Fp\u003E\u003Cp\u003E\u003Cbr\u002F\u003E\u003C\u002Fp\u003E\u003Cp\u003E可以看到,SHA256的结果的前4位,正好就是132位二进制数的右边4位“1010”。\u003C\u002Fp\u003E\u003Cp\u003E这就说明,通过了校验,是一套有效助记词,然后就能进入后面的主私钥生成流程。\u003C\u002Fp\u003E\u003Cp\u003E那我们马上来做个练习,看看输错一个单词的能否通过校验:\u003C\u002Fp\u003E\u003Cp\u003E第一步:12个词对应词表的11位二进制数如下:\u003C\u002Fp\u003E\u003Cp\u003E\u003Cimgalt=\"HD钱包灵魂大检查:到底有哪些钱包经得住考验?\"src=\"https:\u002F\u002Fpiccdn.0daily.com\u002F202003\u002F06135514\u002Fk4b7gxf25nx9ng78.png!webp\"data-img-size-val=\"912,329\"\u002F\\\u003E\u003C\u002Fp\u003E\u003Cp\u003E第二步:把这12个词对应的11位二进制数串在一起,得到一个132位的二进制数:\u003Cbr\u002F\u003E\u003C\u002Fp\u003E\u003Cblockquote\u003E\u003Cp\u003E010000001001110010010010111101111111101101100101001011000100010001110110100000000110111101100100101001001001011101011010010101101010\u003C\u002Fp\u003E\u003C\u002Fblockquote\u003E\u003Cp\u003E第三步:把这个132位的二进制数拆成两部分,左边的128位,以及右边的4位:\u003C\u002Fp\u003E\u003Cblockquote\u003E\u003Cp\u003E左边128位:\u003Cspanstyle=\"background-color:#F8F8FA;font-family:"LantingheiSC","OpenSans",Arial,"HiraginoSansGB","MicrosoftYaHei",微软雅黑,STHeiti,"WenQuanYiMicroHei",SimSun,sans-serif;\"\u003E01000000100111001001001011110111111110110110010100101100010001000111011010000000011011110110010010100100100101110101101001010110\u003C\u002Fspan\u003E\u003C\u002Fp\u003E\u003Cp\u003E\u003Cspanstyle=\"background-color:#FFFFFF;font-family:"SegoeUI","LucidaGrande",Helvetica,Arial,"MicrosoftYaHei",FreeSans,Arimo,"DroidSans","wenquanyimicrohei","HiraginoSansGB","HiraginoSansGBW3",FontAwesome,sans-serif;\"\u003E右边4位:1010\u003C\u002Fspan\u003E\u003C\u002Fp\u003E\u003C\u002Fblockquote\u003E\u003Cp\u003E第四步:把左边128位二进制数放进SHA256计算器。\u003C\u002Fp\u003E\u003Cp\u003E\u003Cimgalt=\"HD钱包灵魂大检查:到底有哪些钱包经得住考验?\"src=\"https:\u002F\u002Fpiccdn.0daily.com\u002F202003\u002F06135514\u002Flnf6c3gsl4edfisb.png!webp\"data-img-size-val=\"1600,458\"width=\"1109\"\u002F\\\u003E\u003C\u002Fp\u003E\u003Cp\u003E\u003Cbr\u002F\u003E\u003C\u002Fp\u003E\u003Cp\u003E可以看到,SHA256的结果的前4位是“0010”,与132位二进制数的右边4位“1010”不一致。\u003C\u002Fp\u003E\u003Cp\u003E这样,这组就无法通过校验,符合标准BIP39协议开发的钱包App会提醒用户检查自己的助记词。此时用户会发现错误,把“dog”改成正确的“cat”,才能通过校验,完成钱包创建,也就能避免悲剧的发生。\u003C\u002Fp\u003E\u003Cp\u003E最后,我们来检查一下作业,来看看在输入一套无效助记词时,中外知名的HD钱包们会不会根据标准BIP39协议,检查出助记词的错误呢?\u003C\u002Fp\u003E\u003Cp\u003E因为只要输入一套无效助记词,就可以达到检查的目的,所以方便起见我们就不输入复杂的助记词,直接输入12个cat。检查结果如下:\u003C\u002Fp\u003E\u003Cp\u003E第一家:imToken成功通过考验!\u003C\u002Fp\u003E\u003Cp\u003E\u003Cimgalt=\"HD钱包灵魂大检查:到底有哪些钱包经得住考验?\"src=\"https:\u002F\u002Fpiccdn.0daily.com\u002F202003\u002F06135728\u002Fcq8m7lv9ptoedbdt.png!webp\"data-img-size-val=\"474,843\"width=\"318\"\u002F\\\u003E\u003C\u002Fp\u003E\u003Cp\u003E第二家:火币钱包成功通过考验!\u003C\u002Fp\u003E\u003Cp\u003E\u003Cimgalt=\"HD钱包灵魂大检查:到底有哪些钱包经得住考验?\"src=\"https:\u002F\u002Fpiccdn.0daily.com\u002F202003\u002F06135734\u002F3jfpzsudqhtztvqr.png!webp\"data-img-size-val=\"325,578\"width=\"325\"\u002F\\\u003E\u003C\u002Fp\u003E\u003Cp\u003E第三家:TrustWallet成功通过考验!\u003Cbr\u002F\u003E\u003C\u002Fp\u003E\u003Cp\u003E\u003Cimgalt=\"HD钱包灵魂大检查:到底有哪些钱包经得住考验?\"src=\"https:\u002F\u002Fpiccdn.0daily.com\u002F202003\u002F06135727\u002F3j9doo0zo4qnhhcs.png!webp\"data-img-size-val=\"329,585\"width=\"329\"\u002F\\\u003E\u003C\u002Fp\u003E\u003Cp\u003E第四家:BRD成功通过考验!\u003Cbr\u002F\u003E\u003C\u002Fp\u003E\u003Cp\u003E\u003Cimgalt=\"HD钱包灵魂大检查:到底有哪些钱包经得住考验?\"src=\"https:\u002F\u002Fpiccdn.0daily.com\u002F202003\u002F06135726\u002Fni89p6rz3vifx8l9.png!webp\"data-img-size-val=\"331,589\"width=\"331\"\u002F\\\u003E\u003C\u002Fp\u003E\u003Cp\u003E第五家:BitPay成功通过考验!\u003Cbr\u002F\u003E\u003C\u002Fp\u003E\u003Cp\u003E\u003Cimgalt=\"HD钱包灵魂大检查:到底有哪些钱包经得住考验?\"src=\"https:\u002F\u002Fpiccdn.0daily.com\u002F202003\u002F06135726\u002F9t0ce3q1sa6qxjwp.png!webp\"data-img-size-val=\"337,599\"width=\"337\"\u002F\\\u003E\u003C\u002Fp\u003E\u003Cp\u003E第六家:imKey成功通过考验!\u003Cbr\u002F\u003E\u003C\u002Fp\u003E\u003Cp\u003E\u003Cimgalt=\"HD钱包灵魂大检查:到底有哪些钱包经得住考验?\"src=\"https:\u002F\u002Fpiccdn.0daily.com\u002F202003\u002F06135730\u002F85x17ogc28ajoiea.png!webp\"data-img-size-val=\"530,276\"width=\"530\"\u002F\\\u003E\u003C\u002Fp\u003E\u003Cp\u003E第七家:CoboWallet和Cobo金库,成功通过考验!\u003C\u002Fp\u003E\u003Cp\u003E\u003Cimgalt=\"HD钱包灵魂大检查:到底有哪些钱包经得住考验?\"src=\"https:\u002F\u002Fpiccdn.0daily.com\u002F202003\u002F06135726\u002F6niysun9pslo34j3.jpg "/>!webp\"data-img-size-val=\"305,559\"width=\"305\"\u002F\\\u003E\u003C\u002Fp\u003E\u003Cp\u003E\u003Cimgalt=\"HD钱包灵魂大检查:到底有哪些钱包经得住考验?\"src=\"https:\u002F\u002Fpiccdn.0daily.com\u002F202003\u002F06135750\u002Fhldu1anhb98f10ip.png!webp\"data-img-size-val=\"310,551\"width=\"310\"\u002F\\\u003E\u003C\u002Fp\u003E\u003Cp\u003E第八家:比特派钱包,未做助记词校验,无效助记词可以生成钱包,没有提示助记词错误。\u003C\u002Fp\u003E\u003Cp\u003E\u003Cimgalt=\"HD钱包灵魂大检查:到底有哪些钱包经得住考验?\"src=\"https:\u002F\u002Fpiccdn.0daily.com\u002F202003\u002F06135726\u002Fy60qsibdilrbvb60.png!webp\"data-img-size-val=\"1242,2208\"width=\"300\"\u002F\\\u003E\u003C\u002Fp\u003E\u003Cp\u003E第九家:硬件钱包比特护盾。比特护盾的助记词是在手机端输入,在输入12个助记词的时候会有混淆词,输入24个助记词的时候没有,所以我们输入24个cat试了一下,结果是没有提示助记词错误的\u003C\u002Fp\u003E\u003Cp\u003E\u003Cimgalt=\"HD钱包灵魂大检查:到底有哪些钱包经得住考验?\"src=\"https:\u002F\u002Fpiccdn.0daily.com\u002F202003\u002F06135726\u002Fr7mjj6rg1cyfvkh6.png!webp\"data-img-size-val=\"313,556\"width=\"313\"\u002F\\\u003E\u003C\u002Fp\u003E\u003Cp\u003E最后,给大家提醒一个硬件钱包风险点:\u003C\u002Fp\u003E\u003Cp\u003E掌柜在检查各校验助记词的作业时发现,有些硬件钱包是在手机端完成助记词输入的。\u003C\u002Fp\u003E\u003Cp\u003E我们之所以使用硬件钱包,就是为了将助记词\u002F私钥脱网保存,在联网设备上输入助记词就完全失去了硬件钱包的意义。\u003C\u002Fp\u003E\u003Cp\u003E这里有一种解决办法是在手机端导入助记词到硬件钱包的时候,在手机端打乱词序并加入混淆词,混淆词的工作原理是:比如我们的助记词是11个abandon+about,当我们在手机端输入助记词时,冷端会提示:\u003C\u002Fp\u003E\u003Cp\u003E请在手机输入第3个助记词\u003C\u002Fp\u003E\u003Cp\u003E请在手机输入cat\u003C\u002Fp\u003E\u003Cp\u003E请在手机输入第12个助记词\u003C\u002Fp\u003E\u003Cp\u003E请在手机输入dog\u003C\u002Fp\u003E\u003Cp\u003E…\u003C\u002Fp\u003E\u003Cp\u003E请在手机输入第6个助记词\u003C\u002Fp\u003E\u003Cp\u003E请在手机输入region\u003C\u002Fp\u003E\u003Cp\u003Ecat,dog,region就是混淆词\u003C\u002Fp\u003E\u003Cp\u003E但是混淆词+打乱词序导入,真的有用吗?\u003C\u002Fp\u003E\u003Cp\u003E如果12个词的助记词,加上12个混淆词,都被黑客劫持,黑客通过上文提到的校验助记词有效性的形式暴力破解出正确的助记词,需要做1295295050649600次哈希,这个数字看着很大,但是蚂蚁S17+的算力已经达到了每秒73000000000000次哈希。暴力破解出正确的12个助记词只需要18秒。\u003C\u002Fp\u003E\u003Cp\u003E参考链接:\u003C\u002Fp\u003E\u003Cp\u003E\u003Cahref=\"https:\u002F\u002Fgithub.com\u002Fbitcoin\u002Fbips\u002Fblob\u002Fmaster\u002Fbip-0039\u002Fenglish.txt\"_src=\"https:\u002F\u002Fgithub.com\u002Fbitcoin\u002Fbips\u002Fblob\u002Fmaster\u002Fbip-0039\u002Fenglish.txt\"\u003Ehttps:\u002F\u002Fgithub.com\u002F\u003C\u002Fa\u003E\u003C\u002Fp\u003E\u003Cp\u003E\u003Cahref=\"https:\u002F\u002Fcryptii.com\u002Fpipes\u002Fhash-function\"_src=\"https:\u002F\u002Fcryptii.com\u002Fpipes\u002Fhash-function\"\u003Ehttps:\u002F\u002Fcryptii.com\u002F\u003C\u002Fa\u003E\u003C\u002Fp\u003E

聚币Jubi IEO板块Moonshot已开启HDS抽签申购:据官方消息,聚币Jubi已于2020年11月8日15:00-11月10日15:00限时开启HDS抽签申购。[2020/11/8 12:01:31]

AEX交易所理财宝上新ETC、BSV、BHD、BCH活期理财:据AEX官方消息,AEX理财宝明日上新ETC、BSV、BHD、BCH四个活期理财标,支持随存随取。

截至目前,AEX理财宝总期数已超3000期,累计投资金额超20亿元,已本息100%刚性兑付2253期。

AEX是一家集资讯社区、交易理财为一体的七年老牌金融综合服务平台,始终坚持真实透明,中立不作恶的原则,致力做投资者心目中最值得信赖的数字资产银行,共同推进行业更健康有序的发展。[2020/4/23]

行情 | BHD本周涨幅超过50%:据火币全球站数据显示,BHD比特硬币在本周涨幅超过50%,当前报价5.8USDT。BHD比特硬币是POC共识下的币种,目前全网算力已超过1000PB ,其维持全网算力设备价值已超过2.5亿元,POC硬盘挖矿是一种新的挖矿方式,通过硬盘储存哈希值代替ASIC矿机不停计算哈希值所造成的大量能源消耗,使其挖矿方式更加节能、环保。[2020/1/20]

动态 | 前比特币基金会执行董事成立新的经纪公司Watchdog Capital:比特币支持者Bruce Fento成立了一家名为Watchdog Capital的新经纪公司。Watchdog Capital已在美国SEC注册,是数字证券公司Chainstone Labs的子公司,后者亦由Fento领导,他也是Overstock证券型代币平台tZERO的前董事会成员,也曾在2015-2016年担任比特币基金会的执行董事。Watchdog Capital可以从事证券承销、投资银行、众筹、Reg A+发行、房地产投资信托以及零售和机构业务的场外交易。(CoinDesk)[2019/10/31]

HDAC Mining Pool受到攻击:在韩国提供HDAC采矿服务的HDAC Mining Pool称受到黑客攻击,现进行修复,并且在分析出受到攻击原因之前无法提供出资服务。[2018/5/24]

标签:QUOIMGHTTCOMQUONIMGNAI币HTT币comp币价格今日行情

火币下载热门资讯
随着加密禁令的解除,Kraken宣布了扩张印度业务的计划

编者按:本文来自:Cointelegraph中文,作者:FelipeErazo,Odaily星球日报经授权转载.

1900/1/1 0:00:00
黑天鹅振翅,灰犀牛狂奔,极度恐慌下比特币10万刀的梦还能做吗?

OPEC减产协议谈崩,油价一度重挫30%,30美元/桶的原油比矿泉水还便宜。美股股指触发了有史以来的第二次熔断,万股齐跌,即便如此,止跌迹象依旧没有减缓。黑天鹅振翅,灰犀牛狂奔,整个金融市场哀鸿遍野.

1900/1/1 0:00:00
交易平台的权力到底有多大,加密市场是否需要“熔断机制”?

编者按:本文来自白话区块链,作者:一棵杨树,Odaily星球日报经授权转载。2020年3月12日,某期货杆杠交易市场份额前列的交易平台的CEO在官方博客上发布了一篇对世界经济与各类资产投资前景的展望,其中提到疫情对比特币的影响预测:人.

1900/1/1 0:00:00
昌用:自由现金与密码经济

编者按:本文来自昌用,作者:昌用,星球日报经授权发布。自由现金的目标是在全球范围内实现密码经济。密码经济是基于非对称密码和分布式共识机制建立的更加安全、高效、自由的数字经济。一.构建密码经济自由现金的目标是在全球范围内实现密码经济.

1900/1/1 0:00:00
比特币秘史(三十五):CSW为什么会被群嘲?

2015年12月,《Wired》和《Gizmodo》两家杂志不约而同地发文表示已经锁定中本聪的真实身份,他就是澳洲企业家CraigStevenWright.

1900/1/1 0:00:00
新基建中区块链的位置:基础设施的基础技术

编者按:本文来自互链脉搏,Odaily星球日报经授权转载。疫情过后,市场预期新基建会如火如荼地展开.

1900/1/1 0:00:00