风险提示:请理性看待区块链,树立正确的货币观念和投资理念,不要盲目跟风投资,本站内容不构成投资建议,请谨慎对待。 免责声明:本站所发布文章仅代表个人观点,与CoinVoice官方立场无关

如何用「比特币钱包」藏匿我们的隐私?

碳链价值
2019年08月13日

编者按:本文来自碳链价值(ID:cc-value),作者:Eric Wall,编译:张安倪,星球日报经授权发布。

虽然从理论上讲,使用比特币可以获得相对较高的隐私权,但如果每个人都需要获得这种高程度的隐私权,在用户使用方便性的方面还有很长的路要走。对于大多数无法掌握Linux命令行的用户而言,他们也没有兴趣或能力运行服务器,并且他们的经济状况无法为他们提供足够的比特币以满足交易的最低需求。

因此通往隐私权的道路并不简单,尤其是当遇到间谍公司或政府拥有充足的资源,即使对于那些有能力的用户来说,目前也无法在不接受安全权衡下访问其中的许多功能,而安全权衡本身最终可能会破坏他们试图保护的隐私。

如果你担心你的比特币活动有着被公司或独裁政府揭穿的危险,那么选择一个正确的钱包应用程序可能就意味着生与死的区别。本系列的上一篇文章旨在回答:“当我们使用比特币区块链时,我们会留下什么痕迹?”为了让读者能更了解比特币的隐私特征,本文旨在进入实际领域,并让用户熟悉我们用来与协议交互,以发送和接收比特币的应用程序,那就是比特币钱包。

这里讨论的重点是在间谍公司或政府面前实现隐私性。对于那些不关心监控,一开始只想使用比特币的用户来说,这篇文章可能有些过头了。本次调查的目的是为了不同的用例而设定了相当雄心勃勃的隐私目标,并探索使用当前业界现有的工具实现这些目标的实际可行性。

当我们谈到掌握比特币隐私性的主题时,你首先要考虑的是你所设想的使用类型。

例子:

1. 你打算把你的一些财富转移到比特币上是用于储蓄,还是为了保护你的钱不被非法没收?

2. 你是一名作家,打算通过互联网接收比特币捐赠,并将其储存起来,以备日后兑换成当地货币吗?

3. 你是否计划使用比特币在线购买其他商品和服务?

4. 你是否计划使用比特币亲自购买商品和服务?

这些情况很重要,因为它们会影响你需要进行的操作类型。用户如果只想存储比特币,其即时隐私需求可能仅限于生成新地址并确保接收到硬币的安全性。与此同时,希望定期接收到比特币捐赠的关注隐私的用户可能希望有一种机制,可以为每个捐赠自动生成新地址。此外,关注隐私的用户在使用比特币进行线上购买的时候,可能希望的是在传输交易过程中混淆其资金来源和源 IP 地址。最后,一个关注隐私的用户亲自进行交易,可能希望通过移动设备来实现类似的成就。

请记住,由于加密货币协议不断地在改进和变化,因此,要持久地制定加密货币协议是一项挑战,但对于与其接口的各种外部应用程序而言,这样做更具挑战性。因此,最好确保你已经更新了有关计划使用的钱包应用程序的信息。软件产品需要维护才能确保安全,维护良好的产品可能会随着时间的推移而显著改善,而其他产品可能会退化。

开源项目通常具有GitHub 存储库,你可以在其中检查发行说明和开发活动,但对于一般人而言,最好的选择可能是与产品的其他用户互动并提出问题。比特币最大的优势之一是在于其活跃的爱好者社区,你可以在Reddit和Twitter等平台上与他们互动——善于利用它!

寻找钱包

在撰写本文时,bitcoin.org已经按类别排序给出了最新和最合理的比特币钱包应用程序列表。

请记住,尽管bitcoin.org希望成为一个具有协作和透明性的工作,但所有网站本身都受到集中控制,其内容随时可能受到损害。在安装比特币软件的过程中一定要格外小心,要再三确保自己下载的软件是正确的。一个被破坏的网页可能看起来和真实的一样,唯一的例外是你下载的钱包,骗走了你的钱。下面是两种可以用来避免这种情况发生的方法。"高级"选项为你提供了更好的安全保证,但"简单"选项相比起完全不采取任何额外步骤要好。

