От концепции к реализации: Полное руководство по окончательности в блокчейне

ПродвинутыйOct 15, 2024
В этой статье рассматривается концепция окончательности в блокчейне, анализируются различные системы блокчейна, достигающие окончательности, а также основные принципы и проблемы, связанные с этим.
От концепции к реализации: Полное руководство по окончательности в блокчейне

АНАЛОГИЯ В РЕАЛЬНОЙ ЖИЗНИ

Как это принято в моих статьях «Что такое…», я предпочитаю начать с реальной аналогии, чтобы люди могли получить основную идею и уйти, если им не интересны подробности.

Для этой темы мы будем использовать время высыхания бетона:

Это высокий уровень того, что означает "окончательность" в контексте блокчейнов. Подобно бетону, по мере того, как время проходит от момента заливки (первого подтверждения) через затвердение (несколько подтверждений), все труднее считать исходный блок "истинным", пока он полностью не затвердеет (окончательно). Как только это произойдет, практически невозможно.

Кратко говоря, просто запомните порядок шагов:

Submitted -> Подтверждено -> Завершено

Если вам этого достаточно, чтобы считать этот случай закрытым, я приглашаю вас поставить лайк статье и заниматься своими делами. Если вы хотите погрузиться в детали о том, как, что и почему окончательности (в контексте Ethereum), продолжайте, мон фрер.

ФИНАЛИТИ БОТАНИК

Хорошо - давайте попробуем построить некую структуру вокруг этой концепции и понять ее. К счастью, это дает нам основу для построения, поскольку все компоненты возникают как результат прошедшего времени, поэтому мы воспользуемся этим.

Сначала, давайте закрепим наши знания определениями.

ГЛОССАРИЙ

Слот (Время блока): Вы, вероятно, поймете альтернативное название для этого: Время блока. Слот или время блока - это количество времени, отведенное системе для создания нового блока транзакций для добавления к текущей канонической цепи.

Примерные интервалы слотов/время блоков:

Ethereum - 12 секунд

База - 2 секунды

  • Solana - 0,4 секунды
  • Подтверждение: Это происходит, когда ваша транзакция официально попадает в блок, который был добавлен в текущую цепочку. Теперь она "подтверждена" как часть регистра и по мере добавления блоков к вашей, накапливаются дополнительные подтверждения.
  • Эпоха: Набор из 32 слотов. Она создается в качестве вторичной структуры в блокчейне, используемом для делегирования ролей и обязанностей. Слоты используются для создания блоков, а эпохи используются для передачи данных, распределения вознаграждений, выбора валидаторов и т. д., и т. д.
  • Блок контрольной точки: это первый созданный блок в определенной эпохе и используется в качестве точки отсчета для закрепления истории цепочки.

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

Ethereum - Когда прошло 2 эпохи (~13 мин)

Оптимистичный L2 - Когда окно мошенничества прошло (~7д)

  • ZK L2 - Из-за предоставляемых гарантий доказательствами правильности существуют 2 спорных момента окончательности: локальная (когда доказательство генерируется на L2 [~ несколько минут]) и глобальная окончательность (когда доказательство размещается на Ethereum и завершается там [~13 мин]).
  • Переорганизация блоков («Reorg»): Это происходит, когда блок(и), которые когда-то были подтверждены как часть реестра по какой-либо причине больше не считаются действительными, и была создана новая цепь. Это обычно сопровождается штрафами

и вот попытка визуализации всех этих терминов на одном изображении для более легкого усвоения:

КАКОВА ОКОНЧАТЕЛЬНОСТЬ?

Итак, теперь, когда у нас есть части, используемые для определения окончательности, как они собираются вместе? Каковы правила?

Для Ethereum

  1. Голосование за валидаторов - Каждую эпоху (окно из 32 блоков) валидаторы будут голосовать за контрольный блок текущей и предыдущей эпохи до тех пор, пока определенные контрольные блоки не достигнут 2/3 ставок $ETH
  2. Обоснованные контрольные точки - Как только контрольный блок достигает порога в 2/3, его считают "обоснованным"
  3. Супербольшинство ссылка - После того как два последовательных блока контрольной точки a) оправданы и b) связаны друг с другом, блоки, включенные в эпоху перед теперь связанными, оправданными эпохами, становятся окончательными. Их больше нельзя повлиять обычным переустройством.

Визуализированный

Для L2s

Ну, L2 построены на Ethereum, так что они в основном одинаковые, верно?

Да и нет, уважаемый читатель. Вспомните структуру публикации от моего предыдущая публикация о Based Rollups. L2s - это собственные блокчейны, да, но они зависят от Ethereum для окончательного урегулирования. Это означает, что ответ такой же сложный, как сами цепи.

