巴比特论坛

悬赏10金币请大神帮解答下,为什么会有不同私钥对应相同地址的情况? [复制链接]

来自手机版
发表于 2015-7-21 19:32:25 | 显示全部楼层
16金币
在开发建立Z应用 时,发现了个的奇怪现象。到现在想了很多天了还没有理解弄懂。请大神指导。

举例私钥:
5HpHagT65TZzG1PH3CSu63k8DbpvD8s5ip4nEB3kEsreAnchuDf
5Km2kuu7vtFDPpxywn4u3NLpbr5jKpTB3jsuDU2KYEqetyuszSh
均对应地址:1EHNa6Q4Jz2uvNExL497mE43ikXhwF6kZm


5HpHagT65TZzG1PH3CSu63k8DbpvD8s5ip4nEB3kEsreAvUcVfH
5Km2kuu7vtFDPpxywn4u3NLpbr5jKpTB3jsuDU2KYEqeuAG7sU9
均对应地址:1LagHJk2FyCV2VzrNHVqg3gYG4TSYwDV4m


5HpHagT65TZzG1PH3CSu63k8DbpvD8s5ip4nEB3kEsreB1FQ8BZ
5Km2kuu7vtFDPpxywn4u3NLpbr5jKpTB3jsuDU2KYEqeuGro6xM
均对应地址:1NZUP3JAc9JkmbvmoTv7nVgZGtyJjirKV1

大家可以到脑钱包N应用验证。确实是可以有少量的两私钥对应同一地址的情况。

请大神解答下产生的原因。以及这种现象是否普遍,是否有规律?谢谢。


最佳答案

查看完整内容

这是椭圆曲线的特性,在原点g经过了0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141 次同点相加后会回到原点g。 这个值是数学家们计算得到的并且是由原点g决定的。

25条回复 跳转到指定楼层

周琪 | 船员 | 发表于 2015-7-21 19:32:26 | 显示全部楼层
这是椭圆曲线的特性,在原点g经过了0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141 次同点相加后会回到原点g。

这个值是数学家们计算得到的并且是由原点g决定的。
CocoWallet -- 简单有趣的钱包 http://cocowallet.com
莱比特矿池 | 版主 | 发表于 2015-7-22 01:27:32 | 显示全部楼层
本帖最后由 莱比特矿池 于 2015-7-22 01:34 编辑

1、从私钥(公钥)生成地址使用了哈希运算(具体过程参见楼上hash的回答)。

2、哈希算法将任意长度的二进制值(输入)映射为固定长度的二进制值(输出),
比如输入是一篇文章,输出是统计字数的后三位,这就是一种哈希运算。
哈希算法是一种信息有损的,不可逆运算,
比如你无法通过一篇文章的字数的后三位来倒推一篇文章的具体内容。

4、由于哈希算法的不同输出数量是有限的(比如上面例子的输出是000~999共1000种),
而输入是无限种的,故肯定存在不同的输入,其输出是相同的,
这种现象称为哈希算法的碰撞,

优秀的哈希算法会使用较大的输出长度来减少碰撞概率,
同时使用优秀的算法让攻击者无法人为主动构造出碰撞。

5、不过碰撞是无法避免的,
比如比特币私钥和私钥都有2^256个(长度是256二进制位),
而比特币地址却只有2^160个(长度是160位二进制),
故一个比特币地址平均对应1^96个私钥和私钥,这是正常现象,你只是随机找到了其中几个。



莱比特矿池 LTC1BTC.com —— 高收益 LTC/BTC 机枪池
chehw_1 | 副船长 | 发表于 2015-7-22 15:35:19 | 显示全部楼层
周琪 发表于 2015-7-22 13:23
虽然因为hash的原因,的确存在可能性2个私钥“恰巧”对应同一地址,但楼主说的这几组情况都不是这个原因。 ...

正解。

后面的那两组用的是2和3。

0 * G = 0
1 * G = G
2 * G = 2G
...
(n-1) * G = (N-1)G
n * G = 0
(n+1) * G = G
(n+2) * G = 2G
...

其中,n = 0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141

