Добавить в корзинуПозвонить
Найти в Дзене
Nervos Network

Забудьте о конкуренции TPS

Эта статья является второй частью серии «Создание консенсусного протокола». 1. Почему мы любим Консенсус Накамото (НК) и как увеличить его пропускную способность 2. Почему мы не выбираем альтернативные протоколы консенсуса 3. Детальное описание конструкции NC-Max, варианта консенсуса Накамото с более высокой пропускной способностью. Немного предыстории перед началом: Статья основана на выступлениях исследователя Nervos Ren Zhang на встрече «Масштабирование биткойнов» в Сан-Франциско. Посмотрите здесь видеообзор его выступления. Ren в настоящее время является исследователем в Nervos (в основном работает над протоколом консенсуса Nervos), а также получает PhD в институте Bart Preneel (разработчик RIPEMD 160, хэш-функции, которые вы используете для вычисления из вашего открытого ключа Биткойн в ваш биткойн-адрес) в COSIC Research. Group KU Leuven (место рождения AES, расширенного стандарта шифрования, который используется во всех ваших мобильных телефонах). В 2017 году, после проведения
Оглавление

Эта статья является второй частью серии «Создание консенсусного протокола».

1. Почему мы любим Консенсус Накамото (НК) и как увеличить его пропускную способность

2. Почему мы не выбираем альтернативные протоколы консенсуса

3. Детальное описание конструкции NC-Max, варианта консенсуса Накамото с более высокой пропускной способностью.

Немного предыстории перед началом:

Статья основана на выступлениях исследователя Nervos Ren Zhang на встрече «Масштабирование биткойнов» в Сан-Франциско. Посмотрите здесь видеообзор его выступления.

Ren в настоящее время является исследователем в Nervos (в основном работает над протоколом консенсуса Nervos), а также получает PhD в институте Bart Preneel (разработчик RIPEMD 160, хэш-функции, которые вы используете для вычисления из вашего открытого ключа Биткойн в ваш биткойн-адрес) в COSIC Research. Group KU Leuven (место рождения AES, расширенного стандарта шифрования, который используется во всех ваших мобильных телефонах). В 2017 году, после проведения исследования, в котором были обнаружены недостатки дизайна предлагаемого неограниченного масштабирования биткойнов, Ren был приглашен на стажировку в Blockstream и работал с Pieter Wullie и Gregory Maxwell. Недавно в IEEESSP (Окленд) была принята статья Ren «Установление общих метрик: оценка безопасности протоколов консенсуса Proof-of-Work».

После статьи о том, почему мы любим консенсус Накамото и как преодолеть его ограничение пропускной способности, у людей может возникнуть очень распространенный вопрос: почему вы не выбираете альтернативные протоколы консенсуса? Большинство из них утверждают, что имеют гораздо более высокую пропускную способность, чем NC.

В настоящее время существует три подхода, не использующих консенсус Накамото: PoS, DAG и два типа блоков — эти три подхода не исключают друг друга, и можно использовать несколько из них в одном консенсусном протоколе. Давайте подробнее рассмотрим их безопасность, функциональность и пропускную способность, и вы поймете, почему мы их не выбрали.

Proof of Stake

Все протоколы PoS вводят некоторые новые ПРЕДПОЛОЖЕНИЯ о безопасности и могут спровоцировать новые атаки.

-2

Например, Algorand требует, чтобы самые честные пользователи могли отправлять сообщения, которые получат большинство других честных пользователей в течение определенного периода времени — это означает, что если у вас есть токен Algorand, вы должны ВСЕГДА быть в сети. Если вы не в сети, вы не являетесь действительным холдером токена.

В случае с Ouroboros (используется в Cardano) предполагается, что все участники имеют слабо синхронизированные часы, и все сообщения доставляются в течение определенного периода времени. Это очень сильное предположение. На самом деле существует множество атак, которые могут привести к смещению часов вашего оборудования для майнинга, ваших общедоступных узлов, ваших мобильных телефонов и т. д.

Протокол Sleepy также требует, чтобы у участников были примерно синхронизированные часы.

Нарушение этих допущений безопасности может привести к катастрофическим результатам в протоколах PoS. А также вводит несколько новых атак, которых раньше не было в протоколах proof-of-work.

DAG

Все DAG имеют проблемы с порядком транзакций.

-3

