Что такое Ethereum и как работают смарт-контракты
Ethereum позволяет выполнять программы в блокчейне. Разбираем роль ETH, оплату вычислений и границы того, что смарт-контракт способен гарантировать.
Ethereum — это блокчейн, в котором сеть согласованно исполняет программы. Эти программы называются смарт-контрактами. ETH — нативный актив Ethereum: им оплачивают вычислительные ресурсы и используют в механизме proof-of-stake. Контракт не «думает» и не знает сам по себе о событиях вне блокчейна: он выполняет заранее заданные правила, когда кто-то вызывает его транзакцией.
Ethereum — сеть, ETH — её актив
Ethereum — публичная распределённая сеть и блокчейн, состояние которого поддерживается узлами. Её особенность — встроенная виртуальная машина Ethereum (EVM). Можно представить её как общее вычислительное пространство: участники сети проверяют, какие операции допустимы, исполняют их по единым правилам и согласуют итоговое состояние.
Ether (ETH) — нативная криптовалюта этой сети. Она нужна для оплаты вычислений и играет роль в proof-of-stake — используемом Ethereum механизме согласования блоков. Названия часто смешивают в быту, но это разные понятия: Ethereum — сеть и программная среда, ETH — её актив. Существуют и токены, созданные контрактами в Ethereum; они не становятся от этого ETH.
Если хочется сначала разобраться в общих терминах блоков, узлов и консенсуса, прочитайте вводный урок о блокчейне. Ethereum — один конкретный пример блокчейна со своими правилами и возможностью исполнять программы.
Что такое смарт-контракт
Смарт-контракт — это программа, опубликованная в состоянии EVM по адресу. Она хранит код и иногда данные, например балансы, настройки или список разрешённых действий. Пользовательское приложение может показать удобную кнопку, но итоговое действие определяется вызовом контракта и правилами сети.
Код, состояние и вызов
Обычно разработчик пишет код на специальном языке, компилирует его в формат, который исполняет EVM, и отправляет транзакцию для публикации. Затем пользователь может вызвать функцию контракта — например, обменять один токен на другой, если соблюдены условия. Узлы исполняют одну и ту же последовательность инструкций и проверяют результат. Если он включён в блок, состояние сети обновляется согласно правилам.
Контракт не запускается сам по расписанию. Внешний участник — пользователь, приложение или автоматизированный сервис — должен отправить транзакцию. Эта транзакция включает данные о вызываемой функции и нужных параметрах; отправитель подписывает её ключом своего аккаунта. Обычное чтение уже опубликованных данных часто можно запросить без транзакции, а изменение состояния требует операции в сети.
Откуда берутся внешние данные
Код в блокчейне видит доступное ему состояние и входные данные вызова. Он не может самостоятельно открыть сайт, проверить погоду или узнать биржевой курс вне цепочки. Для этого используются оракулы — службы или сети, которые передают внешние сведения в блокчейн. Контракт может обработать переданное значение, но надёжность результата зависит и от источника, способа передачи и защиты оракула.
Кто может менять правила приложения
Некоторые контракты устроены так, что код по адресу нельзя заменить обычной командой. Другие приложения используют прокси, административные роли или механизмы обновления. Поэтому нельзя считать, что любое приложение полностью неизменно или лишено управляющей стороны. Перед использованием полезно выяснить, кто может менять параметры, приостанавливать операции, обновлять реализацию или управлять активами.
Пример условного исполнения программы
Представим учебный контракт, который выдаёт цифровой пропуск после регистрации. Это только иллюстрация логики, не действующий сервис и не инструкция отправлять средства.
- Вход: пользователь отправляет транзакцию с запросом выдать пропуск и нужными данными.
- Проверка: код проверяет, что регистрация открыта, данные соответствуют формату, а этот адрес ещё не получал пропуск.
- Результат: если условия выполнены, контракт записывает адрес получателя и событие о выдаче в состояние сети.
- Ошибка: если приём закрыт или пропуск уже выдавался, код прекращает операцию. Программа не может отменить уже потраченный ресурс на вычисление.
Сеть может подтвердить, что именно эта логика была исполнена. Но если в программе ошибка и условие записано неверно, блокчейн не исправит замысел разработчика. А если «регистрация открыта» зависит от внешнего календаря или списка, потребуется надёжно передать это состояние в контракт.
Зачем нужны ETH и газ
Плата за вычисления
Gas (газ) — единица измерения вычислительной работы в Ethereum. Простая операция требует меньше gas, а сложный вызов с большим количеством проверок или записей в состояние — больше. Пользователь оплачивает использованный объём по цене, выраженной в ETH. Так сеть учитывает вычислительные ресурсы и затрудняет бесконечные или чрезмерно затратные запросы.
Почему цена операции меняется
Количество работы задаётся самой операцией, а цена единицы ресурса зависит от параметров транзакции и текущих условий сети. В обычной модели комиссии есть базовая часть, формируемая протоколом с учётом заполненности блоков, и приоритетная доплата, которой отправитель может повысить привлекательность операции для включения. Интерфейсы кошельков показывают оценку и предлагают параметры, однако фактическая стоимость зависит от реально использованного gas и параметров включённой транзакции. У разных сетей и L2 могут отличаться правила и состав комиссии.
Почему неуспешная операция тоже может стоить денег
Если транзакция попала в блок и код начал исполняться, ресурсы уже были использованы. При откате изменений из-за ошибки некоторые вычисления всё равно состоялись, поэтому может взиматься комиссия за потраченный gas. Это не означает, что запрошенное действие успешно: проверяйте статус транзакции и результат в обозревателе. Не путайте комиссию за выполнение с суммой токена, которую контракт мог не перевести.
Как сеть подтверждает операции
Ethereum сейчас использует proof-of-stake. Валидаторы вносят ETH в стейкинг и запускают программное обеспечение, которое участвует в предложении и проверке блоков. Остальные участники проверяют соответствие блока правилам; согласованная история обновляет состояние EVM. Это механизм консенсуса сети. Он отвечает за то, какие допустимые операции вошли в историю, но не гарантирует, что код приложения безопасен или полезен.
Например, в Bitcoin майнеры соревнуются в proof-of-work, а основная задача базового протокола — транзакции BTC. Подробно устройство BTC, эмиссия и переводы описаны в уроке о Bitcoin.
Ethereum и Bitcoin: разные задачи
| Критерий | Ethereum | Bitcoin |
|---|---|---|
| Нативный актив | ETH | BTC |
| Основной акцент | Перевод ценности и выполнение программ в EVM | Перевод и проверка транзакций BTC по правилам Bitcoin |
| Консенсус базовой сети | Proof-of-stake | Proof-of-work |
| Смарт-контракты | Широко используются как программируемая часть сети | Скриптовые условия есть, но модель и возможности отличаются |
Эта таблица упрощает картину: обе системы развиваются, а дополнительные сети меняют пользовательский опыт. Различие функций не говорит о том, какой актив лучше или выгоднее.
Где применяют контракты
Контракты служат основой токенов, обменных протоколов, приложений кредитования, цифровых коллекционных предметов и других сервисов. Они могут согласованно выполнять правила и сохранять публично проверяемое состояние. Но «работает в блокчейне» не означает, что приложение автоматически безопасно, децентрализовано во всех компонентах или не требует доверия к операторам.
При подписании операции внимательно проверяйте сеть, адрес, сумму и запрашиваемые разрешения. За хранение ключей отвечает пользовательский кошелёк; подробнее — в руководстве о защите кошелька и seed-фразы.
Если сравниваете токены с долларовой привязкой, смотрите урок о стейблкоинах USDT и USDC, где разобраны резервы, погашение и сетевые риски.
Риски приложения и подписи
- Ошибка в коде: программа может допускать нежелательные действия или неверно учитывать редкие случаи. Исполнение по правилам не равно исполнению без ошибок.
- Привилегии администратора: владелец роли может изменять настройки, приостанавливать работу или обновлять контракт — если архитектура это позволяет.
- Оракул и внешняя инфраструктура: неверные данные или сбой посредника влияют на результат, даже если сама сеть продолжает работать.
- Опасная подпись: вредоносный сайт может просить разрешить расходование токенов или подтвердить не то действие, которое ожидает пользователь.
- Необратимость: после подтверждения обычный пользователь часто не может сам отменить перевод или вернуть токен от получателя.
Поэтому отделяйте риски протокола Ethereum от рисков конкретного приложения, интерфейса, администратора и кошелька. Проверяйте адрес контракта по независимым источникам, понимайте, что именно подписываете, и не вводите seed-фразу на странице приложения.
Что запомнить
- Ethereum — сеть с EVM; ETH — нативный актив, а токены контрактов являются отдельными активами.
- Смарт-контракт — программа, которую вызывает транзакция; сама по себе она не получает данные из внешнего мира.
- Газ измеряет вычислительную работу, а комиссия оплачивается в ETH; неудачное выполнение тоже может расходовать ресурс.
- Консенсус подтверждает состояние сети, но не проверяет за пользователя качество и намерения приложения.
Вопросы и ответы
Что такое ETH?
ETH, или эфир, — нативная криптовалюта сети Ethereum. Её используют для оплаты транзакций и в proof-of-stake.
Нужен ли газ, чтобы просто посмотреть данные?
Чтение общедоступного состояния без записи обычно не требует от пользователя on-chain транзакции. Изменение состояния сети, как правило, оформляется транзакцией и оплачивается.
Смарт-контракт работает сам?
Нет. Для исполнения нужен вызов транзакцией — от пользователя или сервиса. Программа может реагировать на переданные входные данные, но не инициирует себя и не следит напрямую за внешним миром.
Смарт-контракт — это юридический договор?
Нет, техническое название не определяет правовой статус. Юридический эффект зависит от обстоятельств и применимого законодательства; код лишь исполняется по правилам сети.
Защищает ли блокчейн от ошибок программы?
Нет. Сеть может одинаково исполнить программу, но не определить, соответствует ли её логика ожиданиям пользователя. Ошибка, права администратора и неверные входные данные остаются рисками.
Перед отправкой ETH или токена проверьте совместимость сети, контракт и реквизиты назначения по практическому чек-листу перевода и проверки TXID.
Источники
- Ethereum.org: Technical intro to Ethereum — EVM, ETH, смарт-контракты и proof-of-stake.
- Ethereum.org: Introduction to smart contracts — назначение контрактов и их исполнение.
- Ethereum.org: Transactions — подпись, отправка и исполнение транзакций.
- Ethereum.org: Gas and fees — измерение ресурсов и механизм комиссий.
Первичные источники проверены 19 октября 2026 года. Параметры и интерфейсы кошельков могут изменяться; статья объясняет принцип работы и не является рекомендацией покупать активы или использовать конкретное приложение.
Комментарии