主页 > imtoken钱包最新版本下载 > 比特币_**功能实现
比特币_**功能实现
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。”
分类:
技术要点:
相关文章: