O que é um Filtro de Bloom na Blockchain?

IntermediárioNov 03, 2023
Descubra o papel dos Filtros Bloom no reforço da eficiência e privacidade da blockchain e explore as suas aplicações abrangentes para além da blockchain.
O que é um Filtro de Bloom na Blockchain?

Introdução

A tecnologia blockchain é análoga a uma floresta em crescimento; cada novo bloco é como um novo rebento que atravessa o solo digital, aumentando a altura da rede. O Filtro de Bloom é um mecanismo menos conhecido mas profundamente influente no coração desta floresta digital. Os Filtros Bloom servem como a nossa bússola à medida que navegamos pela densa folhagem de dados, apontando-nos para a eficiência e privacidade.

Os Filtros Bloom operam dentro da blockchain, melhorando a sua capacidade de gerir dados, tal como uma bússola exige um campo magnético. São os heróis não cantados da saga da blockchain, frequentemente ensombrados por termos mais flashiantes como criptomoedas e smart contracts. Entender os Bloom Filters, por outro lado, pode fornecer uma perspetiva única sobre o funcionamento intrincado da tecnologia blockchain e a razão pela qual está a ser saudado como uma força revolucionária no domínio digital.

O objetivo deste artigo é ajudá-lo a entender os Filtros Bloom. Quer seja um entusiasta da blockchain ou apenas curioso sobre a tecnologia, este artigo vai proporcionar um mergulho envolvente no que são os Filtros Bloom, como estão ligados à blockchain e porque são importantes. Vamos olhar para a essência dos Filtros Bloom no campo da blockchain usando explicações simples e exemplos do mundo real.

Nas secções seguintes, começaremos com um entendimento básico dos Filtros Bloom, a sua origem e mecanismo de trabalho (nesta altura, é apropriado um diagrama ilustrativo simples). Então, vamos alargar o nosso âmbito para ver como os Filtros Bloom são usados fora da blockchain (talvez numa tabela comparando várias aplicações). Veremos como os Filtros de Bloom são integrados à medida que vamos mais fundo na floresta da blockchain, e vamos ilustrar isso com exemplos do mundo real (imagens de aplicações Bloom Filter em projetos reais de blockchain). Também ponderaremos os benefícios contra os inconvenientes e examinaremos como a comunidade blockchain está a evoluir para resolver esses problemas (um gráfico comparativo pode ser útil aqui).

Então, como estamos no precipício desta exploração digital, vamos dar o primeiro passo para entender os blocos floressores da blockchain através da objetiva dos Filtros Bloom.

Compreender os Filtros de Bloom

Origem: https://ethereumclassic.org/

Os Filtros Bloom são uma mistura intrigante de matemática e ciência da computação, que servem como uma estrutura de dados compacta para testar se um elemento é membro de um conjunto. São como os bibliotecários meticulosos do reino digital, ajudando a localizar rapidamente a informação que procura. No entanto, há uma pequena senão — embora possam dizer-lhe com certeza se um artigo não está na biblioteca, podem às vezes não colocar um livro ou dois.

Definição e Explicação Simples

Imagine que tem uma caixa grande com muitos compartimentos, e tem uma série de bolas coloridas diferentes. Cada vez que recebe uma bola nova, segue um conjunto de regras que lhe dizem em que compartimentos colocar um autocolante. Com o tempo, à medida que tem mais bolas, mais compartimentos tem autocolantes. Agora, se alguém lhe der uma bola e perguntar se já a viu, verifica os compartimentos com base nas regras para essa cor. Se todos os compartimentos para essa cor tiverem autocolantes, diz “provavelmente sim”. Mas se algum compartimento estiver vazio, diz “definitivamente não.”

Em termos técnicos, um Filtro de Bloom é uma estrutura de dados que é usada para testar se um elemento é membro de um conjunto. É extremamente eficiente em termos de espaço mas ao custo da precisão — nunca dará um falso negativo (se disser que um item não está no conjunto, é verdade), mas há a possibilidade de um falso positivo (pode dizer que um item está no conjunto quando não está).

Antecedentes Históricos e Mecanismo de Trabalho Básico

Os Filtros Bloom foram introduzidos por Burton Howard Bloom em 1970. O génio por trás do design da Bloom reside na sua simplicidade e eficiência no que toca a responder às perguntas relativas à filiação.

