跳转至

比特币钱包使用

什么是钱包?

所谓比特币钱包,其实是一个不太恰当的类比。比特币钱包里面放的不是比特币,比特币都在公链上,只不过加了不同的锁。而钱包里面放的最重要的东西其实是你的私钥。

这么说其实也不对,你的钱包甚至可以不存放你的私钥,你可以把私钥存在脑子里或者写在某个秘密的笔记本上,然后在需要支付的时候输入你的钱包。

所以钱包是什么呢?准确的说钱包是一套软件或者承载某个软件的硬件,这个软件可以使用你的私钥跟比特币公链进行互动,比如对某个交易进行数字签名,广播签名后信息,查询地址余额等等。

钱包的类型

随着比特币社区的发展不同的公司给出了不同的钱包解决方案,各有不同的侧重点。但是总体上,可以分成热钱包和冷钱包

所谓热钱包就是一个计算机软件,它运行在你的计算机上或者手机上,跟你电脑或者手机上的其他软件没有区别。换句话说,他需要使用你电脑的内存来运行,需要你电脑的硬盘来存储数据,还需要借助你电脑的网路与其他远程服务器以及区块链互动。换句话说,你的私钥很可能就以某个加密的形式存储在硬盘上,而你进行交易的时候,你的私钥会出现以明文在内存的某个地方。这就是一个潜在的泄露私钥的漏洞。

比如我用非常知名的热钱包 Electrum 举例,下面这段代码就是读取加密私钥的过程,在 sec = pw_decode .. 这一样,加密的私钥文件被解密然后读入内存变量 sec。理论上,如果电脑上有其他进程在监控 Electrum 的进程内存(当然这很难在用户不知情的情况下做到),私钥就泄露了。

20221230111143

而冷钱包呢,一般是一个便携设备。这个设备上会被写入一个专门的嵌入式程序,而这个程序负责一些跟区块链的互动。不过,这些设备的完成的主要功能其实就是数字签名,而其他的操作一般是交由其他热钱包完成的。冷钱包不需要使用宿主机器的内存、硬盘,因此存储在冷钱包内私钥不会出现在冷钱包以外的任何地方。而签名后的信息则可以随意暴露在网络上,因为已经没有泄露私钥的风险了。正是因此,冷钱包也叫做签名器。

除了冷热钱包,根据私钥存储的位置,钱包还可以分成:托管型和自管型。托管型钱包,你的私钥是由运行商代为保管的,你自己没有私钥;自管型钱包,你自己生成并持有私钥,钱包运营商不负责管理你的私钥。

从方便性的角度,托管型热钱包 > 自管型热钱包 > 冷钱包(自管)

从安全性的角度,冷钱包 > 自管型热钱包 > 托管型热钱包

Note

当然了,没有绝对的安全。即使是冷钱包,私钥也可能泄露。很多情况下,私钥泄露并不是技术漏洞,而是所谓的社会工程学。比如引诱你安装黑客软件,用假的钱包网站诱骗的你输入私钥等等。

多签,Multi-sig

多签,Multi-sig,是比特币主网的一个增加安全性的方案。这种方案的原理就是用多个私钥协同控制某些比特币。有了多签,就可以有很多更加安全的钱包方案。

  • 1-2 多签 - 设置一个共同账户,有两个私钥均可操作该账户。即为该账户签名。
  • 2-2 多签 - 需要两个私钥同时签名,才能操作账户。
  • 2-3 多签 - 需要 3 个私钥中的两个同时签名,才能操作账户。
  • n-m 多签 - 可以灵活配置。

多签自管热钱包 Muun

其实对于新手,或者小额比特币的存储,使用多签自管热钱包最为方便了。今天给大家介绍的是 Muun

Warning

泛泛没有收到任何来自 Muun 的好处。我写这篇文章是因为我自己再用这个钱包,而且接触过他们的客服几次,体验非常好。自己觉得这是一个不错的公司,Muun也是一个非常棒的产品。

我喜欢 Muun 主要由几个原因:

  • 上手非常容易
  • 自管私钥(其实是半自管,因为是多签,有一个私钥在 Muun,但是两个私钥用户都可以看到)
  • 2-2 多签,手机上是存储一个私钥(当然另一个私钥托管在 Muun),丢失也不会有问题
  • 开源软件,我绝不会使用闭源钱包,包括闭源冷钱包
  • 集成了比特币和闪电网络,使用非常方便
  • 比一般的热钱包更加安全,因为采用了 2-2 多签
  • 更低的费用,Muun 这个公司非常尊重比特币社区的动态,比如最近他们在积极融合 Taproot

20221229205347

Muun 通过自己的内存池估计方法,可以获得更低的费用。

关于 Muun 的具体操作,其实只要下载软件,根据软件提示一步一步完成,备份好自己的两个私钥(Muun 有集成各种网盘的备份方案)就可以了。它的比特币和闪电网络支付 UI 做的都非常简单易用。

关于钱包更多的思考

关于钱包其实有几个维度可以思考:

  • 安全性
    • 私钥安全
    • 节点安全
  • 隐私性
  • 方便性
  • 开源

私钥安全我们已经讲过了,你的私钥存在哪里?你的私钥有多少时间是暴露在内存里的?等等。

还有一个安全性的维度就是节点区块链的安全。我们知道当我们查询公链信息的时候通常是连接到一个已有的全节点服务,如果这个全节点不是自己控制的,我们就需要信任这个查询节点是诚实的。当然为了最大限度的提升安全度,你可以运行自己的全节点。现在已经出现了很多全节点解决方案,比如 MyNode 这种。如果你不懂计算机,可以花几百美金购买产品,如果你懂计算机,他们家的配置都是开源,可以买个树莓派加一块移动硬盘,一套下来差不多 600 人民币。

很多钱包可以配置链接自己的全节点进行操作,比如 Electrum, Sparrow。这些钱包都是自管,且支持很多功能,比如多签、闪电网络等等。

另一个维度就是隐私。我觉个例子,Electrum 默认是连接到一些公认 Electrum 服务器的,你通过这些服务器查询、交易的时候,其实已经把自己的 IP 地址公开给这些服务器的运行商了。不过关于隐私也有很成熟的方案,比如洋葱网络,Tor。

方便性也是一个重要的维度。上面提到的钱包虽然功能强大,隐私性、安全性都不错,但是用起来不是很方便,也没有像样的手机客户端。

最后就是代码是否开源。闭源项目泛泛是不推荐的。即使你看不懂代码,开源项目起码可以确保看懂代码的人可以去检查源代码,确保软件没有什么后门。

评论