美文网首页
比特币技术 --- 2 准备好钱包地址

比特币技术 --- 2 准备好钱包地址

作者: yrm23 | 来源:发表于2017-12-13 10:48 被阅读29次

比特币从支付人的钱包地址转移到接收人的钱包地址就是了一个交易。交易前,交易的双方当事人必须都有钱包地址。这里介绍钱包地址的产生技术过程。

1. 生成随机私钥: 

     随机选取一个32字节的数,作为私钥。

2. 生成私钥对应的公钥:

     使用椭圆曲线加密算法计算私钥生成对应的非压缩公钥。

     该非压缩公钥包括三部分,共65字节。 

               部分(1) 0x04,有一个字节 ;

               部分(2) 公钥P.X ,有32个字节; 

               部分(3)公钥P.Y,有32个字节。

3. 对公钥进行SHA-256哈希计算: 

     将第2步所述的(1),(2),和(3)合并都一起组成为一个标准地址,即(1)+(2)+(3)。

      对该标准地址进行SHA-256哈希计算,得到一个哈希值。

4. 再进行RIPEMD-160哈希计算:

     对第3步计算所得的哈希值进行RIPEMD-160计算,得到结果。

     例如:12345678901234abcdefghijklmnopqrstuvwxyz

5. 加入地址版本号(例如00): 

     就是将版本号(例如00)加到第4步的结果之前。

      即 00 + 12345678901234abcdefghijklmnopqrstuvwxyz。                   

      得到 0012345678901234abcdefghijklmnopqrstuvwxyz

6. 再进行两次 SHA-256 哈希运算:

     将第5步的结果先进行一次SHA-256计算,可得:

CFD35FA5DEFD89E6AFAE8EC3DFCD4038043DF187606F4A2997733639784F1A2D

     然后,对这个结果再进行一次 SHA-256 哈希运算,得到:

997E9A68BA2ED75691E224FFFFF3C8A4C4E947C633A6246583F85081CA725D06

7. 获得校验位:

       选取第6步的结果的前4个字节(8位十六进制)作为校验位。

        即997E9A68。

8. 形成16进制的比特币地址:

      把第7步获得的4个字节加在第5步的结果后面,

      即  0012345678901234abcdefghijklmnopqrstuvwxyz + 997E9A68,

     得到 0012345678901234abcdefghijklmnopqrstuvwxyz997E9A68

     也就是: 版本号 + 对公钥进行SHA-256和RIPEMD-160哈希计算得到的哈希值 + 校验位。

9. 获得比特币钱包地址:

     最后,用Base58编码对第8步的结果进行编码,得到最终的比特币钱包地址。

相关文章

  • 比特币技术 --- 2 准备好钱包地址

    比特币从支付人的钱包地址转移到接收人的钱包地址就是了一个交易。交易前,交易的双方当事人必须都有钱包地址。这里介绍钱...

  • aaa

    比特币地址生成算法详解 比特币钱包地址生成代码-go实现 区块链以太坊以及hyperledger总结区块链技术 默...

  • Mastering Bitcoin

    目录 1 介绍 2 比特币如何工作 3 比特币Client 4 密钥、地址、钱包 5 事务(交易) 6 比特币网络...

  • bitcoin源码研读(2)——比特币钱包生成地址过程

    比特币钱包生成地址过程 1 前言 经学习已知比特币地址生成有三种方式:终端命令、RPC远程调用、比特币钱包,调用的...

  • 2018-09-29

    【searchain 小课堂】 什么是比特币钱包 比特币钱包是用来存放私钥匙 地址的,是一个管理工具,就比特币钱包...

  • 聊聊比特币钱包

    个人认为对比特币钱包比较好的一篇介绍。转自知乎比特宾的回答。 原文地址:《聊聊比特币钱包》 冷钱包>手机轻钱包>靠...

  • 2018-06-13 区块链简单描述

    比特币 比特币钱包功能 比特币钱包,本质是一款软件 1、管理私钥和地址 (不需要联网) 钱包中的钱就是每一个私钥-...

  • 区块链学习第十二周2017.10.17-10.23《精通比特币》

    发送和接收比特币: 创建钱包,生成私钥和比特币地址,将美元和地址给交易方,交易方查询汇率后发送比特币。 该地址发生...

  • 比特币的钱包有哪几种?

    比特币钱包的种类 通常来说,比特币钱包的功能是生成新的比特币地址(账户)、统计账户余额、显示历史交易、签名新的交易...

  • 【比特币大讲堂】比特币的地址是什么

    如果我们把比特币钱包简单比作成银行卡账户的话,那么比特币钱包地址就可以看成是银行卡账号。不同的是,比特币地址是可以...

网友评论

      本文标题:比特币技术 --- 2 准备好钱包地址

      本文链接:https://www.haomeiwen.com/subject/lahaixtx.html