详细描述什么是比特币私钥、账户与钱包
比特币私钥、账户与钱包
公钥密码体制(Public-key cryptography)
公钥密码体制分为三部分:公钥、私钥、加密解密算法。公钥密码体制的公钥和算法都是公开的(这也是公钥密码体制名称的来源),私钥是保密的。针对不同的用途,可选择采用公钥还是私钥进行加密,再用对应的私钥或者公钥进行解密。公钥密码体制主要功能有以下三点:
- 加解密功能
- 签名验证功能
- 密钥协商功能
在比特币系统中,我们⽤公钥加密创建⼀个密钥对,用于控制比特币的获取。密钥对包括⼀个私钥,和由其衍生出的唯⼀的公钥。公钥⽤于接收比特币,⽽私钥⽤于比特币支付时的交易签名。公钥和私钥之间的数学关系,使得私钥可⽤于生成特定消息的签名。此签名可以在不泄露私钥的同时对公钥进⾏验证。支付比特币时,比特币的当前所有者需要在交易中提交其公钥和签名(每次交易的签名都不同,但均从同⼀个私钥⽣成)。比特币⽹络中的所有人都可以通过所提交的公钥和签名进⾏验证,并确认该交易是否有效,即确认支付者在该时刻对所交易的比特币拥有所有权。
私钥
私钥其实就是一个随机选出的数字而已。一个比特币地址中的所有资金的控制取决于相应私钥的所有权和控制权。在比特币交易中,私钥用于生成支付比特币所必需的签名以证明对资金的所有权。私钥必须始终保持机密,因为一旦被泄露给第三 方,相当于该私钥保护之下的比特币也拱手相让了。私钥还必须进行备份,以防意外丢失,因为私钥一旦丢失就难以复原,其所保护的比特币也将永远丢失。
这个随机数字怎么选出来的呢?一般是通过随机函数生成器来实现的,这里不再细述。
比特币账户
上图中,我们已经看到比特币账户(地址)的大致生成过程(私钥–>公钥–>比特币地址),这里详细的描述其生成细节。在比特币账户生成过程中应用了两个密码学哈希函数,一个是SHA256,另一个是RIPEMD160。下图为比特币地址(账户)的生成流程:
通过随机数发生器生成一个256bit的随机数,并使用该随机数作为账户的私钥。
比特币采用椭圆曲线签名算法(ECDSA)来对数据进行签名和验证,具体使用的是secp256k1曲线。通过ECC乘法可以计算出对应的公钥。
对公钥进行两次哈希运算,得到公钥的哈希值。
对<比特币地址前缀0x00 | 公钥哈希值>做双哈希运算,取前4字节作为校验码。
对<比特币地址前缀0x00 | 公钥哈希 | 校验码>进行base58编码得到地址。
其他前缀的含义如下表:
种类 | 版本前缀(hex) | Base58格式 |
---|---|---|
Bitcoin Address | 0x00 | 1 |
Pay-to-Script-Hash Address | 0x05 | 3 |
Bitcoin Testnet Address | 0x6F | m or n |
Private Key WIF(钱包导入格式) | 0x80 | 5(没有压缩), K or L (压缩格式) |
BIP38 Encrypted Private Key | 0x0142 | 6P |
BIP32 Extended Public Key | 0x0488B21E | xpub |
采用base58编码格式对地址进行编码,主要是为了方便使用和识别。
比特币钱包
钱包是一个应用程序,为用户提供交互界面。钱包控制用户访问权限,管理密钥和地址,跟踪余额以及创建和签名交易。其中,最核心的功能是保管私钥,一旦私钥泄露或者忘了,就会造成比特币被盗走或丢失。
钱包里有比特币吗?钱包里只有密钥,并没有比特币。
那我的比特币在哪里?你拥有的比特币实际上是所有你账户地址的未花费交易输出。钱包会监控到输出到你的公钥地址的输出,比如A转给你1个比特币,B转给你9个比特币,而你目前没有将它们转给其他人,则钱包计算出目前你有10个比特币。当你需要花费比特币转账给其他人时,你构造一笔交易,用你的未花费交易输出作为输入,输出为接收方账户地址,并设置转账金额,自己的公钥信息等,对再交易签名(私钥签名)确认后,发送到比特币网络等待确认后,转账完成。
以上就是详细描述什么是比特币私钥、账户与钱包的详细内容,更多关于比特币私钥、账户与钱包知识分享的资料请关注脚本之家其它相关文章!
你可能感兴趣的文章
-
数字钱包怎么转钱到银行卡?将钱包的钱转到银行卡详细教程
数字钱包怎么转钱到银行卡?数字钱包的钱到银行卡通常需要先将币转到交易所,然后再进行提现,下文就是im钱包为例,将钱包的钱转到银行卡的详细教程,一起来参考学习一下吧…
2024-07-07 -
欧意钱包助记词忘记了怎么办?还能找回吗?
助记词是一种用于恢复或迁移加密货币钱包的方法,它由12个或24个单词组成,如果你不幸丢失了你的助记词,我们在使用欧易web3钱包时,助记词忘记了怎么办?还能找回吗?下文…
2024-07-05 -
欧意WEB3钱包地址在哪里找?怎么看呢?欧意钱包地址查看教程
欧意WEB3钱包为大家提供了很好的加密资产存储,我们在使用钱包的时候,钱包地址非常重要,但很多新手不知道欧意WEB3钱包地址在哪里找?怎么看?下文将为大家详细介绍欧意钱…
2024-07-05 -
web3钱包的权限怎么设置 ?web3钱包权限设置教程
Web3钱包作为用户管理数字资产和身份的重要工具,正逐渐成为连接去中心化应用(DApps)的桥梁,那么,web3钱包的权限应该怎么设置比较好呢,接下来由小编给大家介绍一下web3…
2024-07-04 -
欧意WEB3钱包怎么转到交易所账户?WEB3钱包资产转到交易所账户教程
欧意WEB3钱包是受投资者喜爱的钱包之一,web3钱包不仅可以存放自己的加密资产,还可以购买加密货币,非常方便,对于新手来说,还不知道欧意WEB3钱包怎么转到交易所账户?下…
2024-07-03 -
如何查询钱包里的USDT是否是黑U?查询钱包里的USDT是否是黑U的详细教程
USDT(Tether)是一种广泛使用的稳定币,被用于加密货币交易和投资,然而,随着USDT的普及,一些非法活动也开始利用USDT进行洗钱等犯罪行为,导致市场上出现了所谓的“黑U”…
2024-07-02 -
如何选择和使用冷钱包?硬件钱包推荐
由于各种原因由此造成加密货币资产丢失,交易所跑路、钱包监守自盗都容易导致资产丢失,所以人们对冷钱包的需求急剧增加,想通过冷钱包保管加密资产,然而,市场上有许多不同…
2024-06-29 -
币在钱包为什么不显示价格?币在钱包不显示价格详细介绍
钱包是投资者存储加密货币的工具,因为钱包的安全性更高,钱包还可以交易加密货币,所以有一部分投资者愿意把币都放在钱包里,对于新手来说,有一个疑问,币在钱包为什么不…
2024-06-25 -
2024年十大加密钱包:安全且值得信赖的选择
投资者进入加密货币领域,不仅要研究如何进行加密货币的投资,还要选择合适的加密货币钱包,加密货币钱包可以有效的保证用户加密资产的安全,还可以轻松自由地进行资金的接…
2024-06-23 -
2024年6月11个顶级加密钱包:评论与排名
加密货币钱包让用户不仅可以对自己的加密资产进行存储,进行加密货币的余额查看,以及接收和发送,还可以在区块链上进行加密货币的交易,本文将为大家详细介绍加密钱包评论…
2024-06-23