作者: P2PBUCKS | 发表时间: 2013年06月05日 | 来源:比巴克
比特币对于初学者来说最大的困难就是比特币地址那一串长长的字符串,各种格式的比特币地址更是让外行人看的迷迷糊糊。就算是比特币的老玩家也未必能准确的说出各种比特币地址格式之间的关系。
还不知道什么是公钥的同学请点这里
blockchain所给出的HASH160值
比特币地址的HASH160指的是什么?比特币地址的公钥说的是什么?
我们常用的比特币地址格式有五种:
BASE58格式HASH160格式WIF压缩格式60位公钥格式
就是人们常说的比特币地址,由1开头的,例如:1PyMi4EYzGZKoxK7DozMMuoQ91EdrMMkBP
今天编者就带大家顺一顺比特币地址各种格式之间的关系。
比特币地址的计算
首先,让我们先简单的说说比特币地址是怎么算出来的。比特币是建立在数学加密学基础上的,中本聪大神用了椭圆加密算法(ECDSA)来产生比特币的私钥和公钥。由私钥是可以计算出公钥的,公钥的值经过一系列数字签名运算会得到比特币地址。
需要说明的是:因为由公钥可以算出比特币地址,所以我们经常把公钥和比特币地址的说法相混淆,但是他们都是指的一个概念。比特币地址只是另一种格式的公钥。
从比特币私钥得到我们所用的比特币地址需要九个步骤。中间要用到SHA256加密、RIPEMD160加密和BASE58编码。我们最终用到的比特币私钥和比特币地址一般都是经过BASE58编码的结果。整个流程如下图所示。
我们经常说的比特币公钥就是指的图中第二步所产生的结果。而HASH160指的是第四步RIPEMD160签名所产生的结果,由于RIPEMD也是一种HASH算法所以就统称为HASH160了。而我们常用的比特币地址就是经过BASE58编码后的结果。
比特币客户端和钱包也接受各种比特币地址格式,常用的格式有BASE58格式、WIF压缩格式、130位和66位公钥(Public key)格式。进入比巴克的钱包工具点击钱包详情查询页面,如下图,红色框中130位的字符串就是比特币ECDSA算出的原始公钥,下面是公钥压缩成66位的格式,上面两个分别是我们常用的比特币BASE58地址格式和比特币地址WIF(wallet import format)压缩格式。
其实现在各种格式的地址基本上都是通用的,在学习了相关知识后,我们会对比特币体系有更加深入的理解。
|