主页 > 以太坊钱包imtoken安装 > 详细描述什么是比特币私钥、账户和钱包

详细描述什么是比特币私钥、账户和钱包

以太坊钱包imtoken安装 2023-01-17 02:16:03

比特币私钥、账户和钱包公钥密码学(Public-key cryptography)

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

详细描述什么是比特币私钥、账户与钱包

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

618005.jpg' alt='详细描述什么是比特币私钥、账户和钱包' />

私钥

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

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

比特币账户

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

详细描述什么是比特币私钥、账户与钱包

通过随机数生成器生成一个256位的随机数,并将该随机数作为账户的私钥。

比特币使用椭圆曲线签名算法 (ECDSA) 来签名和验证数据,特别是使用 secp256k1 曲线。对应的公钥可以通过ECC乘法计算得到。

对公钥进行两次哈希,得到公钥的哈希值。

对于双哈希运算,取前4个字节作为校验码。

地址是通过base58编码得到的。

其他前缀含义如下:

键入版本前缀(十六进制)Base58 格式

比特币地址

0x00

1

支付脚本哈希地址

0x05

3

比特币测试网地址

0x6F

m 或 n

Private Key WIF(钱包导入格式)

0x80

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

BIP38 加密私钥

0x0142

6P

BIP32 扩展公钥

0x0488B21E

xpub

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

比特币钱包

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

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

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