为什么比特币钱包需要区块过滤器

为什么比特币钱包需要区块过滤器?

随着像BDKLDK这样的软件开发工具包的出现,构建比特币钱包变得更加容易。然而,尽管简化开发是必要的,但按默认方式构建以保护用户安全和隐私也非常重要。例如,轻钱包如何连接到第三方服务器以接收和发送交易数据是一个重要问题。

我认为比特币钱包需要块过滤器来尊重用户的隐私。为什么?这是唯一的方式,可以防止数据泄漏到服务器,从而使其能够超越公开可见的用户交易数据。

在本文中,我们将探讨为什么比特币钱包需要块过滤器,首先看一下有多少比特币用户运行全节点,API钱包如何提供良好的用户体验,但最终导致所有交易被归为一体,布隆过滤器如何无法保护隐私,块过滤器是唯一的轻量级钱包网络隐私解决方案,最后如何使用仅使用Tor通信来实现这一切,从而保护用户的IP地址。

只有少数用户运行全节点

运行和使用比特币节点是您可以做的最好的事情,因为您是网络的一部分,无需任何中介即可接收和广播交易数据。然而,很明显,并非每个人都适合运行全节点;在比特币白皮书中,甚至还预见到了轻客户端(简单支付验证)的存在和需求。

我们无法知道有多少用户正在运行全节点,我们只能知道有多少节点。保守估计,仅计算侦听节点的数量约为16,000个,如Bitnodes.io网站上所示。计算侦听和非侦听节点的更准确估计(例如Luke Dashjr的节点计数工具)将这个数字增加到约53,000个。

了解全比特币节点数目的历史背景也很重要。根据Luke Dashjr的比特币节点计数历史,我们可以观察到比特币节点的使用远未达到峰值。在2018年1月13日,计数达到了205,000个。这与比特币几周前达到了其先前的历史最高点密切相关。2021年,我们可以观察到节点数在价格上涨时也有所增加,但仅接近90,000个。

我们可以确认运行比特币节点的用户很少,并且这个数字不会随时间增长。相比比特币节点,轻钱包更容易使用,我们需要找到合适的网络隐私解决方案来实施。让我们来看看当今最常用的技术,即API钱包。

API钱包服务提供商默认收集您的数据

大多数比特币钱包使用API(应用程序特定接口)来发送和接收用户交易数据。这项技术具有高度可扩展性,并提供最好的用户体验,因为请求是即时的。然而,它存在隐私问题。让我们分解一下它的工作原理以及服务提供商如何默认收集您的数据。

当您初始化一个标准的比特币钱包时,您导入或创建助记词种子短语,并设置所需的导出路径(通常自动完成)。这会给您一个主公钥,通常称为xpub。以下是它的样子:

xpub6CUGRUonZSQ4TWtTMmzXdrXDtypWKiKrhko4egpiMZbpiaQL2jkwSB1icqYh2cfDfVxdx4df189oLKnC5fSwqPfgyP3hooxujYzAu3fDVmz

一旦完成,xpub将自动发送给服务提供商的服务器,在其中的间隙限制(在服务器停止扫描资金之前,将检查多少个未使用且余额为零的地址)内派生比特币地址。这些地址在服务器的索引中查找,如果找到交易,则将其发送到用户的客户端。这些地址会受到监视以检测是否发生新的交易。此外,当用户发送交易时,它也通过相同的通信渠道发送。

显然,这个过程非常有效,使API钱包能够提供快速简便的用户体验。但是,服务提供商将能够将我们所有的交易链接在一起,从而默认收集您的个人信息。幸运的是,许多API钱包允许用户通过Tor连接,至少保护用户的IP地址。

现在让我们来研究一种不依赖于单个服务器的替代方法,即轻钱包上的布隆过滤器的使用。

布隆过滤器在保护隐私方面的无效之处

一些钱包允许用户通过布隆过滤器接收和发送交易数据。这种通信方法在BIP37中引入,最初被认为是隐私的。在本节中,我们将详细介绍布隆过滤器的原理,以及为什么它们实际上对隐私不利。

布隆过滤器是用于测试一个元素是否属于一个集合的概率性数据结构。在比特币的背景下,布隆过滤器由轻客户端创建并发送给网络节点,它们测试地址(元素)与区块链数据(集合)之间是否存在匹配。如果存在匹配,则将交易数据发送到轻客户端。它是概率性的,因为会有误报,但轻客户端会在后续将其排除。

