Перейти к основному контенту

13 постов с тегом "Инженерия"

Инженерные инсайты и технические глубокие анализы

Посмотреть все теги

Архитектура Optimism

· 4 мин чтения
Tian Pan
Community Hacker

Optimism — это EVM-эквивалентный протокол optimistic rollup, разработанный для масштабирования Ethereum. Масштабирование Ethereum означает увеличение количества полезных транзакций, которые может обрабатывать сеть Ethereum. Optimistic rollup — это техника масштабирования второго уровня (Layer 2), которая увеличивает вычислительную мощность и емкость хранения Ethereum без ущерба для безопасности или децентрализации. EVM-эквивалентность — это полное соответствие функции перехода состояний, описанной в желтой книге Ethereum, которая является формальным определением протокола.

Optimistic rollup работает путем объединения нескольких транзакций в одну, которая затем проверяется смарт-контрактом в сети Ethereum. Этот процесс называется «свертыванием» (rolling up), потому что отдельные транзакции объединяются в более крупную транзакцию, которая отправляется в сеть Ethereum. Термин «оптимистический» (optimistic) относится к тому факту, что система предполагает валидность транзакций, если не доказано обратное, что обеспечивает более быструю и эффективную обработку транзакций.

Общая архитектура

Архитектура Optimism

op-node + op-geth

Узел rollup может работать либо в режиме валидатора, либо в режиме секвенсора:

  1. валидатор (он же верификатор): Подобно работе узла Ethereum, он локально симулирует транзакции L2 без ограничения скорости. Он также позволяет валидатору проверять работу секвенсора, повторно выводя корни вывода и сравнивая их с теми, что были отправлены секвенсором. В случае несоответствия валидатор может выполнить доказательство ошибки.
  2. секвенсор: Секвенсор — это привилегированный участник, который получает транзакции L2 от пользователей L2, соответствующим образом создает блоки L2, а затем отправляет их поставщику доступности данных (через батчер). Он также отправляет корни вывода в L1. В настоящее время во всем стеке есть только один секвенсор, и именно здесь люди критикуют, что стек OP не децентрализован.

op-batcher

Отправитель пакетов (batch submitter), также называемый батчером, — это сущность, отправляющая данные секвенсора L2 в L1, чтобы сделать их доступными для верификаторов.

op-proposer

Пропоузер генерирует и отправляет контрольные точки вывода L2 в контракт оракула вывода L2 на Ethereum. После прохождения периода финализации эти данные позволяют осуществлять вывод средств.

И батчер, и пропоузер отправляют состояния в L1. Почему они разделены?

Батчер собирает и отправляет данные транзакций в L1 в виде пакета, в то время как пропоузер отправляет коммитменты (корни вывода) в состояние L2, что финализирует представление состояний учетных записей L2. Они разделены, чтобы работать параллельно для повышения эффективности.

contracts-bedrock

Различные контракты для взаимодействия L2 с L1:

  • OptimismPortal: Поток транзакций L2, которые возникли как вызовы смарт-контрактов в состоянии L1.
  • Batch inbox: Адрес L1, на который Batch Submitter отправляет пакеты транзакций.
  • Оракул вывода L2: Смарт-контракт, который хранит корни вывода L2 для использования при выводе средств и доказательствах ошибок.

Компоненты Optimism

Как внести депозит?

Как вывести средства?

Отзыв о документации Optimism

Понимание стека OP может быть сложной задачей из-за ряда факторов. Одним из таких факторов является множество компонентов, которые упоминаются несколько раз под немного разными именами в коде и документации. Например, термины «op-batcher» и «batch-submitter» / «верификаторы» и «валидаторы» могут использоваться взаимозаменяемо, что приводит к путанице и затрудняет понимание точной функции каждого компонента.

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

Чтобы преодолеть эти трудности, важно тщательно изучать всю доступную документацию, поддерживать согласованность концепций во всех местах и быть в курсе любых изменений или обновлений стека OP. Это может потребовать дополнительных исследований и сотрудничества с другими пользователями или разработчиками, но это необходимо для полного понимания и эффективного использования этой сложной системы.