No centro de um Filtro de Bloom estão dois componentes principais: um array de bits e várias funções de hash. Um array de bits é uma estrutura de dados simples que consiste numa matriz de bits (0s e 1s). Inicialmente, todos os bits da matriz estão definidos como 0. As funções hash, para conversar, são algoritmos matemáticos que pegam numa entrada (ou 'mensagem') e devolvem uma seqüência de bytes de tamanho fixo. A saída, normalmente uma 'digest' é única para cada entrada única.

Agora, quando um item é adicionado ao Filtro de Bloom, essas funções hash calculam posições ou índices dentro da matriz de bits e mudam os bits nessas posições para 1. Para verificar se um item faz parte do conjunto, são utilizadas as mesmas funções de hash para calcular os índices e os bits desses índices são examinados. Se algum bit for 0, o item definitivamente não está no conjunto. No entanto, se todos os bits forem 1, o item pode estar no conjunto, mas também há a possibilidade de um falso positivo, o que significa que o item não está realmente no conjunto mas os bits verificados sugerem o contrário.

Este mecanismo permite uma maneira rápida e eficiente de espaço de verificar a associação de um item, embora com uma pequena chance de erro na forma de falsos positivos.

Origem: https://devopedia.org/bloom-filter

A elegância dos Filtros Bloom reside na sua capacidade de realizar essas operações rapidamente e de uma maneira eficiente de espaço, tornando-as numa ferramenta valiosa em muitas áreas da ciência da computação e, como veremos, na cadeia de blocos.

Exemplos do Mundo Real

Os Filtros Bloom desempenham um papel importante nos ecossistemas blockchain, especialmente para clientes leves ou SPV (Verificação Simples de Pagamento). Por exemplo, no ecossistema Bitcoin, o BIP37 apresentou Filtros de Bloom para clientes SPV, permitindo que nós completos solicitem transações para endereços específicos. Isso não só economiza largura de banda como também protege a privacidade do cliente. Da mesma forma, a Ethereum usa Filtros Bloom para recuperar entradas de registro ou eventos críticos para interações inteligentes com contratos, otimizando significativamente o processo de recuperação de entradas de registro relevantes, agilizando as interações e melhorando a eficiência da rede. Estas implementações demonstram a adaptabilidade e a utilidade dos Filtros Bloom no aumento da eficiência do tratamento de dados e na preservação da privacidade em projetos de blockchain.

Filtros Bloom para além da Blockchain

Origem: https://devopedia.org/bloom-filter

Os Filtros Bloom são úteis numa variedade de campos que não a blockchain. São críticos em ambientes de bancos de dados, pois aceleram as consultas de associação, o que é necessário para uma recuperação rápida de dados. Ajudam no roteamento eficiente de pacotes, minimizando a latência e garantindo comunicações de rede mais suaves no domínio da rede. Os Filtros Bloom são utilizados por navegadores da Web, como o Google Chrome, para melhorar a segurança dos utilizadores através da filtragem de URLs maliciosos. Os Filtros Bloom têm recebido maior atenção no domínio dos grandes dados, que viu um aumento significativo desde meados dos anos 2000, devido à sua natureza eficiente de espaço, particularmente quando lidamos com grandes conjuntos de dados. Funcionam como uma estrutura de dados compacta e probabilística que suporta consultas de associação definida. Este recurso é especialmente útil em situações em que o armazenamento e a velocidade são críticos.

Além disso, os Filtros Bloom encontram a sua aplicação em redes ponto a ponto, ajudando no encaminhamento de recursos e na colaboração. As redes de entrega de conteúdo (CDNs) utilizam Filtros Bloom para evitar o armazenamento em cache desnecessário de ficheiros, garantindo uma entrega eficiente de dados aos utilizadores. Em aplicações de streaming, são empregados para desduplicar eventos em grande escala, mostrando a sua capacidade de lidar com fluxos de dados de alto rendimento. Por exemplo, Medium usa Filtros Bloom para desduplicar as recomendações, destacando a sua utilidade prática em aplicações do mundo real. Esta versatilidade dos Filtros Bloom é o que os torna uma ferramenta indispensável nos sistemas digitais modernos, estendendo-se muito para além da sua aplicação na tecnologia blockchain.

Benefícios, Desafios e Soluções

Benefícios

  • Eficiência de Espaço: Filtros de Bloom primam pela eficiência do espaço, exigindo uma fração de memória em comparação com outras estruturas de dados, o que é vital em ambientes com restrições de memória.
  • Melhoramento da privacidade: a sua capacidade de ofuscar dados exatos contribui para uma maior privacidade dos utilizadores, uma pedra angular em ambientes de blockchain onde a privacidade é uma preocupação principal.
  • Velocidade: Ao permitirem consultas rápidas de adesão, melhoram significativamente a velocidade de recuperação de dados, o que é crucial para manter os níveis de alto desempenho nos sistemas digitais.