简单:从网站下载钱包应用程序时, 请务必确保你已被引导至正确的域。例如,谷歌搜索"比特币节点"将显示来自知名网站(如比特币维基、比特币对话和GitHub的结果,每个网站都链接到与bitcoin.org相同的网站。

高级:为软件准备的安装文件通常被称为"二进制文件"。这些二进制文件通常需要由该项目的一个或是多个开发人员的 PGP 密钥签名。示例:比特币核心下载说明,(比特币轻钱包)Electrum下载说明。

隐私评分

对于bitcoin.org上的每个钱包,目前有四个不同的隐私评分:改进,基本,弱和可变性。

以下是如何定义隐私bitcoin.org评分标准:

隐私:钱包是否保护用户的隐私?为了获得良好的评分,每个交易必须使用新的地址以避免钱包的地址被重复使用,同时也要避免向对等服务器或中央服务器披露信息,并与ToR兼容。为了获得及格分数,每个交易必须使用新的地址以避免钱包的地址被重复使用。

从本系列的第一篇文章中,我们知道虽然这里描述的钱包质量会提高你保留隐私的机会,但它们绝不应被解释为足以保护个人隐私 ,相比起解释为一个复杂的对手。例如,如果你使用钱包接收比特币,然后有一天决定将你的全部余额发送到一个新钱包, 共同输入所有权启发式将仍然允许区块链分析工具将您使用过的所有地址全部彼此连接在一起。

如果我们再看一下"改善隐私"类别中的两个钱包,Bitcoin Core和Wasabi钱包,它们都能确保上面的链接不会发生。 

使用Bitcoin Core,你可以小心地使用加密货币控制功能,在单独的交易中一次手动发送一个输出, 并持续确保你的地址在以后的任何一个步骤中都不会混合在一起。 

在 Wasabi 中,你可以访问相同的功能,但除此之外,它使你能够通过 Chaumian CoinJoin 混合交易运行你的加密货币, 其中提到的区块链聚类技术会变得不适用或不准确。从本质上来说,人们应该将"改善隐私"评分视为一类钱包的粗略基线, 其中会有很多变数。

以下是"改善隐私"类别中的钱包的完整列表:

1. Armory (桌面:Linux、Mac、视窗)

2. Wasabi钱包(桌面:Linux、Mac、视窗)

3. mSIGNA(桌面:Linux、Mac、Windows)

4. 比特币核心(Bitcoin Core)(桌面、Linux、Mac、视窗)

5. 比特币节点(Bitcoin Knots)(桌面:Linux、Mac、视窗)

安全和隐私

在理想的世界中,我们可以完全专注于钱包的隐私功能,并将所有安全方面的问题排除在本系列的范围之外。然而,实际上,安全和隐私的挑战是密不可分的。如果没有安全性,我们就相当于没有隐私——尽管现今钱包中的大多数软件漏洞都是为了提取私钥,以窃取人们的资金而设计的,但它们也可以被设计用来提取有关用户的敏感信息。在这个人们日益以数据为中心的世界中,几乎每一条用户信息都可以被货币化,对敌手的这种激励正在逐渐上升。

对于外部观察者来说,软件安全看起来似乎是一个很可怕的挑战。对于那些承担着这一重任的少数人来说,现实往往并不明显。软件很少采用独立软件包,相反,许多软件包依赖于其他软件包。这意味着漏洞和攻击并不总是通过这些特定软件项目的代码库进入钱包应用程序,而是间接地通过它们的依赖关系。示例: Copay(npm 包漏洞)。

接下来的问题是,关注隐私的用户在决定使用哪个钱包的时候,应该如何考虑这些挑战?我们如何知道哪些项目具有良好的安全实践,哪些项目需要避免?在开源软件的世界里,我们可以依靠一条经验法则:越有能力、越诚实,我们对一段代码的审查,就越安全。以下是布鲁斯·施奈尔的主题(1999年):

首先,仅仅发布代码并不意味着人们会检查它是否存在安全漏洞。安全研究人员是反复无常和忙碌的人。他们没有时间检查发布的每一段源代码。因此,尽管打开源代码是一件好事,但它并不能保证安全性。我可以例举十几个没有人听说过,也没有人评估过的开源安全库。另一方面,Linux中的安全代码已经被许多优秀的安全工程师研究过。

其次,你需要确保在发现安全问题时就及时解决。人们会在开源安全代码中发现安全漏洞,这是件好事。在编写开源代码时,没有理由相信它比专有代码更安全。使它成为开放源码的关键在于,许多人都会在查看代码中的安全漏洞时迅速地找到并修复这些漏洞。因此,一个已有两年期的开放源码可能比专有代码具有更少的安全漏洞,这仅仅是因为在这段时间内发现并修复了很多这些漏洞。在专有代码中也会发现安全漏洞,但速度要慢得多。

布鲁斯施耐尔关于开源软件安全,1999年9月15日(来源)。

由于这些教训和二十年前一样真实,它让我们陷入了一个两难的境地:如果隐私性和安全性密不可分,这是否意味着选择像 Wasabi 这样的钱包 - 它具有更高级的隐私功能,但审查比比特币核心更少的代码库 – 带来非凡的隐私风险及其优势?

专门为颠覆监视组织而设计的工具历来受到监视组织的高度重视。例如,美国国家安全局(NSA)过去一直致力于开发专为吸引比特币用户而设计的"蜜罐"隐私工具。我们与比特币专家彼得·托德(Peter Todd)就此事达成共识:

总的来说,我可以说比特币核心已经受到了异常彻底的全面审核,因此,它可能比大多数人更值得信赖,但这只是众多因素之一。作为最终用户–我也是一个!我更关注的是我认为开发过程和标准可能是什么,以及它们有哪些激励因素。因此,我不太关心像 Wasabi 这样的事情,因为项目的目标似乎是好的,而且整体上隐私保护功能可能更好。

但这不是一个简单的决定 - 对于纯冷存储,我倾向于直接在一台单独的计算机上使用比特币核心,最小化依赖性,并确保我的钱包被备份。

总结: 是的,与比特币核心相比,Wasabi等钱包存在更大的安全漏洞和隐私风险,但最终必须权衡风险与实用性。例如,在Tor上运行Wasabi 钱包不需要任何配置就可以实现立即使用,而希望使用比特币核心的用户则需要手动编辑配置文件并操作Linux命令行界面。

在隐私和财务主权这样重要的事物上,没有人会建议任何人选择安全性较低但理论上可以使用的软件给他们。但是,我们还是要确切了解用户愿意接受和采用的软件复杂操作性。

针对不同情况的不同建议

我们现在回到本文开头介绍的比特币使用示例。我们将利用本系列第一篇文章中的经验教训作为一个假设间谍公司或政府可以用什么类型的跟踪基础来捕获有关我们的交易信息。

利用这些知识,我们将构建建议的方法,以避免留下这样的痕迹。这些目标可以描述为:

1. 我们希望合理地隐藏我们的真实身份和 IP 地址与第三方比特币地址之间的任何联系。

2. 我们希望避免在第三方和区块链分析公司眼中将我们的地址相互链接起来。

3. 我们更喜欢安全程度合理的方法,以及我们方法的完整性不依赖于集中实体。

*通过利用Tor等工具,避免集中式钱包服务和网站,我们可以让第三方很难收集到我们的这些数据,将我们的IP地址链接到我们的比特币地址。这并不包括保护有能力大规模监视互联网的对手。

下面描述的方法不是技术指南,而是评估比特币中隐私技术的当前状态。

I、将私人财富储存在比特币中

要将财富存储在比特币钱包中,你需要从某个地方接收到比特币,可能是加密货币交易所或其他比特币用户。在本系列的最后一部分,我们将探讨私下获取比特币的平台和方法——这本身就是一项微妙的任务——但为了本示例的目的,我们将假定已经选择了一种方法。在此用户例子中,我们只需要关注比特币的接收,因为传送比特币的交易对手将被转移到比特币区块链中。你的责任是提供一个地址,并确保自己的硬币已经安全到达。在这个讨论中,我们假定安全是最重要的,并且打算存储一个有意义的个人财富资金。

有很多方法可以做到这一点,选择正确的方法取决于你希望的安全和隐私程度。你可以在bitaddress.org上生成一个地址,并等待交易使用块资源管理器进行确认,但是你需要相信bitaddress.org没有受到损害(破坏了你的安全或隐私,或两者都破坏了)。除非你使用 Tor 等工具匿名 IP 地址来源,否则当你在块资源管理器中搜索地址时,你还是会将你的IP地址曝露在该特定的比特币地址中。然后,你还需要信任该资源管理器为你提供了正确的信息。

理想情况下,如果你有能力在台式计算机上运行比特币核心的完整节点(说明),这将允许你生成一个地址,并验证比特币是否安全到达,而无需在块资源管理器中搜索你的地址了。根据计算机的功能和宽带,软件可以在 24 小时内同步,但可能需要更长的时间。目前,数据存储要求约为200 GB,但可以"删减"到不超过 4 GB。我们建议这应该在一个新安装的Ubuntu上完成。

除了这点以外,为了避免在线计算机上使用私钥时涉及的风险,我们可以在硬件设备上生成地址,并监控比特币核心完整节点上的地址平衡。硬件设备与比特币核心的兼容性随着最新的0.18.0版本的出现而出现,目前可以通过命令行界面访问,尽管目前更简单的方法可能是使用监视地址来监控钱包余额 (请参阅"importaddress(导入地址)"命令)。在硬件设备类别中,比特币安全工程师詹姆森·洛普提出了两个建议:Trezor 或Ledger Nano S,因为这两个设备已经在其类别中受到了最高程度的审查。

如果你不能运行一个完整的节点,另一种方法可能是使用Tor 浏览器在少数不同的块资源管理器中查找你的地址。一旦你确认硬币已经安全收到,你就需要备份你的钱包,以便你以后可以在世界上的任何一个地方恢复使用你的比特币。硬件设备的优点是,它们通常与BIP39兼容,只需记住 12 个英语单词,即可恢复对比特币的访问。

收到比特币后,你仍然有一个潜在的问题:发送者依然知道你收到了这些硬币,并可以监控你在区块链上的地址。理想情况下,我们希望除了我们自己之外,没有人会知道这些硬币的状况。一个潜在的补救措施是执行自我发送。这个想法很简单——通过将硬币发送到你控制的另一个地址,由于比特币的假名性质,原始发件者无法确定是你还是其他人控制着这些资金。换句话说,你会有可否认性。

当你运行一个完整的节点时,你会下载整个区块链,并且你的软件也不会向世界透露你有兴趣监控的地址。然而,传输交易则不同。为了确保你不会向可能正在监视网络的人透露你的 IP 地址,以试图确定你和其他人的交易来源,请将你的比特币核心节点配置为通过 Tor 进行连接。

II、私下接受比特币捐赠,并将其兑换成当地货币

在本讨论中,我们将对上述情况进行两个重要的更改。首先,我们需要持续地接收交易,因此在理想的情况下,我们会以某种方式来掩盖我们接收到的交易总量。其次,我们将定期将这些比特币兑换成当地货币,并将它们发送到某个实体。我们还假设交易所涉及的金额较低,这样,我们就可以在一些安全性目标上稍微松懈。

我们分析了三种不同的途径来实现预期目标:

1. 使用为每个访问者生成新捐赠地址的软件(示例:BTCPay服务器)

2. 使用 BIP47 可重复使用的付款代码,让发送方在其一侧生成新的捐赠地址(例如:PayNym.is)

3. 使用静态捐赠地址

这些方法各有优缺点。

通过BTCPay服务器的新地址:虽然BTCPay服务器有很好的文档记录,但并不是每个作家都想要运行一个服务器只是用于接收捐款。但是,如果你选择这个方法,并且在"媒体"等页面上写博客,那么你至少不需要更改平台。——你只需在帖子底部附加一个链接到你的BTCPay 服务器网页即可。

一个问题是,当你将这些捐赠兑换为当地货币时,如果你透露出在以后的一笔大交易中能够包括所有的捐赠来进行,那么每个人使用新的捐赠地址是没有帮助的(共同输入所有权启发式)。这样,你就可以选择一次出售一个或几个捐款,或者混合起来。

你可以使用自定义密钥派生方案(zpub)配置你的BTCPay服务器以生成地址 - 这允许你在出售这些硬币以换取当地货币之前,直接接收到捐赠到Wasabi钱包中,用混币。但是,目前只适用于混合至少 0.10 比特币的用户才能访问混币(在编写本文时为 613 美元)。除此之外,Wasabi还收取这项服务的费用。一个更实惠的选择可能是JoinMarket,但它使用起来也困难得多。传统混合器(保管和非保留))通常不推荐,因为他们提供的隐私需要信任第三方,并使你的硬币面临被盗的风险。

