主页 > 官网imtoken钱包苹果版下载 > 比特币私钥、账户和钱包

比特币私钥、账户和钱包

对于比特币用户来说,与他们最直接相关的是比特币中的私钥、账户和钱包。以下是三个概念和相关细节。在此之前,先简单介绍一下公钥密码学的基础知识。

公钥密码学

公钥密码体制分为三部分:公钥、私钥、加解密算法。公钥密码系统的公钥和算法是公开的(这是公钥密码系统名称的来源),而私钥是保密的。针对不同的目的,可以选择使用公钥或私钥进行加密,然后使用对应的私钥或公钥进行解密。公钥密码系统的主要功能如下:

这里写图片描述

在比特币系统中,我们使用公钥加密来创建一个密钥对来控制比特币的获取。密钥对由私钥和从它派生的唯一公钥组成。公钥用于接收比特币,私钥用于在支付比特币时签署交易。公钥和私钥之间的数学关系,以便可以使用私钥为特定消息生成签名。此签名在不泄露私钥的情况下验证公钥。使用比特币支付时,比特币的当前所有者需要在交易中提交他们的公钥和签名(每笔交易的签名不同比特币 钱包,但由相同的私钥生成)。比特币网络中的每个人都可以通过提交的公钥和签名进行验证,

这里写图片描述

私钥

比特币 钱包

私钥实际上只是一个随机选择的数字。对比特币地址中所有资金的控制取决于相应私钥的所有权和控制权。在比特币交易中,私钥用于生成支付比特币所需的签名,以证明资金的所有权。私钥必须时刻保密,因为一旦泄露给第三方,相当于保护私钥的比特币也被交出。私钥也必须备份,以防不慎丢失,因为私钥一旦丢失,就很难找回,它所保护的比特币将永远丢失。

这个随机数是如何选择的?一般由随机函数发生器实现,这里不再详述。

比特币账户

在上图中,我们看到了比特币账户(地址)(私钥->公钥->比特币地址)的粗略生成过程,这里详细介绍其生成细节。比特币账户生成过程中应用了两种加密哈希函数,一种是SHA256,另一种是RIPEMD160。下图为比特币地址(账户)的生成过程:

这里写图片描述

通过随机数生成器生成一个 256 位的随机数,并将该随机数作为账户的私钥。比特币使用椭圆曲线签名算法(ECDSA)来签名和验证数据,特别是使用 secp256k1 曲线。对应的公钥可以通过ECC乘法计算。将公钥哈希两次,得到公钥的哈希值。对于双哈希运算,取前 4 个字节作为校验码。执行base58编码获取地址。

比特币 钱包

其他前缀含义如下:

类型版本前缀(十六进制) Base58 格式

比特币地址

0x00

1

支付脚本哈希地址

比特币 钱包

0x05

3

比特币测试网地址

0x6F

m 或 n

私钥 WIF(钱包导入格式)

比特币 钱包

0x80

5(无压缩)、K 或 L(压缩格式)

BIP38 加密私钥

0x0142

6P

BIP32 扩展公钥

比特币 钱包

0x0488B21E

xpub

地址采用base58编码格式编码,主要是为了方便使用和识别。

比特币钱包

钱包是为用户提供交互界面的应用程序。钱包控制用户访问、管理密钥和地址、跟踪余额以及创建和签署交易。其中,核心功能是保存私钥。一旦私钥泄露或遗忘,比特币就会被盗或丢失。

你的钱包里有比特币吗?钱包里只有钥匙比特币 钱包,没有比特币。

那么我的比特币在哪里?你拥有的比特币实际上是你所有账户地址的未使用交易输出。钱包将监控输出到您的公钥地址的输出。比如A给你转了1个比特币,B给你转了9个比特币,你还没有转给别人,那么钱包计算你目前有10个比特币。当你需要花费比特币转账给他人时,你构造一笔交易,将你未花费的交易输出作为输入,输出为收款人的账户地址,并设置转账金额、你自己的公钥信息等,重新交易签名(私钥签名)确认后,发送到比特币网络进行确认,转账完成。