Эти слои разбиваются на два типа окончательности:

  1. Локальная Финальность - Это окончательность в L2 самой по себе и возможна только для L2, которые используют доказательства правильности (так называемые ZK Rollups). Это потому, что доказательства правильности подкрепляются математикой, и само производство доказательства означает его правильность. Из-за этого, как только ZK L2 производит свое доказательство, состояние L2 можно считать завершенным, не ожидая, чтобы доказательство было опубликовано и урегулировано на Ethereum. Обратите внимание, что это все равно сопряжено с рисками и доверительными предположениями, но может быть сделано с некоторой уверенностью в зависимости от вашей толерантности к риску.
  2. Глобальная окончательность - состояние, достигнутое после того, как L2 подтвердил свое локальное состояние, сформировал доказательство (фальсификации или подлинности), опубликовал это доказательство в Ethereum, и Ethereum также завершил блок, в котором было опубликовано доказательство. Даже после этого для оптимистичного подмножества L2 по-прежнему существует возможность отмены до истечения периода оспаривания. Этот компромисс сделан для уменьшения вычислений, необходимых для создания доказательства.

Итак, L2-решения могут иметь уровень локализованной завершенности, если они являются определенным типом, иначе они должны ждать, пока Ethereum не завершит их опубликованное доказательство действительности (ZK) или окно вызова не закроется для доказательств мошенничества (оптимистические роллапы).

Для биткоина / доказательства работы

Это на самом деле довольно просто - в конкретной реализации PoW в Bitcoin нет окончательности. Для этого тот, кто производит самую тяжелую цепочку (читай: производит достаточно блоков, чтобы стать «самой длинной» цепью), становится каноническим реестром. Это означает, что, хотя это непрактично по многим причинам, кто-то мог бы произвести достаточно хеша, чтобы переписать последний день, неделю, год истории Bitcoin.

Однако снова, это непрактично из-за огромного количества ресурсов и времени, которые потребуются, но это оправданная разница между системами, которая на самом деле приводит к нескольким уникальным типам MEV, таким как «Дальнодействующие атаки» и «Блокирование», где майнеры могут либо создать (и скрыть) блок, а затем добавить последующий блок, либо добывать несколько блоков подряд, чтобы создавать и захватывать уникальные возможности для прибыли.

Визуализировано:

ЗАЧЕМ ФИНАЛЬНОСТЬ?

Итак, мы знаем, как достигается окончательность в самой большой цепи Proof of Stake в криптовалюте, но это, кажется, много работы - зачем мы вообще это делаем?

Ну, это приходит с некоторыми преимуществами:

  1. Экономическая безопасность - наличие точки, на которую система (и мы) может посмотреть в прошлое и с высокой уверенностью сказать, что она не изменится, дает участникам экосистемы уверенность действовать на основе "того, что есть правда". Подумайте о больших переводах и кредитах. Как только вы уверены, что систему нельзя изменить без экстремального, вмешательства в протокол, вы получаете уверенность действовать на этой правде. Вот почему мосты обычно ждут X количества подтверждений или полной окончательности, прежде чем выпускать средства на вторичных цепях. Что приводит меня к...
  2. Более быстрое урегулирование - Поскольку есть момент, когда все становится формализованным как постоянное, это означает, что стороны, работающие в экосистеме, имеют максимальное время урегулирования, которое им в конечном итоге придется ждать, в то время как в системе PoW этот момент никогда не наступает и является чисто личным утешительным звонком.
  3. Сокращение векторов атак - Мы упоминали о нескольких возможностях MEV, доступных в цепочках PoW, но в конечном итоге это просто решает проблему «Ничего не поставлено на карту», когда любой, кто действует злонамеренно против системы, также может что-то потерять. Если вы валидатор и пытаетесь что-то изменить, вам придется нарушить правила протокола, и поэтому ваша ставка будет урезана.

ВЫВОД

Почему я затронул окончательность? Не имею настоящего представления - я только слышал, что недавно это слово стало популярным, и понял, что это часто используемый, но не глубоко понимаемый механизм блокчейнов.

Надеюсь, вам понравилось, и помните; это просто ваши блоки закаливаются, как бетон в системе, и в какой-то момент они становятся крепкими, как камень.

Отказ от ответственности:

  1. Эта статья перепечатана с [ХЛЕБ], Оригинальное название [WTF is Finality?], Все авторские права принадлежат оригинальному автору [@0xBreadguy]. Если есть возражения против этого повторного печатного издания, пожалуйста, свяжитесь с Gate Learnкоманда, и они быстро справятся с этим.
  2. Отказ от ответственности: Взгляды и мнения, выраженные в этой статье, являются исключительно мнением автора и не являются инвестиционными советами.
  3. Переводы статьи на другие языки выполняются командой Gate Learn. За исключением упоминания, копирование, распространение или плагиат статей в переводе запрещено.

От концепции к реализации: Полное руководство по окончательности в блокчейне

