Транзакции Ethereum – руководство по проверке, подтверждению и отмене платежей

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

Стремительный рост популярности цифровых денег вызвал обратный эффект – миллионы пользователей перегружают сети, скорость при этом падает до минимума, и мы уже описывали на сайте, как эту проблему решает Биткоин. Давайте теперь посмотрим, как проконтролировать и ускорить транзакции Ethereum.

Транзакции Ethereum

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

Итак, вначале рассмотрим парочку сервисов, где можно проверить транзакции Ethereum, после чего начать исправлять ситуацию при появлении проблем.

Популярным и удобным является Etherscan.io, где достаточно ввести адрес кошелька или номер перевода для получения всей нужной информации:

сервис Etherscan

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

Вторым по посещаемости, но не информативности, идет Etherchain.org, где можно увидеть не только как идет подтверждение транзакции ethereum, а и подробную информацию о добытых блоках с подключением к пулам.

сервис Etherchain

Где задерживаются платежи?

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

  1. Вначале требуется проверить транзакцию эфира на корректность адресов кошельков и наличие необходимой суммы. При успешной проверке, информация уходит на общий для всех memory pool, откуда ее заберут майнеры.
  2. Все, что майнеру получается «забрать», он должен поместить внутри найденных им блоков с уникальными идентификаторами (хешами). Затем из них формируются новые цепочки блокчейна, а ему выплачивается вознаграждение за работу.

последовательность блоков в блокчейне

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

Как видим процесс конкурентный, возникает закономерный вопрос: по какому принципу происходит фильтрация наиболее выгодных операций из memory pool? Ответ прост – исключительно по размеру комиссии, которая здесь называется «газом» (Gas).

Откуда берется и как рассчитывается Gas?

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

Лимит gas * стоимость за единицу

Одна единица равна 20 GWEI или 0,000000001 Ethereum. Чтобы не переплачивать, можно посмотреть транзакции за последние год-полтора: средняя комиссия на уровне 25-40 GWEI для подтверждения следующими 3-4 блоками, 50-60GWEI при пиковых нагрузках и ICO-проектов.

Можно самостоятельно задать нужный объем комиссии. Проверка транзакции эфира через сайт ETH Gas Station поможет оценить вероятную скорость исполнения.

сайт ETH Gas Station

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

Как уменьшить время обработки?

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

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

Так что лучше дождаться снижения нагрузки. Если даже после этого транзакции eth будут постоянно задерживаться вероятнее всего проблема с количеством газа:

  • Нужно как можно точнее рассчитать какой уровень Gas’а должна быть задан. Например, установлен лимит в 50 000, а было достаточно 25 000. Все сделано правильно, проверка транзакции Эфириума пройдет успешно, найдет свой блок и вернет остаток. Но если было необходимо больше, то платеж будет отменен.
  • Узнайте заранее, какую комиссию поставить для выполнения смарт-контракта или покупки токена. Иначе придется проводить операцию несколько раз, постоянно заглядывая в блокчейн эфириума, чтобы посмотреть, прошли ли транзакции или нет.
  • По умолчанию для переводов между кошельками установлен максимальный лимит 21 тыс. Gas. Проще говоря, купить или перевести средства, выгоднее всего через стандартные транзакции Эфириума, без оформления smart-контракта.

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

способ отмены транзакции

Второй перевод делаем по тем же реквизитами, что и первый, меняя два параметра: сумму устанавливаем в нуль, номера в поле Nonce обязательно должны совпадать.

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

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

Подводя итог, отметим, что создатели платформы решают проблемы масштабирования совместно с сообществом. 10 марта 2018 года была запущена система Plasma, где можно быстро проверить транзакцию Эфириум не выходя из кошелька, плюс ускорить время обработки в несколько раз без увеличения средней комиссии.

Понравилась статья? Подпишитесь на обновления:
Ссылка на основную публикацию