Desafios e Soluções

  • Falsos positivos: O desafio inerente dos falsos positivos nos Filtros Bloom pode ser mitigado otimizando os parâmetros tais como o número de funções hash e o tamanho da matriz de bits. O compromisso entre o consumo de memória e a probabilidade de falsos positivos deve ser bem equilibrado para garantir a eficácia.
  • Seleção de Parâmetros: Selecionar os parâmetros corretos - tamanho do filtro (m), número de funções hash (k) e o número de elementos a serem armazenados (n) é crucial. A seleção inapropriada de parâmetros pode levar a um aumento de falsos positivos ou no pior dos cenários, permitir que os atacantes corrompam o filtro com entradas bem escolhidas. O equilíbrio entre esses parâmetros é vital para garantir a taxa desejada de falsos positivos mantendo a eficiência.

Conclusão

A exploração dos Bloom Filters ilumina o seu papel significativo na amplificação da eficiência e privacidade da blockchain. A sua integração em ambientes de blockchain, como a Bitcoin e Ethereum, mostra o seu impacto substancial. À medida que a tecnologia blockchain continua a evoluir, a incorporação dos Bloom Filters e das suas variantes contribuirá, sem dúvida, para aumentar a gestão de dados, a privacidade e a eficiência geral da rede. Isso, por sua vez, abre o caminho para redes blockchain mais robustas e fáceis de utilizar, espelhando a mistura de simplicidade e eficácia que os Filtros de Bloom trazem para o universo digital.

Autor: Piero
Tradutor(a): Cedar
Revisor(es): Matheus、Wayne Zhang、Ashley He
* As informações não se destinam a ser e não constituem aconselhamento financeiro ou qualquer outra recomendação de qualquer tipo oferecido ou endossado pela Gate.io.
* Este artigo não pode ser reproduzido, transmitido ou copiado sem fazer referência à Gate.io. A violação é uma violação da Lei de Direitos de Autor e pode estar sujeita a ações legais.

O que é um Filtro de Bloom na Blockchain?

IntermediárioNov 03, 2023
Descubra o papel dos Filtros Bloom no reforço da eficiência e privacidade da blockchain e explore as suas aplicações abrangentes para além da blockchain.
O que é um Filtro de Bloom na Blockchain?

Introdução

A tecnologia blockchain é análoga a uma floresta em crescimento; cada novo bloco é como um novo rebento que atravessa o solo digital, aumentando a altura da rede. O Filtro de Bloom é um mecanismo menos conhecido mas profundamente influente no coração desta floresta digital. Os Filtros Bloom servem como a nossa bússola à medida que navegamos pela densa folhagem de dados, apontando-nos para a eficiência e privacidade.

Os Filtros Bloom operam dentro da blockchain, melhorando a sua capacidade de gerir dados, tal como uma bússola exige um campo magnético. São os heróis não cantados da saga da blockchain, frequentemente ensombrados por termos mais flashiantes como criptomoedas e smart contracts. Entender os Bloom Filters, por outro lado, pode fornecer uma perspetiva única sobre o funcionamento intrincado da tecnologia blockchain e a razão pela qual está a ser saudado como uma força revolucionária no domínio digital.

O objetivo deste artigo é ajudá-lo a entender os Filtros Bloom. Quer seja um entusiasta da blockchain ou apenas curioso sobre a tecnologia, este artigo vai proporcionar um mergulho envolvente no que são os Filtros Bloom, como estão ligados à blockchain e porque são importantes. Vamos olhar para a essência dos Filtros Bloom no campo da blockchain usando explicações simples e exemplos do mundo real.

Nas secções seguintes, começaremos com um entendimento básico dos Filtros Bloom, a sua origem e mecanismo de trabalho (nesta altura, é apropriado um diagrama ilustrativo simples). Então, vamos alargar o nosso âmbito para ver como os Filtros Bloom são usados fora da blockchain (talvez numa tabela comparando várias aplicações). Veremos como os Filtros de Bloom são integrados à medida que vamos mais fundo na floresta da blockchain, e vamos ilustrar isso com exemplos do mundo real (imagens de aplicações Bloom Filter em projetos reais de blockchain). Também ponderaremos os benefícios contra os inconvenientes e examinaremos como a comunidade blockchain está a evoluir para resolver esses problemas (um gráfico comparativo pode ser útil aqui).