这种方法的另一个问题是,如果你为了方便而选择云部署 BTCPay 服务器,托管提供商将能够了解你的比特币地址和身份。如果你出于此原因选择自行托管,尽管BTCPay 服务器的 Tor 支持正在开发中,但是仍然很难保证你能够向访问者隐藏服务器 IP 地址。

BIP47 可重复使用的支付代码:虽然理论上这可能是最优的方法,但用户体验却受到这样一个事实的阻碍:在发送捐赠之前,它要求完成一个开放性的交易,而目前它仅支持非常小的钱包。此外,目前支持 BIP47 的每个钱包都是将你的地址泄露到其后端服务器的移动钱包。Samourai正在开发支持,将钱包与你自己的完整节点(一种称为Dojo)的解决方案一起使用,但目前还没有作为开源软件的发布。

静态捐赠地址:即使你使用 Wasabi 钱包,混合在 CoinJoins 中收到的硬币,并通过 Tor 传输你的交易,所有看到你提供地址的人都能够知道你收到了多少硬币到该地址,无论你之后会如何处置它们。

没有解决方案,只有权衡。

- 托马斯·索威尔

在这种情况下,我们必须考虑到可能没有任何完美的选择。然而,众多的选择至少给了我们机会"选择我们的毒药"。也许你的身份已经众所周知,但你不希望每个人都能够识别你收到的捐款,那么 BTCPay 服务器是一个可接受的解决方案。

