当前位置 首页 >  区块链教程  > 正文

区块链知识:比特币的私钥、地址和钱包详解

比特币的私钥就是通过数字密钥、比特币地址和数字签名,建立比特币所有权。数位密匙并非真正存储在网络中,而是由用户生成并储存在一个名为“钱包”的文件或简单的数据库中。储存在用户钱包中的数字密钥是完全独立于比特币协议的,可以由用户钱包软件生成和管理,而不需要任何区块链或网络连接。关键字使比特币有很多有趣的特点,包括去中心化信任和机制、所有权认证以及基于密码学的安全模型。
每个比特币交易都需要一个有效的签名才能被储存到区块链中。只有一个有效的数字密钥可以生成有效的数字签名,所以持有一个比特币的密匙就等同于控制比特币账户中的比特币。一种比特币钱包包含一系列密钥对,每一对都包含私钥和公钥。公共密钥类似于银行帐户。而且私钥类似于控制一个帐户的PIN或者支票的签名。很少有人能直接看到比特币的数字密钥。通常,它们都存放在比特币钱包中,并由比特币钱包软件管理。
BTC私钥是什么?
私有密钥是随机选择的数字。对一个比特币地址的所有资金的控制依赖于对相应私有密钥的拥有和控制。在比特币交易中,私钥被用来产生必要的签名来支付比特币,从而证明其所有权。私有密钥必须永远是保密的,因为一旦泄露给第三方,在这个私钥保护下的等价物就会被抛在一边。私有密钥也必须备份以防意外丢失,因为私钥一旦丢失,很难恢复,它所保护的比特币也会永远消失。
何谓BTC地址?
通过私有密钥,我们可以使用椭圆曲线乘法来生成一个公钥,这是一个不可逆的过程。通过使用公共密钥,我们可以使用单向加密散列函数生成比特币地址。
通常,比特币地址是由公共密钥产生,并与其对应。Bitcoin就像支票上的付款对象的名字(即“收款方”)一样,它将比特币地址抽象为收款者,使得交易地点更加灵活,就像支票一样。Blocks是用户经常看到的唯一代表,用户只需向他人提供比特币地址。
钱包是什么?
皮夹是私钥的容器,通常可以通过排序文件或简单的数据库实现。与比特币相比,比特币钱包只包含私钥。每个用户都有一个钱包,里面有多个私钥。您的钱包包含了一对私钥和公钥。使用者使用这些私有密钥签署交易,从而证明他们拥有交易输出(即其中的比特币)。Bitcoin以交易输出的形式存储在区块链中。
在比特币交易中涉及到许多加密技术:公开密钥、私有密钥、对称加密、不对称加密、签名等。那哪些是需要用户仔细保管不能外泄的,那些需要用户公开的呢?在此开始,首先生成钱包地址。
生成钱包地址。
比特币的私钥、地址和钱包详解1
在比特币私钥、公钥、钱包地址之间。
1.先用随机数生成器产生一个『私钥』。一般情况下,这是256bits的数值,拥有这个序列就能在相应的‘钱包地址’上操作比特币,因此它必须被安全地保存。
2.『私钥』是用SECP256K1算法处理而产生的,是『公钥』。SECP256K1是一种椭圆曲线算法,当我们知道‘私钥’的时候,可以将它计算出来;当‘公钥’被知道时,它就不能将它反求出来。它是保证比特币安全性的算法基础。
3.与SHA256类似,RIPEMD160也是一种Hash算法,通过这个公钥可以计算出‘公钥哈希’,相反,RIPEMD160是不可行的。
4.将一个字节的地址版本号连接到'公钥哈希'头部(对于比特币网络的pubkey地址,这个字节是“0”),然后用两个SHA256运算结果的前4字节作为连接到它的尾部的‘公钥哈希’的校验值。
5.用BASE58对前一步的结果进行编码(比特币自定义版本),就会得到『钱包地址'。
例如,1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa。
「私钥」『公钥』『公钥』之间的关系。
比特币的私钥、地址和钱包详解2
以上五步中只有“BASE58码”具有相应的可逆算法(“BASE58解码”),其它算法是不可逆的,因此这些数据之间的关系可以表达如下:
在比特币私钥、公钥、钱包地址之间。
可以看到:
可以用‘私钥’来获得上面计算的所有值。
可以用互逆操作来转换‘公钥哈希’和‘钱包地址’,因此这两种方法是等效的。
用'私钥'签署该交易。
比特币钱包之间的转帐可以通过交易(Transaction)来实现。这些交易数据由转出钱包‘私钥’的拥有者产生,也就是说,如果有‘私钥’,钱包将会支付比特币余额。产生事务的过程如下:
比特币的私钥、地址和钱包详解3
在比特币私钥、公钥、钱包地址之间。
1.交易的原始数据包括"转帐金额"和"转帐钱袋地址",但这些数字还不够,因为无法证明交易的生产者有权使用"转出钱包地址"余额。因此,需要用'私钥'来签署原始数据。
2.生成"转出钱包公钥",这个过程与产生『钱包地址」的第二步相同。
3.在原始交易数据中添加“退出签名”和“转出公钥”,从而产生一个正式的交易数据,使其能够被广播到比特币网络进行转帐。
用'公钥'验证签名。
比特币的私钥、地址和钱包详解4
在将交易数据发送到比特币网络之后,节点将检查这一交易数据,包括对签名的检查。假如检查结果是正确的,那么这个余额就可以成功地从“转出钱包”转移到“转出钱包”。
小结
若某个「钱包地址」从来没有向其它的「钱包地址」发送过余额,则其「公钥」将不会暴露于比特币网络中。公开密钥生成算法(SECP256K1)是不可逆的,而且即使暴露了「公钥」,也很难影响『私钥』的安全(这要依赖于生成私钥的算法)。
‘私钥’是用来产生‘公钥’和‘钱包地址’的,它还用于签署交易。有了一个‘私钥’,你就可以对这个钱包中的所有余额进行操作。
因此,保护“私有密钥”是所有比特币钱包应用程序中最基础和最重要的功能。

本论文只涉及到P2PKH交易的标准方法,P2SH未涉及。
在历史上,有错误的交易都会进入blockchain,而比特币就会永远消失在Cyberspace里。
比特币的私钥、地址和钱包详解教程整理完毕. 如果你觉得本站的文章不错,欢迎和朋友分享 .imtoken官网祝您在投资过程捷报连连!

本文来自网络,不代表大媒体立场,转载请注明出处。
发布评论:

联系我们

在线咨询: QQ交谈

邮箱: www6591158@qq.com

工作时间:周一至周五,8:00-18:00,节假日休息

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部
sitemap