Então, como estamos no precipício desta exploração digital, vamos dar o primeiro passo para entender os blocos floressores da blockchain através da objetiva dos Filtros Bloom.

Compreender os Filtros de Bloom

Origem: https://ethereumclassic.org/

Os Filtros Bloom são uma mistura intrigante de matemática e ciência da computação, que servem como uma estrutura de dados compacta para testar se um elemento é membro de um conjunto. São como os bibliotecários meticulosos do reino digital, ajudando a localizar rapidamente a informação que procura. No entanto, há uma pequena senão — embora possam dizer-lhe com certeza se um artigo não está na biblioteca, podem às vezes não colocar um livro ou dois.

Definição e Explicação Simples

Imagine que tem uma caixa grande com muitos compartimentos, e tem uma série de bolas coloridas diferentes. Cada vez que recebe uma bola nova, segue um conjunto de regras que lhe dizem em que compartimentos colocar um autocolante. Com o tempo, à medida que tem mais bolas, mais compartimentos tem autocolantes. Agora, se alguém lhe der uma bola e perguntar se já a viu, verifica os compartimentos com base nas regras para essa cor. Se todos os compartimentos para essa cor tiverem autocolantes, diz “provavelmente sim”. Mas se algum compartimento estiver vazio, diz “definitivamente não.”

Em termos técnicos, um Filtro de Bloom é uma estrutura de dados que é usada para testar se um elemento é membro de um conjunto. É extremamente eficiente em termos de espaço mas ao custo da precisão — nunca dará um falso negativo (se disser que um item não está no conjunto, é verdade), mas há a possibilidade de um falso positivo (pode dizer que um item está no conjunto quando não está).

Antecedentes Históricos e Mecanismo de Trabalho Básico

Os Filtros Bloom foram introduzidos por Burton Howard Bloom em 1970. O génio por trás do design da Bloom reside na sua simplicidade e eficiência no que toca a responder às perguntas relativas à filiação.

No centro de um Filtro de Bloom estão dois componentes principais: um array de bits e várias funções de hash. Um array de bits é uma estrutura de dados simples que consiste numa matriz de bits (0s e 1s). Inicialmente, todos os bits da matriz estão definidos como 0. As funções hash, para conversar, são algoritmos matemáticos que pegam numa entrada (ou 'mensagem') e devolvem uma seqüência de bytes de tamanho fixo. A saída, normalmente uma 'digest' é única para cada entrada única.

Agora, quando um item é adicionado ao Filtro de Bloom, essas funções hash calculam posições ou índices dentro da matriz de bits e mudam os bits nessas posições para 1. Para verificar se um item faz parte do conjunto, são utilizadas as mesmas funções de hash para calcular os índices e os bits desses índices são examinados. Se algum bit for 0, o item definitivamente não está no conjunto. No entanto, se todos os bits forem 1, o item pode estar no conjunto, mas também há a possibilidade de um falso positivo, o que significa que o item não está realmente no conjunto mas os bits verificados sugerem o contrário.

Este mecanismo permite uma maneira rápida e eficiente de espaço de verificar a associação de um item, embora com uma pequena chance de erro na forma de falsos positivos.

Origem: https://devopedia.org/bloom-filter

A elegância dos Filtros Bloom reside na sua capacidade de realizar essas operações rapidamente e de uma maneira eficiente de espaço, tornando-as numa ferramenta valiosa em muitas áreas da ciência da computação e, como veremos, na cadeia de blocos.

Exemplos do Mundo Real

Os Filtros Bloom desempenham um papel importante nos ecossistemas blockchain, especialmente para clientes leves ou SPV (Verificação Simples de Pagamento). Por exemplo, no ecossistema Bitcoin, o BIP37 apresentou Filtros de Bloom para clientes SPV, permitindo que nós completos solicitem transações para endereços específicos. Isso não só economiza largura de banda como também protege a privacidade do cliente. Da mesma forma, a Ethereum usa Filtros Bloom para recuperar entradas de registro ou eventos críticos para interações inteligentes com contratos, otimizando significativamente o processo de recuperação de entradas de registro relevantes, agilizando as interações e melhorando a eficiência da rede. Estas implementações demonstram a adaptabilidade e a utilidade dos Filtros Bloom no aumento da eficiência do tratamento de dados e na preservação da privacidade em projetos de blockchain.

Filtros Bloom para além da Blockchain

