September 7, 2022

Fantom's Lachesis Consensus Protocol

Сегодняшний репортаж - это введение в консенсусный протокол Lachesis компании Fantom, предоставляющее вам общий обзор консенсуса, Byzantine Fault Tolerance и DAG.

Все комментарии, мысли, критика и исправления приветствуются. Давайте погрузимся

Предисловие о консенсусе

Распределенные системы, такие как Fantom, содержат множество узлов в сети, все эти узлы постоянно общаются и координируют свои действия, чтобы достичь соглашения по различным вопросам, таким как состояние сети Fantom. Это соглашение является консенсусом

Проблема Byzantine General's

Достижение консенсуса в распределенных системах не лишено трудностей, поскольку узлы могут выйти из строя или поступить нечестно. Как же большинству участников сети коллективно договориться и выполнить одно и то же действие, чтобы избежать сбоя?

Byzantine Fault Tolerance BFT

Создается система, способная противостоять сбоям, возникающим в результате проблемы византийских генералов, которая позволяет сети продолжать работу, даже если узлы выходят из строя или действуют злонамеренно. Это свойство является византийской отказоустойчивостью (Byzantine Fault Tolerance).

Nakamoto consensus (NC)

Используя правило длиннейшей цепи и анти-сибильный механизм, называемый доказательством работы, NC стал первым решением проблемы византийского генерала, которое вероятностно гарантировало бездоверительный консенсус в условиях отсутствия разрешения.

Anti-sybil deterrent mechanism

Атаки Sybil - это угроза безопасности, когда один человек пытается наводнить сеть данными и помешать узлам прийти к консенсусу. Были изобретены сдерживающие механизмы, такие как Proof-of-Work, Proof-of-Stake.

Lachesis protocol

Используя направленный ациклический граф (DAG), Lachesis достигает асинхронной византийской отказоустойчивости (aBFT) с четырьмя различными качествами:

- Асинхронность
- Отсутствие специальных ролей с расширенными полномочиями (Leaderless)
- Византийская отказоустойчивость
- Почти мгновенная завершенность

Dissecting DAG

Чтобы помочь вам лучше понять DAG, я разбил его на группы:
- Направленные, потому что они направлены в одну сторону;
- Ациклическая, нет обратной петли (если вы начали, вы не можете вернуться в ту же точку).
- Граф, все связанные транзакции представлены в виде сетки, похожей на граф.

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

Event Blocks

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

Это был краткий обзор консенсуса, византийской отказоустойчивости и DAG. Более подробное техническое описание можно найти в этой статье, написанной

@Quan6888, @michaelfkong, Andre, Egor and Alex

https://arxiv.org/pdf/2108.01900.pdf

Оригинал https://twitter.com/Fantom_Intern/status/1567436726779678722

Канал про разное https://t.me/bey_baraban

Канал по FTM https://t.me/fantom_for_russia

Чат FTM https://t.me/Cryptonite_chat