区块链网站|NFTS 比特币地址 区块链简介|比特币地址的原理和意义

区块链简介|比特币地址的原理和意义

广告位

区块链入门|比特币地址的原理和意义

【中亚国际博览会】当我们收到别人的比特币转账时,需要给对方的看似混乱的字符串就是比特币地址。那么,它背后的基本原理是什么呢?为什么不直接用地址代替公钥接收比特币?为什么每次转账都是用一个地址换一个新地址的最佳做法?

基本原理

先说地址的基本原理,地址是怎么产生的,为什么地址里的钱可以用私钥转移。

通过多步操作从私钥获得地址。比特币采用椭圆曲线加密,私钥随机选取。私钥可以通过椭圆曲线密码算法计算公钥,公钥的地址通过两次哈希得到。所有计算步骤的算法都是公开的、单向的。从地址推导出公钥很难,从公钥推导出私钥也很难。

注意,密码学语境中的“难”是指理论上可以实现,实际上不可能实现。当然,比特币地址也分不同的类型,常见的有两种:一种是Pay-to-PubKeyHash (P2PKH),即公钥哈希地址。另一个是Pay-to-ScriptHash (P2SH),这是脚本地址。在后续的讨论中,我们都集中在第一种情况。

比特币的基本转账原理是用私钥签署交易授权转账。如果我想把和我地址相关的比特币转给你,我只需要向全网证明我是地址对应的私钥持有人。

每次转账,我都把公钥和这次转账的数字签名公布到全网。而公钥和数字签名可以让整个网络相信我确实持有私钥,而不会暴露私钥。私钥可以计算公钥,地址是公钥的哈希,所以私钥和地址的联系很明显。

这是比特币地址的基本原理。

为什么按地址而不是公钥收钱?

现在,我们来思考这个问题。比特币系统为什么要发明地址而不是直接用公钥收款?

这个地址会让我们的货币更安全。当我们收到比特币的时候,唯一需要接触到网络的就是我们的地址。注意,公钥是不能根据地址倒序的,所以如果我的地址只支付一次,那么其他人就不会知道我的公钥。

虽然当代密码学可以在认为根据公钥很难计算出私钥的基础上运行,但毕竟公钥和私钥之间有明确的数学关系,所以用公钥获得私钥所需的计算能力会大大降低。所以用地址代替公钥来收钱会让系统更安全。假设未来计算机会突飞猛进的发展,比特币使用的椭圆曲线密码会被破解,地址里的硬币就很难被窃取。

为什么地址只使用一次

比特币地址设计的初衷是让每个人每次使用后都可以更改,这也是为什么很多钱包软件每次都会为我们生成不同的地址。

首先,如果我使用地址转账,那么我需要签署交易并公布公钥。根据前面的讨论,公钥暴露会降低比特币地址的安全性。同时,更重要的是,如果数字签名不是离线完成的,很有可能私钥本身并不完全安全可信。

其次,用同一个地址收钱甚至不止一次都不好,因为会降低隐私。比特币的所有交易数据都是公开可追溯的。一旦我们在某次交易中泄露了我们的物理信息,坏人就可以确认这个地址是谁的。坏人可以直接在这个地址查询总余额,可能会带来人身安全问题。

简而言之,最佳实践是每个地址只使用一次。如果涉及变更,您可以设置一个特殊的变更地址。

摘要

关于比特币地址的原理和注意事项就说到这里吧。需要记住的关键信息是:第一,可以根据私钥计算出地址,所以可以用私钥转出地址中的货币。

第二,地址不会暴露公钥。一旦公开密钥暴露,这个地址的安全性就会降低。

第三,同一个地址的重复使用会降低安全性和私密性,所以每次使用都必须更换地址。

广告位
本文来自网络,不代表区块链网站|NFTS立场,转载请注明出处:https://www.qklwz.com/btb/qianbao/13296.html

作者: 八仙渡海口

上一篇
下一篇

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

返回顶部