Що таке Propagation Time?
Propagation Time: це час, який потрібно, щоб нова транзакція або блок поширилися мережею блокчейну і досягли більшості учасників. Уявіть це як цікаву чутку, що біжить по великому груповому чату, але кожен одержувач перевіряє її двічі перед тим, як переслати. Менший час кращий, бо всі швидше опиняються на одній сторінці інформації.
«Propagation Time це просто інтернет-пінг.» Не зовсім так. Пінг має значення, але також важливі розмір даних, перевірки валідації, черги на завантажених вузлах і те, наскільки добре зв'язана мережа.
Як працює Propagation Time
Ось покроковий опис того, що відбувається, коли з'являється транзакція або блок:
- Крок 1: Гаманець транслює нову транзакцію, або майнер чи валідатор знаходить новий блок.
- Крок 2: Ближній вузол перевіряє базові правила, потім пересилає її підключеним вузлам.
- Крок 3: Дані продовжують перескакувати від одного вузла до іншого, поки більшість мережі їх не побачить.
- Крок 4: Чесні учасники оновлюють своє уявлення про поточний кінець ланцюга, якщо це блок, або додають транзакцію до свого mempool, якщо вона пройшла перевірки.
- Крок 5: Коли все більше вузлів дізнаються про подію, ймовірність розбіжностей у поглядах знижується і мережа сходиться до єдиної версії.
Ця хвиля по мережі і є Propagation Time. Саме про це йдеться.
Чому Propagation Time має значення
І що, якщо це займе кілька додаткових секунд? Це має значення.
- Перевага: Швидший Propagation Time означає менше випадкових форків, гладкішу торгівлю та приємніший користувацький досвід.
- Перспектива: Повільне поширення може надати перевагу арбітражним програмам і підвищити частку сирітських або "uncle" блоків під час високого навантаження ланцюга.
- Актуальність: Це безпосередньо пов'язано з масштабованістю і з тим, який досвід ви отримуєте в гаманцях, біржах і dapps.
Коли надсилаєте кошти, стежте за оглядачем блоків, який показує охоплення вузлів або статистику першого бачення. Якщо Propagation Time різко зростає, вищі комісії або трохи терпіння можуть заощадити вам багато неприємностей.
Ключові характеристики Propagation Time
Що його відрізняє:
- Розмір: Великі повідомлення рухаються повільніше, тому більший розмір блоку може подовжити час.
- Пропускна здатність: Обмежена пропускна здатність мережі і висока затримка збільшують час передачі.
- Перевірки: Перевірка підписів і правил додає невелику, але реальну затримку на кожному кроці.
- Топологія: Добре зв'язані вузли з компактною ретрансляцією досягають згоди швидше.
- Навантага: Переповнені мемпули та завантажені вузли сповільнюють ретрансляцію під час пікового трафіку.
Як обчислюється Propagation Time?
Можна оцінити Propagation Time, додавши час серіалізації та відправки даних і затримки між вузлами. Простий початковий підхід виглядає так:
Propagation_Time ≈ Data_Size_bits ÷ Link_Bandwidth_bits_per_s + Hops × Latency_per_Hop + Local_Validation_Time Реальні мережі додають черги, випадкові шляхи між вузлами та протокольні оптимізації, такі як компактна ретрансляція, але це дає уявлення про основні параметри.
Варіанти
Та сама ідея, різні варіанти:
- Транзакція: Гаманець транслює транзакцію, яка поширюється по мемпулах.
- Блок: Новий блок змагається, щоб стати спільним кінцем ланцюга, перш ніж з'явиться конкурентний блок.
- Компактний: Вузли спочатку надсилають короткі зведення, а потім завантажують лише відсутні частини.
- Gossip: Випадкова ретрансляція між вузлами з часом покращує охоплення та стійкість.
Швидкий Propagation Time не те саме, що фіналізація. Вам усе одно потрібно чекати підтвердження транзакції, щоб знизити ризик.
Приклад
Новий блок Bitcoin може досягти більшості вузлів за кілька секунд, тоді як важкий блок по повільнішому каналу може зайняти помітно більше часу.
Цікавий факт
Дослідники Ethereum роками скорочували секунди при ретрансляції блоків, бо навіть невеликі покращення зменшують частоту "uncle" блоків і вирівнюють винагороди, саме тому клієнти уважно працюють над хитрими методами ретрансляції.
Підсумок
Якщо запам'ятати одну річ, то це: Propagation Time, гонитва за тим, щоб усі почули ту саму інформацію, і чим швидше це відбувається, тим чистіше виглядає ваш ланцюг.
