Цей документ був натхненний нашою роботою над Специфікація консенсусу FOCIL 23, де ми зрозуміли, що протокол потребував більш обдуманого врахування обмежень ресурсів, оскільки певні деталі не були явно вказані в Дослідження Ethereum FOCIL 14.
Перш ніж ми почнемо, ми припускаємо наступну установку, щоб встановити чіткий базовий рівень для наших міркувань:
Перш ніж ми продовжимо, ми припускаємо, що наступні актори є частиною протоколу і аналізуємо їх відповідальність:
Ми припускаємо наступний часовий графік, в якому Комітет з ІЛ, пропонент та співробітники виконують деякі чесні дії:
Члени комітету IL отримують список транзакцій IL від клієнта EL, використовуючи голову (виклик СL → EL), потім вони підписують місцевий IL (транзакції + підсумки) і публікують його в мережі gossip.
Вузли, які слідкують за ланцюжком, завантажать IL, перевірять його на відсутність імпортування до EL та перешлють його іншим пірингам. Вузли також імпортують IL до вибору гілки та відстежують, які IL були побачені, використовуючи агрегатний кеш. Атестатори та вузли, які слідкують за ланцюжком, повинні мати однаковий погляд на ланцюжок.
Ініціатор наступного слота активно відстежує мережу пліток IL і збирає та аггреGates локальні IL, а потім на граничному рівні агрегації IL (інтервал #2) оферент оновлює процес побудови блоку списком транзакцій IL, які повинні бути включені до його блоку. Для цього потрібен виклик CL до EL.
Якщо пропонувач наступного слоту спостерігає достатню кількість списків включень на основі батьківського хешу, якого він не бачив, пропонувачу потрібно буде вручну запросити відсутній блок маяка, імпортувати блок та побудувати на його основі.
На основі вищезазначеного, ми можемо виявити можливі області, які потребують значних ресурсів та зосередитися на них:
Пропонент оновлює процес побудови блоку зі списком включення транзакцій. Це виклик CL → EL.
Перегляд списку включених блокувань. Припинити приймати місцевий список включених блокувань з цього моменту.
Заявник отримує виконавчий навантаження від клієнта EL (CL → EL виклик) і розповсюджує його в мережі розговорів блоків бікону. Потім всі інші перевіряють блок.
Вузли отримують блок маяків і перевіряють його. Нові етапи верифікації включають перевірку конструкції списку включень aggreGate і перевірку того, чи задовольняє список включень функції оцінки, яка повинна бути виконана на CL. Перевірка умов ІЛ (чи можна їх пропустити через конфлікти чи ні) буде виконана на ЕЛ.
Додаткові обов'язки для заявника, здається, не є значною проблемою. Нові етапи верифікації вузлів - перевірка та перевірка того, чи включений список відповідає задовільним умовам, - можуть внести додаткове навантаження на ЦП, але це, здається, не є серйозною проблемою.
Атестатор голосує за блок маяка, використовуючи правило вибору вилки LMD GHOST. Атестатори будуть голосувати лише за блок маяка, який задовольняє функцію оцінки списку включення, на основі спостережень з Інтервалу 1.
Немає різниці від сьогодні.
Як видно з вище зазначеного, найбільш важливі проблеми, що стосуються ресурсів, пов'язані з завантаженням, завантаженням списку включення та можливістю спаму з точки зору вузла. Ще одна ключова проблема - це навантаження на вузли для перевірки та імпорту списку включення, а також потреба пропонента оновити свій процес побудови блоку для задоволення списку включення. Ці аспекти потребують ретельного вивчення та розробки, щоб забезпечити ефективність та безпеку.
На основі вищезазначеного ми намічаємо кілька відкритих питань, які впливатимуть на те, як буде написана специфікація:
Цей документ був натхненний нашою роботою над Специфікація консенсусу FOCIL 23, де ми зрозуміли, що протокол потребував більш обдуманого врахування обмежень ресурсів, оскільки певні деталі не були явно вказані в Дослідження Ethereum FOCIL 14.
Перш ніж ми почнемо, ми припускаємо наступну установку, щоб встановити чіткий базовий рівень для наших міркувань:
Перш ніж ми продовжимо, ми припускаємо, що наступні актори є частиною протоколу і аналізуємо їх відповідальність:
Ми припускаємо наступний часовий графік, в якому Комітет з ІЛ, пропонент та співробітники виконують деякі чесні дії:
Члени комітету IL отримують список транзакцій IL від клієнта EL, використовуючи голову (виклик СL → EL), потім вони підписують місцевий IL (транзакції + підсумки) і публікують його в мережі gossip.
Вузли, які слідкують за ланцюжком, завантажать IL, перевірять його на відсутність імпортування до EL та перешлють його іншим пірингам. Вузли також імпортують IL до вибору гілки та відстежують, які IL були побачені, використовуючи агрегатний кеш. Атестатори та вузли, які слідкують за ланцюжком, повинні мати однаковий погляд на ланцюжок.
Ініціатор наступного слота активно відстежує мережу пліток IL і збирає та аггреGates локальні IL, а потім на граничному рівні агрегації IL (інтервал #2) оферент оновлює процес побудови блоку списком транзакцій IL, які повинні бути включені до його блоку. Для цього потрібен виклик CL до EL.
Якщо пропонувач наступного слоту спостерігає достатню кількість списків включень на основі батьківського хешу, якого він не бачив, пропонувачу потрібно буде вручну запросити відсутній блок маяка, імпортувати блок та побудувати на його основі.
На основі вищезазначеного, ми можемо виявити можливі області, які потребують значних ресурсів та зосередитися на них:
Пропонент оновлює процес побудови блоку зі списком включення транзакцій. Це виклик CL → EL.
Перегляд списку включених блокувань. Припинити приймати місцевий список включених блокувань з цього моменту.
Заявник отримує виконавчий навантаження від клієнта EL (CL → EL виклик) і розповсюджує його в мережі розговорів блоків бікону. Потім всі інші перевіряють блок.
Вузли отримують блок маяків і перевіряють його. Нові етапи верифікації включають перевірку конструкції списку включень aggreGate і перевірку того, чи задовольняє список включень функції оцінки, яка повинна бути виконана на CL. Перевірка умов ІЛ (чи можна їх пропустити через конфлікти чи ні) буде виконана на ЕЛ.
Додаткові обов'язки для заявника, здається, не є значною проблемою. Нові етапи верифікації вузлів - перевірка та перевірка того, чи включений список відповідає задовільним умовам, - можуть внести додаткове навантаження на ЦП, але це, здається, не є серйозною проблемою.
Атестатор голосує за блок маяка, використовуючи правило вибору вилки LMD GHOST. Атестатори будуть голосувати лише за блок маяка, який задовольняє функцію оцінки списку включення, на основі спостережень з Інтервалу 1.
Немає різниці від сьогодні.
Як видно з вище зазначеного, найбільш важливі проблеми, що стосуються ресурсів, пов'язані з завантаженням, завантаженням списку включення та можливістю спаму з точки зору вузла. Ще одна ключова проблема - це навантаження на вузли для перевірки та імпорту списку включення, а також потреба пропонента оновити свій процес побудови блоку для задоволення списку включення. Ці аспекти потребують ретельного вивчення та розробки, щоб забезпечити ефективність та безпеку.
На основі вищезазначеного ми намічаємо кілька відкритих питань, які впливатимуть на те, як буде написана специфікація: