Bitcoin中公私钥对与钱包地址关系、转化及可逆性详细解析
私钥,公钥和钱包地址之间的关系
中东的私钥之间有什么关系?如何在它们之间进行转变?转换可逆吗?
这些问题可能会打扰刚刚接触过源代码或区块链理论的学生。本文将详细介绍他们三个之间的关系。
1。钱包地址的产生
您可以生成一个钱包地址以在客户端上执行命令:
该程序内部的实现步骤如下:
首先使用随机数生成器生成“私钥”。一般来说,这是一个数字。使用此数字字符串,您可以在相应的“钱包地址”中操作比特币,因此必须安全地保存'。 “私钥”通过算法处理生成“公共密钥”。它是椭圆形曲线算法。当已知的“私钥”时,它可以算作“公共密钥”,而当无法计算“私钥”时,“公共密钥”是不知道的。这是确保比特币安全性的基础。获得公共密钥哈希是通过和双工哈希算法获得的。同样,它也是哈希算法。可以计算“公钥”以获取“公共密钥哈希”,并且它是不兼容的。将一个字节的地址号连接到“公钥哈希”头。 (对于比特币网络的地址,此字节为“ 0”。),连接到其尾巴。值得注意的是,这个地方是两个操作。 ;代码上一步中生成的结果。到目前为止获得的“钱包地址”。第二,公共密钥,私钥和钱包地址之间的转换
在上面的六个步骤中,只有“编码”具有相应的可逆算法(“解码”)。其他算法是不可逆的,因此这些数据之间的关系可以表示为:
您可以看到:·
通过私钥,您可以在上述计算过程中获取所有值。在
可以通过相互反对操作来转换公共密钥哈希和钱包地址,因此它们是等效的。
3。使用私钥签署交易
比特币钱包室的转移是通过交易实现的。
交易数据由钱包的“私钥”的所有者生成,这意味着使用“私钥”,它可以花费钱包的比特币余额。
产生交易的过程如下:
交易的原始数据包括“转移量”和“转移到钱包地址”,但只有这些数据还不够,因为无法证明交易的发电机有权使用“钱包的转移” ”。因此,您需要使用“私钥”来签署原始数据。此过程与生成“钱包地址”的第二步相同。将“签名转移”和“从公共密钥中转移”到原始交易数据并生成正式的交易数据,以便可以将其广播到比特币网络进行转移。 4。使用公钥验证签名
事务数据被广播到比特币网络后,节点将测试事务数据,包括签名的验证。如果验证是正确的,则该余额已成功地从“从钱包中转移”到“转移到钱包”。
V.总结一下“钱包地址”是否从未向其他“钱包地址”发送余额,那么其“公钥”将不会暴露于比特币网络。公共密钥一代算法()是不可逆的。即使暴露了“公共密钥”,也很难影响“私钥”的安全性(很难依赖“私钥”一代算法)。 “私钥”用于生成“公共密钥”和“钱包地址”,也用于签署交易。借助“私钥”,就是拥有此钱包平衡的所有操作能力。因此,保护“私钥”是所有比特币钱包应用程序中最基本,最重要的功能。