人们认为误报率足够高,以至于网络节点无法分辨哪些交易真正属于您,哪些是虚假的。然而,由于实现错误,误报率实际上被降低了。

此外,轻客户端可以为同一个钱包创建不同的布隆过滤器,如果一个或多个过滤器被网络节点收集,就可以计算交集以排除误报。最后,如果分析了区块链数据,并且用户没有进行混币或使用币控制,网络节点可以推断哪些地址不属于该用户。

您可以在这里阅读有关BIP37隐私问题的更多信息。现在让我们来研究剩下的轻客户端网络解决方案。

比特币钱包需要区块过滤器来保护隐私

在2018年,还没有真正解决这个问题的方法,尚未有区块过滤器。幸运的是,它们在随后的BIP157158中引入,并在多个钱包和比特币软件中实现,例如WasabiBlixtBreezLNDLDK。它们通常被称为Neutrino。在本节中,我们将研究它们的工作原理以及为何它们是网络隐私的正确解决方案。

区块过滤器通过压缩块数据来帮助钱包接收来自网络节点的交易,而不会通过下载特定块而泄露隐私。

区块过滤器的处理过程通常包括三个步骤。首先,用户从网络节点(对于Breez)或协调服务器(对于Wasabi)下载代表区块链的区块过滤器。然后,轻客户端检查间隙限制内的地址是否与区块过滤器匹配。最后,如果匹配,则下载相应的区块。

由于我们下载整个区块而不是单个交易,而且存在误报率,区块过滤器的方法可以保护用户的隐私不受网络节点的损害。与布隆过滤器和API钱包不同,它无法找到(或直接收集)用户交易之间的连接,除了在区块链上公开可知的信息。

区块过滤器是解决网络隐私问题的一部分,但还需要其他东西来完善这个画面。

Tor是解决网络隐私问题的最后一块拼图

Tor和比特币是紧密相连的,在与区块过滤器一起使用时,可以解决轻量级客户端的网络隐私问题。 Tor通过将用户的IP地址路由通过一组节点来隐藏用户的IP地址。 这个机制被称为洋葱路由,因为它具有多个通信层。

Tor和区块过滤器有一个共同点。它们都是可能会影响性能并明显降低用户体验的进程。有些人认为你只需要接受这一点,但我认为它可以改进到几乎不可察觉的地步。

例如,Tor社区已经实现了一种通信可靠性解决方案,称为Conflux。客户端不仅仅做出单个请求,而是使用两个不同的Tor电路进行两个请求,以增加快速完成的可能性。 这个解决方案与像Turbosync这样的区块过滤器加载钱包的创新一起,将带领我们走向用户既能够拥有可用性又能够拥有隐私的未来。

这是Gustavo Flores Echaiz的客座文章。所表达的观点完全属于他们个人,不一定反映BTC Inc或Bitcoin Magazine的观点。

We will continue to update 算娘; if you have any questions or suggestions, please contact us!

Share:

Was this article helpful?

93 out of 132 found this helpful

Discover more

观点

美国证券交易委员会(SEC)将Coinbase和币安作为其打击加密货币的代理目标

美国证券交易委员会主席加里·根斯勒对Coinbase和币安的诉讼是加密货币领域的一个转折点,也是一个反击的机会

观点

《捍卫无法捍卫的:审查矿工》

比特币建立在自由联结的原则上,市场激励推动人们通过参与自由联结达成共识人们似乎已经忘记了这一点

区块链

美国人(表面上)不被允许对这一经济理论进行测试

“美国商品期货交易委员会(CFTC)不断对预测市场设限,而有些人认为预测市场是更好的信息聚合方式”

区块链

拒绝央行数字货币,拥抱交易权利

支付数字化的稳步推进意味着政府将能够越来越多地干预并可能审查经济活动

观点

🎉 惊喜戏弄:伊丽莎白·沃伦签署了纪念中本聪的文件🖋️

根据丹尼尔·库恩的观点,这个恶作剧非常成功,因为即使像参议员利兹·沃伦这样著名的比特币怀疑论者,也可能不得不承认和吸引...

观点

比特币缺乏第二层解决方案是一种祸福相依

卓越的不可扩展区块链可以帮助解决加密货币长期存在的可扩展性问题解决方案是构建一个基础层和扩展层不可区分的网络