Vídeo: DEVCON1: Entendendo o protocolo do Ethereum (Vitalik Buterin) 2024
Geralmente, você cria filtros Bloom para algoritmos de tamanho fixo (versões recentemente desenvolvidas permitem redimensionar o tamanho do filtro). filtro). Você os opera adicionando novos elementos ao filtro e olhando-os quando já estiver presente. Não é possível remover um elemento do filtro depois de adicioná-lo (o filtro possui uma memória indelével).
Ao adicionar um elemento Para um vetor de bits, o vetor de bits tem alguns bits definidos como 1, como mostrado. Nesse caso, o filtro Bloom adiciona X ao vetor de bits.
Você pode adicionar tantos elementos quanto necessário ao vetor de bits. Por exemplo, a figura seguinte mostra o que acontece quando se adiciona outro elemento, Y, ao vetor de bits. Observe que o bit 7 é o mesmo tanto para X como para Y. Conseqüentemente, o bit 7 representa uma colisão entre X e Y. Essas colisões são a fonte dos falsos positivos positivos, por causa deles, o algoritmo poderia dizer que um elemento já foi adicionado ao vetor de bits quando não é. O uso de um vetor de bits maior torna as colisões menos prováveis e melhora o desempenho do filtro Bloom, mas o faz ao custo do espaço e do tempo.