Введение в Optimism: масштабирование Ethereum с помощью Optimistic Rollup

· 6 мин чтения
Dora Noda
Software Engineer

Optimism — это протокол optimistic rollup, который предлагает решение для масштабирования Ethereum без ущерба для безопасности или децентрализации. Протокол достигает этого за счет увеличения вычислительной мощности и емкости хранения Ethereum, оставаясь при этом максимально совместимым с существующей инфраструктурой Ethereum.

Введение в Optimism: масштабирование Ethereum с помощью Optimistic Rollup

Основы

Что такое масштабируемость Ethereum?

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

Что такое Optimistic Rollup?

Optimistic rollup — это техника масштабирования второго уровня (Layer 2), которая позволяет выполнять транзакции вне сети, сохраняя при этом безопасность и децентрализацию. Данные транзакций отправляются в сеть, но выполняются вне сети. В случае ошибки при внесетевом выполнении, доказательство ошибки (fault proof) может быть отправлено в сеть для исправления ошибки и защиты средств пользователя. Этот подход похож на обращение в суд только при наличии спора и выполнение транзакций в сети только при наличии ошибки.

Что такое эквивалентность EVM?

Эквивалентность EVM относится к полному соответствию функции перехода состояний, описанной в «желтой книге» Ethereum, которая является формальным определением протокола Ethereum. Протокол rollup, эквивалентный EVM, соответствует стандарту Ethereum для всех EVM, гарантируя, что разработчики смарт-контрактов могут написать код один раз и развернуть его где угодно. Это означает, что любой смарт-контракт, написанный для основной сети Ethereum, может быть развернут в протоколе rollup, эквивалентном EVM, с минимальными изменениями или без них.

Optimism = эквивалентность EVM + optimistic rollup + масштабирование Ethereum

Optimism — это протокол optimistic rollup, эквивалентный EVM, разработанный для масштабирования Ethereum при сохранении максимальной совместимости с существующей инфраструктурой Ethereum.

Безопасность

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

  1. Живучесть (Liveness) — любой может расширить цепочку rollup, отправляя транзакции в любое время.
    • Транзакции могут быть отправлены в цепочку rollup через секвенсор или непосредственно на уровне 1. Секвенсор обеспечивает транзакции с низкой задержкой и низкой стоимостью, в то время как отправка транзакций непосредственно на уровень 1 обеспечивает устойчивость к цензуре.
  2. Доступность (Availability) — любой может загрузить цепочку rollup.
    • Вся информация, необходимая для получения цепочки, встроена в блоки уровня 1. Таким образом, пока доступна цепочка уровня 1, доступен и rollup.
  3. Валидность (Validity) — все транзакции выполняются корректно, и все выводы обрабатываются правильно.
    • Состояние rollup и выводы управляются контрактом L1 под названием L2OutputOracle, который гарантированно завершает только корректные (т. е. валидные) хеши блоков rollup при условии наличия хотя бы одного честного верификатора. Если невалидный хеш блока утверждается на уровне 1, честный верификатор докажет его невалидность и выиграет залог.

Optimism обеспечивает валидность rollup с помощью доказательств ошибок (fault proofs). Доказательства валидности (validity proofs) также могут быть подключены, как только это станет возможным.

Участники сети

В Optimism есть три участника: пользователи, секвенсоры и верификаторы.

Участники сети Optimism

Пользователи

В основе сети лежат пользователи, которые могут вносить или выводить произвольные транзакции на L2, отправляя данные в контракт в основной сети Ethereum. Они могут использовать смарт-контракты EVM на уровне 2, отправляя транзакции секвенсорам и просматривая статус транзакций с помощью обозревателей блоков, предоставляемых сетевыми верификаторами.

Секвенсоры

Секвенсор является основным производителем блоков. Может быть один секвенсор или несколько, использующих протокол консенсуса. Для версии 1.0.0 существует только один секвенсор, в настоящее время работающий под надзором Optimism Foundation. В целом, в спецификациях «секвенсор» может использоваться как общий термин для протокола консенсуса, управляемого несколькими секвенсорами.

