Содержание статьи:
- Как проходит транзакция Ethereum
- Как зависит сложность от времени подтверждения
- Как отследить транзакцию — лучшие способы
- Отмена транзакции Ethereum
Транзакции Эфириума — операции по переводу криптовалюты с кошелька одного пользователя на бумажник другого участника виртуальной сети. Если говорить техническим языком, это подписанный пакет с данными, хранящий сообщение, направляемое между двумя внешними аккаунтами. При этом не всегда ясно, как проходят подобные сделки, в чем особенности стягивания комиссии (газа) и как посмотреть транзакции Ethereum. Эти и другие моменты рассмотрим ниже.
Как проходит транзакция Ethereum?
Когда один участник сети планирует перевести криптовалюту другому пользователю, он входит в свой криптобумажник, прописывает адрес получателя, размер направляемых средств и проводит транзакцию. В дальнейшем он надеется, что адресат получит виртуальные деньги без задержек.
Суть технологии блокчейн в том, что она не имеет центрального органа управления. Это значит, что при зависании платежа пользователю некуда обращаться. Но это лишь на первый взгляд. Существует много сервисов, позволяющих проверить статус транзакции Эфириум (на них мы остановимся подробнее ниже).
Кроме того, чтобы избежать задержек в платежах, важно знать принцип проведения операций в криптовалютной сети и их особенности.
Аккаунты
В сети Ethereum выделяется 2 типа аккаунтов:
- Внешние — имеют свой баланс, находятся под управлением ключей, способны проводить транзакции и активировать контракты. Код таких аккаунтов не привязан.
- Внутренние. Они предназначены для выполнения программы, имеют индивидуальный баланс и получают сообщения с последующей их обработкой посредством заложенного алгоритма. Такие аккаунты имеют привязанный код, активация которого происходит после получения сообщения.
Любые перемещения в сети blockchain ETH активируются транзакциями, которые проводятся из аккаунтов пользователей. Как только в контракт проходит перевод, код запускается с учетом заложенной программы и входных данных (передаются, как составляющая операции). Реализация программного кода — задача EVM (виртуальной машины).
Транзакции, сообщения и создание блоков
Как отмечалось, платеж в сети Эфириум представляет собой пакет с информацией, включающей в себя сообщение для передачи между внешними аккаунтами blockchain. В состав транзакции входят:
- Данные о второй стороне сделки.
- Подпись, идентифицирующая человека, осуществляющего перевод и подтверждающая намерение передать информацию через блокчейн другому пользователю.
- Стоимость — число монет (wei), которые передаются участнику сети.
- DATA (необязательное поле). Здесь может прописываться сообщение.
- Лимит газа — предельное число расчетных операций для определенной сделки.
- Цена газа — комиссия, оплачиваемая отправителем за одну единицу gas.
В контрактах Эфириум предусмотрена возможность передачи сообщений, а именно виртуальных элементов (находятся только внутри сети). В их состав входят:
- Сведения об участнике, который отправляет монеты.
- Информация о получателе.
- Число передаваемых wei (части Эфириума).
- Входные сведения по контракту.
- Лимит газа (максимальное число gas, которое можно применить для реализации кода).
Рассмотренные сообщения имеют много общего с транзакциями. Разница в том, что инициатором выступает контракт. В случае с транзакцией активация происходит с применением внешнего аккаунта. Иногда такие операции в сети Эфириума называют внутренними.
Проверка транзакций Ethereum возможна, благодаря четкой структуре сети и объединению платежей в блоки (специальные элементы блокчейн). Они включают в себя заголовок с указанием наиболее важных сведений, а именно номер, сложность, журналы, а также другие данные об операциях. Скорость генерации блока — около 15 секунд.
Что такое газ?
Подтверждение переводов внутри сети, проведение расчетов и реализация smart-контрактов требует от нодов выполнения большого объема работы. Вот почему для выполнения задачи используется EVM, поэтому операции в криптосети Эфириума не бесплатны. За проведение перевода отправитель монет ETH платит комиссию, которая передается майнерам. Последние с помощью имеющегося в распоряжении оборудования выполняют вычисления. Оплата обеспечивает работоспособность сети и защищает от внешних атак. Кроме того, наличие комиссии исключает бесконечное выполнение одного и того же smart-контракта.
«Газ» — единица измерения комиссионного платежа. Время ее проведения во многом зависит от размера выплаты — объема «топлива». Человек, который направляет виртуальные монеты, сам определяет размер комиссии и прописывает ее в специальной графе в процессе отправки. Здесь же проставляется ограничение по газу, а именно наибольший объем комиссии, который может быть потрачен.
Задача лимита в том, чтобы исключить сбои в работе программы и избежать «съедания» газом всех средств на счету пользователя. Рекомендуется указывать немного завышенный параметр, ведь лишние средства все равно вернутся на счет. Если же «горючего» не хватит, тогда возможны проблемы и возврат перевода. При этом комиссию никто не вернет. Вот почему важно точно рассчитывать размер газа. Если платеж завис, не обойтись без отслеживания транзакции Ethereum. Это позволяет убедиться, что деньги дошли до адресата.
Какая комиссия взимается за перевод?
Расходы на транзакцию зависят от двух факторов — суммарного объема газа, потраченного на осуществление платежа, а также стоимости одной единицы gas, которая характерна для перевода. На осуществление одной операции между аккаунтами требуется 21 тысяча «газа». Что касается smart-контрактов, здесь принцип вычисления стоимости более трудоемкий. При этом лимит газа, как правило, не прописывается. Средства списываются с баланса пользователя, инициирующего сделку. Особенность смарт-контрактов в том, что общее число операций предугадать нельзя.
Цена одной единицы gas устанавливается лично пользователем, который осуществляет перевод. Размер комиссии равен числу газа, умноженному на цену, выраженную в Эфириуме.
В криптовалютной сети Ethereum имеется много общего с Биткоин. В частности, здесь также имеется пул переводов, который при повышенной активности участников сети может расти. При этом возникает очередь транзакций. Майнеры, в свою очередь, определяются с приоритетными платежами и проводят их раньше других. Сначала обрабатываются платежи с большей ценой газа, ведь они обеспечивают более высокий доход. Это значит, что операции с высоким комиссионным платежом проходят быстрей. Чтобы узнать оптимальную цену «горючего», можно воспользоваться сайтом ethgasstation.info. В долларовом эквиваленте средняя комиссия Эфириума на 6 сентября 2018 года составляет 0,153 доллара, то есть всего 15 центов.
Если же сделка зависла, можно посмотреть транзакции Ethereum. Как это сделать правильно, и какие сервисы использовать, рассмотрим ниже.
Процесс перевода ETH
Чтобы операция прошла успешно, сеть проверяет условия ее проведения. Здесь выдвигаются следующие условия:
- Формат сделки — RLP.
- Наличие подписи стороны, осуществляющей перевод.
- Число операций (отправленных с аккаунта и в транзакции) совпадает.
- Указанное число «горючего» ниже или равняется установленному лимиту.
В объем комиссии включается:
- 21 000 газа для проведения транзакции.
- Средства для передачи сведений об операции.
- Оплата формирования smart-контракта.
На счету отправителя должно быть достаточно денег для проведения перевода. При выполнении указанных требований платеж признается корректным и принимается к выполнению. Сначала с аккаунта отправителя снимается аванс, а после вычисляется оставшаяся часть «горючего». Как только операции проведены, статус транзакции Ethereum принимает значение «Выполнен». В дальнейшем отправитель получает обратно незадействованное «горючее». При этом ETH, использованный на его приобретение, идет майнерам.
Как зависит сложность от времени подтверждения транзакции Ethereum — базовые моменты
Термин «сложность» применяется для обозначения периода подтверждения очередного элемента цепи блокчейн. Первый блок криптовалютной цепи Эфириум имел сложность 131 072 Х/с. При вычислении этого показателя для последующих элементов цепи применяется особая формула. На 6 сентября 2018 года этот параметр равен 3,43 ПХ/с.
В случае, когда очередной блок подтверждается быстрей предыдущего, сложность растет. Стоит учесть еще один важный момент. От рассматриваемого показателя зависит и значение nonce — хэша, рассчитываемого при добыче виртуальной монеты с алгоритмом PoW. Отношение между двумя параметрами можно выразить, как 2 в степени 256 умножить на Hd, где второй параметр — это и есть сложность.
Время подтверждения транзакции Ethereum напрямую зависит от сложности. Чем больше этот показатель, тем труднее отыскать nonce майнерам, и тем дольше проходит валидация. Если срок подтверждения по какой-либо причине растет, сложность добычи уменьшится. Благодаря такой системе поддерживается постоянство в криптовалютной сети.
На этом фоне возникает другой вопрос — как узнать, сколько подтверждений транзакции Ethereum требуется для обеспечения безопасности. Здесь существует множество версий, но Виталик Бутерин утверждает, что для валидации достаточно 10 блоков. Это, в свою очередь, занимает около 150 секунд или 2,5 минуты.
Как отследить транзакцию Эфириум — лучшие способы
Контроль транзакции Ethereum происходит с применением специальных журналов, где фиксируются все сведения о переводах. Здесь можно посмотреть следующие данные:
- Адрес отправителя.
- Цели, которые поставлены при осуществлении транзакции.
- Сопутствующие сведения о переводе.
Хранение журналов происходит, благодаря заголовкам в цепочке blockchain. Каждый пользователь может посмотреть транзакции Ethereum, которые содержатся в этом журнале, увидеть в нем всю историю, начиная с первого перевода. Кроме того, участникам сети доступно получение чека по каждому платежу. Как только интересующий платеж найден, доступна следующая информация — номер блока, число выплаченных «газ», дополнения по транзакции, также хэши элементов цепи.
Проверка на бирже
Для начала рассмотрим, как проверить транзакцию Ethereum на биржевой площадке (к примеру, Binance). При работе на бирже бывают ситуации, когда пользователь перечислил определенное число монет на адрес другого пользователя, но получатель утверждает об отсутствии средств на счету. Такая ситуация может свидетельствовать о задержке в обработке или зависании перевода по одной из многочисленных причин.
Чтобы определиться, в чем проблема, стоит проверить платеж как можно быстрее. Это особенно важно при работе на биржевой площадке, где из-за высокой волатильности стоимость криптовалюты меняется очень быстро. Рассмотрим, как отследить транзакцию Эфириума, на примере биржевой площадки Binance. Делаем следующие шаги:
- Справа вверху находит раздел «Актив», который стоит первым в ряду.
- Выбираем раздел «Протокол депозита и снятия наличных».
- Находим интересующую транзакцию и получаем сведения о ней — статус, наименования денежной единиц, число средств, ID и прочие данные. По желанию сведения можно загрузить в таблице Excel.
При возникновении трудностей можно написать в техпомощь и попросить необходимые сведения у них. Ключевая информация — ID операции или хэш.
С помощью специальных сервисов
Если платежи проводятся напрямую, их статус также можно проверить. Для этого применяются специальные сервисы. Вопрос в том, как отследить транзакции Ethereum с помощью таких площадок. Вне зависимости от сайта алгоритм действий остается неизменным — вход на площадку, поиск перевода по одному из предложенных значений и получение полного пакета данных по платежу.
Наиболее распространенный сервис — etherscan.io. Здесь можно изучить историю переводов и узнать о судье интересующей операции — проведена она или застряла в пуле. Сайт не имеет русскоязычного интерфейса, но разобраться с ним не составляет труда (в крайнем случае можно использовать встроенный в браузер переводчик Гугл). Чтобы проверить состояния перевода входим на сайт, после чего в правой верхней строке прописываем один из следующих параметров:
- Адрес операции.
- Уникальный номер перевода (Txhash).
- Номер блока с платежом.
- Токен или Ens.
Далее система выдает полную информацию по транзакции, а именно ID платежа, его состояние, время получения элемента цепи и его номер, адрес получателя и данные о размере операции. Здесь же прописывается предельное число «газа», которое установил отправитель, реально затраченный объём «горючего», а также цена одной единицы «gas». В распоряжении участника сети ряд дополнительной информации — актуальная цена платежа, номер п/п, указывающий на число проведенных переводов и дополнительная информация о сделке.
Отмена транзакции Ethereum
Если проверка операции показала негативный статус транзакции Эфириума, перевод оказался в зависшем состоянии. Здесь возможно два пути — дождаться проведения операции или отменить платеж. Причин зависания множество. Основные заключаются в низкой комиссии или повышенной загрузке криптосети. Чтобы вернуть платеж и установить больший объем «горючего», делаем следующие шаги (для Ethereum Wallet):
- Переходим в раздел Send Offline.
- В адресе отправителя прописываем номер бумажника, с которого передается Эфириум. Он должен быть аналогичен тому, что и в неуспешном переводе (указываем адрес той транзакцию, что планируем аннулировать).
- Вносим сведения в графу адреса получателя. Здесь можно прописать любой номер своего бумажника.
- В сумме отправки указываем число «ноль». При этом комиссионный платеж все равно придется произвести.
- Прописываем цену газа.
- В графе Nonce пишем параметр аннулируемой транзакции. Если ошибиться с номером, отмены не произойдет, а комиссия будет выброшена на ветер.
- Ожидаем, пока старый перевод отменится. На это уходит в среднем до пяти минут.
После этого можно снова оформлять транзакцию, но уже с правильным показателем комиссии. При этом желательно избегать часов пик, когда система не справляется с большим числом переводов в сети. При определении стоимости газа берем во внимание рекомендации на сайте ethgasstation.info.
Видео об отслеживании транзакции в сети Эфириум: