我已经读过bip32,但有些困惑。
如果我拥有有关高清钱包的所有有用信息,并使用公共父密钥,公共链代码和索引号生成了一个新的公共子密钥,我该如何在与新的公共子密钥相对应的新地址中花费资金?
换句话说,我签署新交易时新的公共子密钥对应的私钥是什么?
答案 0 :(得分:1)
我在再次审查了bip32提案后解决了这个问题,并发布了答案以帮助他人。
答案:
具有HD钱包的新公共子密钥的对应私钥是新的私有子密钥。
原因:
首先,请参见下面的bip32局部图片:
有两个过程:
过程:专用父密钥->专用子密钥。
过程:公共父密钥->公共子密钥。
您可以在图片中看到带有红色框的内容,两个过程之间的I的两个计算结果是相同的。
对于点(k_par)= K_par,I的两个计算结果相同。
然后,此问题的答案是新的公共子密钥的相应私钥是新的私有子密钥。这意味着:
上方圆圈的k_i是下方圆圈的K_i的私钥,即公钥。
由于椭圆曲线组是一个加法组,因此表示:
[(x1 + x2)(mod n)] * G = x1 * G + x2 * G,
其中G是椭圆曲线组的生成器,n是椭圆曲线组的阶,x1,x2是私钥。
然后,我们专注于这种情况,很容易获得两个圆圈中的内容:
[parse_256(I_1)+ k_par(mod n)] * G = point(parse_256(I_1))+ K_par,
因为两个I_l相同,并且k_par是K_par的对应私钥。
有关更多信息,请通过电子邮件与我联系:xchang17@fudan.edu.cn