主页 > imtoken官网唯一地址 > 关于比特币:比特币钱包地址
关于比特币:比特币钱包地址
比特币钱包地址
钱包的地址是根据钱包的公钥计算出来的。但是,不同链上的计算形式和编码方式是不同的。以太坊使用十六进制编码,EIP-55 使用它的大小。写信验证地址。
比特币的地址由应用程序的base58Check编码,版本号和校验和从地址中取出,可以无效比特币官网地址,避免因输入错误而造成的虚假转账。上面介绍了比特币钱包地址:
p>
一、base58 编码
Base58编码与base64编码不同比特币官网地址,不仅应用的字符集不同,应用的编码方式也不同。 Base64用4个字节表示3个字节的数据,可以有效防止二进制控制字符,达到很好的传输目的。
那么 base58 呢?它更像是二进制、八进制、十六进制。他的目标如下:
与Base64相比,Base58不使用数字“0”、大写“O”、大写“I”、小写“l”以及“+”和“/”符号。
因为base58理论是58基数,因为不是2的整数倍,除以2的操作会很多,所以效率比base64慢很多。
二进制中使用的字符集=”01″
八进制中使用的字符集=”01234567″
十进制中使用的字符集=”0123456789″
hex=”0123456789ABCDEF”中使用的字符集
十六进制中使用的字符集 58="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"
二、Base58Check 编码
在钱包申请过程中,如果间接使用base58编码,会出现问题。只有你输出的字符是非法的,那就是钱包地址。即使输入错误,也会是非法的钱包地址。
只是这个钱包地址对应的私钥就是剩下的私钥,你永远也猜不透。因此,有了base58Check的钱包地址,如果这个地址输入错误,就不再是非法钱包地址了。
让我们先看看 base58Check 是如何对数据进行编码的。我们将要编码的数据称为有效载荷(load),然后对有效载荷进行编码。格式为:
version + payload + checksum```
从这个格局中能够看出,咱们在编码的时候封装了冗余数据,因而在校验的时候,输错了就可能检测进去
* version:版本号,上面会列出常见的版本号和它编码过后可能呈现的前缀
* payload:装载的数据,比特币的钱包地址是钱包公钥通过两次哈希(hash256和ripemd160)失去的
* checksum:这个是两次哈希去后面四字节,(sha256(sha256(version+payload))).sub(0,4);
最初对拼接起来的数据进行base58编码,这样就失去了base58check编码的数据
常见的钱包地址应用的版本号:
| type | version |Base58 result prefix |
| Bitcoin Address | 0X00 | 1 |
| Pay to Script Hash Address | 0X05 | 3 |
| Bitcoin Testnet Address | 0X6F | m, n |
| Private Key WIF | 0X80 | 5, K, L |
| BIP-38 Encrypted Private Key | 0X0142 | 6P |
| BIP-32 Extend Public Key | 0488B21E | xpub |
【腾讯云】云产品限时销售,热门1核2G云服务器首年50元
阿里巴巴云限时活动-2核2G-5M带宽-60G SSD-1000G包月流量,特价99元/年(原价1234.2元/年,可直接购买3年),快抢