Origem: https://devopedia.org/bloom-filter

Os Filtros Bloom são úteis numa variedade de campos que não a blockchain. São críticos em ambientes de bancos de dados, pois aceleram as consultas de associação, o que é necessário para uma recuperação rápida de dados. Ajudam no roteamento eficiente de pacotes, minimizando a latência e garantindo comunicações de rede mais suaves no domínio da rede. Os Filtros Bloom são utilizados por navegadores da Web, como o Google Chrome, para melhorar a segurança dos utilizadores através da filtragem de URLs maliciosos. Os Filtros Bloom têm recebido maior atenção no domínio dos grandes dados, que viu um aumento significativo desde meados dos anos 2000, devido à sua natureza eficiente de espaço, particularmente quando lidamos com grandes conjuntos de dados. Funcionam como uma estrutura de dados compacta e probabilística que suporta consultas de associação definida. Este recurso é especialmente útil em situações em que o armazenamento e a velocidade são críticos.

Além disso, os Filtros Bloom encontram a sua aplicação em redes ponto a ponto, ajudando no encaminhamento de recursos e na colaboração. As redes de entrega de conteúdo (CDNs) utilizam Filtros Bloom para evitar o armazenamento em cache desnecessário de ficheiros, garantindo uma entrega eficiente de dados aos utilizadores. Em aplicações de streaming, são empregados para desduplicar eventos em grande escala, mostrando a sua capacidade de lidar com fluxos de dados de alto rendimento. Por exemplo, Medium usa Filtros Bloom para desduplicar as recomendações, destacando a sua utilidade prática em aplicações do mundo real. Esta versatilidade dos Filtros Bloom é o que os torna uma ferramenta indispensável nos sistemas digitais modernos, estendendo-se muito para além da sua aplicação na tecnologia blockchain.

Benefícios, Desafios e Soluções

Benefícios

  • Eficiência de Espaço: Filtros de Bloom primam pela eficiência do espaço, exigindo uma fração de memória em comparação com outras estruturas de dados, o que é vital em ambientes com restrições de memória.
  • Melhoramento da privacidade: a sua capacidade de ofuscar dados exatos contribui para uma maior privacidade dos utilizadores, uma pedra angular em ambientes de blockchain onde a privacidade é uma preocupação principal.
  • Velocidade: Ao permitirem consultas rápidas de adesão, melhoram significativamente a velocidade de recuperação de dados, o que é crucial para manter os níveis de alto desempenho nos sistemas digitais.

Desafios e Soluções

  • Falsos positivos: O desafio inerente dos falsos positivos nos Filtros Bloom pode ser mitigado otimizando os parâmetros tais como o número de funções hash e o tamanho da matriz de bits. O compromisso entre o consumo de memória e a probabilidade de falsos positivos deve ser bem equilibrado para garantir a eficácia.
  • Seleção de Parâmetros: Selecionar os parâmetros corretos - tamanho do filtro (m), número de funções hash (k) e o número de elementos a serem armazenados (n) é crucial. A seleção inapropriada de parâmetros pode levar a um aumento de falsos positivos ou no pior dos cenários, permitir que os atacantes corrompam o filtro com entradas bem escolhidas. O equilíbrio entre esses parâmetros é vital para garantir a taxa desejada de falsos positivos mantendo a eficiência.

Conclusão

A exploração dos Bloom Filters ilumina o seu papel significativo na amplificação da eficiência e privacidade da blockchain. A sua integração em ambientes de blockchain, como a Bitcoin e Ethereum, mostra o seu impacto substancial. À medida que a tecnologia blockchain continua a evoluir, a incorporação dos Bloom Filters e das suas variantes contribuirá, sem dúvida, para aumentar a gestão de dados, a privacidade e a eficiência geral da rede. Isso, por sua vez, abre o caminho para redes blockchain mais robustas e fáceis de utilizar, espelhando a mistura de simplicidade e eficácia que os Filtros de Bloom trazem para o universo digital.

Autor: Piero
Tradutor(a): Cedar
Revisor(es): Matheus、Wayne Zhang、Ashley He
* As informações não se destinam a ser e não constituem aconselhamento financeiro ou qualquer outra recomendação de qualquer tipo oferecido ou endossado pela Gate.io.
* Este artigo não pode ser reproduzido, transmitido ou copiado sem fazer referência à Gate.io. A violação é uma violação da Lei de Direitos de Autor e pode estar sujeita a ações legais.
Comece agora
Registe-se e ganhe um cupão de
100 USD
!