比特币是一段算法,如果两个人同时算出来了,那一个比特币就变成两个了吗?

韩平 6年前 (2018-06-21)

这个问题是可以讨论的,首先我先引用比特币的生成流程生成比特币地址的一般流程:随机选取一个32字节的数、大小介于1~0xFFFFFFFFFFFFFFFFFF...

这个问题是可以讨论的,首先我先引用比特币的生成流程

生成比特币地址的一般流程:

随机选取一个32字节的数、大小介于1~0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBAAEDCE6AF48A03BBFD25E8CD0364141之间,作为私钥;

使用椭圆曲线加密算法(ECDSA-secp256k1)计算私钥所对应的非压缩公钥。(共65字节,1字节0x04,32字节为x坐标,32字节为y坐标);

计算公钥的SHA-256哈希值;

取上面结果,计算RIPEMD-160哈希值;

取上面结果,前面加入地址版本号(比特币主网版本号“0x00”);

取上面结果,计算SHA-256哈希值;

取上面结果,再计算一下SHA-256哈希值;

取上面结果的前4个字节(8位十六进制);

把这4个字节加在第五步的结果后面,作为校验;

用base58表示法变换一下地址(最常见的比特币地址形态)。

大概会生成类似这种字符串:1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa

比特币是一段算法,如果两个人同时算出来了,那一个比特币就变成两个了吗?

从上面这个流程可以看出第一步选取私钥时,就有32个字节,如果把这些换到二进制是256位,大家知道二进制中只有0和1两个数字,如果256位组合,可能的结果是2的256次方,这个数的大小甚至可以与宇宙的大小相提并论,再由后面的计算,最后得到结果。这个结果在现行的时空中可以说是唯一确定的。

如何讲是确定的,就好比运动是绝对的,静止是相对的一样,相同是相对的,但是这个相同的概率无限的小,根据数学统计学的规律就可以忽略为不可能相同。这是最严谨的数学解释,也就是说比特币在生成过程中默认为不会被两个人同时算出来。

但是凡事都有奇迹,万一真的有这么巧的事被赶上了,现如今还没有对此的共识该如何处理。我对此的看法是如果真的有这种情况出现,最可能的操作就是根据算出的时间来判断比特币的归属。况且一个比特币的价值对于整个比特币行业来讲真的是沧海一粟,建立一个比特币的计算场投资多则上千万,一个比特币的价值也不过十万,面对如此小的概率和如此小的相对成本,假使真的发生也不会对比特币行业造成地震式的撼动。

最后,记得关注微信公众号:镁客网(im2maker),更多干货在等你!

镁客网


科技 | 人文 | 行业

微信ID:im2maker
长按识别二维码关注

硬科技产业媒体

关注技术驱动创新

分享到