但是,如果你的工作存在争议,并且不可接受可能会通过 IP 地址暴露你的身份风险,而且你也无法信任云提供商来保证你的详细信息的安全,那么最好是接收静态捐赠地址的捐款。是的,在这种情况下,你将向公众公开你收到的所有捐赠交易,但如果没有人知道你是谁,也许这也不是世界末日。你可以尝试通过手动更改存款地址来限制这种风险敞口,但这只会给你带来一定程度的困惑。

III、私购比特币

在没有信用卡公司或支付处理器收集我们个人数据的情况下,能够在互联网上进行交易是创建比特币的原因之一。然而,在网站上进行第三方跟踪是一个非常真实的事情,即使是你第一次访问的网站,也可以从你的IP地址,浏览器指纹或cookies了解你的身份。第一个预防措施是使用 Tor 浏览器进行你希望保密的在线购买活动。

此外,你可能想要混淆付款的资金来源。例如,如果你从 Binance 帐户中取出比特币到你的钱包。然后在你去泰国的期间,你购买了一份"国王永不微笑"的副本,由于你是用比特币付款,所以你认为你是匿名购买的。那么你将面临Binance 向当局提供有关你的确凿证据,将你和购买联系起来。

这给我们留下了混合和自我发送的选项,如前面的示例所提到的。Wasabi 钱包旨在让你了解进行交易时使用的 UTSO,它还允许你查看这是否是以前混合的输出,这有助于你实现隐私权的目标。