ПродвинутыйOct 15, 2024
В этой статье рассматривается концепция окончательности в блокчейне, анализируются различные системы блокчейна, достигающие окончательности, а также основные принципы и проблемы, связанные с этим.
От концепции к реализации: Полное руководство по окончательности в блокчейне

АНАЛОГИЯ В РЕАЛЬНОЙ ЖИЗНИ

Как это принято в моих статьях «Что такое…», я предпочитаю начать с реальной аналогии, чтобы люди могли получить основную идею и уйти, если им не интересны подробности.

Для этой темы мы будем использовать время высыхания бетона:

Это высокий уровень того, что означает "окончательность" в контексте блокчейнов. Подобно бетону, по мере того, как время проходит от момента заливки (первого подтверждения) через затвердение (несколько подтверждений), все труднее считать исходный блок "истинным", пока он полностью не затвердеет (окончательно). Как только это произойдет, практически невозможно.

Кратко говоря, просто запомните порядок шагов:

Submitted -> Подтверждено -> Завершено

Если вам этого достаточно, чтобы считать этот случай закрытым, я приглашаю вас поставить лайк статье и заниматься своими делами. Если вы хотите погрузиться в детали о том, как, что и почему окончательности (в контексте Ethereum), продолжайте, мон фрер.

ФИНАЛИТИ БОТАНИК

Хорошо - давайте попробуем построить некую структуру вокруг этой концепции и понять ее. К счастью, это дает нам основу для построения, поскольку все компоненты возникают как результат прошедшего времени, поэтому мы воспользуемся этим.

Сначала, давайте закрепим наши знания определениями.

ГЛОССАРИЙ

Слот (Время блока): Вы, вероятно, поймете альтернативное название для этого: Время блока. Слот или время блока - это количество времени, отведенное системе для создания нового блока транзакций для добавления к текущей канонической цепи.

Примерные интервалы слотов/время блоков:

Ethereum - 12 секунд

База - 2 секунды

  • Solana - 0,4 секунды
  • Подтверждение: Это происходит, когда ваша транзакция официально попадает в блок, который был добавлен в текущую цепочку. Теперь она "подтверждена" как часть регистра и по мере добавления блоков к вашей, накапливаются дополнительные подтверждения.
  • Эпоха: Набор из 32 слотов. Она создается в качестве вторичной структуры в блокчейне, используемом для делегирования ролей и обязанностей. Слоты используются для создания блоков, а эпохи используются для передачи данных, распределения вознаграждений, выбора валидаторов и т. д., и т. д.
  • Блок контрольной точки: это первый созданный блок в определенной эпохе и используется в качестве точки отсчета для закрепления истории цепочки.

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

Ethereum - Когда прошло 2 эпохи (~13 мин)

Оптимистичный L2 - Когда окно мошенничества прошло (~7д)

  • ZK L2 - Из-за предоставляемых гарантий доказательствами правильности существуют 2 спорных момента окончательности: локальная (когда доказательство генерируется на L2 [~ несколько минут]) и глобальная окончательность (когда доказательство размещается на Ethereum и завершается там [~13 мин]).
  • Переорганизация блоков («Reorg»): Это происходит, когда блок(и), которые когда-то были подтверждены как часть реестра по какой-либо причине больше не считаются действительными, и была создана новая цепь. Это обычно сопровождается штрафами

и вот попытка визуализации всех этих терминов на одном изображении для более легкого усвоения:

КАКОВА ОКОНЧАТЕЛЬНОСТЬ?

Итак, теперь, когда у нас есть части, используемые для определения окончательности, как они собираются вместе? Каковы правила?

Для Ethereum

  1. Голосование за валидаторов - Каждую эпоху (окно из 32 блоков) валидаторы будут голосовать за контрольный блок текущей и предыдущей эпохи до тех пор, пока определенные контрольные блоки не достигнут 2/3 ставок $ETH
  2. Обоснованные контрольные точки - Как только контрольный блок достигает порога в 2/3, его считают "обоснованным"
  3. Супербольшинство ссылка - После того как два последовательных блока контрольной точки a) оправданы и b) связаны друг с другом, блоки, включенные в эпоху перед теперь связанными, оправданными эпохами, становятся окончательными. Их больше нельзя повлиять обычным переустройством.

Визуализированный

Для L2s

Ну, L2 построены на Ethereum, так что они в основном одинаковые, верно?

Да и нет, уважаемый читатель. Вспомните структуру публикации от моего предыдущая публикация о Based Rollups. L2s - это собственные блокчейны, да, но они зависят от Ethereum для окончательного урегулирования. Это означает, что ответ такой же сложный, как сами цепи.

