主页 > imtoken苹果闪退 > 公钥和私钥的关系_比特币私钥、公钥和钱包地址

公钥和私钥的关系_比特币私钥、公钥和钱包地址

imtoken苹果闪退 2023-01-16 22:18:56

摘要:比特币私钥、公钥、钱包地址之间的关系

比特币交易涉及到很多密码学知识:公钥、私钥、哈希、对称加密、非对称加密、签名等。那么哪些需要用户小心保管,不能泄露给外界,以及哪些需要用户公开?让我们从钱包地址的生成开始。

钱包地址生成

d548c5c6092a5fca89bc7b9cb1405bdc.png

1. 首先使用随机数生成器生成“私钥”。一般来说,这是一个 256 位的数字。有了这串数字,就可以操作对应“钱包地址”中的比特币,所以一定要安全存放。

2.“私钥”经过SECP256K1算法处理,生成“公钥”。 SECP256K1 是一种椭圆曲线算法。当“私钥”已知时,“公钥”可以计算出来,但“公钥”已知时,“私钥”无法逆向计算。这是保护比特币的算法基础。

比特币钱包私钥有几位数

3. 和 SHA256 一样,RIPEMD160 也是一种 Hash 算法。可以从“公钥”计算出“公钥哈希”,但反过来是不可行的。

4. 将一字节地址版本号连接到“公钥哈希”头(对于比特币网络上的公钥地址,该字节为“0”),然后对其进行两次SHA256操作,并连接结果的前4个字节作为“公钥哈希”的校验值比特币钱包私钥有几位数,并连接到末尾。

5. 将上一步的结果用BASE58(比特币定制版)编码,得到“钱包地址”。

例如,1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa

比特币钱包私钥有几位数

“私钥”、“公钥”和“钱包地址”的关系

以上五个步骤中,只有“BASE58编码”有对应的可逆算法(“BASE58解码”),其他算法都是不可逆的比特币钱包私钥有几位数,所以这些数据之间的关系可以表示为:

6137863a200f59318909dee7e7e3c618.png

你可以看到:

比特币钱包私钥有几位数

· 通过“私钥”可以得到上述计算过程中的所有值。

· “公钥哈希”和“钱包地址”可以通过倒数运算转换,所以它们是等价的。

使用“私钥”签署交易

比特币钱包之间的转账是通过交易实现的。交易数据由外发钱包“私钥”的拥有者生成,也就是说有了“私钥”,钱包的比特币余额就可以花掉。生成交易的过程如下:

比特币钱包私钥有几位数

645384efefd63193e5b4efbff8615342.png

1. 交易的原始数据包括“转账金额”和“转账到钱包地址”,但只有这些是不够的,因为没有办法证明交易的创建者可以访问“传出钱包地址”的余额。因此,原始数据需要用“私钥”签名。

2.生成“转账钱包公钥”,过程同第二步生成“钱包地址”。

3. 在原始交易数据中添加“转出签名”和“转出公钥”,生成正式的交易数据,以便广播到比特币网络进行处理。已转移。

比特币钱包私钥有几位数

使用“公钥”验证签名

0b7099e873faf2719ea04c1882e216f6.png

交易数据广播到比特币网络后,节点会验证交易数据是否得到验证,包括签名的验证。如果验证无误,则余额从“转账钱包”成功转入“转账钱包”。

总结

1.如果一个“钱包地址”从来没有向另一个“钱包地址”发送过余额,那么它的“公钥”就不会以比特的形式暴露出来。在硬币网络上。公钥生成算法(SECP256K1)是不可逆的,即使“公钥”暴露,也很难影响“私钥”的安全(难度取决于“私钥”的生成算法键”)。

2.“私钥”用于生成“公钥”和“钱包地址”,也用于签署交易。拥有“私钥”就意味着拥有钱包的余额因此,保护​​“私钥”是所有比特币钱包应用中最基本也是最重要的功能