当你在钱包中处理多个 UTXO 时,自我发送选项的一个问题是,你必须权衡你获得的可否认性的优势与合并输出的劣势,从而由于共同输入所有权启发式方法而失去隐私权。此外,请记住,虽然自我发送的可否认性可能会提供给你在一个有效的法律体系中"出局",但只要没有其他证据将你与交易联系在一起,可疑的人仍然可能认为你是后续付款的发送者并采取相应的行动。

在未来几年,越来越多的商店可能会开始接受闪电付款。正如第一篇文章所述,闪电式的比特币交易在隐私上有许多优势。在桌面应用程序中,你可以使用闪电应用程序。它建立在闪电网络守护程序(lnd)上,你可以配置到在Tor上运行。

尽管闪电付款不是公开传播的,并且闪电付款接收者也无法知道付款是来自于多跳路线中的哪个初始频道。在资助任何闪电频道之前,先通过混合或自我发送在区块链上模糊你的痕迹,这在区块链上被视为好的隐私卫士。

另一个值得关注的技术就是侧链技术,它允许使用比链上交易更高隐私度的半可信比特币消费渠道(示例)。例如, Liquid目前已经支持保密交易,这隐藏了交易中支付的金额。

IV、使用比特币私下进行面对面购买

对于个人支付,定期现金仍然是一个不错的个人选择。但由于多种原因,并不是每个人都能用实物的形式来持有自己的货币。一个处于恶性通货膨胀经济中的人可能希望能够负担下个月的食品杂货,或者,一个处于虐待关系中的人可能需要偷偷地向伴侣隐瞒金钱。