Секвенсор:

  1. принимает внесетевые транзакции пользователей;
  2. отслеживает внутрисетевые транзакции (в основном, события депозитов, поступающие с L1);
  3. объединяет оба типа транзакций в блоки L2 с определенным порядком и распространяет объединенные блоки L2 на L1, отправляя две вещи в качестве calldata на L1:
    1. ожидающие внесетевые транзакции, принятые на шаге 1, и
    2. достаточную информацию о порядке внутрисетевых транзакций для успешного восстановления блоков из шага 3, исключительно путем наблюдения за L1.

Секвенсор также предоставляет доступ к данным блоков уже на шаге 3, чтобы пользователи могли получить доступ к состоянию в реальном времени до подтверждения L1, если они того пожелают.

Верификаторы

Верификаторы выполняют две функции:

  1. предоставление данных rollup пользователям и
  2. проверка целостности rollup и оспаривание недействительных утверждений.

Для поддержания безопасности сети должен быть как минимум один честный верификатор, который может проверять целостность цепочки rollup и предоставлять данные блокчейна пользователям.

Ключевые схемы взаимодействия

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

Внесение депозитов и отправка транзакций

Пользователи часто начинают свой путь на L2 с внесения ETH с L1. Как только у них есть ETH для оплаты комиссий, они начинают отправлять транзакции на L2. Следующая схема демонстрирует это взаимодействие и все ключевые компоненты Optimism, которые используются или должны использоваться:

Внесение депозитов и отправка транзакций

Вывод средств

Выводы инициируются обычными транзакциями на L2, но завершаются с использованием транзакции на L1 после истечения периода оспаривания.

Схема вывода средств

Заключение

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

Вы устали тратить бесчисленные часы на настройку и обслуживание своего узла для Optimism rollup? Хотели бы вы, чтобы был более простой способ подключения к сети? С BlockEden.xyz Optimism RPC вы можете подключиться к Optimism rollup всего за несколько минут! Попрощайтесь с утомительным и трудоемким процессом настройки и обслуживания вашего узла.

BlockEden.xyz Optimism RPC упрощает процесс подключения к Optimism rollup, позволяя вам сосредоточиться на том, что действительно важно — разработке вашего проекта. С нашей простой в использовании платформой вы можете быстро и без усилий подключиться к сети, экономя ваше драгоценное время и ресурсы.

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

Не позволяйте сложностям Optimism Rollup мешать вам создавать лучшее возможное приложение. Позвольте BlockEden.xyz Optimism RPC позаботиться о технических деталях, чтобы вы могли сосредоточиться на том, что у вас получается лучше всего — инновациях и создании. Зарегистрируйтесь на BlockEden.xyz или попробуйте сегодня и ощутите преимущества бесперебойного подключения и повышенной эффективности!

Почему блокчейн Sui является перспективной платформой для быстрой и эффективной обработки транзакций

· 2 мин чтения
Dora Noda
Software Engineer

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

Sui и BlockEden.xyz

Одной из уникальных особенностей блокчейна Sui является его способность различать различные виды владения объектами. В отличие от других блокчейн-платформ, где каждый контракт и объект совместно изменяемы, Sui позволяет объекту принадлежать адресу и быть изменяемо владеемым, неизменяемо владеемым или изменяемо совместно используемым. Эта функция используется для параллельного выполнения смарт-контрактов и управления активами.

Sui использует децентрализованную платформу смарт-контрактов без разрешений, ориентированную на управление активами с низкой задержкой. Она использует язык программирования Move для определения активов как объектов, которые могут принадлежать адресу. Платформа поддерживается набором независимых органов (authority), которые играют роль, аналогичную валидаторам или майнерам в других блокчейн-системах.

Для достижения низкой задержки Sui разделяет обработку транзакций на две фазы: 1) получение распределенных блокировок на уровне объектов и 2) выполнение транзакции и фиксация ее эффектов.

Первая фаза выполняется с помощью примитива надежной широковещательной рассылки, который не требует глобальной синхронизации внутри органа (authority), что обеспечивает масштабируемость за счет шардинга. Для транзакций, включающих общие объекты, требуется упорядочивание с использованием протокола консенсуса.

