O Que É o Bloom Filter?
Vamos descobrir o significado de Bloom Filter, sua definição no mundo Cripto, o Que É o Bloom Filter e todos os outros fatos relacionados.
Vamos descobrir o significado do Bloom Filter, a definição no mundo das criptomoedas, o que é Bloom Filter e tudo mais em detalhes.
Um Bloom filter (ou filtro de Bloom), desenvolvido em 1970 por Burton Howard Bloom, informa ao usuário se um determinado item pertence ou não a um conjunto. Entretanto, o filtro só consegue mostrar que um item não está no conjunto quando possui total certeza. Se indicar que o item está no conjunto, em alguns casos, ele pode estar errado.
Devido à sua eficiência na economia de espaço, os bloom filters são atraentes para uma variedade de aplicações. No mundo das criptomoedas, eles são amplamente utilizados na Verificação Simplificada de Pagamento (SPV), especialmente quando se trata do Bitcoin.
Os usuários podem empregar a rede Bitcoin sem operar nós completos (full nodes) utilizando um cliente SPV. É difícil operar nós completos em dispositivos de baixa potência, tais como smartphones, porque eles têm requisitos específicos de armazenamento e processamento. Portanto, os clientes SPV podem solicitar nós completos apenas por informações sobre suas carteiras.
A maneira mais simples de obter essas informações é fazer com que os nós completos conheçam as chaves do usuário. Desta forma, somente as transações relevantes seriam transmitidas a eles. No entanto, esta é uma má opção porque a privacidade do usuário seria comprometida desta forma.
Porém, baixar todas as transações para apagar a maioria delas também não seria uma boa opção, pois desperdiçaria muita largura de banda. É aí que um filtro de Bloom vem ao resgate.
Imagine que Anna é uma cliente e John é um nó completo. Anna tem uma transação cara, mas ela não quer que John saiba disso. Portanto, ela precisa encontrar uma maneira de “mascarar” sua transação. Para fazer isso, ela cria um Bloom filter. Digamos que se parece com o seguinte:
3 4 2 1 6 8 7 5 0 9
Ela executa os dados da transação através de duas funções de hash distintas. Cada uma destas funções acaba escolhendo dois valores da sequência de números que você pode ver acima. Digamos que estes valores se revelam como sendo 2 e 8.
3 4 2 1 6 8 7 5 0 9
Depois disso, Anna envia o filtro para John. É óbvio que não há possibilidade de saber quais dados Anna submeteu ao filtro com base apenas nesta grade.
No entanto, se John tivesse todo o conjunto que contém os dados de Anna, ele poderia ter os dados e procurar por semelhanças no filtro. Se houvesse uma correspondência, é possível que fossem os dados que Anna pediu.
Contudo, é provável que várias entradas se refiram a 2 e 8 ao mesmo tempo. Assim, John não conseguiria dizer em qual parte dos dados Anna está realmente interessada. Desta forma, ele devolveria todas as correspondências, as quais Anna separaria em seguida.
Obviamente, o processo é muito mais complexo do que isso. Entretanto, ele ilustra que o Bloom filter disfarça os interesses reais do cliente.
O filtro de Bloom pode não ser o melhor método para recuperar as informações desejadas, pois também tem algumas preocupações com a privacidade. Mesmo assim, ainda é uma opção melhor do que simplesmente colocar um pedido não disfarçado em um nó.