主页 > imtoken钱包最新版本下载 > 比特币_**功能实现

比特币_**功能实现

imtoken钱包最新版本下载 2023-07-06 05:07:13

2021-08-25

1.私钥--》公钥--》比特币地址

私钥k乘以椭圆曲线得到公钥K,对公钥K进行哈希运算得到比特币地址;

比特币_**功能实现

2.私钥随机生成

从加密安全随机源中获取一长串随机字节,对其应用 SHA256 哈希算法,并生成一个 256 位数字。

3.公钥生成

由椭圆曲线算法生成,具有单向性; {K = k * G}

公钥是椭圆曲线上的一个点比特币的功能有哪些,由一对坐标(x,y)组成。 公钥通常由前缀 04 后跟两个 256 位数字表示。 其中一个 256 位数字是公钥的 x 坐标,另一个 256 位数字是 y 坐标。 前缀04用于区分非压缩格式公钥,压缩格式公钥以02或03开头。

4.比特币地址生成

公钥经过二次哈希得到,以公钥K为输入计算其SHA256哈希值,将结果计算RIPEMD160哈希值得到一个长度为160比(20字节)的数;

比特币_**功能实现

最后看到的地址也是用“Base58Check”编码的。 Base58由不包括(0, O, l, I)的大小写字母和数字组成。 文本形式易于阅读,并添加校验码进行验证;

比特币_**功能实现

5. **格式

WIF:钱包导入格式,即Base58编码格式; 以 5 开头;

WIF-compressed:压缩钱包导入格式,以K或L开头;

压缩私钥:私钥后加01后缀,最后生成WIF压缩;

非压缩私钥:只生成私钥,不带后缀,最终生成WIF;

压缩公钥:只保存x坐标,y坐标可以通过x获取; 但是x对应曲线的奇偶y,所以压缩时前缀需要奇数为02,偶数为03;

未压缩的公钥:带有x和y坐标,前缀为04后跟两个256位数字;

较新的钱包都使用压缩格式,较旧的钱包使用未压缩格式; 如果比特币钱包实现了压缩公钥,它将在所有交易中使用该压缩公钥。 钱包中的私钥将用于生成压缩公钥比特币的功能有哪些,然后用于生成交易中的比特币地址。

参考:“精通比特币,Andreas M Antonopoulos (O'Reilly)。版权所有 2015 Andreas M Antonopoulos,978-1-449-37404-4。”

分类:

技术要点:

相关文章: