布隆过滤器

布隆过滤器是一种概率性搜索过滤器,用于描述所需的模式而不精确指定。布隆过滤器提供了一种有效的方式来表达搜索模式,同时保护隐私。轻量级客户端使用布隆过滤器向其对等节点请求与特定模式匹配的交易,而不会准确透露它们正在搜索的确切地址、密钥或交易。

在我们之前的类比中,一个没有地图的游客正在寻找一个特定的地址,“23 Church St.”。如果他们向陌生人询问这条街的方向,他们无意中就透露了自己的目的地。布隆过滤器就像是在询问:“这个街区是否有任何以 R-C-H 结尾的街道?”这样的问题相对于询问“23 Church St.”,透露的信息稍微少一些。通过调整搜索的精度,游客可以更详细地指定所需的地址,比如“以 U-R-C-H 结尾”,或者更不详细,比如“以 H 结尾”。通过改变搜索的精度,游客可以在获取更具体结果或更好的隐私之间进行权衡。如果他们要求一个不太具体的模式,他们会得到更多可能的地址和更好的隐私,但很多结果是不相关的。如果他们要求一个非常具体的模式,他们会得到更少的结果,但会失去隐私。

布隆过滤器通过允许轻量级客户端指定一个搜索模式来实现这一功能,该模式可以调整到精确度或隐私方面。一个更具体的布隆过滤器会产生准确的结果,但会透露轻量级客户端感兴趣的模式,从而透露用户钱包的地址。一个不太具体的布隆过滤器会产生更多关于更多交易的数据,其中许多与客户端无关,但会使客户端能够保持更好的隐私。

Last updated