摘要:郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

这个对于大多数比特币爱好者来说非常熟悉的地址格式问题正在面临挑战,即一个更加简单的方案:可读地址。
科技公司IOV推出了一个区块链命名服务,用户可以通过输入公钥来注册一个可读地址。举个例子:
将地址1Afh17fvY9Co2kja9fl24DbFX57j803gw5转变为john*iov.value
加密货币实现大规模普及的主要问题之一就在于发送交易的困难。对于真正的终端用户来说,区块链平台并没有解决用户体验问题,尤其是钱包地址。
什么是区块链地址?
在比特币诞生早期,你可以通过类似104.25.248.32 这样的IP地址发送交易。这种方法很方便,省去了公钥和地址的处理过程。不久之后,比特币开发者就意识到这种交易发送方式很可能遭到严重的中间人攻击(MITM)[1],因此他们决定弃用这种方法。
这件比特币轶事现在看来很有历史价值,同时还说明了地址的意义:这不是一个非常特殊的东西,也不会一成不变。它是一种收发区块链交易所需用到的字符,就像SWIFT地址一样。
然而,SWIFT地址是由银行等中央机构分配的,但区块链地址是真实存在的。每个区块链地址可能在钱包找到它之前就已经存在,因为区块链地址是数学运算产生的结果。
公钥:区块链地址开始的地方
比特币禁用Pay to IP的方法之后,P2PKH就成了比特币地址的新标准。比特币地址通常都是这样的:
1K31KZXjcochXpRhjH9g5MxFFTHPi2zEXb
么我们就从构建区块链地址开始说起。
每个钱包软件都可以创建一个P2PKH地址,或者说你想要多少地址都可以。这不是什么复杂的事,只是一些随机字符的组合。
首先,你的钱包会通过收集熵来生成一个ECDSA私钥。ECDSA是比特币地址所需的核心加密算法。这是一种非对称签名算法,即你可以用私钥对信息进行签名,然后用公钥验证签名的真实性。通过ECDSA你可以证明你——只有你才是某一信息的发送者。就跟在一封信上签了名一样。
私钥创建完毕之后,钱包就会通过私钥来生成公钥。整个过程就是在特定的椭圆曲线上进行一些运算来选取随机坐标。公钥是用于发送和收集交易的关键。在比特币诞生早期,公钥甚至能够用来接收资金。
而现在公钥不仅仅非常长也很不方便(由65个字符组成),而且可能出现输入错误的情况。另外,一旦ECDSA出错,暴露公钥也会带来一定的风险,量子计算就是最好的例子。这就是比特币开发者坚持通过公钥生成地址的原因。
简化地址是否可行?
由于现有比特币地址不具备特定规律,同时字符数较多,人们很难记住这些地址。因此,也有人抱怨这类地址格式影响了用户体验。
然而,前文中提到的方法将比特币地址简化成与邮箱类似的地址,虽然方便记忆,但对安全方面的考虑则有所欠缺。
首先,比特币地址不是凭空出现的,是通过公钥生成的,同时还要保证不会出现重复使用的情况,因此需要经过大量的运算。当前我们收发交易都是直接复制地址,以确保不会出错,一旦地址被简化,一定有人会选择手动输入地址,谁都不能保证不会出错。众所周知,区块链由于其去中心化和不可更改性,就算交易出错,也没有银行这样的中间机构帮你找回资金。
另外,比特币地址实际上是会发生改变的,每次收发交易时,用户使用的都是不同的地址,以此来确保交易的安全。在区块链网络中,安全是不可忽视的一环。
注释 (↵ returns to text)
中间人攻击是一种“间接”的入侵攻击,这种攻击模式是通过各种技术手段将受入侵者控制的一台计算机虚拟放置在网络连接中的两台通信计算机之间,这台计算机就称为“中间人”。
来源:巴比特资讯
郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。