如果我们出于实际原因,假设我们在这个用户例子中仅限于使用智能手机,我们会遇到一个小问题。正如我们在bitcoin.org中看到的,目前"改善隐私"类别中没有移动钱包应用程序。这是因为智能手机通常依赖于由第三方提供服务,第三方能够知道用户的 IP 地址和比特币地址。

有一些潜在的方法可以解决这一问题,而且在未来几年可能还会出现更多的解决方案。目前最好的解决方案是使用智能手机钱包应用程序,它能够连接到你自己的完整节点。我们已经确定了具有这种能力的几个公司:

1. Android的比特币钱包(也称为"Schildbach’s钱包")

2. 适用于iOS的 BRD

3. 适用于iOS 和安卓的Blockstream Green

在移动钱包应用程序的类别中,詹姆森·洛普推荐iOS 的Blockstream Green和Android 的Samourai 电子钱包。目前,Blockstream Green 没有在bitcoin.org上列出,因为它不能为用户提供对自己硬币的完全访问权限。相反,它使用2取2的多签名解决方案,其中 Blockstream 持有其中一个密钥,如果用户提供二级身份验证(2FA) 则共同签署交易。目前正在启用一种模式,其中用户完全托管自己的资金。

Samourai 目前无法与你自己的完整节点一起使用(尽管"设置受信任的节点"选项,该选项被指控具有误导性 [1]2=3*),尽管他们辩称他们可以收集的有关用户信息是有限的,因为它是目前唯一存在有本机Tor支持的移动钱包。Samourai也是唯一一个以混合为目的(见Whirlpool)实现混币的移动钱包,目前正为高级用户进行实验检测。Samourai 混币的一个潜在问题是,许多用户可能仍在使用没有完整节点的 Samourai,这可能会抑制混合的有效性,但可能比完全不混合更好。

把手机钱包想象成我们在上面闪电频道讨论中所做的,这是件好事;在我们投资新的手机钱包之前,总是谨慎地试图掩盖我们硬币的来源(混合、自行发送)。  

Android用户可以使用Orbit让智能手机通过Tor网络进行通信。这使得诸如比特币钱包之类的应用程序可以连接到通过ToR运行的个人完整节点。对于闪电钱包,Spark是一个可以在Tor上运行的钱包示例。

结论

虽然从理论上讲,使用比特币可以获得相对较高的隐私权,但如果每个人都需要获得这种高程度的隐私权,在用户使用方便性的方面还有很长的路要走。对于大多数无法掌握Linux命令行的用户而言,他们也没有兴趣或能力运行服务器,并且他们的经济状况无法为他们提供足够的比特币以满足交易的最低需求。

因此通往隐私权的道路并不简单,尤其是当遇到间谍公司或政府拥有充足的资源,即使对于那些有能力的用户来说,目前也无法在不接受安全权衡下访问其中的许多功能,而安全权衡本身最终可能会破坏他们试图保护的隐私。

从积极的方面来看,比特币隐私正在积极发展中,本文中提到的几个项目已经发布了软件版本,在撰写本文期间,这些软件版本就比特币隐私实际上可以实现的目标逐步推进。几天前在比特币邮件列表上公布的最新比特币协议改进方案,专门针对比特币的基本隐私特征。

此外,暂时先忘了本文宏远的隐私权目标——例如,当用户操作比特币钱包时,第三方有时能够将比特币地址映射到IP地址,这一事实并不一定意味着有人会将这些信息固定到特定个人所需的时间和金钱。比特币仍然可以被视为对传统电子支付系统的重大改进,即使使用方式很天真。


声明:本内容为作者独立观点,不代表 CoinVoice 立场,且不构成投资建议,请谨慎对待,如需报道或加入交流群,请联系微信:VOICE-V。

评论0条

碳链价值

简介:专注服务区块链和金融科技.新科技创造新商业

专栏

更多>>