Чтение онлайн

на главную

Жанры

Разработка смарт-контрактов в Ethereum
Шрифт:

Например, для запуска вычисления криптографического хеша требуется 30 газов плюс 6 газов для хэширования каждых 256 бит данных.

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

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

в сеть.

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

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

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

Поэтому важно измерять эту работу, а не просто определять оплату в зависимости от размера транзакции или контракта.

Хотя газ – это единица измерения, нет никакого токена для газа.

То есть вы не можете владеть 1000 газами.

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

Когда дело доходит до фактической оплаты газа, комиссия за транзакцию взимается как определенное количество эфира – токена сети Ethereum.

Этим токеном майнеры вознаграждаются за создание блоков.

Сначала это может показаться странным.

Почему работа не измеряется сразу в эфире?

Ответ заключается в том, что эфир, как и биткойны, имеет рыночную цену, которая может быстро измениться.

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

Операция имеет стоимость газа, но сам газ также имеет стоимость, измеряемую в эфире.

Для перевода токенов с одного кошелька на другой требуется 21000 газа.

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

Для выполнения смарт-контракта также может потребоваться разное количество газа.

Выполнение вычислительных действий в виртуальной машине Эфириума стоит очень дорого.

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

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

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

Таким образом, комиссии защищают сеть от преднамеренных атак.

Эфириум представляет собой машину состояний, функционирующую посредством транзакций.

Разные счета инициируют переход Эфириума из одного глобального состояния в другое.

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

И есть два типа транзакций: сообщения и транзакции создания контрактов.

Можно сказать, что транзакции являются своего рода мостами между внешним миром и внутренним состоянием Эфириума.

При этом смарт контракты могут взаимодействовать друг с другом.

Контракты, существующие в глобальной области действия состояния Эфириума, могут взаимодействовать с контрактами внутри этой же области действия.

Они делают это посредством «сообщений» или «внутренних транзакций» в адрес других контрактов.

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

Их генерируют сами контракты.

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

Когда один контракт отправляет внутреннюю транзакцию на адрес счёта другого контракта, выполняется соответствующий код, прописанный в контракте-получателе.

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

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

Таким образом, газ – это единица, используемая для обозначения размера комиссии за определённое вычислительное действие.

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

Она измеряется в «Gwei».

«Wei» – это наименьшая единица эфира, 1 эфир = 1018 Wei.

Один Gwei равен 1 000 000 000 Wei.

Для каждой транзакции отправитель устанавливает лимит газа и цену газа.

Произведение цены газа и лимита газа даёт максимальное количество Wei, которое отправитель готов заплатить за выполнение транзакции.

Поделиться:
Популярные книги

Хозяйка лавандовой долины

Скор Элен
2. Хозяйка своей судьбы
Любовные романы:
любовно-фантастические романы
6.25
рейтинг книги
Хозяйка лавандовой долины

Беглец

Бубела Олег Николаевич
1. Совсем не герой
Фантастика:
фэнтези
попаданцы
8.94
рейтинг книги
Беглец

Сердце Дракона. Том 19. Часть 1

Клеванский Кирилл Сергеевич
19. Сердце дракона
Фантастика:
фэнтези
героическая фантастика
боевая фантастика
7.52
рейтинг книги
Сердце Дракона. Том 19. Часть 1

Возмездие

Злобин Михаил
4. О чем молчат могилы
Фантастика:
фэнтези
7.47
рейтинг книги
Возмездие

Я – Орк. Том 2

Лисицин Евгений
2. Я — Орк
Фантастика:
юмористическое фэнтези
попаданцы
аниме
5.00
рейтинг книги
Я – Орк. Том 2

Запретный Мир

Каменистый Артем
1. Запретный Мир
Фантастика:
фэнтези
героическая фантастика
8.94
рейтинг книги
Запретный Мир

Ратник

Ланцов Михаил Алексеевич
3. Помещик
Фантастика:
альтернативная история
7.11
рейтинг книги
Ратник

Восьмое правило дворянина

Герда Александр
8. Истинный дворянин
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Восьмое правило дворянина

Мир-о-творец

Ланцов Михаил Алексеевич
8. Помещик
Фантастика:
альтернативная история
5.00
рейтинг книги
Мир-о-творец

Гром над Академией. Часть 1

Машуков Тимур
2. Гром над миром
Фантастика:
фэнтези
боевая фантастика
5.25
рейтинг книги
Гром над Академией. Часть 1

Падение Твердыни

Распопов Дмитрий Викторович
6. Венецианский купец
Фантастика:
попаданцы
альтернативная история
5.33
рейтинг книги
Падение Твердыни

Кодекс Охотника. Книга IX

Винокуров Юрий
9. Кодекс Охотника
Фантастика:
боевая фантастика
городское фэнтези
попаданцы
5.00
рейтинг книги
Кодекс Охотника. Книга IX

Его маленькая большая женщина

Резник Юлия
Любовные романы:
современные любовные романы
эро литература
8.78
рейтинг книги
Его маленькая большая женщина

Камень

Минин Станислав
1. Камень
Фантастика:
боевая фантастика
6.80
рейтинг книги
Камень