>科技>>正文

比特币钱包开发:开发比特币钱包不得不了解的概念

原标题:比特币钱包开发:开发比特币钱包不得不了解的概念

目标 本章的内容是理解比特币钱包开发中非常重要的概念。 理解钱包、账号、地址、公钥、私钥、密码、助记词 理解HD钱包是什么 清楚BIP协议的常见版本的作用 清楚Base58在比特币账号中的重要性 一、钱包应用程序 1. 钱包 钱包不是账号,钱包是一个应用程序,主要用于管理账号、保管私钥、发送和接受代币的客户端。 钱包中可以有很多账号,账号也能导入不同的钱包。 2. 账号 每个账户都是由一对钥匙组成:公钥和私钥。每个账户都对应一个地址。 账户由钱包来管理,一个钱包可以包含多个账户。 账号与公钥、私钥、地址,在以太坊中是一一对应的,而在有的区块链中账号与公私钥对、地址不是一一对应的,比如:EOS。 3. 地址 地址长度为25字节,转为base58编码后,为34或35个字符,如:1PFjZSK9GEGoGKt3aTDZU2o7kBC4W815pC。 base58是类似base64的编码,但去掉了易引起视觉混淆的字符,又在地址末尾添加了4个字节校验位。 由于存在公钥有两种形式,那么一个公钥便对应两个地址,这两个地址都可由同一私钥签署交易。 地址标记着一个账号,可以公开给别人,用于别人给你转账。 地址不是公钥,地址是由公钥生成,公钥由私钥生成,这两个过程是不可逆的,即地址不能推算出公钥,公钥也不能推算出私钥。 4. 公钥 公钥压缩格式是33字节,非压缩格式是65字节。即压缩格式是66位长度的十六进制,非压缩格式是130位长度的十六进制字符组成。以0×02/0×03开头为压缩公钥。早期比特币均使用非压缩公钥,现大部分客户端已默认使用压缩公钥。 公钥对账号的交易进行加密。即使用公钥签名交易,然后使用私钥去验证交易。 公钥是通过使用secp256k1椭圆曲线加密算法计算私钥所对应的公钥获得。 公钥、私钥、地址,它们是一一对应的,唯一的,不可修改的。 5. 私钥 私钥由64位长度的十六进制的字符组成,比如:0xE4356E49C88C8B7AB370AF7D5C0C54F0261AAA006F6BDE09CD4745CF54E0115A, 私钥一定要妥善保管,不能被公开和泄漏,拥有私钥就相当于拥有此账号的使用权。 私钥有可由助记词推导出来。 6. 密码 密码不是私钥,密码可以进行修改或重置。在钱包应用程序中,创建账号时需要设定一个密码,这个密码一般要求不少于 8 个字符,为了安全,密码最好设置复杂一点。 7. 助记词 私钥是64位长度的十六进制的字符,不利于记录且容易记错,且每个账号对应一个私钥,多个账号就有多个私钥,不易管理,所以用算法将一串随机数转化为了一串12 ~ 24个容易记住的单词,方便保存记录。所以有的同学有了下面的结论: 助记词是私钥的另一种表现形式。 还有同学说助记词=私钥,这是不正确的说法,通过助记词可以获取相关联的多个私钥,但是通过其中一个私钥是不能获取助记词的,因此助记词≠私钥。 8. 总结 钱包应用程序用于管理多个账号,在比特币中账号与公私钥对、地址是一一对应的,公钥、私钥、地址也是一一对应的,私钥生成公钥,公钥生成地址,且不可逆,私钥是账号的核心且不可泄漏,地址可以公开用于转账。关于子账号的介绍稍后说明。 二、HD钱包 这个HD钱包,并不是Hardware Wallet硬件钱包,这里的 HD 是Hierarchical Deterministic的缩写,意思是分层确定性,所以HD钱包的全称为比特币分成确定性钱包 [...]返回搜狐,查看更多

责任编辑:

声明:该文观点仅代表作者本人,搜狐号系信息发布平台,搜狐仅提供信息存储空间服务。
阅读 ()
投诉
免费获取
今日搜狐热点
今日推荐