下载此文档

比特币私匙公匙和钱包地址之间的关系.doc


文档分类:法律/法学 | 页数:约7页 举报非法文档有奖
1/7
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/7 下载此文档
文档列表 文档介绍
比特币私匙公匙和钱包地址之间的关系
想要深入了解比特币的交易部分,需要掌握到很多密码学知识:公钥、私钥、哈希、对称加密、非对称加密、签名等等。那么普通用户最关心的莫过于哪些东西是需要用户认真保管不能对外泄露的,而哪些是可以对外公开的呢?接下来我们先从钱包的地址生成说起。
钱包地址生成
1. 首先使用随机数生成器来生成一个“私钥”。一般来说这是一个256bits的字符串,拥有了这串字符就可以对相应“钱包地址”中的比特币进行操作(比如:花费掉它),所以它必须是被妥善保管的。
2. “私钥”再经过SECP256K1的算法处理,然后生成了“公钥”。SECP256K1是一种椭圆曲线算法,通过一个已知的“私钥”,可以算得对应的“公钥”。但是,知道某一
“公钥”,却无法反向计算出“私钥”。这个也是保障比特币安全的算法基础。
3. 同SHA256一样,RIPEMD160也是一种Hash算法,由“公钥”可以计算得到”公钥哈希“,同样地,反过来是行不通的。
4. 将一个字节的地址版本号连接到“公钥哈希”的头部,然后对其进行两次SHA256运算,将结果的前4个字节作为“公钥哈希”的校验值,连接放在其尾部。
5. 将上一步的结果使用BASE58进行编码,就得到了“钱包地址”。
比特币钱包地址设定为以数字1开头,实例:1GpxB9kKC3k91jgqbgUDRPiPRNcfuEvjqm
“私钥”“公钥”“钱包地址”之间的关系
在上述的五个步骤里,唯有“BASE58编码”有相应的可逆算法(即“BASE58解码”),其他的算法都是不可逆的,所以它们之间的关系可以表示为:
通过图表所示,很显然我们通过“私钥”可以得到上面整个计算过程中的所有的值。
而“公钥哈希”和“钱包地址”之间可以通过互逆运算进行转换,所以它们是等价的。
使用“私钥”对交易进行签名
比特币钱包地址之间的转账是通过交易(Transaction)来实现的。交易数据是由被转出币的钱包的“私钥”所有者发起的,也就是说,只有掌管了“私钥”你才可以花费这个私钥对应的钱包地址上的比特币。交易的整个过程如下图所示:
1. 大家可以看到,交易的数据里包含了“转账数额”和“转入钱包地址”,但是仅有这些数据肯定是不够的,因为发起交易的一方无法证明“转出钱包地址”里的币是自己的。所以需要用“私钥”对这笔交易进行签名,以此证明自己是这笔币的主人。
2. 生成“转出钱包公钥”,这一过程与生成“钱包地址”中的第2步是一样的。
3. 我们必须把“转出签名”和“转出公钥”全部添加到原始交易数据中,才能生成一笔合法的交易,这样它才可以被广播到比特币网络,从而顺利完成转账。
使用“公钥”对签名进行验证
在这笔交易数据被广播到比特币网络后,比特币的网络上各个节点会对这个交易数据进行核对,这其中最重要的环节就是对签名的校验。如果校验的结果是正确无误的,那么这笔比特币就将被成功地从“转出钱包地址”转移到“转入钱包地址”了。
概要内容:
一、如果某一“钱包地址”没有发送过任何币给其它“钱包地址”,那么它的“公钥”是不会暴露的。
二、由私钥到公钥的生成算法(SECP2

比特币私匙公匙和钱包地址之间的关系 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数7
  • 收藏数0 收藏
  • 顶次数0
  • 上传人287865472
  • 文件大小223 KB
  • 时间2018-08-14