Содержание
- 1 Транзакции блокчейна Ethereum
- 2 Газ или gas: что это за параметр и как он рассчитывается
- 3 Транзакции Эфириума: как их проверить и отследить?
- 4 Можно ли отменить транзакции Эфириума? — Да
- 5 Что включают транзакции и их сообщения?
- 5.1 О блоках с инфоданными по всей совокупности транзакций блокчейна Ethereum
- 5.2 Оммеры: суть и роль
- 5.3 Заголовок блока: его содержание
- 5.4 Логи с инфоданными о транзакционных шагах и сообщениях
- 5.5 Квитанции транзакций: что она содержит?
- 5.6 Как сделать перевод без финансовых трат?
- 5.7 Как сложность блока связана с временем подтверждения транзакции?
Транзакции, то есть переводы Эфириума между адресами кошельков получателей и отправителей, совершаются с уплатой комиссионных. Цифра платы транзакции Эфириума плавающая — зависит от нагрузки на систему, исчисляется в единицах газ.
Транзакции блокчейна Ethereum
Платёж в структуре Эфириума означает отправку пакета с инфоданными с одного адреса на другой. Транзакция включает:
- Подпись отправителя.
- Адрес получателя Эфириума.
- Стоимость, заполняется в строке VALUE.
- Сумма монет — в строке wei.
- DATA — комментарий.
- GASLIMIT — всё число вычислений данной операции Эфириума.
- GASPRICE — комиссию, которую согласен оплатить отправитель за 1 ед газа.
- To — адрес криптокошелька пользователя, получающего перевод.
Газ или gas: что это за параметр и как он рассчитывается
Газ в Эфириуме, в количестве 1 единицы, сопоставим с запуском одной неделимой, иначе, атомарной, операции или вычисления.
Что такое ценность газа в блокчейне Эфириума? Зависит от готовности пользователя заплатить долю Эфира за расчёт 1 газа и измеряется в единицах Gwei, где:
- Wei — микродоля Эфира, а один ETH=1⁰¹⁸ в Wei.
- Gwei равен миллиарду Wei.
Человек, который совершает транзакцию — отправляет деньги, устанавливает и лимит, и стоимость газа. Произведение этих составляющих равняется максимальному Wei Эфириума.
Например:
- пользователь ставит gas limit 40 тыс. при цене 25 Gwei;
- следовательно, готов потратить тысячу триллионов Wei или 0,001 ETH.
При этом, лимит газа означает лишь максимальное количество, которое пользователь готов оплатить.
Практически, операция может обойтись дешевле, тогда неизрасходованный газ вернётся на счёт отправителя Эфириума, а обратный обмен совершится по ставке первого обмена — Эфира в газ.
Если же отправитель оформил транзакцию, но не смог предоставить газ для оплаты — операция в экосистеме Ethereum считается недействительной, а потраченный на попытку перевести средства газ не возвращается.
Перевести определённое количество газа в ETH можно на калькуляторе Эфириума, например, заглянув на ru.investing.com/crypto/gas/gas-eth-converter.
Как газ тратится на хранение данных?
Поняв, что такое gas, уплаченный за передачу средств в системе Ethereum, следует узнать, что газ, тратится на хранение данных Сети.
- Увеличение объёма хранилища влечёт расширение БД всех нод.
- Поэтому, протоколом экосистемы Эфириум предусмотрена стимуляция пользователей уменьшать данные до минимума.
- Когда, по итогам транзакции, объём данных получается сократить, то комиссионное удержание за операцию не начисляется и пользователю поступает компенсация за освобождение места.
Для каких целей удерживаются комиссии?
Газ, которым оплачена транзакция, поступает на счёт того майнера Эфириума, который обеспечил вычисления по конкретной операции. Это компенсация потраченных ресурсов. В свою очередь, майнер видит предложения оплаты за операцию и, в первую очередь, выбирает более дорогие.
Поэтому, когда есть необходимость ускорить транзакцию, владельцы Эфириума назначают повышенную комиссию.
Операции с минимальной платой могут оставаться в Сети довольно долго, пока не найдётся желающий обработать платёж. Одновременно, майнеры вправе публично заявить о минимальной желаемой стоимости платежа.
Транзакции Эфириума: как их проверить и отследить?
Отследить и выполнить проверку транзакций в Сети Эфириума можно с помощью сервисов:
- Etherscan.
- Etherapps.
- Etherchain.
- Ethercamp.
Когда требуется узнать id транзакции в блокчейне Ethereum или проверить состояние транзакции в Сети Ethereum, перечисленные сайты выполняют проверку по одинаковым алгоритмам и выводят равнозначную информацию.
Какой сервис использовать для проверки рекомендаций и транзакций Ethereum зависит от личных предпочтений к интерфейсу сайтов.
В окно поиска вводятся параметры платежа Эфириума — адрес криптокошелька, или токен, код операции, то есть, TxHash или номер блока хэша.
Поиск выведет данные, которые пользователь хочет узнать о платеже Ethereum:
- id то есть, идентификатор;
- статус перевода;
- объём;
- номер кошелька получателя;
- предельное количество газа, назначенное отправителем;
- фактически потраченный газ.
Кроме этого, станут доступны дополнительные параметры сделки.
Можно ли отменить транзакции Эфириума? — Да
Если загруженность blockchain Ethereum высока, а цена транзакции Эфириума назначена маленькая, то перевод может зависнуть на срок от нескольких часов до нескольких недель. Чтобы избежать подобной ситуации, нужно проверить на сайте ethgasstation.info статус Сети и рекомендуемую оплату.
Для отмены транзакции, также, потребуются данные с указанного сайта:
- Оптимальная текущая стоимость операции.
- № криптокошелька Эфириума, откуда был отправлен неудачный перевод.
- Nonce зависшего перевода.
![](http://mining-bitcoin.ru/wp-content/plugins/a3-lazy-load/assets/images/lazy_placeholder.gif)
- Во вкладке Send Offline, нужно выбрать тот номер кошелька Эфириума From Adress, с которого была отправлена зависшая транзакция и № адреса, куда будет отправлен новый перевод — этот номер To Adress может быть любым.
- Затем, в строке Value/Amound to Send указывается сумма Эфириума к отправке 0 (ноль) и в строке Gas Price комиссия в GWei.
- Следует учитывать, что, задавая комиссию в Wei, к сумме в GWei нужно добавить девять нулей. Например, 55 GWei = 55000000000 Wei.
Важно! В строке Nonce следует внести параметр именно той транзакции Ethereum, которую нужно изменить, иначе, операция отмены не получится.
После авторизации, останется нажать Send Transaction и зависший платёж Эфириума отменится.
Теперь, чтобы повторить отправку денег, нужно оформить новый перевод, не забыв внести рекомендуемое на данный момент количество газа.
Что включают транзакции и их сообщения?
Нередко, в интернете встречается понятие Машина Эфириум. Эта виртуальная структура функционирует за счёт транзакций — подписанных команд, которые генерируются внешним аккаунтом и отправляются в блокчейн.
Транзакции делятся на 2 типа:
- Просто сообщения.
- Создающие контракты.
Каждая транзакция охватывает уже описанные выше nonce, gasPrice, Wei, gasLimit и to.
Если транзакция Эфириума создаёт контракт, то его адрес остаётся пустым, а value, объём Wei — значит начальный баланс. Кроме этого, только здесь присутствует init — команда, представляющая фрагмент кода транзакции — EVM-code, которая совершается лишь раз.
Data является необязательной строкой, так как может как содержать комментарии, так и не заполняться.
Если речь идёт, например, о смарт контракте Эфириума, который регистрирует доменные имена, то сообщение будет содержать IP-address и имя.
О блоках с инфоданными по всей совокупности транзакций блокчейна Ethereum
Кроме внешних транзакций, поступающих в blockchain и представляющих собой мостики между внешними структурами и системой Эфириум. Есть и контракты, которые сообщаются только внутри машины — через уведомления или, так называемые, внутренние транзакционные передачи.
- Операции внутреннего типа производятся непосредственно смарт-контрактами, не связаны с внешними счетами и не отмечены таким параметром, как gasLimit.
- Узлы с данными обо всех переводах, объединены в криптоблоки и blockchain Эфириума, который представляет собой цепочку объединённых узлов.
В результате, block Ethereum складывается из заголовка, сведений о типах операций в Сети Эфириума — внешних и/или внутренних, заголовков прочих узлов, в частности, оммеров конкретного блока.
Оммеры: суть и роль
Оммером, на английском ommer, называется узел, чей исходный блок тождественен исходному блоку исходного узла конкретного блока. Интервал между узлами в Эфириуме около 15 секунд, что обеспечивает более высокую, чем, например, у Биткоина, обработку транзакций.
Однако в этом моменте кроется проблема. Майнеры Эфириума вычисляют много блоков-конкурентов, которые называются орфанами/потерянными, то есть, найденными, но не попавшими в цепочку blockchain.
Оммеры дают возможность майнерам включить орфан-block в общую цепь и получить вознаграждение. Для этого, оммер должен быть не старше, чем шестой от текущего узла. На оммер большего порядка ссылаться нельзя, поскольку он считается устаревшим, а связанные с ним транзакции усложняют сетевые операции Машины Эфириум.
Награда майнеру за оммер меньше, чем за обычный блок.
Заголовок блока: его содержание
Структура заголовка узла довольно сложная, складывается из:
- Parent Hash — № хэша исходного заголовка, то есть, непосредственно родительского блока.
- Ommers Hash — хэша перечня оммеров настоящего блока.
- Beneficiary — веб-адреса, куда зачисляется комиссия за вычисление узла Эфириума.
- State Root — хэша главного блока, так называемого, trie/дерева состояний, которое, в свою очередь, находится в заголовке и обеспечивает лёгким программным клиентам возможность проводить верификацию.
- Transaction Root – хэша trie/корневого узла Эфириума, охватывает все пересылки, записанные в этот блок.
- Receipts Root — хэша главного узла trie, с отчётами о всех транзакционных операциях рассматриваемого блока Эфириума.
- Logs Bloom/фильтра Блума — принципа построения информации, представляющего собой логи записей.
- Difficulty/сложности расчётов в Сети Эфириума, относящихся к текущему блоку.
- Number/номеру, принадлежащему конкретному узлу, при этом, № генезис-block равен 0, а каждый за ним следующий возрастает на единицу.
- Gas Limit — лимита газа, затраченного на этот блок.
- Gas Used — весь объём газа, потраченный на транзакции этого узла.
- Time stamp: UNIX — метку о времени рождения block.
- Extra Data: допданные для узла.
- Mix Hash — хэша Эфириума, который, одновременно с nonce, удостоверяет, что для конкретного блока было сделано необходимое число расчётов.
- Nonce — хэша, который вместе с mixHash, подтверждает достаточное число вычислений для узла.
Кроме этого, в заголовке каждого block присутствуют 3 структуры trie — статуса Рут(state), транзакций Рут(transactions) и отчётных квитанций Рут(receipts). Эти три структуры именуются patricia-деревьями Меркла — однонаправленными хеш-функциями.
Логи с инфоданными о транзакционных шагах и сообщениях
Логи помогают в отслеживании инфоданных транзакций и комментариев, генерируются при каждой операции. Включают:
- Адрес счёта.
- Темы действий, которые применялись при выполнении транзакций.
- Регистратора самого лога.
- Любые иные данные, связанные с отправкой.
- Место хранения логов — фильтр Блума.
Квитанции транзакций: что она содержит?
Для квитанций данные извлекаются из логов, содержат информацию об операции — № и хеш блока, хеш самой транзакции, потраченный газ, объём газа, задействованного в формировании узла, логи и другие данные.
Как сделать перевод без финансовых трат?
Единицы оплаты перевода допускается выставлять самостоятельно. Поэтому, установив не Gwei, а wei и назначив стоимость перевода в 1 wei за 1 gas, пользователь расплатится ничтожно малой суммой, стремящейся к нулю.
При цене 0 wei платёж не пройдёт, а при 1 wei осуществится с высокой вероятностью.
Такая ситуация обусловлена частичной наполненностью блоков максимально допустимым объёмом транзакций, эквивалентных 6,7 млн gas. Чтобы воспользоваться описанным приёмом — в MyEtherWallet следует открыть вкладку Send Offline/Оффлайн-перевод и выбрать единицы оплаты wei.
В общем случае, скорость транзакций повышается назначением более высокой оплаты в Сети Ethereum. Поэтому, ускорить важную транзакцию, Ethereum можно, назначив максимальную из рекомендуемых плат.
Как сложность блока связана с временем подтверждения транзакции?
Вычислительная трудность/сложность — термин, для описания времени, необходимого для подтверждения конкретного узла Эфириума.
- Генезис-блоку/первому, соответствовала сложность 131072.
- Для подсчёта всех последующих применяется спецформула. И если отдельно взятый узел прошёл валидацию быстрее предшествующего, то система Эфира корректирует сложность его расчёта в большую сторону.
- Аналогично происходит и при обратной ситуации. Если подтверждение очередного узла Эфириума должно занять больше времени, чем запланировано протоколом, сложность, автоматически уменьшается.
В результате, поддерживается постоянная скорость майнинга Эфириума, при которой один блок появляется в среднем, раз в 15 секунд.