395 / 736CORALLO

Matt Corallo

Розробник, відомий як TheBlueMatt

Коли з’являється новий блок Bitcoin, інші комп’ютери мають про нього дізнатися. Matt Corallo працював над передаванням цих даних із меншим трафіком і затримкою. Також він допомагав створювати програмні компоненти, з яких розробники будують застосунки Lightning.

Matt Corallo, відомий як TheBlueMatt, — розробник Bitcoin, пов’язаний із Compact Block Relay, мережею передавання FIBRE та rust-lightning. Ці роботи об’єднує практичне питання: як поліпшити роботу мереж і застосунків, не сплутавши швидкість із упевненістю, що все правильно?

На GitHub Matt Corallo користується ім’ям TheBlueMatt. Його профіль повідомляє про перенесення багатьох репозиторіїв на git.bitcoin.ninja. Репозиторій зберігає вихідний код та історію змін, тож порожнє старе місце не обов’язково означає занедбаний проєкт. Щоб з’ясувати, хто що зробив, варто переглядати цю історію, пропозиції та їхніх авторів. У Corallo цей шлях веде від ощадливішого передавання блоків до інструментів для Lightning. [1]

Комп’ютери, які перевіряють Bitcoin, постійно обмінюються непідтвердженими транзакціями. Коли надходить блок, значна частина його вмісту може бути їм уже відома. Саме це використовує Compact Block Relay. Відкрита технічна специфікація BIP 152 називає Corallo автором і дякує Gregory Maxwell за початкову ідею, проєктування та тестування. Основна мета — зменшити обсяг переданих даних. Передавання також може прискоритися, але правила дійсності блоків не змінюються. [2]

Уявіть спільний список документів: більшість у вас уже є, треба лише знати, які входять до нового набору. BIP 152 подібно використовує короткі ідентифікатори транзакцій і mempool — локальне сховище непідтверджених транзакцій. Дані, яких бракує, одержувач запитує повідомленням getblocktxn. Ідентифікатори можуть збігатися для різних транзакцій — це називається колізією. Економія трафіку тому не скасовує потреби отримати справжні дані й перевірити, чи відновлено правильний блок. [2]

За визначених умов BIP 152 дозволяє поширити компактне повідомлення до повної перевірки всіх транзакцій відправником. Це не дозвіл пересилати будь-що: необхідно перевірити заголовок, його зв’язок із перевіреним ланцюгом, доказ роботи та зобов’язання щодо включених транзакцій. Після відновлення блок обробляють у звичайний спосіб. Одержувач далі перевіряє, чи витрачаються наявні кошти згідно з правилами. «Блок надійшов» і «блок дійсний» — різні твердження. [2]

Інтернет передає дані невеликими частинами — пакетами. Якщо один загубився, очікування повторного надсилання додає затримку. 7 липня 2016 року Corallo описав FIBRE: поєднання компактних блоків із UDP, способом передавання без автоматичного повторення втрачених пакетів, та FEC, кодуванням для відновлення відсутніх частин. Надлишкові дані допомагають відновити вміст без нового запиту. За це доводиться передавати більше даних; безпомилковість за будь-яких умов не гарантована. [3]

FIBRE може передавати окремі пакети далі ще до перевірки. Це заощаджує час, але вимагає високого рівня довіри між внутрішніми вузлами мережі. Йдеться не про довільні неперевірені підключення. Відкритий код дає змогу створювати інші мережі, проте оператор конкретної мережі все одно може вибирати партнерів. За FAQ, у 2025 році підтримку перебрали w0xlt і Justin із Localhost Research за консультативної участі Corallo та Maxwell. Історію проєкту продовжують інші люди. [4]

Інша частина роботи Corallo стосується Lightning — мережі платежів через канали поверх Bitcoin. Маніфест, тобто опис пакета lightning у rust-lightning, зазначає автора Matt Corallo. Бібліотека написана мовою Rust і надає основні функції Lightning. Застосунок може сам обирати роботу з гаманцем, блокчейном, сховищем і мережею. Цей запис не означає, що одна людина написала кожну подальшу зміну або що бібліотека сама є готовим гаманцем. [5]

LDK вбудовують у застосунок як SDK — набір інструментів для розробників. Потрібно під’єднати сховище та інші необхідні компоненти. Результат платежу не обов’язково надходить одразу після запуску: LDK повідомляє про успіх чи невдачу пізніше через подію, яку обробляє застосунок. Сам запуск ще не підтверджує успіху. Для людини з гаманцем це означає просту вимогу: екран має відрізняти платіж у процесі від завершеного. [6]

Для повної картини прочитайте також Gregory Maxwell, Luke Dashjr, Satoshi Nakamoto. На цю статтю також посилаються Stratum V2, Gregory Maxwell, Luke Dashjr.

DOC · 001GitHub — Matt CoralloДокументація DOC · 002BIP 152 — Compact Block RelayДокументація DOC · 003Matt Corallo — The Future of The Bitcoin Relay NetworksДокументація DOC · 004FIBRE — FAQДокументація DOC · 005rust-lightning — package manifestДокументація DOC · 006LDK — ArchitectureДокументація
Переглянуто: Спочатку джерела · Не інвестиційна порада