Изучение Solana Смарт-контракт модели программирования

6/11/2024, 5:47:31 AM
Новичок
Ethereum
Solana — это высокопроизводительная блокчейн-платформа, предназначенная для поддержки децентрализованных приложений. Он известен своей скоростью и масштабируемостью, достигаемыми благодаря уникальному механизму консенсуса и архитектурному дизайну. В этой статье Ethereum используется в качестве объекта сравнения, чтобы кратко представить характеристики модели программирования смарт-контрактов Solana.

Переслать оригинальное название '小学生也能看懂!Solana 的编程模型,究竟和 ETH 有啥区别?'

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

Смарт-контракты и в блокчейне программы:

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

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

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

  1. Нативные программы: это программы, которые предоставляют необходимые функциональные возможности для проверки узлов. Наиболее заметной из них является системная программа, которая отвечает за управление созданием новых учетных записей и переводом SOL между двумя учетными записями.
  2. Программы SPL: Они определяют ряд действий в блокчейне, включая создание, биржу и кредитование токенов, а также создание пулов ставок и обслуживание услуг разрешения доменных имен в блокчейне. Среди них программа токенов SPL используется для операций с токенами, в то время как программа связанных учетных записей токенов обычно используется для написания других пользовательских программ.

Вы называете их смарт-контрактами, я называю их программами в блокчейне. Это разные термины, но оба они относятся к коду, работающему в блокчейне. Так же, как и Алиса, Боб и Джон — это все имена, и их реальные качества должны оцениваться другими аспектами.

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

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

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

Ethereum счет в основном является отсылкой к EVM государству. Его смарт-контракт не только имеет логику кода, но и должен хранить пользовательские данные. Это часто считается недостатком конструкции, оставшимся от истории EVM.

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

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

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

Ethereum смарт-контракты похожи на хранилище, которое использует уникальный пароль; как только вы получаете этот пароль, вы становитесь его полным владельцем. Напротив, смарт-контракты Solana похожи на хранилище с множеством паролей. Чтобы получить доступ, нужно не только получить пароли, но и выяснить, какой пароль какому замку соответствует, чтобы его открыть.

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

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

Поскольку язык Rust сам по себе сложен для начала работы и не заточен под разработку блокчейна, многие требования требуют переосмысления колеса и избыточного кода. (Многие проекты в продакшене используют фреймворк Anchor, созданный одним из создателей рюкзака Армани для упрощения разработки) Многие недавно созданные языки программирования, посвященные блокчейн-разработке, основаны на Rust, такие как Cairo (Starknet), Move (Sui, Aptos).

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

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

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

Резюме

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

Отказ от ответственности:

  1. Эта статья перепечатана с [Foresight News]. Все авторские права принадлежат оригинальному автору [Алексу Лю]. Если у вас есть возражения против этой перепечатки, пожалуйста, свяжитесь с командой Gate Learn, и они оперативно разберутся с этим.
  2. Отказ от ответственности: Взгляды и мнения, выраженные в этой статье, принадлежат исключительно автору и не являются какими-либо инвестиционными рекомендациями.
  3. Переводом статьи на другие языки занимается команда Gate Learn. Если не указано иное, копирование, распространение или плагиат переведенных статей запрещены.

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

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

Обновления проекта
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

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

Что такое Нейро? Все, что вам нужно знать о NEIROETH в 2025 году
Средний

Что такое Нейро? Все, что вам нужно знать о NEIROETH в 2025 году

Neiro - это собака породы шиба-ину, которая вдохновила запуск токенов Neiro на различных блокчейнах. К 2025 году Neiro Ethereum (NEIROETH) превратился в ведущий мем-коин с рыночной капитализацией 215 миллионов долларов, 87 000+ держателей и листингом на 12 крупнейших биржах. Экосистема теперь включает DAO для управления сообществом, официальный магазин мерчандайза и мобильное приложение. NEIROETH внедрил решения второго уровня для увеличения масштабируемости и закрепил свою позицию в топ-10 мем-коинов по капитализации, поддерживаемый активным сообществом и ведущими крипто-инфлюенсерами.
9/5/2024, 3:37:05 PM
Лучшие криптовалютные лотерейные платформы на 2024 год
Новичок

Лучшие криптовалютные лотерейные платформы на 2024 год

Откройте для себя мир крипто-лотерей с помощью этого исчерпывающего руководства по механике крипто-лотерей, а также по лучшим платформам.
1/28/2024, 4:53:22 PM
Что такое обернутый Ethereum (WETH)?
Новичок

Что такое обернутый Ethereum (WETH)?

Wrapped Ethereum (WETH) - это ERC-20 версия родной валюты блокчейна Ethereum, Эфира (ETH). Жетон WETH привязан к оригинальной монете. На каждый WETH, находящийся в обращении, приходится один ETH в резерве. Целью создания WETH является обеспечение совместимости во всей сети. ETH не соответствует стандарту ERC-20, а большинство DApps, построенных на сети, следуют этому стандарту. Таким образом, WETH используется для облегчения интеграции ETH в приложения DeFi.
11/24/2022, 8:49:09 AM
Руководство по переключению сети в MetaMask
Новичок

Руководство по переключению сети в MetaMask

Это простое пошаговое руководство о том, как переключить Вашу сеть в MetaMask.
1/11/2024, 10:37:30 AM
О чем вообще Owlto Finance?
Продвинутый

О чем вообще Owlto Finance?

Owlto Finance - это децентрализованный мост Cross-Rollup для бесшовных переводов активов в сети Ethereum. Щелкните ссылку, чтобы узнать больше об этом и о том, как это работает.
9/18/2024, 4:11:38 AM
Что такое Dogwifhat? Все, что вам нужно знать о WIF
Средний

Что такое Dogwifhat? Все, что вам нужно знать о WIF

Dogwifhat - это мем-криптовалюта на основе Solana с огромным притяжением, обусловленным исключительно спекуляциями, и инициативой сообщества, которая приобрела популярность благодаря привлекательному маскоту Шиба Ину на розовой шляпе.
9/11/2024, 8:37:29 AM
Начните торговать сейчас
Зарегистрируйтесь сейчас и получите ваучер на
$100
!