Если вы разрешите производить блоки одновременно, то разные майнеры или разные общедоступные узлы будут иметь несогласованные представления об общем порядке транзакций — вы можете подумать, что эти транзакции подтверждены, в то время как другие могут видеть другой набор подтвержденных транзакций.

У вас есть два варианта решения этой проблемы:

Вариант 1: установить порядок транзакции после того, как топология блокчейна будет исправлена, что означает, что подтвеждения будут осуществляться с большой задержкой.

Вариант 2: навсегда оставить порядок транзакций неопределенным, что означает, что некоторые токены застряли в смарт-контракте или блокчейне навсегда, никто больше не может их потратить, что ограничит функциональность смарт-контракта. Потому что некоторые вызовы функций могут быть безобидными, но вы все равно блокируете деньги.

Два типа блоков

Протоколы с двумя типами блоков используют ключевой блок, аналогичный блоку консенсуса Накамото, для безопасного подтверждения транзакций и используют микроблоки, которые передаются между ключевыми блоками для увеличения пропускной способности.

Эти протоколы обычно имеют очень большую задержку подтверждения, аналогичную протоколам DAG. В Bitcoin NG в документе прямо говорится, что пользователь, которому требуется высокая уверенность, не получит большей задержки с Bitcoin NG, но должен дождаться нескольких ключевых блоков, чтобы принять транзакцию как завершенную.

-4

Конкуренция TPS

большинство самопровозглашенных TPS ничего не значат

-5

Как видно на картинке выше (источник: NKN), все эти альтернативные протоколы консенсуса претендуют на очень высокую пропускную способность.

Solana утверждает, что может обрабатывать 710 000 транзакций в секунду, NKN заявила, что у них может быть 10 000 узлов с 1 миллионом транзакций в секунду, этот протокол (как показано на рисунке ниже) утверждает, что имеет 1 000 000 000 000 TPS с окончательным временем подтверждения менее 1 секунды. …если хочешь мечтать, мечтай по-крупному :))

-6

Однако в реальном мире большинство самопровозглашенных TPS ничего не значат, потому что:

1.TPS моделируется в другой сетевой среде. В некоторых симуляциях используются сетевые узлы с пропускной способностью 1 Гбит/с, что явно не соответствует действительности.

2.Они пренебрегают факторами реального мира. НИ ОДНА из этих симуляций не рассматривает синхронизацию транзакций. Для них транзакции всегда уже синхронизированы в их блоках, цель протокола консенсуса используется только для упорядочения этих транзакций, что далеко от реальности! А в некоторых симуляциях предполагаются прямые связи между членами комитета, но на самом деле каждое сообщение транслируется. Сообщения потребляют пропускную способность общедоступных нодов.

Простая модель сравнений TPS

-7

Первая часть — это процент пропускной способности, используемой для синхронизации транзакций, которые в конечном итоге подтверждены, это НАСТОЯЩАЯ TPS. Вам необходимо сначала синхронизировать транзакцию перед подтверждением. Вторая часть — это процент пропускной способности, «потерянной» протоколом консенсуса. Третья часть — недоиспользуемая полоса пропускания.

Таким образом, TPS ограничен на 100%. Если вы хотите увеличить TPS, вы можете сделать ТОЛЬКО две вещи:

1. снизить потребление пропускной способности протокола консенсуса

2. снизить потребление недоиспользуемой полосы пропускания

На уровне консенсусного протокола уровня 1 вы не можете сделать больше, чем это, и вы не можете выйти за пределы 100 процентов.

Давайте вернемся к потреблению полосы пропускания альтернативными протоколами консенсуса, многие из них тратят полосу пропускания на общение членов комитета.

Algorand хранит сертификаты блоков, чтобы доказать новым пользователям, что блокировка была зафиксирована. Каждый сертификат блока имеет размер 300 КБ, независимо от размера блока. Если вы используете 1 МБ на каждый блок, это означает, что около 25% полосы пропускания НАВСЕГДА тратится впустую на синхронизацию этих сертификатов. Так что мне очень любопытно, почему они утверждают, что их пропускная способность лучше, чем NC, это не имеет никакого смысла.

Второй способ тратить пропускную способность в консенсусном протоколе — это избыточная транзакция в DAG и потерянных блоках. Как указано в этой статье, если все узлы выбирают одно и то же подмножество транзакций для включения в свои блоки, а два блока, созданные параллельно, вероятно, будут иметь много коллизий, и пропускная способность не будет высокой. В настоящее время все протоколы DAG закрывают глаза на эту ситуацию.