2018-02-02 15:59 理财规划小编
微博 微信 QQ空间
    如果是一个喜欢研究区块链的相信也好奇过这个问题,到底我的BTC有没有可能被别人碰撞到?我也想过这个问题,当时我一念而过的是:这是个哲学问题,哈哈。
 
    首先我们要了解比特币(BTC)地址是怎么算出来的。BTC是建立在加密学基础上,利用椭圆加密算法(ECDSA)来产生BTC的私钥和公钥。由私钥可以计算出公钥,公钥的值经过一系列数字签名运算就会得到BTC地址。简单来说就是我的门卡经过我的折腾,已经加密了很多层,现在去开很多道被锁的门,有一定概率开门。
 
    生成比特币地址的一般流程:
 
    随机选取一个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由于这种算法BTC的总量会超过2的128次方,这个数量据说比宇宙里所有的分子数都多。所以如果要确切说明是否重复,理论上是可能重复的,但是概率非常非常的小,已经小到可以忽略不计。所以在密码学安全的角度上说“BTC私钥是唯一的”这个说法是正确的。

另一视角

换一换

24小时热文

热门标签

24小时热文

点击: