Как получить комиссию за перевод в системе Эфириум, особенности выполнения транзакций

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

Основные определения транзакции


Этим термином в системе Ethereum обозначают идентифицированный установленным образом информационный пакет, который владелец внешнего адреса отправляет другому счету (внешнего владельца, или контракта).

В каждой транзакции есть следующие данные:

  • Идентификатор получателя данного сообщения.
  • Идентификатор отправителя.
  • Стоимость (VALUE). В этом поле указывается количество Wei, которые необходимо передать в ходе транзакции. Следует отметить, что данная позиция может быть пустой. Некоторые кошельки ETH автоматически переводят исходное значение в привычные монеты (эфириум).
  • В поле DATA заносят сообщения для счета контракта (условия сделки, иные данные).
  • В графе GASLIMIT отмечают максимальное количество рабочих операций (вычислений).
  • GASPRISE используют для указания величины комиссионного вознаграждения, которое готов предложить отправитель.

Как рассчитывают комиссионное вознаграждение


Эти особые единицы (GAS) применяют для оценки величины выплаты, которая выполняется после завершения определенного вычисления. Стоимость газа измеряется в минимальных единицах эфира (Wei). Для упрощения пользуются увеличенными единицами: Gwei = 1000000000 Wei.

В этом примере отправитель установил GASLIMIT: 50000, а GASPRISE: 20 Gwei. Это значит, что за соответствующую транзакцию он готов заплатить 0,001 ETH. Сделать пересчет в фиатные деньги не сложно с учетом актуального биржевого курса.

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

Если средств недостаточно, транзакция становится недействительной. Система возвращается в первоначальное состояние. Понятно, что вычислительные действия необходимы и в этом случае. Для компенсации потерь сети плата за GAS отправителю сообщения не возвращается.

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

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

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

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

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

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

 

Особенности данных в сообщениях


Система Ethereum является по сути машиной, которая выполняет свои функции с применением сообщений. Именно транзакции (сообщения/создания контрактов) трансформируют имеющееся состояние в новое.

Вне зависимости от типа, эти информационные блоки содержат следующие составляющие:

  • TO – идентификатор получателя данного сообщения.
  • V, R, S – эти позиции нужны для создания уникальной подписи, которая точно идентифицирует отправителя.
  • Стоимость (VALUE). В этом поле указывается количество Wei, которые необходимо передать в ходе транзакции. Следует отметить, что данная позиция может быть пустой. Некоторые кошельки ETH автоматически переводят исходное значение в привычные монеты (эфириум). При создании контракта в данной позиции отображается начальное состояние баланса соответствующего аккаунта.
  • В поле DATA заносят сообщения для счета контракта (специальные условия выполнения операции, IP-адрес, иные данные).
  • В графе GASLIMIT отмечают максимальное количество рабочих операций (вычислений). Соответствующее количество газа блокируется после подтверждения. Оно выплачивается за выполненные действия, или списывается при недостатке средств на аккаунте отправителя.
  • GASPRISE используют для указания величины комиссионного вознаграждения в Wei, которое готов предложить отправитель за единицу GAS.
  • Данные в NONCE обозначают количество транзакций, которые выполнил соответствующий отправитель.
  • Команду INIT применяют при работе с контрактами. Она инициирует создание нового аккаунта, выполняется только один раз.

 

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

С помощью этого рисунка можно разобраться с особенностями внутренних сообщений. Их активация осуществляется по коду, который записан в соответствующем контракте. В отличие от стандартных транзакций, в данном случае позиция GASLIMIT не заполняется. Соответствующее ограничение по количеству газа определяется владельцем внешнего счета, который создает первичную транзакцию. Следует помнить, что цепочка будет выполнена полностью только при наличии необходимых средств для оплаты.\

 

Особенности информационных блоков


Все сообщения в системе Ethereum объединяются в блоки, которые формируют общую цепочку. Каждый отдельный элемент состоит из следующих типовых компонентов:

  • заголовок;
  • данные о соответствующем блоке сообщений;
  • комплект заголовков других информационных блоков для оммеров данного блока.

Новое определение необходимо пояснить. Оммером («ommer» англ.) называют особый информационный блок. Его родительский блок содержит данные, тождественные информации родительского блока оммера. Упомянутые выше заголовки используются в системе для корректного начисления майнерам вознаграждения.

Для понимания сути процесса надо вспомнить о небольшом временном интервале (между отдельными блоками), который характерен для Ethereum. В данной системе он составляет 10-20 секунд. В биткойне, например – около 10 мин. Ускорение вычислений сопровождается существенным недостатком. Майнеры в данном случае находят гораздо больше блоков, конкурирующих друг с другом.

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

На этом рисунке отмечены компоненты, которые входят в состав стандартного заголовка блока. Помимо отмеченных выше позиций, здесь есть несколько новых:

  • Параметром difficulty определен уровень сложности;
  • В extraData заносят дополнительные данные, которые сопряжены с данным сообщением.
  • В хэше mixHash находится подтверждения количества вычислений, достаточных для определенного блока.

Некоторые компоненты следует рассмотреть подробно. В logsBloom содержатся данные адреса аккаунта регистратора. Здесь же приводятся ссылки на темы, сопряженные с выполнением этой транзакции. Сложность вычислений оказывает влияние на nonce. Данный хэш, в свою очередь, подтверждает достаточность вычислений. Он генерируется в ходе вычислений по стандартному алгоритму майнинга. С другой стороны, изменение difficulty корректирует длительность валидации. Взаимное влияние параметров настроено таким образом, чтобы поддерживалась отмеченная выше скорость образования блоков в системе эфириум.

 

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *