Транзакции Эфира (Ethereum) — что в них входит и как расшифровать

Почему Эфириум не просто еще одна криптовалюта? Попробуем на пальцах объяснить его преимущества и принцип действия.

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

Для того, чтобы понять принцип работы Эфириума, нужно понять принцип работы блокчейна.

Что такое блокчейн?

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

— Если данные заносятся в блокчейн, они не могут быть изменены или удалены. Каждая запись остается в базе навсегда.

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

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


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

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


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

Что хранится в блокчейне?

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

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

Эфир – это не просто валюта наподобие долларов, рублей или биткоинов.

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

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

Транзакция зависла. Как отменить неподтвержденную транзакцию?

Причиной зависания транзакции могут стать такие факторы:

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

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

  • убедиться, что биткоины действительно зависли. Возможно,просто еще не подошла очередь вашей транзакции. Для этого необходимо открыть Block Explorer. Даже если система демонстрирует кнопку «Неподтвержденная транзакция», еще не все потеряно,
  • перейти в отладочную консоль в кошельке btc (Помощь-Окно отладки-Консоль),
  • получить приватный ключ от требуемого биткоин-адреса: dumpprivkey . Вместо вставляют адрес, который использовался для отправки денежных средств. Пользователь в таком случае получает приватный ключ для конкретного адреса кошелька. Его не рекомендуется хранить в доступном месте. Знание ключа обеспечивает полный доступ к счету,
  • экспортировать приватные ключи адресов (если на других адресах присутствуют биткоины),
  • закрыть клиент, удалить кошелек, когда экспорт ключей завершен: размещение кошелька wallet.dat зависит от конкретного биткоин-клиента, вида операционной системы. Конечно, удалять его не нужно, лучше переместить в другое место, переименовав заранее,
  • перезапустить клиент, он создаст кошелек заново: полученные ранее ключи необходимо импортировать. Затем в отладочной консоли нужно прописать importprivkey . Импорт может занимать достаточно много времени. В любом случае, этому процессу нужно позволить завершиться,
  • в новом кошельке отображается счет с его текущим состоянием: неподтвержденные транзакции здесь недоступны. Что касается заблокированных средств, они снова могут использоваться для отправки. После этого их можно отправлять другим пользователям вновь. Однако на этот раз не нужно забывать указывать рекомендуемую комиссию.

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

Как же работает Эфириум?

Как и любому другому блокчейн-продукту, Эфириуму необходимо, чтобы его ПО непрерывно работало на тысячах компьютеров. На каждом компьютере (узле) сети запущена Ethereum Virtual Machine (EVM – виртуальная машина Эфириума). Фактически EVM – это операционная система, использующая специальный язык программирования и исполняющая специфические программы. Эти программы носят названия «смарт контрактов». Чтобы этот огромный компьютер выполнил какую-либо операцию, нужно заплатить, но не долларами, а криптовалютой данной системы, то есть эфиром.

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


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


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


Сила смарт-контрактов

Представьте, что вы заключаете спор на $100 о завтрашней погоде с другом по переписке: он считает, что завтра будет солнце, а вы – что будет дождь. Проигравший должен отдать победившему $100. Как гарантировать, что проигравший сдержит слово? На ум приходят 3 способа:

Взаимное доверие

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

Подписание формального договора

Казалось бы, решение найдено: вы подписываете официальное соглашение, обязывающее проигравшего выплатить заявленную сумму победившему. Мы заверяем его и спокойно делаем свои ставки. На практике же в случае конфликта сторон вы потратите немало времени на суд и кучу денег на юристов, что сделает весь процесс слишком затянутым и дорогостоящим.

Помощь доверенного лица

Ну и третий вариант — мы могли бы найти «общего друга», надежного гаранта, которому вы оба доверяете. На следующий день он посмотрел бы в окно и отдал бы $200 выигравшему спор. Все легко и просто. Но только что, если гарант все-таки украдет деньги?

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

