Разница между моделями программирования Solana и ETH

5/22/2024, 7:43:04 PM
Продвинутый
Технология
Эта статья сравнивает модели программирования смарт-контрактов Solana и Ethereum. On-chain программы Solana похожи на смарт-контракты Ethereum, но Solana предлагает другую среду выполнения благодаря своей уникальной модели учетной записи и подходу к отделению данных. Модель учетной записи Solana разделяет хранение кода и данных, улучшая безопасность. Solana в основном использует язык Rust для разработки смарт-контрактов, который обеспечивает высокую производительность и безопасность, но имеет крутой кривой обучения. С другой стороны, Ethereum в основном использует Solidity, обеспечивая более простой и зрелый опыт разработки. Несмотря на сложности разработки с Solana, его высокая пропускная способность, низкие затраты и масштабируемость делают его идеальным выбором для разработки высокопроизводительных dApps.

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

Умные контракты и программы на цепи:

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

В отличие от этого, исполняемый код, запущенный на Solana, называется программами On-Chain, которые интерпретируют инструкции, отправленные с каждой транзакцией. Эти программы могут быть развернуты непосредственно в ядро сети в качестве собственных программ или опубликованы кем угодно в качестве программ SPL.

Инструкции: Инструкции - это уникальные термины для программ Solana on-chain. Они состоят из инструкций, выполняющих конкретные операции, формируя наименьшую единицу выполнения для транзакций Solana. Каждая транзакция Solana содержит одну или несколько инструкций, определяющих операции, которые должны быть выполнены, включая вызов конкретных программ on-chain, передачу учетных записей, списков ввода и предоставление байтовых массивов. Инструкции имеют вычислительные ограничения, поэтому программы on-chain должны быть оптимизированы для использования меньшего количества вычислительных единиц или разделения дорогостоящих операций на несколько инструкций.

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

Программы SPL: Они определяют серию действий на цепочке, включая создание токенов, обмен, кредитование, создание стейкинг-пулов, поддержку услуг разрешения имен доменов на цепочке и многое другое. Среди них программа токенов SPL используется для операций с токенами, в то время как программы, такие как Программа Ассоциированного Токенного Счета, обычно используются для написания других настраиваемых программ.

Вы называете это смарт-контрактами, а я называю это программами на цепи. Разные названия, но оба относятся к коду, работающему на блокчейне. Как, например, имена Чжан Саня, Ли Си и Ван Ма Цзи - все они имена, и качество должно оцениваться также и по другим аспектам.

Модель учетной записи, декупляция данных:

Подобно Ethereum, Solana также является блокчейном на основе модели учета, но Solana предоставляет другую модель учета по сравнению с Ethereum, храня данные по-другому.

В Solana учетные записи могут содержать информацию о кошельке и другие данные. Поля, определенные учетной записью, включают Lamports (баланс учетной записи), Owner (владелец учетной записи), Executable (является ли она исполняемой учетной записью) и Data (данные, хранящиеся в учетной записи). Каждая учетная запись указывает программу в качестве владельца, чтобы отличить, какое состояние программы она хранит. Эти программы на цепи являются только для чтения или бессостоятельными: программные учетные записи (исполняемые учетные записи) хранят только байткод BPF и не хранят никакого состояния. Программы хранят свое состояние в других независимых учетных записях (неисполняемые учетные записи). Программная модель Solana разделяет код и данные.

С другой стороны, учетные записи Ethereum в основном служат ссылками на состояние EVM (Ethereum Virtual Machine). Смарт-контракты на Ethereum содержат как логику кода, так и необходимость хранить данные пользователей. Это часто рассматривается как конструктивный недостаток, унаследованный из истории EVM.

Не недооценивайте этого различия! Смарт-контракты Solana фундаментально сложнее подвергнуть атаке, чем блокчейны с привязанными моделями программирования, такие как Ethereum:

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

