Erlay: новый протокол ретрансляции транзакций Bitcoin. Erlay - это совершенно новый тип протокола распространения транзакций, который направлен на значительное сокращение пропускной способности, необходимой для подключения узлов Bitcoin.
Согласно исследованиям, проведенным Глебом Науменко и другими криптоэкспертами, такими как Грегори Максвелл и Питер Вуй, Erlay может уменьшить объем пропускной способности, необходимой для поддержания текущего уровня связи между узлами Bitcoin примерно на 40%.
Текущий протокол и проблема ресурсов
Одной из самых насущных проблем в связи с подключением к узлам Bitcoin является тот факт, что требуется большое количество пропускной способности, чтобы сохранить соединение открытым со всеми другими узлами, учитывая децентрализованный и открытый характер протокола.
Как описано в аннотации исследования: «Безопасность сети Bitcoin зависит от связности между узлами. Это означает, что более высокий уровень связи обеспечивает более высокий уровень безопасности».
Основные замечания авторов были следующими:
Текущая связь в сети Bitcoin слишком низка для оптимальной безопасности.
В то же время расширение связи позволит существенно увеличить пропускную способность, используемую протоколом распространения транзакций.
По сути, увеличение связи между узлами по существу сделает работу узла Bitcoin непомерно дорогостоящей. Еще один ключевой момент, сделанный авторами, заключается в том, что «половина общей пропускной способности, необходимой для работы Bitcoin узла, в настоящее время используется для просто объявления транзакций».
Сосредоточив внимание на процессе распространения транзакций, авторы рекомендуют подход, который позволит более эффективно передавать идентификаторы транзакций, сокращая тем самым количество сообщений, отправляемых между узлами, одновременно поддерживая передачу новых транзакций всем узлам.
В настоящее время узлы совместно используют идентификаторы транзакций даже с одноранговыми узлами, которые уже отправили транзакцию. Это означает, что в сети Bitcoin много избыточных сообщений.
Возможно, 50% пропускной способности, необходимой для запуска узла Bitcoin, в настоящее время используется для объявления транзакций. Еще 45% полосы пропускания требуется для ретрансляции фактического тела транзакции и только 5% требуется для различных других сообщений, например, для информации заголовка блока.
Исследование Erlay оценивает, что 44% всего трафика между узлами Bitcoin состоит из избыточных сообщений.
Вывод состоит в том, что есть большие возможности для совершенствования.
Erlay Minisketch - элегантное решение
Протокол Erlay уменьшает количество сообщений, передаваемых между узлами Bitcoin с помощью решения под названием «Minisketch», которое ранее предлагали Науменко, Вуиль и Максвелл. Помимо идентификаторов транзакций, биткоин-узлы разделяют «эскизы» транзакций друг с другом.
Как объяснялось на форуме Bitcoin-Dev:
«Основная идея заключается в том, что вместо того, чтобы объявлять каждую транзакцию каждому одноранговому узлу, объявления отправляются только непосредственно через небольшое количество подключений (всего восемь исходящих). Дальнейшее ретрансляцию достигается за счет периодического запуска набора протокола согласования по каждому соединению между наборами удерживаемых объявлений в обоих направлениях.
«Протокол сверки множества использует коды исправления ошибок для передачи набора транзакций одноранговому узлу с неизвестным, но похожим набором, используя пропускную способность, равную только размеру разности, а не размеру самих наборов.
«Результаты: мы экономим половину полосы пропускания, потребляемой узлом, что позволяет увеличить подключение практически бесплатно - и, в качестве побочного эффекта, Биткойн лучше выдерживает атаки времени».
Идея эскизов состоит в том, чтобы иметь пакет данных, содержащий идентификаторы для всех транзакций, которые узел принял (с момента последней сверки), но в компактной форме. Используя эскизы, узел может определить, какие транзакции у него нет, что есть у его сверстников. После этого он может запросить только те транзакции от тех одноранговых узлов, которые не отображаются в их эскизе.
Этот подход потребляет гораздо меньше пропускной способности, чем совместное использование всех идентификаторов транзакций.
Если это новое предложение будет реализовано, мы могли бы увидеть огромный стимул для биткоин-энтузиастов запускать полные узлы.
Disclaimer: The views and opinions expressed by the author should not be considered as financial advice. We do not give advice on financial products.