Как работают транзакции Ethereum на основе учетных записей

7 лет назад
Транзакции Эфириум
Транзакции Эфириум

Ethereum можно смело назвать системой состояния транзакций. Это некий механизм, который получает вводную информацию, анализирует ее, и на ее основе преобразуется в новое состояние. Здесь все стартует с «изначального» или «нулевого» состояния – когда все процессы, связанные с транзакциями, еще не начали происходить в блокчейне. В тот момент, когда они заработают, первоначальное состояние сменится на конечное, которое, в свою очередь, в любой момент отображает текущее состояние Ethereum.

Как работают транзакции Ethereum
Как работают транзакции Ethereum

Звучит сложно? На деле же все намного проще.

Состояние Эфириума = миллионам транзакций, собранным в «блоки». Один такой блок вмещает в себя сразу ряд транзакций и соединен с предыдущим. Чтобы перейти из одного состояния в следующее транзакция обязана быть подтверждена. Иными словами, ей нужно пройти процесс валидации, известный также как майнинг.

Подтверждение транзакций в Ethereum
Подтверждение транзакций в Ethereum

Глобальное же «общее состояние» Эфириума состоит из миллионов мелких объектов – учетных записей (аккаунтов). Они способны взаимодействовать друг с другом путем отправки сообщений. К каждой учетной записи привязано ее состояние, а также личный адрес, состоящий из 20 байтов. Адрес в Ethereum представляет собой 160-битный идентификатор, задействованный для подтверждения аккаунта.

Учетные записи бывают двух видов:

  • Внешние УЗ (EOA), управляемые благодаря закрытым ключам, не связанным с каким-либо кодом;
  • Контрактные УЗ, контролируемые конкретным кодом, который указан в условии контракта, с которым они связаны.
Виды учетных записей в Эфириум
Виды учетных записей в Эфириум

Разница между ними состоит в том, что внешняя УЗ позволяет отправлять сообщения не только другим внешним УЗ, но и контрактным. С этой целью пользователь самостоятельно создает новую транзакцию в сети, задействовав закрытый ключ, а сообщение – это лишь значение для передачи. Контрактная УЗ, в свою очередь, не позволяет самостоятельно создавать новые транзакции Ethereum– лишь запускать их в ответ на уже полученные транзакции (к примеру, транзакции из внешней УЗ или другой контрактной УЗ).

Учитывая тот факт, что транзакции Ethereum инициируются внешними УЗ, а после отправляются в блокчейн, можно сказать, что сами по себе они являются мостом, соединяющим «окружающий мир» и внутреннее состояние блокчейна Ethereum.

Модель счетов Ethereum
Модель счетов Ethereum

Модель UTXO или модель учетных записей

В то время, как модель UTXO (Unspent Transaction Output – неизрасходованных выходных данных), примененная в биткоине, ограничивает возможность выполнения смарт-контрактов, команда Ethereum использует модель на основе учетных записей, подключив к ней не только смарт-контракты, но и огромное количество децентрализованных программ (dApps).

Для написания смарт-контрактов в сети Эфириума разработчики применили Тьюринг-полный (с возможностью реализовать любые вычислительные функции) язык программирования Solidity, который частично напоминает JavaScript.

Преимущества модели UTXO:

  • Высокая степень конфиденциальности использования новых адресов для каждой транзакции – очень сложно отыскать владельца монет;
  • Легче масштабировать через шардинг.

Недостатки модели UTXO:

  • Блокчейн слаб с точки зрения «программируемости» – сложные вычисления становятся практически невозможными;
  • С той же скоростью, с которой увеличивается объем входных данных, растет нагрузка на вычислительные ресурсы и память в блокчейне.

Преимущества модели учетных записей:

  • Экономия огромного пространства – каждая транзакция Ethereum требует одну ссылку и одна подпись выдает лишь один вывод. Например, транзакция может «весить» 100 байтов в Ethereum против 200-250 байтов в Bitcoin;
  • Простота – более интуитивна, как для пользователей, так и для создателей смарт-контрактов со сложными скриптами, особенно тех, которые требуют информацию от нескольких сторон;
  • Эффективность – требует для каждой транзакции Эфириум лишь подтверждение факта наличия на счету отправителя достаточной суммы для оплаты транзакции.

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

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

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

Но стоит учесть, что nonce, описанный здесь – это не Proof-of-Work nonce в Эфириуме, являющийся абсолютно случайным числом.

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

Читайте также:

Команды, работающие над Ethereum 2.0 – будущее Serenity

Использование технологии Plasma для масштабирования Ethereum

© Coin Post, 2017-2019. Все материалы данного сайта являются объектами авторского права. Запрещается копирование, распространение (в том числе, путем копирования на другие сайты и ресурсы в Интернете с указанием источника) или любое иное использование информации без предварительного согласия правообладателя.

Новости по теме

Киты накопили 5 540 000 ЕТН ($24,7 млрд) за последние 5 месяцев

Киты накопили 5 540 000 ЕТН ($24,7 млрд) за последние 5 месяцев

По данным аналитиков Santiment, за последние 5 месяцев крупные держатели (кошельки с 1 000 - 100 000 ETH) увеличили свои активы на 5,54 миллиона ETH, что составляет рост порядка 14%. Это совпало с годовым минимумом ETH около $1 472 в апреле, после чего произошел резкий рост цен. Сейчас ETH торгуется примерно на $4 366, что почти в 3 раза выше.
4 дня назад
Ether Machine привлекла $654 млн в эфире перед листингом на Nasdaq

Ether Machine привлекла $654 млн в эфире перед листингом на Nasdaq

По данным Reuters, криптокомпания Ether Machine завершила частный раунд финансирования на сумму $654 млн в эфире, эквивалент 150 000 ETH, инвестированных известным сторонником Ethereum Джеффри Бернсом, который также войдет в совет директоров компании.
6 дней назад
Сооснователь Ethereum заявил, что ETH вырастет в 100 раз и обгонит BTC

Сооснователь Ethereum заявил, что ETH вырастет в 100 раз и обгонит BTC

Сооснователь Ethereum и основатель ConsenSys, Джозеф Лубин, высказал амбициозный прогноз: ETH чуть ли не гарантированно вырастет в 100 раз от текущей цены, а затем обгонит BTC по капитализации. В посте на X он подтвердил свою поддержку более умеренного прогноза от Тома Ли, добавив: "Да, Wall Street пойдет в стейкинг... ETH наверное вырастет в 100 раз. И, возможно, еще больше".
7 дней назад
SharpLink Gaming уже накопила ETH на $3,7 млрд

SharpLink Gaming уже накопила ETH на $3,7 млрд

Всего накоплено 797 704 ETH, что оценивается приблизительно в $3,7 млрд на текущем рынке. За неделю (завершившуюся 24 августа 2025 года) компания приобрела 56 533 ETH по средней цене $4 462 за монету. Это было профинансировано через At-The-Market (ATM) эмиссию: $360,9 млн чистого привлеченного капитала.
13 дней назад
Компания ETHZilla планирует привлечь $10 млрд на покупку ЕТН

Компания ETHZilla планирует привлечь $10 млрд на покупку ЕТН

ETHZilla, торгующаяся на Nasdaq под тикером ETHZ, подала в SEC проспект об амбициозной подписке акций на сумму до $10 млрд, что является частью ее стратегии по масштабному приобретению Ethereum. Эти средства будут использованы для продолжения наращивания ETH-казначейства компании.
14 дней назад