В Solana, однако, «владелец» смарт-контракта - это данные, связанные с аккаунтом, а не глобальная переменная. У аккаунта может быть несколько владельцев, а не однозначное соответствие. Для того чтобы злоумышленник мог использовать уязвимость безопасности в смарт-контракте, ему необходимо не только определить проблемную функцию, но и подготовить «правильные» аккаунты для вызова этой функции. Этот шаг не так прост, потому что смарт-контракты Solana обычно включают в себя несколько входных аккаунтов и управляют своими отношениями через ограничения (например, account1.owner==account2.keyПроцесс от «подготовки правильных счетов» до «запуска атаки» достаточен для того, чтобы службы безопасности могли проактивно обнаружить подозрительные транзакции, связанные с созданием «фальшивых» счетов, относящихся к смарт-контрактам, до возникновения атаки.

Смарт-контракты Ethereum похожи на сейф с одним уникальным паролем. Как только у вас есть этот пароль, вы получаете полное владение. Смарт-контракты Solana, с другой стороны, похожи на сейф с множеством паролей. Для доступа вам необходимо не только получить пароли, но и понять соответствующие идентификаторы, прежде чем вы сможете отпереть дверь.

Язык программирования

Rust является основным языком программирования для разработки смарт-контрактов на Solana. Его производительность и функции безопасности делают его подходящим для среды с высоким риском блокчейна и смарт-контрактов. Solana также поддерживает C, C++ и другие языки (хотя и менее распространенные). Официальные SDK для Rust и C предоставляются для поддержки разработки ончейн-программ. Разработчики могут использовать инструменты для компиляции программ в байт-код Berkeley Packet Filter (BPF) (файлы с расширением .so) и развертывания их в блокчейне Solana. Затем логика смарт-контрактов выполняется через параллельную среду выполнения смарт-контрактов Sealevel.

Однако из-за высокого кривой обучения языка Rust и его отсутствия настройки для разработки блокчейнов, многие требования приводят к избыточному коду и изобретению велосипеда. Чтобы упростить разработку, многие проекты в производстве используют фреймворк Anchor, созданный в результате сотрудничества между Backpack и Armani. Кроме того, несколько новых языков программирования, специально адаптированных для разработки блокчейнов, таких как Cairo (Starknet) и Move (Sui, Aptos), основаны на Rust.

Многие проекты в производстве используют фреймворк Anchor.

Смарт-контракты Ethereum в основном разрабатываются с использованием языка Solidity, синтаксис которого похож на JavaScript, а файлы кода имеют расширение .sol. Благодаря относительно простому синтаксису и более зрелым инструментам разработки (таким как фреймворк Hardhat и среда Remix IDE), Ethereum обычно считается предлагающим более простой и приятный опыт разработки по сравнению с Solana, у которого более высокий кривая обучения. Несмотря на текущую популярность Solana, количество разработчиков на Ethereum остается значительно больше, чем на Solana.

В определенных обстоятельствах гоночный автомобиль верхнего уровня будет превосходить модифицированный автомобиль. Ржавчина, как гоночный автомобиль верхнего уровня, эффективно обеспечивает производительность и безопасность Solana. Однако он не предназначен для разработки программ на цепочке, что фактически повышает уровень сложности вождения (разработки). Публичные цепочки, которые принимают языки на основе Rust и настроены для разработки на цепочке, можно сравнить с модификацией этого гоночного автомобиля для лучшей адаптации к дорожным условиям. В этом отношении Solana находится в невыгодном положении.

Заключение

Инновационная модель программирования смарт-контрактов Solana. Она предлагает безсостоятельный подход к разработке смарт-контрактов, с Rust в качестве основного языка программирования и архитектурой, разделяющей логику и состояние. Это обеспечивает разработчикам мощную среду для создания и развертывания смарт-контрактов, гарантируя безопасность и производительность, хотя и с большими трудностями в разработке. Solana фокусируется на высокой пропускной способности, низких затратах и масштабируемости, что делает ее идеальным выбором для разработчиков, стремящихся создать высокопроизводительные dApps.

Утверждение:

  1. Эта статья воспроизведена с [ panews], оригинальное название «Моя бабушка тоже может понять: В чем разница между программной моделью Solana и ETH?», авторские права принадлежат оригинальному автору [Foresight News, Alex Liu], если у вас есть возражения к перепечатке, пожалуйста, свяжитесь с Команда Gate Learn, команда будет обработает это как можно скорее в соответствии с соответствующими процедурами.

  2. Отказ от ответственности: Взгляды и мнения, выраженные в этой статье, представляют только личные взгляды автора и не являются инвестиционными советами.

  3. Другие языковые версии статьи переведены командой Gate Learn, не упомянутой в Gate, переведенная статья не может быть воспроизведена, распространена или использована в качестве плагиата.

Пригласить больше голосов

Крипто-календарь

Обновления проекта
Etherex запустит токен REX 6 августа.
REX
22.27%
2025-08-06
Редкий день разработки и управления в Лас-Вегасе
Cardano проведет Rare Dev & Governance Day в Лас-Вегасе с 6 по 7 августа, включая семинары, хакатоны и панельные дискуссии, сосредоточенные на техническом развитии и вопросах управления.
ADA
-3.44%
2025-08-06
Блокчейн.Rio в Рио-де-Жанейро
Stellar примет участие в конференции Blockchain.Rio, которая состоится в Рио-де-Жанейро с 5 по 7 августа. Программа будет включать в себя ключевые выступления и панельные дискуссии с участием представителей экосистемы Stellar в сотрудничестве с партнерами Cheesecake Labs и NearX.
XLM
-3.18%
2025-08-06
Вебинар
Circle объявила о проведении вебинара Executive Insights на тему "Эра Закона GENIUS начинается", который запланирован на 7 августа 2025 года в 14:00 UTC. В ходе сессии будут рассмотрены последствия недавно принятого Закона GENIUS — первой федеральной регулирующей рамки для платежных стейблкоинов в Соединенных Штатах. Данта Диспарте и Кори Тен из Circle возглавят обсуждение того, как законодательство влияет на инновации в области цифровых активов, ясность регулирования и лидерство США в глобальной финансовой инфраструктуре.
USDC
-0.03%
2025-08-06
AMA на X
Ankr проведет AMA в X 7 августа в 16:00 UTC, сосредоточив внимание на работе DogeOS по созданию прикладного слоя для DOGE.
ANKR
-3.23%
2025-08-06

Похожие статьи

Что такое Telegram NFT?
Средний

Что такое Telegram NFT?

В этой статье обсуждается превращение Telegram в приложение, работающее на основе NFT, интегрирующее технологию блокчейна для революционизации цифрового дарения и владения. Узнайте основные возможности, возможности для художников и создателей, и будущее цифровых взаимодействий с NFT от Telegram.
1/10/2025, 1:41:40 AM
Как определить и отслеживать умные деньги в криптовалюте
Новичок

Как определить и отслеживать умные деньги в криптовалюте

Эта статья исследует, как инвестировать, отслеживая умные деньги на рынке криптовалют. Умные деньги обычно относятся к участникам рынка с выдающимися результатами, такими как китовые кошельки, обычные кошельки с высокими победными ставками в транзакциях и т. д. В этой статье предоставляются несколько шагов для идентификации и отслеживания этих кошельков.
7/24/2024, 8:49:42 AM
Solana: Обзор экосистемы на 3 квартал 2024 года
Продвинутый

Solana: Обзор экосистемы на 3 квартал 2024 года

Solana - это высокопроизводительная блокчейн-платформа, знаменитая быстрой обработкой транзакций, низкой задержкой и минимальными комиссиями за транзакции. В этой статье предоставлен подробный обзор технической архитектуры Solana, механизма консенсуса и ее применения в таких областях, как DePIN и мобильные приложения. Также рассматривается, как Solana оптимизирует сетевую производительность и безопасность с помощью своего инновационного механизма Proof of History (PoH) и взвешенного по стейку качества обслуживания (QoS).
9/27/2024, 3:16:43 PM
МЕМКОИН из TON: экологическая поддержка, инвестиционные проекты и рыночные тенденции
Средний

МЕМКОИН из TON: экологическая поддержка, инвестиционные проекты и рыночные тенденции

Эта статья вдается в платформу TON Memelandia и потенциал рынка мемкойнов, анализируя стратегии экосистемы TON для мемкойнов, поддержку платформы и инвестиционные возможности.
12/3/2024, 3:01:31 PM
Stargate Finance: Соединяя цепочки для неограниченной ликвидности
Средний

Stargate Finance: Соединяя цепочки для неограниченной ликвидности

Построенный на протоколе LayerZero, Stargate Finance обеспечивает взаимодействие между различными блокчейнами. С помощью Stargate вы можете обменять USDT на Ethereum на USDC на Arbitrum за одну транзакцию, и он поддерживает множество других цепочек. Пользователи могут зарабатывать STG токены, предоставляя ликвидность и участвуя в управлении платформой, или застейкать STG токены для участия в управлении. Используя технологию LayerZero и алгоритмы Delta, Stargate Finance обеспечивает эффективные, безопасные кроссчейн переводы активов и управление ликвидностью. Его унифицированный пул ликвидности и мгновенное подтверждение транзакций значительно улучшают пользовательский опыт и совместимость с блокчейном.
6/11/2024, 8:07:59 AM
Что такое полностью разведенная оценка (FDV) в криптовалюте?
Средний

Что такое полностью разведенная оценка (FDV) в криптовалюте?

Эта статья объясняет, что означает полностью разводимая рыночная капитализация в криптовалюте и обсуждает шаги расчета полностью разводимой оценки, важность FDV и риски полагаться на FDV в криптовалюте.
10/25/2024, 1:37:13 AM
Начните торговать сейчас
Зарегистрируйтесь сейчас и получите ваучер на
$100
!