Що таке фільтр Bloom у Blockchain?

СереднійNov 03, 2023
Відкрийте для себе роль фільтрів Bloom у підвищенні ефективності та конфіденційності блокчейну та вивчіть їх широкий спектр застосувань за межами блокчейну.
Що таке фільтр Bloom у Blockchain?

Вступ

Технологія блокчейн аналогічна зростаючому лісу; кожен новий блок схожий на новий паросток, що пробивається крізь цифровий ґрунт, збільшуючи висоту мережі. Фільтр Bloom — це менш відомий, але дуже впливовий механізм у центрі цього цифрового лісу. Фільтри Bloom служать нашим компасом, коли ми орієнтуємося в густому листі даних, спрямовуючи нас на ефективність і конфіденційність.

Фільтри Bloom працюють у блокчейні, покращуючи його здатність керувати даними, подібно до того, як компасу потрібне магнітне поле. Вони є неоспіваними героями саги про блокчейн, часто затьмарені такими яскравими термінами, як криптовалюти та смарт-контракти. Розуміння фільтрів Bloom, з іншого боку, може надати унікальний погляд на складну роботу технології блокчейн і чому її називають революційною силою в цифровій сфері.

Мета цієї статті — допомогти вам зрозуміти фільтри Bloom. Незалежно від того, чи є ви початківцем ентузіастом блокчейну, чи просто цікавитесь цією технологією, ця стаття забезпечить цікаве занурення в те, що таке фільтри Bloom, як вони пов’язані з блокчейном і чому вони важливі. Ми розглянемо суть фільтрів Блума в області блокчейну, використовуючи прості пояснення та приклади з реального світу.

У наступних розділах ми почнемо з базового розуміння фільтрів Блума, їхнього походження та механізму роботи (на цьому етапі буде доречною проста ілюстративна схема). Потім ми розширимо нашу сферу, щоб побачити, як фільтри Bloom використовуються поза блокчейном (можливо, у таблиці порівняння різних програм). Ми побачимо, як фільтри Bloom інтегровані, коли ми заглибимося в ліс блокчейну, і ми проілюструємо це прикладами з реального світу (зображення програм Bloom Filter у реальних проектах блокчейну). Ми також зважимо переваги проти недоліків і вивчимо, як розвивається блокчейн-спільнота для вирішення цих проблем (тут може бути корисним порівняльний графік).

Отже, коли ми стоїмо на самому порозі цього цифрового дослідження, давайте зробимо перший крок до розуміння розквіту блоків блокчейну через призму Bloom Filters.

Розуміння фільтрів Bloom

Джерело: https://ethereumclassic.org/

Фільтри Блума — це інтригуюче поєднання математики та інформатики, яке служить компактною структурою даних для перевірки того, чи є елемент членом набору. Вони схожі на скрупульозних бібліотекарів цифрової сфери, які допомагають швидко знаходити інформацію, яку ви шукаєте. Однак є невелика заковика — хоча вони можуть з упевненістю сказати вам, якщо якогось предмета немає в бібліотеці, іноді вони можуть загубити книгу чи дві.

Визначення та просте пояснення

Уявіть, що у вас є велика коробка з багатьма відділеннями і купа різнокольорових кульок. Щоразу, коли ви отримуєте нову кулю, ви дотримуєтеся набору правил, які вказують вам, у які відділення помістити наклейку. З часом, коли ви отримуєте більше м’ячів, більше відділень отримує наклейки. Тепер, якщо хтось дає вам м’яч і запитує, чи бачили ви його раніше, ви перевіряєте відсіки відповідно до правил для цього кольору. Якщо всі відділення для цього кольору мають наклейки, ви скажете «ймовірно, так». Але якщо якесь відділення порожнє, ви говорите «однозначно ні».

З технічної точки зору, фільтр Блума — це структура даних, яка використовується для перевірки того, чи є елемент членом набору. Він надзвичайно економний, але ціною точності — він ніколи не дасть хибно-негативний результат (якщо він каже, що предмета немає в наборі, це правда), але є ймовірність хибного спрацьовування (це може містити елемент є в наборі, коли його немає).

Історична довідка та основний робочий механізм

Фільтри Блума були представлені Бертоном Ховардом Блумом у 1970 році. Геніальність дизайну Блума полягає в його простоті та ефективності, коли справа доходить до відповідей на запитання щодо членства.

В основі фільтра Блума два основних компоненти: бітовий масив і кілька хеш-функцій. Масив бітів — це проста структура даних, яка складається з масиву бітів (0 і 1). Спочатку всі біти в масиві мають значення 0. Хеш-функції, навпаки, є математичними алгоритмами, які приймають вхідні дані (або «повідомлення») і повертають рядок байтів фіксованого розміру. Вихід, як правило, «дайджест», є унікальним для кожного унікального входу.

Тепер, коли елемент додається до фільтра Блума, ці хеш-функції обчислюють позиції або індекси в бітовому масиві та змінюють біти в цих позиціях на 1. Щоб перевірити, чи є елемент частиною набору, для обчислення індексів використовуються ті самі хеш-функції, а біти в цих індексах перевіряються. Якщо будь-який біт дорівнює 0, елемент остаточно відсутній у наборі. Проте, якщо всі біти дорівнюють 1, елемент може бути в наборі, але також існує ймовірність хибного спрацьовування, що означає, що елемент насправді не в наборі, але перевірені біти свідчать про інше.

