布隆过滤器
Last updated
Last updated
通过哈希函数对元素进行映射,
特点:有可能出现误报,但不会出现漏报
变种:采用一组哈希函数进行向量映射,有效避免哈希碰撞
查找时,只要将查找的元素取哈希,找到映射的摘要位置。如果该位置为0,则表示该元素一定不在集合中,如果为1,则表示可能会在集合中。
每个交易完成后会产生一个收据,收据包含一个Bloom filter记录交易日志信息(交易类型、地址等)。在区块block header中也包含一个Bloom filter,其为该区块中所有交易的Bloom filter的一个并集。查找的时候先查找块头中的Bloom filter,如果块头中包含,再查找区块中包含的交易的Bloom filter。
好处是通过Bloom filter这样一个结构,快速大量过滤掉大量无关区块,从而提高了查找效率。