Еженедельный розыгрыш денег Участвовать

Как вычислить расходы в контрактах Эфириума?

Дата: 20.07.2017

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

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

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

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

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

Какова реальная цена?

Любая транзакция низкого уровня, выполняемая на компьютерах в экосистеме Эфириума, получила название OPCODE. К таковым относятся добавление пары целых чисел, разработка нового кодового контракта, получение баланса учетной записи и прочие опции. Каждая из перечисленных задач получила собственный эквивалент, соответствующий сложности, который также называют «газом». Газ Эфириума представляет собой выдуманное число, которое можно считать коэффициентом сложности операции. К примеру, для ADD потребуется три таких единицы, тогда как на MUL (представляет собой умножение простых чисел) нужно 5 газов, а поэтому второе вычисление является более дорогим.

Чтобы понять, сколько будет стоить та или иная опция, достаточно посетить «Yellow Paper» проекта Эфириум. Основная цена всех операций составляет 21 тысячу газов, а поэтому если вы не запланировали перевод средств и не включаете в работу «умный» контракт, стоимость такого пакета операций составит именно такую сумму. За любые дополнительные запросы придется платить отдельно.

Себестоимость «газа»

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

Чтобы лучше понимать структуру ценообразования в сети Ethereum, можно воспользоваться специальным ресурсом ETH Gas Station, который позволит ознакомиться с тонкостями работы на «газовом» рынке. Там есть специальный раздел, который объясняет среднестатистическим пользователям, какую стоимость операций лучше выбрать, а также предложено приблизительное соотношение цен и скорости сделок.

Хранение данных

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

Понятно, что хранение любых сведений в блокчейне – это дорогое удовольствие, но за безопасность приходится платить. Когда информация помещается в распределенный реестр, она располагается в неизменяемой среде, которая поддерживается десятками тысяч узлов. В зависимости от выбранного контракта Эфириума, помещение файла в блокчейн окажется очень дорогим, ведь с увеличением размеров реестра данные не должны потерять управляемость. Отметим, что для сохранения слова размером в 256 бит, потребуется около 20 тысяч газов, а это в 6 тысяч раз дороже, чем обычная операция сложения цифр.

Недостатком в платежной системе Ethereum принято называть отсутствие возможности хранить большие объемы информации, так как лимит применения газа в одном блоке составляет не более 4,7 миллионов единиц. Таким образом, для сохранения какой-то информации с емкостью в 1 Мб, потребуется свыше 132 блоков, и это если учесть, что весь ресурс будет потрачен на каждый из них, минуя другие операции.

Делаем выводы

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

Если вы разработчик – в ваших интересах знать о смарт-контрактах Эфириума абсолютно все. Поэтому важно понимать всевозможные затраты, с которыми придется столкнуться. Необходимо умело балансировать между сложностью хранения данных в реестре и за его пределами, используя характеристики блокчейна с максимальной выгодой для себя. Также нужно четко понимать, что на фоне снижения эффективности Ethereum и увеличения стоимости услуг, мы имеем дело с кодом, который не боится хакерских атак и демонстрирует потрясающую эффективность. Раньше такие характеристики были чем-то совершенно невозможным, но сегодня, когда технология блокчейн стала частью нашей жизни, мы можем эффективно использовать ее преимущества. Это случай, когда игра действительно стоит свеч.