Sui активно сокращает узкие места и точки синхронизации, требующие глобальных блокировок внутри органов (authority), что обеспечивает квазилинейное масштабирование при увеличении ресурсов. Платформа также позволяет параллельно выполнять смарт-контракты, при этом виртуальные машины Move на нескольких ядрах или физических машинах считывают версионированные входные объекты, выполняют и записывают результирующие объекты в хранилища и из них.

Требования к согласованности хранилищ для объектов и транзакций очень гибкие, что позволяет каждому органу (authority) использовать масштабируемые распределенные хранилища типа «ключ-значение». Sui использует византийский согласованный протокол широковещательной рассылки между органами (authority) для обеспечения безопасности общих операций с активами, гарантируя более низкую задержку и лучшую масштабируемость по сравнению с византийским соглашением.

В целом, дизайнерские решения и оптимизации блокчейна Sui делают его перспективной платформой для приложений, требующих быстрой и эффективной обработки транзакций. Его способность 1) различать различные виды владения объектами, 2) получать распределенные блокировки на уровне объектов и 3) параллельно выполнять смарт-контракты являются ключевыми особенностями, которые отличают его от других блокчейн-платформ. С блокчейном Sui будущее быстрой и эффективной обработки транзакций уже наступило.

Поговорим о TPS блокчейна

· 3 мин чтения
Jack Sim
Web3 Builder

Примечание: Приведенные здесь метрики были получены в октябре 2022 года и могут больше не отражать текущую производительность сети.

В первый день запуска Aptos Mainnet в социальных сетях возникли некоторые путаные разговоры –

TPS — это аббревиатура от «транзакций в секунду» (transactions per second), и так инженеры измеряют объем сетевого трафика. Существует несколько сценариев, когда мы говорим о TPS:

  • Максимальный TPS означает максимальный сетевой трафик, который может поддерживать блокчейн. Это определяется тем, как быстро цепь может достичь консенсуса и создать новый блок, а также размером блока (например, BTC) или лимитом газа (например, Ethereum) блока. Для Ethereum и более поздних блокчейнов, поддерживающих смарт-контракты, имеет больше смысла быть ограниченным газом, потому что разные транзакции (например, перевод токена 1 к 1 против минта нескольких NFT-токенов) имеют различную вычислительную сложность, и их необходимо последовательно измерять. Тем не менее, максимальный TPS не является очень строгим измерением пропускной способности цепи. Вместо этого, таковым является максимальный газ в секунду. Тогда, как разработчики получают значение максимального TPS? Обычно это результат экспериментов — верхняя граница, заданная при хорошем состоянии сети, полностью доступных валидаторах и простейших транзакциях.

  • Фактический TPS — это текущий объем трафика блокчейна в работе. Это в основном определяется тем, насколько загружена сеть. Во время запуска Aptos Mainnet было не так много готовых dApps и не так много пользователей, владеющих токенами Aptos, поэтому в тот момент не так много людей вели бизнес на Aptos. Вот почему фактический TPS был низким в тот момент. Однако фактический TPS будет ограничен максимальным TPS. Так называемая перегрузка Ethereum — это момент, когда фактический TPS уже достигает максимального TPS, больше транзакций не может быть обработано, и им приходится ждать.

Таким образом, высокий максимальный TPS Aptos продемонстрирует свое преимущество по мере роста экосистемы, когда мы по-прежнему будем наблюдать почти мгновенное завершение транзакций и низкую комиссию за транзакции.

Теперь вернемся к клиентам BlockEden.xyz. Мы предлагаем услуги Node API на разных уровнях, где основное различие заключается в лимите QPS (аналогично, аббревиатура от «запросов в секунду» — queries per second) при использовании нашего сервиса. Бесплатный уровень обычно получает 1 QPS, в то время как уровень Pro получает 10 QPS. Это означает, сколько вызовов REST API вы можете сделать в секунду. Это отличается от того, сколько транзакций может быть завершено в блокчейне в секунду. При вызове REST API вы можете не только выполнять операции записи (т. е. отправку транзакции), но также выполнять множество операций чтения (например, получение информации об аккаунте, получение блока, получение транзакции).

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