neutrino.max-800x800.jpg

Neutrino:隐私保护光钱包协议

闪电现在风靡一时,虽然这是一个令人兴奋的发展,但用户目前必须运行一个完整的节点才能进行交易。在本文中,我将介绍Neutrino,这是一种新的协议,用于轻型客户端获取所需的数据,同时保护隐私并且不信任中央服务器。

一点点历史

在2008年写的原始白皮书中,Satoshi Nakamoto描述了一种称为简化支付验证(SPV)的东西。 SPV是轻型节点无需下载,验证或存储整个区块链即可验证付款的方式。这应该是轻钱包的基础。遗憾的是,最初的比特币核心软件没有实施简化支付验证,因此轻客户端无法以隐私保护的方式访问进行SPV所需的数据。

2013年,BIP0037被添加到比特币核心,以使SPV可行。 BIP0037创建了网络命令,使轻型节点可以进行简化支付验证。轻节点现在可以要求证明特定块中发生了特定事务。这样,轻型节点就不必信任服务器,但实际上可以验证给予它们的数据。

为此,轻客户端为服务器提供过滤器。然后,服务器对新块的所有事务运行过滤器,并将这些事务以及它们在块中的证据报告给客户端。然后,客户端验证证明并查看交易以查看它们中的任何一个是否属于钱包。

不幸的是,BIP0037有一些缺点。其中,它被认为难以实施,大多数轻钱包都选择使用其他东西。例如,Electrum钱包使用自己的专有协议,而不是隐私保护。 Mycelium钱包调用Mycelium公司运行的服务器。此外,还有拒绝服务向量(通过运行大量过滤器)来利用响应BIP0037请求的服务器。

此外,BIP0037的隐私方面也没有人想象的那么强大。事实证明,通过寻找某些类型的模式,服务器可以了解很多关于轻钱包的信息(比如它可能具有的平衡,与之交易的人,甚至可能是它的购买者)。

因此,尽管自2013年以来一直使用Core软件,但BIP0037已大部分被废弃。

什么是中微子?

Neutrino是一种验证付款的协议,除了这次,大部分工作都是在客户端完成的。现在,除了客户端的服务器过滤事务之外,所有属于块的事务(技术上对应于除OP_RETURN输出之外的每个输入和输出的ScriptPubKeys)都被压缩并发送到客户端。现在客户的工作是弄清楚任何交易是否已经交易。如果任何交易与钱包相关,则客户请求整个块验证交易。

事实证明,压缩可以令人印象深刻。普通块大约为1.4MB,但通过压缩(从技术上讲,将每个ScriptPubKey散列为64位),每个块每块产生大约20KB的超压缩数据。由于此超级压缩块对于每个轻型客户端都是相同的,因此可以消除服务器的拒绝服务漏洞。这也意味着服务器不会获得有关轻客户端的特殊信息,除了它想要查看的块之外,这意味着隐私泄漏更少。

权衡

当然,通过增加隐私,我们确实需要考虑一些权衡。首先,有更多的数据来回发送。虽然1.4MB到20KB的带宽相当大,但BIP0037允许更大幅度的减少,因为服务器只传输大约3KB的数据用于钱包所涉及的事务的块,而没有这种事务的块只传输80字节。假设每天大约进行一次交易,那么对于BIP0037来说,每个块大约有100个字节,这意味着从带宽的角度来看,Neutrino的成本更高。

此外,在客户端进行更多验证,因为客户端现在必须进行额外的验证以证明服务器发送的数据是真的。

在查找钱包参与的交易时保留隐私。通常,这些是钱包收钱的交易。然而,为了汇款,Neutrino并没有真正帮助,而且仍有很多隐私问题(尽管Tor和蒲公英可以提供帮助)。

最后,可能需要对每个区块的coinbase交易做出新的承诺以促进Neutrino,这将需要软叉。

这对你意味着什么

事实证明,Neutrino不仅对比特币钱包有用,它对Lightning也很有用。目前设置Lightning节点很困难,部分原因是您必须运行一个需要很长时间才能同步的完整节点。 Neutrino在btcd中可用,但在比特币核心中没有,所以直到它在比特币核心中可用,轻钱包将很难找到节点来获取数据。正是由于这个原因,Wasabi必须使用类似的超压缩块数据制作自己的服务器。

一旦Neutrino到达比特币核心,Lightning Wallets将能够更轻松地作为轻客户端运行。这意味着您的比特币钱包在保护隐私方面会更有效。这并不意味着您将完全匿名,尤其是来自链式分析,但您将能够实现整个节点当前享有的大部分隐私,而无需存储,传输或验证整个区块链。

隐私泄露最终是安全漏洞,因为有关您的信息可能会被用来对付您。

与使用Neutrino协议的钱包进行交易意味着您的比特币交易,无论是在链上还是在闪电网络上,都不太容易泄漏信息。

更多信息

对于对此技术感兴趣的开发人员,BIP0157和BIP0158详细说明了协议,测试向量可从Lightning Labs的开发人员处获得。对于消费者,询问您的钱包提供商是否计划实施Neutrino。

结论

Neutrino是一项早就应该开发的技术。大多数使用轻型节点软件的人必须在某种程度上信任外部各方,这不是cypherpunk的理想选择。通过使用Neutrino,钱包开发人员现在可以创建真正自包含且不需要信任服务器的钱包。




ELLELL独家报道

隐藏内容仅限 扫码支付会员浏览!

下方微信扫码支付10元后可注册浏览!

微信扫码支付10元查看更多隐藏内容!微信
扫码付费会员注册
马上注册!
扫码付费会员注册这个计划后浏览本站所有内容
单次订阅
仅仅 60美元

单次一个月付费会员!

获得一整月期限的全站所有付费内容浏览权限!
周期订阅计划
月付100美元

周期性推荐会员!

月付100美元获得一整年期限的全站所有付费内容浏览权限!
海迪U美
微信打赏 支付宝扫码打赏

如果文章对您有帮助,欢迎移至上方按钮打赏ELLELL

海迪U美
微信打赏

如果文章对您有帮助,欢迎移至上方按钮打赏ELLELL

关注我们微信公众号:ellell_cc

模特经纪平台