Цей механізм дозволяє швидко перевірити приналежність до елемента, хоча й з невеликою ймовірністю помилки у вигляді хибних спрацьовувань.

Джерело: https://devopedia.org/bloom-filter

Елегантність фільтрів Bloom Filters полягає в їхній здатності виконувати ці операції швидко та з економним використанням простору, що робить їх цінним інструментом у багатьох галузях інформатики та, як ми побачимо, у блокчейні.

Приклади з реального світу

Фільтри Bloom відіграють важливу роль в екосистемах блокчейнів, особливо для легких або SPV (проста перевірка платежів) клієнтів. Наприклад, в екосистемі біткойн BIP37 представив фільтри Bloom для SPV-клієнтів, що дозволяє повним вузлам запитувати транзакції для певних адрес. Це не тільки економить пропускну здатність, але й захищає конфіденційність клієнта. Подібним чином Ethereum використовує фільтри Bloom для отримання записів журналу або подій, критичних для взаємодії смарт-контрактів, значно оптимізуючи процес отримання відповідних записів журналу, прискорення взаємодії та підвищення ефективності мережі. Ці реалізації демонструють адаптивність і корисність фільтрів Bloom для підвищення ефективності обробки даних і збереження конфіденційності в проектах блокчейн.

Bloom Filters Beyond Blockchain

Джерело: https://devopedia.org/bloom-filter

Фільтри Bloom корисні в багатьох сферах, крім блокчейну. Вони мають вирішальне значення в середовищах баз даних, оскільки прискорюють запити членства, що необхідно для швидкого пошуку даних. Вони допомагають в ефективній маршрутизації пакетів, мінімізації затримки та забезпеченні більш плавного мережевого зв’язку в мережевому домені. Фільтри Bloom використовуються такими веб-переглядачами, як Google Chrome, для покращення безпеки користувачів шляхом фільтрації шкідливих URL-адрес. Фільтри Bloom привернули підвищену увагу у сфері великих даних, яка значно зросла з середини 2000-х років через їх економічну природу, особливо при роботі з великими наборами даних. Вони функціонують як компактна ймовірнісна структура даних, яка підтримує запити про членство в наборі. Ця функція особливо корисна в ситуаціях, коли пам’ять і швидкість є критичними.

Крім того, фільтри Bloom знаходять своє застосування в однорангових мережах, допомагаючи в маршрутизації ресурсів і співпраці. Мережі доставки вмісту (CDN) використовують фільтри Bloom, щоб уникнути непотрібного кешування файлів, забезпечуючи ефективну доставку даних користувачам. У потокових додатках вони використовуються для дедуплікації подій у великому масштабі, демонструючи свою здатність обробляти високопродуктивні потоки даних. Наприклад, Medium використовує фільтри Bloom для дедуплікації рекомендацій, підкреслюючи їхню практичну корисність у реальних програмах. Ця універсальність фільтрів Bloom робить їх незамінним інструментом у сучасних цифрових системах, що виходить далеко за рамки їх застосування в технології блокчейн.

Переваги, виклики та рішення

Переваги

  • Ефективність використання простору: фільтри Bloom відрізняються ефективністю використання простору, вимагаючи незначної кількості пам’яті порівняно з іншими структурами даних, що є життєво важливим у середовищах з обмеженнями пам’яті.
  • Покращення конфіденційності: їхня здатність маскувати точні дані сприяє підвищенню конфіденційності користувачів, наріжного каменю в середовищах блокчейну, де конфіденційність є головною проблемою.
  • Швидкість. Дозволяючи швидкі запити членства, вони значно підвищують швидкість пошуку даних, що має вирішальне значення для підтримки високого рівня продуктивності цифрових систем.

Виклики та рішення

  • Помилкові спрацьовування. Проблему помилкових спрацьовувань у фільтрах Bloom можна пом’якшити шляхом оптимізації таких параметрів, як кількість хеш-функцій і розмір бітового масиву. Компроміс між споживанням пам’яті та ймовірністю помилкових спрацьовувань має бути добре збалансованим, щоб забезпечити ефективність.
  • Вибір параметрів: вибір правильних параметрів - розмір фільтра (m), кількість хеш-функцій (k) і кількість елементів, які потрібно зберегти (n), є вирішальним. Невідповідний вибір параметра може призвести до збільшення хибних спрацьовувань або, у гіршому випадку, дозволить зловмисникам пошкодити фільтр правильно підібраними вхідними даними. Баланс між цими параметрами життєво важливий для забезпечення бажаної частоти хибнопозитивних результатів при збереженні ефективності.

Висновок

Дослідження Bloom Filters висвітлює їх значну роль у підвищенні ефективності та конфіденційності блокчейну. Їх інтеграція в блокчейн-середовища, такі як Bitcoin і Ethereum, демонструє їх значний вплив. Оскільки технологія блокчейну продовжує розвиватися, впровадження фільтрів Bloom і його варіантів, безсумнівно, сприятиме покращенню управління даними, конфіденційності та загальної ефективності мережі. Це, у свою чергу, відкриває шлях до більш надійних і зручних мереж блокчейнів, відображаючи поєднання простоти та ефективності, яке Bloom Filters привносить у цифрову сферу.

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
!
Criar conta