Эти слои разбиваются на два типа окончательности:

  1. Локальная Финальность - Это окончательность в L2 самой по себе и возможна только для L2, которые используют доказательства правильности (так называемые ZK Rollups). Это потому, что доказательства правильности подкрепляются математикой, и само производство доказательства означает его правильность. Из-за этого, как только ZK L2 производит свое доказательство, состояние L2 можно считать завершенным, не ожидая, чтобы доказательство было опубликовано и урегулировано на Ethereum. Обратите внимание, что это все равно сопряжено с рисками и доверительными предположениями, но может быть сделано с некоторой уверенностью в зависимости от вашей толерантности к риску.
  2. Глобальная окончательность - состояние, достигнутое после того, как L2 подтвердил свое локальное состояние, сформировал доказательство (фальсификации или подлинности), опубликовал это доказательство в Ethereum, и Ethereum также завершил блок, в котором было опубликовано доказательство. Даже после этого для оптимистичного подмножества L2 по-прежнему существует возможность отмены до истечения периода оспаривания. Этот компромисс сделан для уменьшения вычислений, необходимых для создания доказательства.

Итак, L2-решения могут иметь уровень локализованной завершенности, если они являются определенным типом, иначе они должны ждать, пока Ethereum не завершит их опубликованное доказательство действительности (ZK) или окно вызова не закроется для доказательств мошенничества (оптимистические роллапы).

Для биткоина / доказательства работы

Это на самом деле довольно просто - в конкретной реализации PoW в Bitcoin нет окончательности. Для этого тот, кто производит самую тяжелую цепочку (читай: производит достаточно блоков, чтобы стать «самой длинной» цепью), становится каноническим реестром. Это означает, что, хотя это непрактично по многим причинам, кто-то мог бы произвести достаточно хеша, чтобы переписать последний день, неделю, год истории Bitcoin.

Однако снова, это непрактично из-за огромного количества ресурсов и времени, которые потребуются, но это оправданная разница между системами, которая на самом деле приводит к нескольким уникальным типам MEV, таким как «Дальнодействующие атаки» и «Блокирование», где майнеры могут либо создать (и скрыть) блок, а затем добавить последующий блок, либо добывать несколько блоков подряд, чтобы создавать и захватывать уникальные возможности для прибыли.

Визуализировано:

ЗАЧЕМ ФИНАЛЬНОСТЬ?

Итак, мы знаем, как достигается окончательность в самой большой цепи Proof of Stake в криптовалюте, но это, кажется, много работы - зачем мы вообще это делаем?

Ну, это приходит с некоторыми преимуществами:

  1. Экономическая безопасность - наличие точки, на которую система (и мы) может посмотреть в прошлое и с высокой уверенностью сказать, что она не изменится, дает участникам экосистемы уверенность действовать на основе "того, что есть правда". Подумайте о больших переводах и кредитах. Как только вы уверены, что систему нельзя изменить без экстремального, вмешательства в протокол, вы получаете уверенность действовать на этой правде. Вот почему мосты обычно ждут X количества подтверждений или полной окончательности, прежде чем выпускать средства на вторичных цепях. Что приводит меня к...
  2. Более быстрое урегулирование - Поскольку есть момент, когда все становится формализованным как постоянное, это означает, что стороны, работающие в экосистеме, имеют максимальное время урегулирования, которое им в конечном итоге придется ждать, в то время как в системе PoW этот момент никогда не наступает и является чисто личным утешительным звонком.
  3. Сокращение векторов атак - Мы упоминали о нескольких возможностях MEV, доступных в цепочках PoW, но в конечном итоге это просто решает проблему «Ничего не поставлено на карту», когда любой, кто действует злонамеренно против системы, также может что-то потерять. Если вы валидатор и пытаетесь что-то изменить, вам придется нарушить правила протокола, и поэтому ваша ставка будет урезана.

ВЫВОД

Почему я затронул окончательность? Не имею настоящего представления - я только слышал, что недавно это слово стало популярным, и понял, что это часто используемый, но не глубоко понимаемый механизм блокчейнов.

Надеюсь, вам понравилось, и помните; это просто ваши блоки закаливаются, как бетон в системе, и в какой-то момент они становятся крепкими, как камень.

Отказ от ответственности:

  1. Эта статья перепечатана с [ХЛЕБ], Оригинальное название [WTF is Finality?], Все авторские права принадлежат оригинальному автору [@0xBreadguy]. Если есть возражения против этого повторного печатного издания, пожалуйста, свяжитесь с Gate Learnкоманда, и они быстро справятся с этим.
  2. Отказ от ответственности: Взгляды и мнения, выраженные в этой статье, являются исключительно мнением автора и не являются инвестиционными советами.
  3. Переводы статьи на другие языки выполняются командой Gate Learn. За исключением упоминания, копирование, распространение или плагиат статей в переводе запрещено.
Начните торговать сейчас
Зарегистрируйтесь сейчас и получите ваучер на
$100
!