数字货币(BTC比特币、ETH以太币)的安全性思考

2023年 7月 11日 28.7k 0

01 BTC

比特币(Bitcoin,代号BTC)是一种用去中心化、全球通用、不需第三方机构或个人,基于区块链作为支付技术的电子加密货币。比特币由中本聪于 2009 年 1 月 3 日,基于无国界的对等网络,用共识主动性开源软件发明创立。比特币也是目前知名度与市场总值最高的加密货币。

比特币区块结构

数字货币(BTC比特币、ETH以太币)的安全性思考

钱包和交易

比特币钱包的地址就是公钥通过 Base58 算法编码后的一段字符串,使用该算法可以将公钥中的一些不可见字符编码成平时常见的字符。Base58 相对于 Base64 来说消除了非字母或数字的字符,如:“+”和“/”,同时还消除了那些容易产生混淆的字符,如数字 0 和大写字母 O,大写字母 I 和小写字母 l。这一段用作比特币钱包地址的字符串就相当于一个比特币账户。

交易属于比特币中的核心部分,区块链应用到数字货币上也是为提供更安全可靠的交易。交易之前会先确认每一笔笔交易的真实性,如果是真实的,交易记录便会写入到新的区块中去,而一旦加入到区块链中了也就意味着再也不能被撤回和修改。

交易验证流程大概为:

  • 验证交易双方的钱包地址,也就是双方的公钥。
  • 支付方的上一笔的交易输出,前面也说到了钱包里面是没有存放你的比特币数量的,而你每一笔交易都会产生交易输出记录到区块链中。通过交易输出可以确认支付方是否能够支付一定数量的比特币。
  • 支付方的私钥生成的数字签名。如果使用支付方的公钥能解开这个数字签名便可以确认支付方的身份是真实的,而不是有人恶意的使用当前的支付方的钱包地址在做交易。

一旦这些信息都能得到确认便可以将交易信息写入到新的区块中去,完成交易。受比特币区块大小的限制(目前的为 1MB,一笔交易信息大概需要 500 多字节),一个区块最多只能包含 2000 多笔的交易。因为区块链中记录了所有的交易信息,所以每个比特币钱包的交易记录和币的数量都是可以被查到的,但是只要没有对外公开承认钱包地址是属于你的,也不会有人知道一个钱包地址的真实拥有者。

还有一种交易叫做 coinbase 交易,当矿工挖到一个新的区块时,他会获得挖矿奖励。挖矿奖励就是通过 coinbase 交易拿到手的,也一样是需要把交易信息添加到新的区块中去,但是 coinbase 交易不需要引用之前的交易输出。

安全问题

比特币基于区块链,具有去中心化结构,用户通过一个公开的地址和密钥来宣示所有权。某种程度上,谁掌握了这个密钥,谁就实质性地拥有了对应地址中的比特币资产。而区块链的防篡改特征,是指比特币的交易记录不可篡改,而非密钥不会丢失。同时,也正因为区块链不可篡改,密钥一旦丢失,也意味着不可能通过修改区块链记录来拿回比特币。

因此针对比特币的盗币事件屡有发生,主要是通过下面三个手段:

交易平台监守自盗

交易所遭受黑客攻击

用户交易账户被盗

交易平台监守自盗可以向平台索回,但是黑客攻击导致的盗币,很难被追回。因为黑客一旦盗取比特币,接下来便会通过混币等手段进行洗白,除非有国家力量强力介入,否则追回的可能性仅仅停留在理论层面。

02 ETH

以太币(Ether,代号ETH)为以太坊区块链上的代币,可在许多加密货币的外汇市场上交易,它也是以太坊上用来支付交易手续费和运算服务的媒介。以太坊(Ethereum)是一个开源的有智能合约功能的公共区块链平台。通过其专用加密货币以太币提供去中心化的虚拟机(称为“以太虚拟机”Ethereum Virtual Machine)来处理点对点合约。

智能合约

以太坊与比特币最大的一个区别——提供了一个功能更强大的合约编程环境。如果说比特币的功能只是数字货币本身,那么在以太坊上,用户还可以编写智能合约应用程序,直接将区块链技术的发展带入到 2.0 时代。

数字货币(BTC比特币、ETH以太币)的安全性思考

以太坊中的智能合约是运行在虚拟机上的,也就是通常说的 EVM(Ethereum Virtual Machine,以太坊虚拟机)。这是一个智能合约的沙盒,合约存储在以太坊的区块链上,并被编译为以太坊虚拟机字节码,通过虚拟机来运行智能合约。由于这个中间层的存在,以太坊也实现了多种语言的合约代码编译,网络中的每个以太坊节点运行 EVM 实现并执行相同的指令。如果说比特币是二维世界的话,那么以太坊就是三维世界,可以实现无数个不同的二维世界。