有限域下的椭圆曲线点的标量乘法运算是一个循环组,
n和G是提前算好的,(制定算法的那个人)先找出了一个尽可能大的质数n,然后找一个基点G,构成一个以n为序的循环组。

如果两个数以n为模的结果相同,那么这两个数与G的乘积结果也相同。


于是 | 船员 | 发表于 2018-12-1 05:23:46 来自手机版 | 显示全部楼层
原因是啥呢?不合法的私钥
一匹桀骜孤狼 | 禁止发言 | 发表于 2018-11-28 16:46:17 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
hunter田 | 队长 | 发表于 2018-10-7 15:14:48 | 显示全部楼层
那岂不是一个钱包对应有N个人可以花,这个是什么鬼?
susan234 | 船员 | 发表于 2015-8-12 20:54:23 来自手机版 | 显示全部楼层
这太高深了
ada | 船长 | 发表于 2015-8-12 11:34:01 | 显示全部楼层
长了不少知识啊
X_e_o_X | 队长 | 发表于 2015-7-23 18:03:45 | 显示全部楼层
周琪 发表于 2015-7-21 19:32
这是椭圆曲线的特性,在原点g经过了0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141  ...

厉害,看成由 ”G点“确定了。
qq2536007339 | 版主 | 发表于 2015-7-22 19:22:19 | 显示全部楼层
牛人很多啊
互联网 | 副船长 | 发表于 2015-7-22 19:01:01 | 显示全部楼层
bjnetbee 发表于 2015-7-22 10:59
5Km2kuu7vtFDPpxywn4u3NLpbr5jKpTB3jsuDU2KYEqeuAG7sU9
这样的私钥,不在合法范围内,你试试bitcoin官方客 ...

牛逼的人真多,拜一拜。
http://8btc.com/thread-24278-1-1.html 数字货币协会会员招募中,QQ群: 399609605
DogeCoin-Keeper | 海盗王 | 发表于 2015-7-22 18:51:09 | 显示全部楼层
我觉得这种情况现实中不会出现吧?
zhuoxinxuan | 禁止发言 | 发表于 2015-7-22 16:44:46 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
玛_雅 | 版主 | 发表于 2015-7-22 14:14:35 | 显示全部楼层
周琪 发表于 2015-7-22 13:23
虽然因为hash的原因,的确存在可能性2个私钥“恰巧”对应同一地址,但楼主说的这几组情况都不是这个原因。 ...

这个现象就是我在主楼中说的在做Z应用http://idgui.com/Z时发现的奇怪现象。并命名为[循环区]。
问题的关键是,为什么0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141为上限?而不是全是fffffffff的为上限。我就是这个地方不太懂。

周琪 | 船员 | 发表于 2015-7-22 13:23:16 | 显示全部楼层
虽然因为hash的原因,的确存在可能性2个私钥“恰巧”对应同一地址,但楼主说的这几组情况都不是这个原因。(哪有那么巧!)

原因是因为椭圆曲线的有效值的范围是有限的,1 ~ 0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141

当值超过了0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141 则对其取余。

以楼主第一组为例实际是 1 和 0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364142 所对应的地址,那么后一个取余后也是1。所以地址相同。

没验后续的,应该是一个原因。
CocoWallet -- 简单有趣的钱包 http://cocowallet.com
玛_雅 | 版主 | 发表于 2015-7-22 12:13:32 | 显示全部楼层
bjnetbee 发表于 2015-7-22 10:59
5Km2kuu7vtFDPpxywn4u3NLpbr5jKpTB3jsuDU2KYEqeuAG7sU9
这样的私钥,不在合法范围内,你试试bitcoin官方客 ...

您是距离最终答案最接近的,楼上那几位答的很好,但是那些是我已经知道的。
请问,为什么不合法,为什么不能导入。其在脑钱包上是可以正常生成的。能正常签名的。
按道理说,应该是能合法的。
cxddd | 副船长 | 发表于 2015-7-22 11:21:30 来自手机版 | 显示全部楼层
不懂啊,学习了
高级模式
您需要登录后才可以发帖 登录 | 立即注册 | 用新浪微博登录

本版积分规则

搜索

1关注 5粉丝 291主题

作者的其他主题

返回顶部 返回列表

登录

分享 发帖