С учетом того, что все утверждают, что время блоков на уровне L2 становится все меньше и меньше, я подумал, что настало время описать, что происходит. Конкретно, давайте проверим, что такое блоки L2, в чем их отличие от блоков L1 и почему нам действительно не следует так сильно обращать внимание на время блоков L2, даже если это интересный инженерный показатель.
Еще когда термин блокчейн действительно означал что-то (примерно 2009 год), концепция блоков была введена, потому что нам нужна была единица для группы транзакций, представленных на согласование.
Например, на Bitcoin каждый производитель блока пытается найти набор транзакций, который удовлетворяет требованиям PoW, затем транслирует этот блок в сеть. Другие узлы будут проверять, что этот блок действительно удовлетворяет требованиям PoW. На Ethereum, которая теперь работает по PoS и основана на учете, производители блоков вычисляют хеш состояния блокчейна после выполнения каждого блока (фиксация состояния), а проверяющие повторно вычисляют это значение для легкой проверки блока. Общий процесс всегда одинаков:
На цепочках уровня-1 блоки имеют значение: вы проверяете целостность цепочки на уровне блоков, управляете вилками на уровне блоков и т. д.
TL;DR: блоки - это важнейший элемент консенсуса.
L2 существуют потому, что консенсус медленен, а децентрализация требует поддержки медленных компьютеров и сетей. Подход L2 переносит обработку транзакций на самый быстрый доступный компьютер, а затем отправляет сводку проверяемого выполнения на L1 для достижения консенсуса. Проще говоря, большинство L2 сегодня являются централизованными системами, играющими в блокчейн. И это вполне нормально.
Здесь время блоков становится неопределенным. L2 продолжают создавать блоки в основном для совместимости с программным обеспечением L1, но это в значительной степени искусственно. При публикации сводок на L1 L2 обычно пакетируют несколько блоков вместе, чтобы снизить затраты. Хотя иногда требуются обязательства по состоянию для доказательства мошенничества/действительности, их не требуется для каждого блока. Поэтому блоки L2 в основном бесполезны.
Когда кто-то утверждает, что у них быстрые блоки L2, они просто изменили значение конфигурации системы, чтобы уменьшить время блока. Хотя им все равно нужно обрабатывать значительное количество транзакций за блок, это и есть весь смысл.
Как пользователь, вам важно одно: время цикла. Другими словами, сколько времени потребуется для того, чтобы моя транзакция достигла L2-последователя, была выполнена и результат стал видимым на используемом мной узле RPC? Давайте сосредоточимся на последней части: сколько времени требуется для передачи информации об исполнении транзакции RPC?
Медленные блокчейны обычно ждут окончания блока перед его отправкой пирам. Solana начала идею того, что вы можете передавать блоки потоком: просто отправляйте транзакции другим валидаторам, как только вы их обработали. Solana разбивает их на записи (группы до 64 транзакций), которые сами разбиваются на осколки для передачи по сети. У нас естьглубокая статьяпо этой теме, если вас это интересует. Они непрерывно транслируются с лидирующего узла на другие, что означает, что вы получаете информацию о выполнении ваших транзакций до того, как блок даже завершится.
L2s теперь решили повторно использовать этот механизм: Base, с Flashblocks, переходит от времени блока 2 секунды к более мелким подблокам 200 мс. MegaETH имеет концепцию «мини-блоков», производимых каждые 15 мс на их тестовой сети (большую часть времени). Eclipse использует систему ввода/обрыва Solana. Таким образом, пользователи должны меньше ждать выполнения своих транзакций. Это довольно хорошо для UX!
Но давайте будем ясны: настоящая особенность здесь - "сокращенные интервалы связи по сети". Это никоим образом не связано с тем, что некоторые блоки являются более качественными, чем другие. Мы просто делим блоки на более мелкие части и передаем их параллельно с выполнением. Неважно, называете ли вы эти части блоками, мини-блоками или клочками. Конечная цель - быстрая связь, а не лучшие блоки.
Compartilhar
С учетом того, что все утверждают, что время блоков на уровне L2 становится все меньше и меньше, я подумал, что настало время описать, что происходит. Конкретно, давайте проверим, что такое блоки L2, в чем их отличие от блоков L1 и почему нам действительно не следует так сильно обращать внимание на время блоков L2, даже если это интересный инженерный показатель.
Еще когда термин блокчейн действительно означал что-то (примерно 2009 год), концепция блоков была введена, потому что нам нужна была единица для группы транзакций, представленных на согласование.
Например, на Bitcoin каждый производитель блока пытается найти набор транзакций, который удовлетворяет требованиям PoW, затем транслирует этот блок в сеть. Другие узлы будут проверять, что этот блок действительно удовлетворяет требованиям PoW. На Ethereum, которая теперь работает по PoS и основана на учете, производители блоков вычисляют хеш состояния блокчейна после выполнения каждого блока (фиксация состояния), а проверяющие повторно вычисляют это значение для легкой проверки блока. Общий процесс всегда одинаков:
На цепочках уровня-1 блоки имеют значение: вы проверяете целостность цепочки на уровне блоков, управляете вилками на уровне блоков и т. д.
TL;DR: блоки - это важнейший элемент консенсуса.
L2 существуют потому, что консенсус медленен, а децентрализация требует поддержки медленных компьютеров и сетей. Подход L2 переносит обработку транзакций на самый быстрый доступный компьютер, а затем отправляет сводку проверяемого выполнения на L1 для достижения консенсуса. Проще говоря, большинство L2 сегодня являются централизованными системами, играющими в блокчейн. И это вполне нормально.
Здесь время блоков становится неопределенным. L2 продолжают создавать блоки в основном для совместимости с программным обеспечением L1, но это в значительной степени искусственно. При публикации сводок на L1 L2 обычно пакетируют несколько блоков вместе, чтобы снизить затраты. Хотя иногда требуются обязательства по состоянию для доказательства мошенничества/действительности, их не требуется для каждого блока. Поэтому блоки L2 в основном бесполезны.
Когда кто-то утверждает, что у них быстрые блоки L2, они просто изменили значение конфигурации системы, чтобы уменьшить время блока. Хотя им все равно нужно обрабатывать значительное количество транзакций за блок, это и есть весь смысл.
Как пользователь, вам важно одно: время цикла. Другими словами, сколько времени потребуется для того, чтобы моя транзакция достигла L2-последователя, была выполнена и результат стал видимым на используемом мной узле RPC? Давайте сосредоточимся на последней части: сколько времени требуется для передачи информации об исполнении транзакции RPC?
Медленные блокчейны обычно ждут окончания блока перед его отправкой пирам. Solana начала идею того, что вы можете передавать блоки потоком: просто отправляйте транзакции другим валидаторам, как только вы их обработали. Solana разбивает их на записи (группы до 64 транзакций), которые сами разбиваются на осколки для передачи по сети. У нас естьглубокая статьяпо этой теме, если вас это интересует. Они непрерывно транслируются с лидирующего узла на другие, что означает, что вы получаете информацию о выполнении ваших транзакций до того, как блок даже завершится.
L2s теперь решили повторно использовать этот механизм: Base, с Flashblocks, переходит от времени блока 2 секунды к более мелким подблокам 200 мс. MegaETH имеет концепцию «мини-блоков», производимых каждые 15 мс на их тестовой сети (большую часть времени). Eclipse использует систему ввода/обрыва Solana. Таким образом, пользователи должны меньше ждать выполнения своих транзакций. Это довольно хорошо для UX!
Но давайте будем ясны: настоящая особенность здесь - "сокращенные интервалы связи по сети". Это никоим образом не связано с тем, что некоторые блоки являются более качественными, чем другие. Мы просто делим блоки на более мелкие части и передаем их параллельно с выполнением. Неважно, называете ли вы эти части блоками, мини-блоками или клочками. Конечная цель - быстрая связь, а не лучшие блоки.