- Транзакции Ethereum: как работают и как проверить
- Что такое транзакции Ethereum
- Содержимое транзакций Эфириума
- Понятие газа и его функция в сети Ethereum
- Значение лимита газа в транзакциях эфира
- Стоимость газа и ее влияние на скорость проведения транзакций
- Нюансы проведения транзакций в сети Эфириум
- Как проверить транзакцию Эфириум
- Способ отмены транзакции Ethereum
- Транзакции Эфириума: как отследить, проверить статус
- Как проходит транзакция Ethereum?
- Аккаунты
- Транзакции, сообщения и создание блоков
- Что такое газ?
- Какая комиссия взимается за перевод?
- Процесс перевода ETH
- Как зависит сложность от времени подтверждения транзакции Ethereum — базовые моменты
- Как отследить транзакцию Эфириум — лучшие способы
- Проверка на бирже
- С помощью специальных сервисов
- Отмена транзакции Ethereum
Транзакции Ethereum: как работают и как проверить
Далеко не каждый знает, что, в отличие от биткоина, изначальной функцией Ethereum (ETH) была не передача монетарной ценности, а только лишь обеспечение работы смарт-контрактов. Однако вскоре было замечено, что эфир вполне может использоваться как средство накопления, и разработчики внедрили возможность передачи стоимости путем проведения транзакции Ethereum.
Получилось всё, конечно же, не так просто и понятно, как у криптовалют, изначально предназначенных для пересылки средств. Но, изучив особенности транзакций в сети эфира, избежать ошибок при переводе средств с кошелька на кошелек сможет каждый.
Что такое транзакции Ethereum
Транзакции Ethereum — это операция по отправке подписанного пакета с данными, инициированная участником сети (аккаунтом). Под операцией имеется в виду пересылка какого-то количества ETH, запуск записанного в контракте кода (программы) или же создание нового контракта.
У любой транзакции Ethereum, за исключением создающих новые контракты, имеется адресат, то есть получатель. Им может быть внешний управляемый аккаунт (контролируется приватным ключем и может отправлять транзакции) или аккаунт-контракт (содержит код, который активируется транзакцией).
Как правило, говоря о транзакции Ethereum, большинство участников криптосообщества, не обладающих глубокими знаниями о блокчейне, имеют в виду пересылку средств от одного аккаунта к другому.
Содержимое транзакций Эфириума
Каждая операция по переводу Ethereum содержит стандартный набор данных:
- transaction hash (хеш транзакции) — уникальный номер, состоящий из цифр и букв латинского алфавита, использующийся для идентификации;
- номер блока, в котором записаны данные о транзакции;
- адрес кошелька (аккаунта), который является получателем;
- цифровая подпись, подтверждающая намерение отправителя провести транзакцию;
- value — количество эфира, которое пересылается (может равняться 0);
- gas limit — предельное количество газа, разрешенное для расходования на выполнение транзакции;
- gas price — установленная пользователем цена за единицу газа;
- gas Used — фактически использованное на обработку транзакции количество газа;
- transaction fee — плата за проведение операции;
- data — необязательное для заполнения поле, в котором можно указать сообщение для получателя.
Понятие газа и его функция в сети Ethereum
За проведение транзакции Ethereum отправитель должен оплатить комиссию майнерам, которые ее подтверждают и записывают в блокчейн. Эта оплата производится в единицах, которые называются «gas».
Gas (газ) — динамический показатель, выражающий объем вычислительных операций в блокчейне, выполняемых во время проведения транзакции. По сути это внутренняя валюта сети Эфириума, расходуемая на выполнение операций. Также можно провести аналогию с топливом, обеспечивающим движение пакетов данных внутри блокчейна эфира.
Значение лимита газа в транзакциях эфира
При отправке транзакции Эфириум пользователь указывает максимально возможное количество газа (gas limit), которое он готов потратить на ее проведение. Таким образом, он страхуется от чрезмерных комиссионных расходов в случае сбоев в сети.
Минимально необходимое значение газа для проведения транзакции эфира — 21000. Однако рекомендуется выставлять большее значение gas limit, с запасом, который даст уверенность в том, что транзакция завершится успешно.
Неизрасходованное количество газа всегда возвращается на баланс отправителя. Но если указанного лимита не хватит на успешное выполнение транзакции, она будет возвращена отправителю со статусом «failed» (неудачная). При этом он все равно заплатит комиссию майнерам, так как они расходуют определенные вычислительные ресурсы на обработку операции, независимо от ее результата.
Стоимость газа и ее влияние на скорость проведения транзакций
Цена газа (gas price) исчисляется в wei — самой маленькой неделимой частице Ethereum. Однако большинство веб-сервисов, кошельков и бирж отображают этот показатель в gwei (1 млрд wei) или непосредственно в ETH.
Комиссия, которая в итоге оплачивается за проведение транзакции рассчитывается путем умножения стоимости газа на его фактически использованное количество.
Цена газа не имеет фиксированных значений и устанавливается на усмотрение пользователя. При этом от указанного значения gas price будет зависеть скорость подтверждения транзакций: майнеры обрабатывают их в порядке очереди, которая формируется по принципу ценовой приоритетности — сначала самые выгодные, потом более дешевые.
Узнать актуальную стоимость газа и примерное время подтверждения Эфириум-транзакций при выборе разных вариантов можно на сайте ethgasstation.info.
Нюансы проведения транзакций в сети Эфириум
Для того чтобы Эфириум-транзакция прошла проверку со стороны сети и была исполнена, она должна соответствовать ряду требований:
- Транзакция проводится в формате RPL и содержит цифровую подпись отправителя;
- Статистика по числу исходящих операций, указанная в транзакции, совпадает с аналогичными данными в аккаунте;
- Количество газа, требующегося для проведения операции по пересылке средств, меньше или равно установленному пользователем лимиту;
- На балансе отправителя, кроме отправляемого количества ETH, имеется достаточно средств для оплаты авансовых комиссионных сборов (лимит газа умноженный на указанную пользователем стоимость).
Если все эти условия соблюдены, транзакция признается валидной (корректной) и принимается в обработку, которая состоит из следующих этапов:
- С баланса отправителя снимается аванс, а количество исходящих транзакций увеличивается на 1.
- Подсчитывается остаток эфира на счету аккаунта.
- Начинается непосредственная операция по переводу средств.
- Происходит обработка (подтверждение) транзакции майнерами.
- Транзакция завершается и ей присваивается статус «Success» (успешно).
- Отправитель получает обратно неиспользованный газ, а баланс аккаунта получателя пополняется пересылаемыми в рамках обработанного перевода средствами.
Также советуем вам посмотреть наше интересное видео о том, что планируют разработчики Ethereum:
Будущее масштабное обновление ЭфириумаКак проверить транзакцию Эфириум
Что проверить транзакцию Эфириум нужно:
- Знать хеш транзакции;
- Зайти на сайт обозреватель блоков;
- Ввести хеш транзакции.
Информация о каждой успешно подтвержденной транзакции Ethereum записывается в журналы (логи), хранящиеся в заголовках добытых блоков. Эти данные общедоступны и могут быть просмотрены кем-угодно.
Чтобы проверить транзакцию Эфириума, нужно воспользоваться специальным обозревателем блоков (эксплорером), такими как:
Детали любого перевода отобразятся в выбранном для этой цели эксплорере сразу же после ввода хеша (tx hash).
Если же идентификатора транзакции у вас нет, поскольку речь идет не о лично отправленных средствах, а о выводе с биржи, его всегда можно найти в разделе с историей депозитов/выводов.
Если в эксплорере указать хеш зависшей ETH-транзакции, которая долго не достигает адресата, в строке ее статуса будет отображаться «Pending» (обрабатывается). Там же можно будет увидеть предположительное время до ее завершения.
Также подобные сервисы предоставляют возможность просмотра баланса и истории транзакций аккаунта, начиная с самого момента его создания. Для этого нужно просто ввести адрес кошелька. При этом для всех транзакций будет отображено:
- Хеш;
- Номер блока, в который она включена;
- Возраст транзакции;
- Адрес аккаунта отправителя и получателя;
- Вид транзакции (исходящая/входящая);
- Количество переведенных средств;
- Комиссия.
Способ отмены транзакции Ethereum
Особенностью блокчейна эфира является возможность отмены транзакции, которая по какой-либо причине зависла и длительное время находится в статусе «Pending». Например, из-за указания слишком низкой цены газа или перегрузки сети.
Для этого нужно получить доступ к кошельку, из которого были отправлены средства, с помощью веб-сервиса MyEtherWallet (MEW), зайти в меню «Отправить», выбрать «Отправить офлайн» и сформировать транзакцию, которая отменит зависший Ethereum-перевод.
При этом указывается сумма отправки, равная 0 ETH, а в поле «Цена газа» вводится более высокое, чем в зависшем переводе, значение, рекомендуемое сервисом ethgasstation.info.
Ключевым моментом является правильное заполнение строки «Nonce» — сюда нужно вставить соответствующее значение из аналогичной строки в данных зависшего перевода. Этот параметр отображает порядковый номер ETH-транзакции, которую необходимо отменить. Если до этого в аккаунте было, например, 37 успешно завершенных переводов средств, Nonce зависшего будет равняться 38 (37+1).
Адрес получателя можно указывать любой, необязательно тот же, который был в отменяемой транзакции. После этого нужно нажать кнопку «Сгенерировать транзакцию» и подтвердить отправку.
Как только эта операция будет обработана, из истории аккаунта пропадет ранее зависший Ethereum-перевод, а пересылаемые в нем средства вернутся на баланс. При необходимости эти средства можно будет отправить повторно, не забыв указать цену за газ, которая обеспечит быструю обработку.
На первый взгляд, может показаться, что отправлять транзакции Ethereum довольно сложно. Некоторым пользователям, которые до этого работали с биткоином и другими криптовалютами с упрощенным представлением комиссионных сборов, понятие газа и влияние его цены на скорость обработки переводов дается трудно. Но, опробовав вышеописанную теорию на практике, а также приняв во внимание скорость и дешевизну транзакций, большинство приходит к выводу, что эти небольшие сложности Эфириуму вполне можно простить.
Источник
Транзакции Эфириума: как отследить, проверить статус
- Как проходит транзакция Ethereum
- Как зависит сложность от времени подтверждения
- Как отследить транзакцию — лучшие способы
- Отмена транзакции Ethereum
Транзакции Эфириума — операции по переводу криптовалюты с кошелька одного пользователя на бумажник другого участника виртуальной сети. Если говорить техническим языком, это подписанный пакет с данными, хранящий сообщение, направляемое между двумя внешними аккаунтами. При этом не всегда ясно, как проходят подобные сделки, в чем особенности стягивания комиссии (газа) и как посмотреть транзакции Ethereum. Эти и другие моменты рассмотрим ниже.
Как проходит транзакция Ethereum?
Когда один участник сети планирует перевести криптовалюту другому пользователю, он входит в свой криптобумажник, прописывает адрес получателя, размер направляемых средств и проводит транзакцию. В дальнейшем он надеется, что адресат получит виртуальные деньги без задержек.
Суть технологии блокчейн в том, что она не имеет центрального органа управления. Это значит, что при зависании платежа пользователю некуда обращаться. Но это лишь на первый взгляд. Существует много сервисов, позволяющих проверить статус транзакции Эфириум (на них мы остановимся подробнее ниже).
Кроме того, чтобы избежать задержек в платежах, важно знать принцип проведения операций в криптовалютной сети и их особенности.
Аккаунты
В сети Ethereum выделяется 2 типа аккаунтов:
- Внешние — имеют свой баланс, находятся под управлением ключей, способны проводить транзакции и активировать контракты. Код таких аккаунтов не привязан.
Любые перемещения в сети blockchain ETH активируются транзакциями, которые проводятся из аккаунтов пользователей. Как только в контракт проходит перевод, код запускается с учетом заложенной программы и входных данных (передаются, как составляющая операции). Реализация программного кода — задача EVM (виртуальной машины).
Транзакции, сообщения и создание блоков
Как отмечалось, платеж в сети Эфириум представляет собой пакет с информацией, включающей в себя сообщение для передачи между внешними аккаунтами blockchain. В состав транзакции входят:
- Данные о второй стороне сделки.
Подпись, идентифицирующая человека, осуществляющего перевод и подтверждающая намерение передать информацию через блокчейн другому пользователю.
Стоимость — число монет (wei), которые передаются участнику сети.
DATA (необязательное поле). Здесь может прописываться сообщение.
Лимит газа — предельное число расчетных операций для определенной сделки.
В контрактах Эфириум предусмотрена возможность передачи сообщений, а именно виртуальных элементов (находятся только внутри сети). В их состав входят:
- Сведения об участнике, который отправляет монеты.
- Информация о получателе.
- Число передаваемых 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.
Видео об отслеживании транзакции в сети Эфириум:
Источник