应用链生成私钥的过程;我们被最近出现的关于比特币核心问题影响到吗?

2017-02-25 14:49 评论 0 条

private-generation-on-lisk

前天是2017年2月23号,大概一年前2016年2月25号,bitcore-js 库导致了一些问题,影响到不同平台的私钥生成过程。

使用12个有助于增强记忆的单词密码用来生成一对key, 包含私钥和公钥,在应用链(或比特币)中公钥就是账号。bitcore-js 库的功能就是使用有助于记忆的密码生成这一对key.

GitHub上面提出的问题是, 在 bitcore-js 创建私钥的过程,会把创建出来的32位字节的字符串的首位0给删掉,就导致了只有31个字节。从而在不同的机器就会出现不同的哈希输出,即使基于同样一个有助于记忆的密码。用户就无法在不同的机器上访问自己的账户。

应用链就不受此影响。我们在前台界面使用bitcore-js库生成12个有助于记忆的密码,但是生成私钥是借助于NaCl库,所以不受bitcore-js库的这个问题影响。

NaCl库明确就要求:“输入必须有32个字节长度。”

Brian Warner说:“Ed25519 keys 是32字节(256位)二进制的种子,可以由sha256, PBKDF2 或者scrypt 生成。”更多关于js-nacl的信息,可以查看这里

总结,在不同的电脑,使用bitcore-js库生成的私钥会有不同的哈希,这是个bug. 然而应用链只是使用bitcore-js库生成随机的12个有助于记忆的单词,没有参与私钥的生成,所以这个bug没有影响到应用链。

原文:https://blog.lisk.io/private-key-generation-on-lisk-are-we-affected-by-the-latest-bitcore-issues-984a6e7a2b1f#.nukce1d4q 
作者:Tobias Schwarz Twitter: @toschdev Email: tobias@lightcurve.io Github: GitHub.com/tosch110

版权声明:本文著作权归原作者所有,欢迎分享本文,谢谢支持!
转载请注明:应用链生成私钥的过程;我们被最近出现的关于比特币核心问题影响到吗? | Lisk.xyz
分类:博客 标签:,

发表评论


表情