Сатоші розробив Bitcoin таким чином, що вузли вибирають правила консенсусу, а майнери вибирають транзакції. Але обидві функції спочатку були інтегровані в один програмний додаток. Незважаючи на всю геніальність Сатоші, він не був особливо хорошим архітектором програмного забезпечення, і з плином часу ці дві функції розділилися.
Цей розподіл занепокоєнь з тих пір викликав багато плутанини. Деякі люди в минулому намагалися змусити майнерів вибирати правила консенсусу. УАСС продемонструвала, що це не працює. Спроба змусити вузли вибирати транзакції є протилежною помилкою. І це теж не працює.
Вузли також стурбовані використанням ресурсів та уникненням DoS-атак. З цих причин вузли встановлюють свої власні політики мемпулу, такі як максимальний розмір мемпулу, ліміт пилу тощо... Вузли намагаються передбачити, що буде видобуто, не затоплюючи свій мемпул.
В ідеалі всі вузли мають однаковий мемпул. Потім, коли видобувається новий блок, компактні блоки дозволяють йому дуже швидко поширюватися по мережі, оскільки вузли вже мають транзакції у своєму мемпулі і їм не потрібно завантажувати їх знову.
На практиці мемпули будуть відрізнятися. Вузли, які більш точно передбачають наступний блок, набагато швидше розповсюджують блоки. Вузли, чий мемпул суттєво відрізняється від блоку, повинні будуть завантажити всі транзакції та перевірити їх, перш ніж зможуть передати блок.
Таким чином, функція фільтрації мемпулів на вузлах за своєю суттю є прогностичною, а не проскриптивною. Як би дехто не хотів, щоб це було інакше, саме так насправді працює протокол.
Таким чином, функція фільтрації мемпулів на вузлах за своєю суттю є прогностичною, а не директивною. Як би дехто не хотів, щоб це було інакше, саме так насправді працює протокол.
63,28K