В данной статье будет проведен анализ по следующим двум вопросам:
Вопрос 1: Рынок уже полностью десенсибилизировался к "высокоскоростным публичным блокчейнам", почему говорят, что Somnia может быть необычным?
Вопрос 2: Является ли Somnia, который заявляет, что он самый быстрый и самый экономичный параллельный EVM Layer 1, просто пустым бахвальством?
➡️➡️➡️ Джейн • Чистота • Издание ⬅️⬅️⬅️
Эта часть обобщает Somnia с трех точек зрения: технологии, фона и экологии, чтобы все могли понять основные моменты и преимущества этого проекта.
💠Технические достижения Somnia
🔹Многофлюидный алгоритм консенсуса: цепочка данных + цепочка консенсуса, способствует предотвращению MEV, сокращению избыточности, снижению затрат и одновременному повышению эффективности.
🔹Инновационный EVM-компилятор: реализация параллельного EVM на уровне инструкций, решение проблемы высокочастотных взаимодействий в экстремальных условиях.
🔹Собственная разработка движка базы данных IceDB: повышение скорости чтения и записи данных и стабильности сети.
🔹Технология сжатия данных: повышение эффективности передачи данных.
💠Преимущества фона Somnia
🔹Команда: Разработчики команды происходят из Improbable, Improbable - это международная технологическая компания, основанная в 2012 году, с штаб-квартирой в Лондоне, Великобритания. Ранее они разрабатывали программное обеспечение, игры и продукты Web3 метавселенной.
🔹Финансирование: общие инвестиции в размере 270 миллионов долларов от известных учреждений, таких как MSquared, a16z, SoftBank, Mirana и других.
💠Экосистема Somnia
🔹Экосистема: Тестовая сеть Somnia уже разместила 4 AI/социальных продукта, 7 игр, 4 NFT проекта и 6 DeFi приложений, кроме того, еще 2 AI/социальных продукта, 11 игр и 1 DeFi приложение скоро выйдут на рынок.
🔹Экологические данные: с конца февраля 2025 года до написания этой статьи ( 26 июня 2025 года ) в тестовой сети Somnia было создано более 100 миллионов блоков, среднее время производства каждого блока составляет 0,1 секунды. В тестовой сети участвует 96,878,557 адресов кошельков, объем транзакций за последние сутки составил 26,43 миллиона.
На блокчейн-браузере часто можно увидеть, как количество транзакций и блоков постоянно мигает, Somnia называет это "миллисекундным уровнем", что заметно невооруженным глазом.
💠Почему говорят, что Somnia может быть уникальным?
🔹Высокочастотное взаимодействие: хотя рынок уже полностью дезенсибилизирован к концепции "высокоскоростной блокчейн", Somnia не просто стремится к техническим показателям, а сосредоточена на том, как технологии Web3 действительно могут служить приложениям, особенно в областях высокочастотного взаимодействия, таких как игры и социальные сети.
🔹Слияние Web3 и Web2: Уникальный контекст Somnia может сыграть ключевую роль в слиянии Web3 и Web2. Somnia имеет потенциал предоставить пользователям Web2 бесшовный доступ в мир Web3, что может привести к созданию по-настоящему ориентированной на пользовательский опыт экосистемы приложений.
➡️➡️➡️ Подробно • Объяснение • Издание ⬅️⬅️⬅️
Предыдущая часть представила основные моменты, преимущества и экологические достижения Somnia, эта часть будет углубленным анализом технологий Somnia. Позвольте всем понять, 【HOW】 как Somnia реализует высокочастотное взаимодействие с технической точки зрения, как достигает низкой стоимости и высокой производительности, 【WHY】 почему Somnia отличается от других параллельных проектов EVM.
💠Многосторонний алгоритм согласия: цепь данных + цепь согласия
🔹Обзор: структура цепи данных + цепи согласия
Somnia использует новый алгоритм многопоточного консенсуса (MULTISTREAM).
Что такое многопоток, Somnia записывает информацию о транзакциях на нескольких блокчейнах, каждый из которых ведется одним валидатором, при этом каждый валидатор не может вмешиваться в блокчейн других валидаторов.
Что такое консенсус, Somnia выполняет консенсус на консенсусной цепи, сортируя транзакции и записывая ссылки на транзакции в консенсусной цепи. Консенсусная цепь совместно выполняется и поддерживается всеми валидаторами.
🔹Обзор: Рабочий процесс многопоточной консенсуса Somnia
пользователь отправляет запрос в сеть Somnia, и валидатор, получивший запрос, записывает транзакции в цепочку данных.
b Консенсусная цепь каждые один временной цикл (, например, 30 секунд, 1 секунда и т.д. ), валидаторы данных цепи соответственно загружают и скачивают верхние фрагменты данных цепи с другими валидаторами данных цепи.
C валидаторы будут включать набор всех данных фрагментов данных на верхней части цепочки данных как полный фрагмент данных, записываемый в цепочку консенсуса.
d Валидаторы сортируют транзакции, обновляют статус на основе отсортированных транзакций, все валидаторы синхронно записывают в базу данных IceDB Somnia.
Somnia использует детерминированную псевдослучайную функцию для сортировки транзакций.
Мы знаем, что в вычислительных программах на самом деле нет настоящей случайности, а есть псевдослучайность, реализованная с помощью алгоритмов. Определенные псевдослучайные функции имеют две характеристики: во-первых, случайность, нельзя предсказать, какое следующее случайное число будет сгенерировано, но каждый валидатор при выполнении будет генерировать одинаковые случайные числа в фиксированном порядке.
Таким образом, все валидаторы запускают одну и ту же детерминированную псевдослучайную функцию, которая генерирует серию идентичных случайных чисел и сортирует данные в цепочке в соответствии с этими случайными числами. На этой основе производится сортировка транзакций за этот период.
Например, отсортированная цепочка данных — это B, A, C...
Таким образом, порядок транзакций будет таков: транзакции из цепочки данных B идут первыми, затем цепочка данных A, цепочка данных C и так далее... Конечно, этот процесс будет исключать повторяющиеся транзакции на основе хеш-значений.
Конечно, порядок данных в блокчейне фиксирован, но порядок транзакций в разных блокчейнах может отличаться. Например, в блокчейне A транзакция 1 может быть первой, а транзакция 2 - второй, в то время как в блокчейне B транзакция 2 может быть первой, а транзакция 1 - второй. Поскольку порядок данных в блокчейне B стоит перед A, окончательный порядок транзакций будет таким: транзакция 2 первой, транзакция 1 второй.
Преимущество этого способа сортировки заключается в том, что атакующим MEV трудно подкупить валидаторов, потому что они не знают, как будет отсортирована соответствующая цепочка данных валидаторов. Если в сети всего 100 валидаторских узлов, предположим, что даже если атакующий MEV подкупит 50 валидаторов, при условии, что хотя бы один валидатор не был подкуплен ( и содержит атакуемый транзакцию ), которая находится перед этими 50 валидаторами, цепь консенсуса будет вести учет в правильном порядке транзакций, атака MEV потерпит неудачу.
🔹Основные моменты: снижение избыточности, снижение затрат и повышение эффективности
С одной стороны, каждый валидатор Somnia отдельно записывает цепочку данных, без процесса верификации данных между валидаторами. А при передаче снимка передается только информация о снимках каждой цепочки данных, которая не включает конкретную информацию о транзакциях, тем самым уменьшая избыточность взаимодействия.
С другой стороны, различные цепочки данных Somnia не требуют синхронизации информации с другими цепочками данных, и на консенсусной цепочке не записывается информация о транзакциях, а вместо этого каждые определенные временные интервалы записываются снимки информации цепочки данных и отсортированные ссылки на транзакции ( хеш ). Таким образом, уменьшается избыточность хранения.
Благодаря уменьшению избыточности взаимодействия, Somnia может работать более эффективно.
Из-за уменьшения избыточности хранения, Somnia требует меньших затрат во время работы.
🔹Дополнение: защита от подделки данных в блокчейне
Хотя в цепочке данных нет проверки информации, валидаторы не могут изменять информацию о транзакциях. Поскольку если валидатор изменит информацию о транзакции, это повлияет на хэш транзакции и на хэши последующих транзакций, что приведет к конфликту между этой информацией и информацией, хранящейся в консенсусной цепочке.
💠Инструкционно-параллельный EVM
🔹Больная точка: трудно улучшить загруженность высокочастотного взаимодействия при параллельной торговле.
Параллельный EVM Somnia отличается от Monad и Reddio, так как параллельность EVM на этих трех цепочках заключается в параллельной обработке транзакций, что позволяет увеличить скорость транзакций.
В то время как Monad оптимистично допускает параллельные транзакции и корректирует их при обнаружении конфликтов, Reddio выполняет параллельные транзакции, которые не конфликтуют и не имеют зависимостей.
Однако, когда возникает большое количество связанных сделок, транзакции не могут выполняться параллельно, что приводит к легкому возникновению перегрузок. Есть два крайних примера, например, когда на сети внезапно появляется большое количество пользователей, торгующих токеном с использованием USDC; эти сделки не могут выполняться параллельно, так как они должны выполняться последовательно для торговли с пулом ликвидности.
Другим крайним примером является то, что бесчисленное количество людей стремится Mint один и тот же NFT, что также не может происходить параллельно, поскольку количество NFT ограничено, и необходимо выполнять операции последовательно, чтобы определить, кто может успешно Mint, а кто не может.
Способ, которым Reddio решает эту проблему, заключается в использовании GPU, чтобы использовать мощные вычислительные возможности GPU для решения этой проблемы с высокой частотой взаимодействия. Хотя это может повысить эффективность сделок, это также увеличивает стоимость транзакций.
🔹Особенности: Параллельный EVM на уровне команд
Чтобы решить проблему переполнения, возникающую из-за одновременного проведения большого количества связанных сделок и трудностей с параллельной обработкой транзакций, Somnia разработала инновационный EVM-компилятор.
В стандартном процессе выполнения EVM команды в транзакции могут интерпретироваться только по очереди. Однако Somnia поддерживает разделение транзакции на несколько наборов команд, которые могут выполняться параллельно, если они не конфликтуют и не имеют зависимостей.
В качестве примера обмена, его можно разделить на несколько команд по функциям: проверка параметров, обработка параметров, проверка баланса, проверка авторизации, проверка состояния пула, расчет цены, расчет сборов, передача входных токенов, обновление состояния пула и записи сборов, передача выходных токенов, генерация событий. При этом команды, которые не конфликтуют и не имеют зависимостей, могут выполняться параллельно, что повышает эффективность выполнения транзакций.
Ключевым моментом параллельного EVM на основе командного набора является уникальный компилятор EVM от Somnia, который компилирует байт-код EVM в машинный код x86. Современные процессоры имеют многоядерную архитектуру, и каждое ядро процессора может выполнять машинный код в многопоточном режиме, что позволяет параллелить несколько команд EVM и тем самым увеличивать скорость выполнения отдельных транзакций. Таким образом, Somnia также может называться аппаратным параллельным EVM.
🔹Основные моменты: двойное преимущество в стоимости и эффективности
Стандартное EVM интерпретируемое исполнение: транзакция 1 → разбирается в байт-код → последовательное интерпретируемое исполнение → транзакция 2 → разбирается в байт-код → последовательное интерпретируемое исполнение → транзакция 3 → разбирается в байт-код → последовательное интерпретируемое исполнение…
EVM-компиляция исполнения Somnia: код контракта → разбирается в байт-код → динамически компилируется в машинный код → параллельное выполнение набора инструкций транзакции 1 → параллельное выполнение набора инструкций транзакции 2 → параллельное выполнение набора инструкций транзакции 3 …
Сравнение показывает, что чем больше сделок, тем больше преимущества у выполнения EVM компиляции Somnia.
Поэтому для обычной нечастой торговли Somnia по-прежнему использует стандартное интерпретируемое выполнение EVM, каждый раз выполняя EVM, анализируя код смарт-контракта в байт-код EVM и последовательно интерпретируя его.
Для высокочастотной торговли с централизованным исполнением Somnia активирует EVM-компилятор, который компилирует байт-код EVM в машинный код x86. Затем машинный код выполняется многократно в соответствии с параметрами, что позволяет быстро завершать централизованную высокочастотную торговлю, что невозможно достигнуть с помощью параллельного EVM на уровне транзакций.
Таким образом, Somnia может достичь двойного преимущества между затратами и эффективностью.
💠IceDB база данных движок
🔹Обзор: использование структуры данных LSM-дерева вместо дерева Меркла
Большинство блокчейнов используют структуру данных под названием дерево Меркла (Merkle Tree). Листовые узлы дерева Меркла хранят хэш-значения транзакционных данных (или сами транзакционные данные, которые затем хэшируются), а не листовые узлы хранят хэш-значения хэш-значений своих дочерних узлов, постепенно комбинируя их попарно для вычисления хэш-значений, в конечном итоге вычисляя корень Меркла (Merkle Root), что позволяет безопасно проверять целостность данных внутри блока и предотвращать их подделку.
В качестве примера данных хранилища Merkle Tree для контракта токена ERC20, листовые узлы Merkle Tree включают:
• Общее количество токенов ( TotalSupply ), символ токена ( NameSymbol ) и другие атрибуты, каждый из которых соответствует ключу ( имени атрибута ) и значению ( значению атрибута );
• Состояние всех адресов держателей токенов: каждый адрес соответствует ключу (, хэш-адресу ) и значению (, количеству токенов );
• Все полномочия токена, каждый адрес полномочия соответствует одному ключу (, хэш-адресу ) и значению (, количеству полномочий );
……
Если у токена ERC 4 свойства, 32000 адресов держателей токенов и 2764 адреса с разрешениями. Это количество явно не велико. Но всего 32768 листовых узлов, для записи меркле-прав на этот токен необходимо выполнить 65535 хешей.
Собственный движок базы данных IceDB от Somnia не использует распространенную структуру данных Меркла, поэтому в информации о блоке отсутствует корень хэша.
IceDB использует LSM-дерево ( Log-Structured Merge-Tree, журнально-структурное дерево слияния ). Это структура данных на основе журналов, основная особенность которой заключается в том, что данные добавляются, а не изменяются на месте, поэтому проблема подделки отсутствует.
Запись в базу данных IceDB сначала происходит в память в MemTable. Когда MemTable заполняется, он сбрасывается на диск, формируя SSTable. LSM периодически объединяет SSTable, одновременно удаляя дублирующиеся ключи.
Этот процесс не требует вычисления хэша, необходимо только записать новые данные в MemTable, поэтому, независимо от того, записываются ли данные в память, кэш или диск, скорость записи базы данных IceDB значительно быстрее.
🔹Основные моменты: более высокая скорость чтения и записи
Структура данных LSM-дерева явно имеет преимущества по производительности в отношении записи данных. Кроме того, в технической документации Somnia упоминается, что "создан кэш данных, который может одновременно оптимизировать чтение и запись, что позволяет среднему времени чтения и записи IceDB колебаться между 15 и 100 наносекундами".
🔹Особенности: отчеты о производительности чтения и записи и справедливый эффективный Gas
В большинстве блокчейн-сетей, хотя конечные узлы-валидаторы будут стремиться хранить одинаковые данные, в краткосрочной перспективе данные, хранящиеся в памяти и на диске разных узлов-валидаторов, могут различаться. Это приводит к тому, что пользователи, читая и записывая данные, будут тратить разное количество газа из-за доступа к различным местоположениям. С другой стороны, из-за различий в местах доступа время, необходимое пользователю для чтения и записи данных, может быть довольно длинным, и в этот временной интервал стоимость газа в сети может измениться. Поэтому трудно определить справедливую и эффективную стоимость газа. Если стоимость газа недооценена, узлы могут работать менее активно из-за низкой прибыли, что повлияет на эффективность сети. Если стоимость газа завышена, пользователи будут платить ненужные дополнительные расходы и даже могут предоставить возможности для атак MEV.
В движке базы данных IceDB, пользователи при каждой операции чтения и записи данных не находят необходимые данные в кэше, поэтому необходимо считывать данные из памяти и SSD, статистически фиксируя частоту считывания данных из памяти и SSD, и возвращая "отчет о производительности". "Отчет о производительности" предоставляет определенные основания для расчета необходимого пользователю Gas, что делает Gas в сети более справедливым и эффективным, что благоприятно сказывается на стабильности сети.
💠Технология сжатия данных
Согласно теории распределения мощности информации и частоты, представленной в технической документации Somnia, обобщение на основе вероятности возникновения информации может обеспечить высокую степень сжатия данных.
Каждая цепочка данных Somnia управляется одним валидатором, который не обязан отправлять весь блок, а только поток информации, и потоковая компрессия имеет более высокий коэффициент сжатия, что способствует повышению возможностей сетевой передачи.
Кроме того, Somnia использует BLS-подписи для повышения скорости передачи и проверки подписей.
В рамках алгоритма многопоточной консенсуса Somnia узлы-валидаторы взаимно отправляют фрагменты данных блокчейна, не имея центрального лидера для централизованной загрузки и выгрузки данных, что позволяет валидаторам равномерно распределять пропускную способность. Каждый валидатор должен отправить фрагменты данных другим валидаторам, одновременно загружая фрагменты данных, отправленные другими валидаторами, поэтому пропускная способность, необходимая для загрузки и выгрузки каждого валидатора, является симметричной. Таким образом, пропускная способность сети Somnia будет относительно сбалансированной и стабильной.
💠Написано в конце
Хотя Web3 на первый взгляд кажется более высоким уровнем, чем Web2, на самом деле технологическая система Web2 часто более сложна и зрелая. Когда разработчики Web2 участвуют в разработке Web3, их технический опыт может принести больше инноваций в мир блокчейна.
This page may contain third-party content, which is provided for information purposes only (not representations/warranties) and should not be considered as an endorsement of its views by Gate, nor as financial or professional advice. See Disclaimer for details.
Рынок полностью десенсибилизирован к "高速公链", почему Somnia может быть другой?
Автор: TVBee
В данной статье будет проведен анализ по следующим двум вопросам:
Вопрос 1: Рынок уже полностью десенсибилизировался к "высокоскоростным публичным блокчейнам", почему говорят, что Somnia может быть необычным?
Вопрос 2: Является ли Somnia, который заявляет, что он самый быстрый и самый экономичный параллельный EVM Layer 1, просто пустым бахвальством?
➡️➡️➡️ Джейн • Чистота • Издание ⬅️⬅️⬅️
Эта часть обобщает Somnia с трех точек зрения: технологии, фона и экологии, чтобы все могли понять основные моменты и преимущества этого проекта.
💠Технические достижения Somnia
🔹Многофлюидный алгоритм консенсуса: цепочка данных + цепочка консенсуса, способствует предотвращению MEV, сокращению избыточности, снижению затрат и одновременному повышению эффективности.
🔹Инновационный EVM-компилятор: реализация параллельного EVM на уровне инструкций, решение проблемы высокочастотных взаимодействий в экстремальных условиях.
🔹Собственная разработка движка базы данных IceDB: повышение скорости чтения и записи данных и стабильности сети.
🔹Технология сжатия данных: повышение эффективности передачи данных.
💠Преимущества фона Somnia
🔹Команда: Разработчики команды происходят из Improbable, Improbable - это международная технологическая компания, основанная в 2012 году, с штаб-квартирой в Лондоне, Великобритания. Ранее они разрабатывали программное обеспечение, игры и продукты Web3 метавселенной.
🔹Финансирование: общие инвестиции в размере 270 миллионов долларов от известных учреждений, таких как MSquared, a16z, SoftBank, Mirana и других.
💠Экосистема Somnia
🔹Экосистема: Тестовая сеть Somnia уже разместила 4 AI/социальных продукта, 7 игр, 4 NFT проекта и 6 DeFi приложений, кроме того, еще 2 AI/социальных продукта, 11 игр и 1 DeFi приложение скоро выйдут на рынок.
🔹Экологические данные: с конца февраля 2025 года до написания этой статьи ( 26 июня 2025 года ) в тестовой сети Somnia было создано более 100 миллионов блоков, среднее время производства каждого блока составляет 0,1 секунды. В тестовой сети участвует 96,878,557 адресов кошельков, объем транзакций за последние сутки составил 26,43 миллиона.
На блокчейн-браузере часто можно увидеть, как количество транзакций и блоков постоянно мигает, Somnia называет это "миллисекундным уровнем", что заметно невооруженным глазом.
💠Почему говорят, что Somnia может быть уникальным?
🔹Высокочастотное взаимодействие: хотя рынок уже полностью дезенсибилизирован к концепции "высокоскоростной блокчейн", Somnia не просто стремится к техническим показателям, а сосредоточена на том, как технологии Web3 действительно могут служить приложениям, особенно в областях высокочастотного взаимодействия, таких как игры и социальные сети.
🔹Слияние Web3 и Web2: Уникальный контекст Somnia может сыграть ключевую роль в слиянии Web3 и Web2. Somnia имеет потенциал предоставить пользователям Web2 бесшовный доступ в мир Web3, что может привести к созданию по-настоящему ориентированной на пользовательский опыт экосистемы приложений.
➡️➡️➡️ Подробно • Объяснение • Издание ⬅️⬅️⬅️
Предыдущая часть представила основные моменты, преимущества и экологические достижения Somnia, эта часть будет углубленным анализом технологий Somnia. Позвольте всем понять, 【HOW】 как Somnia реализует высокочастотное взаимодействие с технической точки зрения, как достигает низкой стоимости и высокой производительности, 【WHY】 почему Somnia отличается от других параллельных проектов EVM.
💠Многосторонний алгоритм согласия: цепь данных + цепь согласия
🔹Обзор: структура цепи данных + цепи согласия
Somnia использует новый алгоритм многопоточного консенсуса (MULTISTREAM).
Что такое многопоток, Somnia записывает информацию о транзакциях на нескольких блокчейнах, каждый из которых ведется одним валидатором, при этом каждый валидатор не может вмешиваться в блокчейн других валидаторов.
Что такое консенсус, Somnia выполняет консенсус на консенсусной цепи, сортируя транзакции и записывая ссылки на транзакции в консенсусной цепи. Консенсусная цепь совместно выполняется и поддерживается всеми валидаторами.
🔹Обзор: Рабочий процесс многопоточной консенсуса Somnia
пользователь отправляет запрос в сеть Somnia, и валидатор, получивший запрос, записывает транзакции в цепочку данных.
b Консенсусная цепь каждые один временной цикл (, например, 30 секунд, 1 секунда и т.д. ), валидаторы данных цепи соответственно загружают и скачивают верхние фрагменты данных цепи с другими валидаторами данных цепи.
C валидаторы будут включать набор всех данных фрагментов данных на верхней части цепочки данных как полный фрагмент данных, записываемый в цепочку консенсуса.
d Валидаторы сортируют транзакции, обновляют статус на основе отсортированных транзакций, все валидаторы синхронно записывают в базу данных IceDB Somnia.
🔹Основные моменты: Торговая сортировка Somnia способствует предотвращению MEV
Somnia использует детерминированную псевдослучайную функцию для сортировки транзакций.
Мы знаем, что в вычислительных программах на самом деле нет настоящей случайности, а есть псевдослучайность, реализованная с помощью алгоритмов. Определенные псевдослучайные функции имеют две характеристики: во-первых, случайность, нельзя предсказать, какое следующее случайное число будет сгенерировано, но каждый валидатор при выполнении будет генерировать одинаковые случайные числа в фиксированном порядке.
Таким образом, все валидаторы запускают одну и ту же детерминированную псевдослучайную функцию, которая генерирует серию идентичных случайных чисел и сортирует данные в цепочке в соответствии с этими случайными числами. На этой основе производится сортировка транзакций за этот период.
Например, отсортированная цепочка данных — это B, A, C...
Таким образом, порядок транзакций будет таков: транзакции из цепочки данных B идут первыми, затем цепочка данных A, цепочка данных C и так далее... Конечно, этот процесс будет исключать повторяющиеся транзакции на основе хеш-значений.
Конечно, порядок данных в блокчейне фиксирован, но порядок транзакций в разных блокчейнах может отличаться. Например, в блокчейне A транзакция 1 может быть первой, а транзакция 2 - второй, в то время как в блокчейне B транзакция 2 может быть первой, а транзакция 1 - второй. Поскольку порядок данных в блокчейне B стоит перед A, окончательный порядок транзакций будет таким: транзакция 2 первой, транзакция 1 второй.
Преимущество этого способа сортировки заключается в том, что атакующим MEV трудно подкупить валидаторов, потому что они не знают, как будет отсортирована соответствующая цепочка данных валидаторов. Если в сети всего 100 валидаторских узлов, предположим, что даже если атакующий MEV подкупит 50 валидаторов, при условии, что хотя бы один валидатор не был подкуплен ( и содержит атакуемый транзакцию ), которая находится перед этими 50 валидаторами, цепь консенсуса будет вести учет в правильном порядке транзакций, атака MEV потерпит неудачу.
🔹Основные моменты: снижение избыточности, снижение затрат и повышение эффективности
С одной стороны, каждый валидатор Somnia отдельно записывает цепочку данных, без процесса верификации данных между валидаторами. А при передаче снимка передается только информация о снимках каждой цепочки данных, которая не включает конкретную информацию о транзакциях, тем самым уменьшая избыточность взаимодействия.
С другой стороны, различные цепочки данных Somnia не требуют синхронизации информации с другими цепочками данных, и на консенсусной цепочке не записывается информация о транзакциях, а вместо этого каждые определенные временные интервалы записываются снимки информации цепочки данных и отсортированные ссылки на транзакции ( хеш ). Таким образом, уменьшается избыточность хранения.
Благодаря уменьшению избыточности взаимодействия, Somnia может работать более эффективно.
Из-за уменьшения избыточности хранения, Somnia требует меньших затрат во время работы.
🔹Дополнение: защита от подделки данных в блокчейне
Хотя в цепочке данных нет проверки информации, валидаторы не могут изменять информацию о транзакциях. Поскольку если валидатор изменит информацию о транзакции, это повлияет на хэш транзакции и на хэши последующих транзакций, что приведет к конфликту между этой информацией и информацией, хранящейся в консенсусной цепочке.
💠Инструкционно-параллельный EVM
🔹Больная точка: трудно улучшить загруженность высокочастотного взаимодействия при параллельной торговле.
Параллельный EVM Somnia отличается от Monad и Reddio, так как параллельность EVM на этих трех цепочках заключается в параллельной обработке транзакций, что позволяет увеличить скорость транзакций.
В то время как Monad оптимистично допускает параллельные транзакции и корректирует их при обнаружении конфликтов, Reddio выполняет параллельные транзакции, которые не конфликтуют и не имеют зависимостей.
Однако, когда возникает большое количество связанных сделок, транзакции не могут выполняться параллельно, что приводит к легкому возникновению перегрузок. Есть два крайних примера, например, когда на сети внезапно появляется большое количество пользователей, торгующих токеном с использованием USDC; эти сделки не могут выполняться параллельно, так как они должны выполняться последовательно для торговли с пулом ликвидности.
Другим крайним примером является то, что бесчисленное количество людей стремится Mint один и тот же NFT, что также не может происходить параллельно, поскольку количество NFT ограничено, и необходимо выполнять операции последовательно, чтобы определить, кто может успешно Mint, а кто не может.
Способ, которым Reddio решает эту проблему, заключается в использовании GPU, чтобы использовать мощные вычислительные возможности GPU для решения этой проблемы с высокой частотой взаимодействия. Хотя это может повысить эффективность сделок, это также увеличивает стоимость транзакций.
🔹Особенности: Параллельный EVM на уровне команд
Чтобы решить проблему переполнения, возникающую из-за одновременного проведения большого количества связанных сделок и трудностей с параллельной обработкой транзакций, Somnia разработала инновационный EVM-компилятор.
В стандартном процессе выполнения EVM команды в транзакции могут интерпретироваться только по очереди. Однако Somnia поддерживает разделение транзакции на несколько наборов команд, которые могут выполняться параллельно, если они не конфликтуют и не имеют зависимостей.
В качестве примера обмена, его можно разделить на несколько команд по функциям: проверка параметров, обработка параметров, проверка баланса, проверка авторизации, проверка состояния пула, расчет цены, расчет сборов, передача входных токенов, обновление состояния пула и записи сборов, передача выходных токенов, генерация событий. При этом команды, которые не конфликтуют и не имеют зависимостей, могут выполняться параллельно, что повышает эффективность выполнения транзакций.
Ключевым моментом параллельного EVM на основе командного набора является уникальный компилятор EVM от Somnia, который компилирует байт-код EVM в машинный код x86. Современные процессоры имеют многоядерную архитектуру, и каждое ядро процессора может выполнять машинный код в многопоточном режиме, что позволяет параллелить несколько команд EVM и тем самым увеличивать скорость выполнения отдельных транзакций. Таким образом, Somnia также может называться аппаратным параллельным EVM.
🔹Основные моменты: двойное преимущество в стоимости и эффективности
Стандартное EVM интерпретируемое исполнение: транзакция 1 → разбирается в байт-код → последовательное интерпретируемое исполнение → транзакция 2 → разбирается в байт-код → последовательное интерпретируемое исполнение → транзакция 3 → разбирается в байт-код → последовательное интерпретируемое исполнение…
EVM-компиляция исполнения Somnia: код контракта → разбирается в байт-код → динамически компилируется в машинный код → параллельное выполнение набора инструкций транзакции 1 → параллельное выполнение набора инструкций транзакции 2 → параллельное выполнение набора инструкций транзакции 3 …
Сравнение показывает, что чем больше сделок, тем больше преимущества у выполнения EVM компиляции Somnia.
Поэтому для обычной нечастой торговли Somnia по-прежнему использует стандартное интерпретируемое выполнение EVM, каждый раз выполняя EVM, анализируя код смарт-контракта в байт-код EVM и последовательно интерпретируя его.
Для высокочастотной торговли с централизованным исполнением Somnia активирует EVM-компилятор, который компилирует байт-код EVM в машинный код x86. Затем машинный код выполняется многократно в соответствии с параметрами, что позволяет быстро завершать централизованную высокочастотную торговлю, что невозможно достигнуть с помощью параллельного EVM на уровне транзакций.
Таким образом, Somnia может достичь двойного преимущества между затратами и эффективностью.
💠IceDB база данных движок
🔹Обзор: использование структуры данных LSM-дерева вместо дерева Меркла
Большинство блокчейнов используют структуру данных под названием дерево Меркла (Merkle Tree). Листовые узлы дерева Меркла хранят хэш-значения транзакционных данных (или сами транзакционные данные, которые затем хэшируются), а не листовые узлы хранят хэш-значения хэш-значений своих дочерних узлов, постепенно комбинируя их попарно для вычисления хэш-значений, в конечном итоге вычисляя корень Меркла (Merkle Root), что позволяет безопасно проверять целостность данных внутри блока и предотвращать их подделку.
В качестве примера данных хранилища Merkle Tree для контракта токена ERC20, листовые узлы Merkle Tree включают:
• Общее количество токенов ( TotalSupply ), символ токена ( NameSymbol ) и другие атрибуты, каждый из которых соответствует ключу ( имени атрибута ) и значению ( значению атрибута );
• Состояние всех адресов держателей токенов: каждый адрес соответствует ключу (, хэш-адресу ) и значению (, количеству токенов );
• Все полномочия токена, каждый адрес полномочия соответствует одному ключу (, хэш-адресу ) и значению (, количеству полномочий );
……
Если у токена ERC 4 свойства, 32000 адресов держателей токенов и 2764 адреса с разрешениями. Это количество явно не велико. Но всего 32768 листовых узлов, для записи меркле-прав на этот токен необходимо выполнить 65535 хешей.
Собственный движок базы данных IceDB от Somnia не использует распространенную структуру данных Меркла, поэтому в информации о блоке отсутствует корень хэша.
IceDB использует LSM-дерево ( Log-Structured Merge-Tree, журнально-структурное дерево слияния ). Это структура данных на основе журналов, основная особенность которой заключается в том, что данные добавляются, а не изменяются на месте, поэтому проблема подделки отсутствует.
Запись в базу данных IceDB сначала происходит в память в MemTable. Когда MemTable заполняется, он сбрасывается на диск, формируя SSTable. LSM периодически объединяет SSTable, одновременно удаляя дублирующиеся ключи.
Этот процесс не требует вычисления хэша, необходимо только записать новые данные в MemTable, поэтому, независимо от того, записываются ли данные в память, кэш или диск, скорость записи базы данных IceDB значительно быстрее.
🔹Основные моменты: более высокая скорость чтения и записи
Структура данных LSM-дерева явно имеет преимущества по производительности в отношении записи данных. Кроме того, в технической документации Somnia упоминается, что "создан кэш данных, который может одновременно оптимизировать чтение и запись, что позволяет среднему времени чтения и записи IceDB колебаться между 15 и 100 наносекундами".
🔹Особенности: отчеты о производительности чтения и записи и справедливый эффективный Gas
В большинстве блокчейн-сетей, хотя конечные узлы-валидаторы будут стремиться хранить одинаковые данные, в краткосрочной перспективе данные, хранящиеся в памяти и на диске разных узлов-валидаторов, могут различаться. Это приводит к тому, что пользователи, читая и записывая данные, будут тратить разное количество газа из-за доступа к различным местоположениям. С другой стороны, из-за различий в местах доступа время, необходимое пользователю для чтения и записи данных, может быть довольно длинным, и в этот временной интервал стоимость газа в сети может измениться. Поэтому трудно определить справедливую и эффективную стоимость газа. Если стоимость газа недооценена, узлы могут работать менее активно из-за низкой прибыли, что повлияет на эффективность сети. Если стоимость газа завышена, пользователи будут платить ненужные дополнительные расходы и даже могут предоставить возможности для атак MEV.
В движке базы данных IceDB, пользователи при каждой операции чтения и записи данных не находят необходимые данные в кэше, поэтому необходимо считывать данные из памяти и SSD, статистически фиксируя частоту считывания данных из памяти и SSD, и возвращая "отчет о производительности". "Отчет о производительности" предоставляет определенные основания для расчета необходимого пользователю Gas, что делает Gas в сети более справедливым и эффективным, что благоприятно сказывается на стабильности сети.
💠Технология сжатия данных
Согласно теории распределения мощности информации и частоты, представленной в технической документации Somnia, обобщение на основе вероятности возникновения информации может обеспечить высокую степень сжатия данных.
Каждая цепочка данных Somnia управляется одним валидатором, который не обязан отправлять весь блок, а только поток информации, и потоковая компрессия имеет более высокий коэффициент сжатия, что способствует повышению возможностей сетевой передачи.
Кроме того, Somnia использует BLS-подписи для повышения скорости передачи и проверки подписей.
В рамках алгоритма многопоточной консенсуса Somnia узлы-валидаторы взаимно отправляют фрагменты данных блокчейна, не имея центрального лидера для централизованной загрузки и выгрузки данных, что позволяет валидаторам равномерно распределять пропускную способность. Каждый валидатор должен отправить фрагменты данных другим валидаторам, одновременно загружая фрагменты данных, отправленные другими валидаторами, поэтому пропускная способность, необходимая для загрузки и выгрузки каждого валидатора, является симметричной. Таким образом, пропускная способность сети Somnia будет относительно сбалансированной и стабильной.
💠Написано в конце
Хотя Web3 на первый взгляд кажется более высоким уровнем, чем Web2, на самом деле технологическая система Web2 часто более сложна и зрелая. Когда разработчики Web2 участвуют в разработке Web3, их технический опыт может принести больше инноваций в мир блокчейна.