Именно здесь вам на помощь придет смарт-контракт Ethereum. Смарт-контракт — это «общий друг», гарант сделки в лице исполняемого кода. Эфириум позволяет воспользоваться программой, которая возьмет с вас обоих по 100 долларов, а на следующий день проверит погоду и переведет 200 долларов победителю спора.

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

Однако, возникает еще один вопрос: как выполняется смарт-контракт и как он интегрирован в блокчейн?

Каким образом смарт-контракт интегрирован в блокчейн?

Каждый раз когда смарт-контракт исполнен, информация об этом записывается на лист (блок) как транзакция. На высоком уровне процесс выглядит так:


Процесс записи информации о смарт-контракте как транзакции является уникальным, и именно эта функция отличает Эфириум от других платформ.

В Эфириуме встречаются три типа транзакций:

Перевод от человека человеку

Перевод эфира по типу «human sender — human recipient» ничем не отличается от перевода Bitcoin. В этом случае поле данных остается пустым.

Перевод эфира без получателя

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

Перевод эфира смарт-контракту от пользователя сети

Если человеку (или смарт-контракту) нужно запустить исполнение смарт-контракта, по адресу последнего нужно направить транзакцию и прописать условия его исполнения в поле данных.

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

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

Немного о комиссии в сети Эфириума

Оплата услуг сети Ethereum несколько отличается от традиционных комиссий Биткоина. Здесь для этого используется отдельная единица расчета, которая называется gas (газ). Пользователи не владеют этой единице и не могут ее накопить. При каждой оплате услуги в сети ее стоимость вычисляется, исходя из курса обмена gas/ETH. Поскольку комиссии в сети Эфира невысокие, то стоимость газа рассчитывается в миллиардных долях Эфира – Гвеях (gwei).

На каждую услугу установлены расценки в газе. Так, добавление второго адреса оценивается в 3 gas, расчет хешрейта – 30 gas, осуществление перевода крипты – 21 тысяча gas.

Расчет размера комиссии производится следующим образом. Максимальный лимит газа (GasLimit = 21000) множится на его стоимость (скажем, 20 gwei). Получаем простую задачку: 21000х20=0,00042 ETH. Этот расчет завязан на максимальный размер комиссионных. В реальности услуга может стоить меньше, тогда «сдача» будет зачислена обратно на кошелек отправителя. Если же пользователь хотел сэкономить и указал слишком маленький размер комиссии, то подтверждение операции может и не произойти, тогда плата за перевод также будет ему возвращена.

А что такое «газ»? О нём я что-то слышал

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

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

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

Впоследствии газ конвертируется в эфир по определенному курсу.

Для исполнения смарт-контракта, необходимо заранее определить максимально возможное количество уплачиваемого газа. Есть два условия остановки исполнения контракта:

— Доведение его до конца и завершение алгоритма,

— Нехватка газа.

Отмена транзакции

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

Пример отмены операции с помощью Ethereum Wallet:

  1. Переход к строке From Address.
  2. Указание номера бумажника (с которого отправлялся ETH). Важно правильно прописать адрес и проверить корректность строки.
  3. Внесение сведений в строчку To Address. В этой графе указывается любой номер бумажника (к примеру, адрес дополнительного хранилища на Ethereum Wallet).
  4. Заполнение графы Value. Здесь указывается сумма для перечисления другому пользователю. В графе прописывается ноль, но даже при указании такой цифры придется заплатить небольшой объем Газа (комиссии) за транзакцию.
  5. Указание цены Газа (сумма прописывается в единицах измерения Gwei).
  6. Прописывание параметра отменяемого перевода в графе Nonce. Если ошибиться с номером, отменить сделку не получится. Комиссия расходуется впустую, пользователь просто потеряет деньги.
  7. Ожидание отмены прошлого перевода (до пяти минут).

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

Понравилась статья? Поделиться с друзьями:
Добавить комментарий