地址简介
地址是为了人们交换方便而弄出来的一个方案,因为公钥太长了(130字符串或66字符串)。地址长度为25字节,转为base58编码后,为34或35个字符。base58是类似base64的编码,但去掉了易引起视觉混淆的字符,又在地址末尾添加了4个字节校验位,保障在人们交换个别字符错误时,也能够因地址校验失败而制止了误操作。
由于存在公钥有两种形式,那么一个公钥便对应两个地址。这两个地址都可由同一私钥签署交易。
公钥生成地址的算法:
Version=1byteof0(zero);onthetestnetwork,thisis1byteof111
Keyhash=VersionconcatenatedwithRIPEMD-160(SHA-256(publickey))
Checksum=1st4bytesofSHA-256(SHA-256(Keyhash))
BitcoinAddress=Base58Encode(KeyhashconcatenatedwithChecksum)