安全问题

ETH最大的特点就是智能合约,而智能合约漏洞也就导致了ETH的安全问题。

2016 年黑客通过The Dao,利用智能合约中的漏洞,成功盗取 360 万以太币。THE DAO持有近15%的以太币总数,因此这次事件对以太坊网络及其加密币都产生了负面影响。

The DAO事件发生后,以太坊创始人Vitalik Buterin提议修改以太坊代码,对以太坊区块链实施硬分叉,将黑客盗取资金的交易记录回滚,得到了社区大部分矿工的支持,但也遭到了少数人的强烈反对。最终坚持不同意回滚的少数矿工们将他们挖出的区块链命名为Ethereum Classic(以太坊经典,简称ETC),导致了以太坊社区的分裂。在虚拟货币历史上,这是第一次,也可能唯一一次由于安全问题导致的区块链分叉事件。

无独有偶 2017 年 7 月 19 日, 多重签名钱包Parity1. 5 及以上版本出现安全漏洞, 15 万个ETH被盗,共价值 3000 万美元。

两次被盗事件都是因为智能合约中的漏洞。让我们看到,虚拟货币的安全不仅仅是平台和个人,区块链上的应用,也是我们应该关注的内容。

03 XMR

门罗币(Monero,代号XMR)是一个创建于 2014 年 4 月开源加密货币,它着重于隐私、分权和可扩展性。与自比特币衍生的许多加密货币不同,Monero基于CryptoNote协议,并在区块链模糊化方面有显著的算法差异。

隐蔽地址

隐蔽地址是为了解决输入输出地址关联性的问题。每当发送者要给接收者发送一笔金额的时候,他会首先通过接收者的地址(每次都重新生成),利用椭圆曲线加密算出一个一次性的公钥。然后发送者将这个公钥连同一个附加信息发送到区块链上,接收方可以根据自己的私钥来检测每个交易块,从而确定发送方是否已经发送了这笔金额。当接收方要使用这笔金额时,可以根据自己的私钥以及交易信息计算出来一个签名私钥,用这个私钥对交易进行签名即可。

环签名

隐蔽地址虽然能保证接收者地址每次都变化,从而让外部攻击者看不出地址关联性,但并不能保证发送者与接收者之间的匿名性。因此门罗币提出了一个环签名的方案——事实上,在古代就已经有类似的思想了:如图 5 所示,联名上书的时候,上书人的名字可以写成一个环形,由于环中各个名字的地位看上去彼此相等,因此外界很难猜测发起人是谁。这就是环签名。

数字货币(BTC比特币、ETH以太币)的安全性思考

除了交易地址,交易金额也会暴露部分隐私。门罗币还提供了一种叫做环状保密交易(RingCT)的技术来同时隐藏交易地址以及交易金额。这项技术正在逐步部署来达到真正的匿名。这项技术采用了多层连接自发匿名组签名(Multi-layered Linkable Spontaneous Anonymous Group signature)的协议。

安全问题

比特币交易私密性方面做的不太好,关于货币隐私的两个基本属性:

不可链接性(Unlinkability):无法证明两个交易是发送给同一个人的,也就是无法知道交易的接收者是谁。

不可追踪性(Untraceability):无法知道交易的发送者是谁。

比特币交易要发送地址信息,很明显不符合之上的要求。门罗币通过隐蔽地址来保证不可链接性,通过环签名来保证不可追踪性,从而给用户的交易信息提供了很好的隐私性。另一方面,比特币挖矿主要依赖于大量专业化的专用集成电路(ASIC)。它的算法在ASIC上的运行速度远超于在标准家庭电脑或者笔记本电脑上运行。相比之下,门罗币的挖矿算法要精良得多。它并不依赖于ASIC,使用任何CPU或GPU都可以完成,这就意味着门罗币具有更低的挖掘门槛。

门罗币的这些特性,使其成为黑产挖矿的不二之选。过去的一段时间,出现了许多以门罗币挖矿为目的的网络攻击事件。

04 小结

在以太坊这种平台区块链上,如果运行智能合约,应用程序出现漏洞,同样也会威胁其上的数字资产。

以太坊解决了比特币的单应用的局限,使得区块链像一个操作系统,开发者可以在其上搭建自己的“应用”。门罗币降低了挖矿的门槛,同时又满足了交易私密性需求。这些特性都符合黑产的需要,过去的一段时间,以门罗币挖矿为目的的网络攻击事件时有发生。

相关文章

Mallox勒索软件新Linux变种现世
伪装成破解程序和商业工具的新型恶意软件正在传播
Orcinius后门新样本分析
Poseidon窃取程序通过Google广告感染Mac用户
大选开始之际,欧盟各政党遭受 DDoS 攻击
微软2024

发布评论