—撰文|Cobo金库大掌柜
相信所有用过“去中心化钱包”的同学对助记词都不陌生。
不管是硬件钱包还是软件钱包,创建钱包都有两种方式:
创建助记词:钱包随机生成一组助记词,用户需要抄写备份
导入助记词:用户导入一套已有的助记词到钱包内恢复资产
那助记词又是如何变成我们的主私钥,进而用HD的方式生成所有子私钥的呢?
其实很简单。一套助记词,经过2048轮的HMAC-SHA512算法的狂虐,生成一个主私钥,进而派生出一套HD钱包。
所以,助记词和主私钥是一一对应的关系,一套助记词对应一个主私钥,也就是对应一个HD钱包。
大家这里有没有想过一个很恐怖的问题:
比方说这是掌柜手里的12个助记词:
cattonightsadnesswalnutfancaptainsureassumegorillacautionstorypull
方便起见,我们称这套词为
但是,当掌柜把导入钱包的时候,第一个词手抖输入成了dog,于是助记词变成了:
印度央行与HDFC银行、印度国家银行、IBM等合作开展区块链贸易融资项目试点:6月23日消息,印度央行正在与十多家大型银行合作,以开展以贸易融资为核心的区块链试点项目,其中包括HDFC银行、印度工业信贷投资银行(ICICI Bank)和印度国家银行(State Bank of India),该项目旨在防止贷款欺诈行为。
三位知情人士透露,总部位于比利时的SettleMint、总部位于美国的Corda Technologies和IBM将为印度央行在班加罗尔创新中心推动的项目提供技术支持。该试点项目目前处于“概念验证”阶段,将利用区块链技术增强资金流动的可追溯性。(The Economic Times)[2022/6/23 1:26:13]
dogtonightsadnesswalnutfancaptainsureassumegorillacautionstorypull
方便起见,我们称这套词为
这时候就是悲剧的开始。
作为一名纯24K囤币党,掌柜千辛万苦省吃俭用,把所有信仰都充值到了下的地址上。
然后有一天,可能因为手机或者硬件钱包坏了,也可能是又手抖删除了钱包App,总之种种原因,导致需要拿出助记词才能恢复资产。
ETHDenver线上黑客松将于3月25日进行Demo Day和第二次MACI投票:3月14日,ETHDenver 2022 线上黑客松将于 3 月 21 日结束。3 月 21 日-3 月 24 日为评委投票阶段,将选出 30 个决赛入围项目于 3 月 25 日进行线上 Demo Day 项目展示。第二轮 ETHDenver MACI 二次方资助社区投票将同步举行,SPORK 社区可以通过 DoraHacks 开发者平台 HackerLink.io 参与 MACI 隐私二次方投票。截至目前,ETHDenver 2022 总计提交项目已经超过 300 个。
MACI 是通过零知识证明实现抗共谋的最小化基础设施,DoraHacks 平台于 2021 年第四季度开始支持 MACI。[2022/3/14 13:55:02]
此时,掌柜掏出了那套尘封已久的,将它导入了钱包。
前面已经提过,一套助记词跟一个HD钱包是一一对应的。此时用恢复得到的地址,跟的地址是不一样的。也就是说,下,没有任何资产。
因为误输入了一个助记词dog,掌柜的所有资产和信仰,全丢了。
是不是很恐怖?
YouSwap将于5月18日18:00新增HDX/YOU流动性挖矿:据最新消息,YouSwap将于5月18日18:00(UTC+8)于HECO链联盟区新增开启HDX/YOU流动性挖矿?,用户可以通过质押以上币对的LP来挖矿YOU。
截至5月18日10:00,YouSwap累计交易总额达37,595,099USDT,YOU总销毁数量达188,012,累计挖矿总产值1,695,909USDT。[2021/5/18 22:13:56]
其实机智的比特币开发者早就想到了这一切。他们定义了助记词的标准协议,会对所有助记词有效与否,进行校验。
在讲“校验原理”之前,掌柜先普及一个关于助记词的基础知识。
BIP39定义了助记词的标准,标准内含有一份2048个词的词表。所有钱包只要遵循BIP39,生成的助记词都是从这个2048个词的词表中获得的,的所有词也不例外。
2048词表的每个单词我们都标上序号,从“0”到“2047”。最大的序号“2047”用二进制表示刚好是11位“11111111111”。所以词表里的每一个词,我们都可以根据它的序号对应一个11位的二进制数。对于转换二进制后不满11位的,我们在它的二进制数前面补“0”,直至满足11位。
BHD Community活动总监刘友建:做共识机制的龙头币:据悉,2020年8月1日,由LBank、金色财经联合承办的“LBank和他的朋友们-2020百城计划”在郑州举行。BHD Community活动总监刘友建就“BHD 如何在 POC 领域引领新潮流”话题进行精彩分享:BHD是POC共识机制的龙头币,对于POC存在的意义我们知道是解决了比特币算力中心化、矿机中心化和耗能巨大的现实问题,接下去三年内必将是区块链行业内的趋势。[2020/8/1]
比如cat是第287个词,序列号为“286”,其对应的11位二进制数就是“100011110”,我们补足11位,将其表示为“00100011110”。
接下来我们看看具体的“校验”步骤:
第一步:我们按照上面的方法,根据2048词表找到12个词对应的11位二进制数。
第二步:我们把这12个词对应的11位二进制数串在一起,得到一个132位的二进制数:
001000111101110010010010111101111111101101100101001011000100010001110110100000000110111101100100101001001001011101011010010101101010
动态 | LBank与BitHD达成战略合作伙伴关系:BitHD宣布与LBank达成战略合作伙伴关系,LBank将加入“比特护盾多重签名合作伙伴计划”。BitHD团队将基于LBank钱包的现有安全架构,为LBank提供深度的定制化钱包安全服务,特别是基于比特护盾全球独家的ERC20的多重签名解决方案,借此LBank的风险防范能力将进一步提高,从而保障平台用户数字资产安全。
比特护盾BITHD是比特派Bitpie钱包团队出品的冷钱包品牌。“比特护盾多重签名合作伙伴计划”于2019年3月22日由比特护盾发起,旨在联合各家项目方和交易所,共同推广多重签名理念,帮助行业内的企业了解、学习并逐步开始使用“冷钱包+多重签名技术”。[2020/1/13]
第三步:我们把这个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
加密技术分析师雅各布?坎菲尔德认为,曾经在中国和韩国风靡一时的加密庞氏局PlusToken是幕后黑手,它正有计划地推动了BTC、ETH、EOS和更大的山寨币市场的上涨.
1900/1/1 0:00:00被誉为逆市融资奇迹的Polkadot又双叒叕要公募了。今日,跨链项目Polkadot创始人GavinWood在社区问答中披露,Web3基金会有可能在本周公布Polkadot下一轮公募细节,最快有.
1900/1/1 0:00:00\n 哈喽大家好,我是小K君.
1900/1/1 0:00:00作者:ChrisDannen、LeoZhang和MartínBeauchamp,均就职于迭代资本编译:KattGu本文节选于加密货币管理公司迭代资本撰写的报告「加密货币现象的本质是什么?」.
1900/1/1 0:00:00分析师|Carol编辑|毕彤彤出品|PANews数据合作伙伴|Chain.info2月17日,曾经以“交易挖矿”模式红极一时的交易所FCoin暴雷.
1900/1/1 0:00:00作者|秦晓峰编辑|Mandy王梦蝶、郝方舟出品|Odaily星球日报 BitUniverse数据显示,过去48小时,加密市场遭遇重创,全线暴跌.
1900/1/1 0:00:00