您当前的位置: 首页 >  区块链

任磊abc

暂无认证

  • 0浏览

    0关注

    182博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

区块链教程之Bitcoin公钥和地址生成

任磊abc 发布时间:2021-12-17 17:31:43 ,浏览量:0

公钥

Bitcoin的公钥是根据私钥计算出来的。

私钥本质上是一个256位整数,记作k。根据bitcoin采用的ECDSA算法,可以推导出两个256位整数,记作(x, y),这两个256位整数即为非压缩格式的公钥。

由于ECC曲线的特点,根据非压缩格式的公钥(x, y)x实际上也可推算出y,但需要知道y的奇偶性,因此,可以根据(x, y)推算出x',作为压缩格式的公钥。

压缩格式的公钥实际上只保存x这一个256位整数,但需要根据y的奇偶性在x前面添加0203前缀,y为偶数时添加02,否则添加03,这样,得到一个1+32=33字节的压缩格式的公钥数据,记作x'

注意压缩格式的公钥和非压缩格式的公钥是可以互相转换的,但均不可反向推导出私钥。

非压缩格式的公钥目前已很少使用,原因是非压缩格式的公钥签名脚本数据会更长。

根据私钥推算出公钥:

  const bitcoin = require('bitcoinjs-lib');

      let keyWif = 'KwdMAjGmerYanjeui5SHS7JkmpZvVipYvB2LJGU1ZxJwYvP98617';

      const 
关注
打赏
1656830895
查看更多评论
立即登录/注册

微信扫码登录

0.0390s