Что происходит, если у меня недостаточно энергии для выполнения смарт-контракта
Продолжаем серию статей о криптовалютной экосистеме Tron. И сегодня мы расскажем о том, чем разработчику или пользователю смарт-контрактами грозит недостаток Energy. А заодно напомним, что это такое, как Energy можно получить бесплатно, чтобы избежать описанных в этой статье неприятностей при взаимодействии с смарт-контрактами.
Что такое Energy для блокчейна
Ряд особенностей этой платформы мы обсудили в предыдущих публикациях, но повторение не повредит тем, кто только что к нам присоединился.
Итак, мы выяснили, что сеть Tron поначалу предназначалась для разработчиков и пользователей децентрализованных приложений – Dapps. Поэтому она изначально строилась по принципу блокчейна. Это значит, что все блоки с закодированной информацией доступны для каждого пользователя сети. То есть информация хранится не на удаленных серверах, а на устройствах пользователей, находящихся в множестве точек по всему миру.
Казалось бы, такая система открыта для мошенников и различных злоупотреблений. Но подумайте сами: чтобы получить информацию с сервера, взломать его придется один раз при любой сложности и надежности защиты. А вот чтобы получить информацию блокчейн-платформы, взломать надо все устройства, на которых хранится информация, а у блокчейн-платформы Tron более 140 млн. пользователей. На это не хватит ни времени, ни ресурсов ни у одного злоумышленника.
Злонамеренным действиям противостоит как сама структура и алгоритмы блокчейна, так и пользователи сети. Система предоставляет своим пользователям возможность контролировать транзакции и добавлять новые блоки после тщательной валидации. Для этого существует многоступенчатая система выборов валидаторов. Первоначально проводится голосование за делегатов, потом – за кандидатов в представители, затем за кандидатов в суперпредставители. А вот из них система автоматически каждые 6 часов выбирает 27 валидаторов. Учитывается в том числе срок бесперебойной работы узла, который представляет валидатор, и объем заблокированной им крипты.
Задача валидаторов-участников сети – проверять транзакции, исключая злонамеренный спам и добавлять новые блоки. Для этой цели они используют свой компьютер, а предварительно проходят несложное обучение.
Обеспечение целостности блокчейна – это главная цель валидации. Суперпредставители являются последней и решающей структурой демократического управления сетью, поскольку имеют право не только разрешать конфликты, но и голосовать по техническим моментам, вопросам организации взаимодействия между участниками, а также по положениям, связанным с комиссионными начислениями и квотами по ресурсам.
Кстати, ресурсы в сети Tron ничем не отличаются от тех, которые используются на других блокчейнах – это Energy and Bandwidth. Первый компенсирует расход сети по предоставлению участнику вычислительных мощностей, а второй – используемый трафик.
На какие же операции используются эти ресурсы? Ими оплачиваются комиссии на простые транзакции (Bandwidth and TRX), а также комиссии любому виду взаимодействия с смарт-контрактами (TRX, Energy andBandwidth). Мы специально поставили в перечисление TRX – токены нативной валюты экосистемы Tron. Потому что комиссию за трафик и вычислительные ресурсы можно оплачивать и криптой. Но это не выгодно, и лучше использовать для этой цели ресурсы.
Bandwidth and TRX используются для оплаты комиссий при совершении простых транзакций с помощью токенов TRC-10. Но в этой теме мы не будет на этом останавливаться, поскольку обсуждаем разработку и взаимодействие с смарт-контрактами, на которые требуется такой ресурс, как Energy.
Почему мы уделяем гораздо меньше внимания ресурсу Bandwidth? Потому что каждый день каждый зарегистрированный (имеющий аккаунт разного уровня) участник сети будет получать бесплатно определенный объем этого ресурса. Если вам этого объема не будет хватать, его можно купить за TRX или получить бесплатно.
Energy не восстанавливается блокчейном бесплатно. Этот ресурс надо или оплачивать криптой или получить бесплатно.
Вот уже второй раз мы говорим, что ресурсы в сети Tron можно получить бесплатно. Но как это выполняется на практике?
Что значит Energy для смарт-контракта
Если коротко и образно, то этот ресурс – топливо для смарт-контракта. Смарт-контракт – это по сути децентрализованное приложение, в котором открытым кодом записана программа взаимоотношений. Алгоритм этой программы состоит из условий по типу if…then. И почему это лучше, чем обычный договор, изложенный на бумаге – там ведь тоже можно записать «если… то…»
Записанные на бумаге условия можно трактовать по-разному в зависимости от уровня профессионализма юриста. То есть, проверенный и подписанный договор могут передать третьим лицам, если кто-то нарушил условия контракта или нашел уловку для отказа от выполнения какой-либо части. Например, в суд, арбитраж и т.д.
Смарт-контракт после «подписания» сторонами не подлежит обсуждению. Полнота исполнения программы контролируется автоматически. В процесс разработки смарт-контракта и дальнейшего взаимодействия не вмешиваются третьи лица.
Преимущества смарт-контракта в том, что он не требует доверия сторон, может охватывать любую сделку в различных сферах, прозрачен, поскольку это открытый код, с которым ознакомиться может каждый участник блокчейна, безопасен в плане точного исполнения условий и получения вознаграждения, компенсации, товара, объекта недвижимости или искусства и т.п.
Иногда сущность смарт-контракта иллюстрируют примером с оплатой банковской картой покупки в магазине. Вы выбираете товар, касса выбивает стоимость, с карты снимаются средства для перечисления их из банка в торговое учреждение, после подтверждения транзакции (снятия с карты средств) вы получаете свои покупки. Да, здесь тоже всё автоматизировано, действует алгоритм с условиями «если… то», и вы также не получите товар, если на карте будет недостаточно средств (разве что доплатите наличными). Но это не совсем корректное сравнение, поскольку здесь присутствует человеческий фактор, огромное количество дополнительного дорогого оборудования и отсутствует комиссия за вычислительные мощности (комиссия на покупки по QR-коду – это оплата услуг Службы быстрых платежей, но это совсем другие отношения и еще более дорогое оборудование).
Для разработки смарт-контракта и взаимодействия с ним вам необходимо устройство с выходом в сеть блокчейна – и всё. Ах, да, еще запас такого ресурса, как Energy, чтобы оплачивать комиссию за транзакции.
Как получить Energy бесплатно
В сфере криптовалюты сейчас существует две модели её получения с личные закрома – майнинг и стейкинг. На первой модели не будем подробно останавливаться, скажем только, что для майнинга крипты необходимо дорогое оборудование и много электроэнергии. Помимо того, что для большинства желающих заняться майнингом это дорого, процесс требует еще и изучения не самой простой технологии. Стейкинг доступен большинству владельцев смартфонов, планшетов и персональных компьютеров с не самой дорогой «начинкой».
Потому что модель стейкинга криптовалюты – это её своеобразное распределение между всеми участниками блокчейна. Да, стейкинг крипты – это тема децентрализованной сети.
Мы уже говорили, что Energy можно купить, но тратить токены крипты TRX на покупку ресурсов – не рациональное решение. Ведь Energy можно получить бесплатно как вознаграждение за то, что часть своих накоплений в TRX вы предоставляете в пользование блокчейну. Не волнуйтесь – только на время, с сохранением их на вашем балансе в полном объеме.
Зато за отправку TRX на заморозку вам будет начисляться Energy, если вы выберете именно этот ресурс в качестве вознаграждение за предоставление своей крипты. Tron устанавливает минимальное время заморозки и объем токенов. А максимум зависит от вашего желания и возможностей. Это и есть стейкинг в его пассивной форме.
Активная форма стейкинга – это участие в голосовании за делегатов от куста на все уровни вплоть до суперпредставителей. Приглашение к участию в голосовании вы можете получить, даже просто регулярно откладывая в заморозку часть TRX для получения ресурсов для собственных нужд. Кстати, так можно получать и Bandwidth. Просто при блокировании части TRX выберите через интерфейс кошелька вид ресурса или оба.
При активном стейкинге ваша «добыча» может быть значительно больше. Здесь всё зависит от того, какого уровня вы достигли на пути от пользователя до суперпредставителя и количества TRX, которые вы блокируете в счет общей крипты от узла. Зато в этом случае у вас есть возможность пополнить свои запасы не только ресурсами, но и криптой, поскольку вознаграждения дается как за участие в голосовании, так и за добавление блоков.
Если пользователь блокчейна Tron занимается смарт-контрактами в любом виде – как разработчик или представитель стороны смарт-контракта, он должен иметь значительный запас Energy, поскольку все транзакции при взаимодействии с смарт-контрактами оплачиваются комиссионными в виде Energy.
Особо стоит отметить тех разработчиков и потребителей, кто занимается децентрализованными приложениями Dapps, включая финансовые децентрализованные приложения DeFi. Как правило они представляют пакет смарт-контрактов, для взаимодействия с которыми потребуется не1-2 транзакции, а значительно больше – от 10 и выше. А значит, и Energy для компенсации вычислительных ресурсов, которые предоставит на это время сеть, потребуется больше.
К чему приводит недостаток Energy для смарт-контракта
А теперь давайте рассмотрим варианты, которые может предпринять блокчейн-платформа Tron, если в процессе выполнения смарт-контракта окажется, что у вас истощились запасы Energy. Выбор сети зависит от конкретной ситуации, во многом – и от наполненности вашего кошелька.
Использование TRX для оплаты выполнения
Будьте готовы к тому, что, если у вас есть запас токенов TRX, то экосистема Tron даже не будет вас предупреждать, когда до завершения взаимодействия с смарт-контрактом у вас закончится Energy. Она просто продолжит взимать комиссию за последующие транзакции в криптовалюте Tronix прямо с вашего кошелька. Чем больше окажется недостача Energy, тем больше токенов TRX сожжет сеть.
Неудачное выполнение контракта
И описанный выше вариант – не самый неприятный. В конце концов непредвиденные расходы разработчик может запросить с заказчика, а стороны смарт-контракта распределить между собой.
Гораздо хуже, если при работе с смарт-контрактом или Dapps у вас не хватит ни Energy для компенсации вычислительных ресурсов, ни TRX, чтобы продолжить оплату транзакций, не прерывая взаимодействия с смарт-контрактом или Dapps, которые, как мы уже выяснили, могут представлять пакет смарт-контрактов.
В этом случае прервется не только транзакция, система покажет ошибку с недостачей ресурсов и крипты, а смарт-контракт аннулируется. Конечно, ресурсы и TRX, которые были оплачены за предыдущие транзакции по этому смарт-контракту, не будут возвращены, ведь вычислительные ресурсы были использованы разработчиком. Чем сложнее смарт-контракт, тем больше Energy и TRX он рискует потратить без ожидаемого результата.
Потенциальная блокировка средств
Варианты нехватки Energy и TRX при взаимодействии с смарт-контрактами, описанные выше, – это просто потери ваших запасов. Просто? Что может быть хуже?
Блокировка средств. Блокчейн может расценить результат прерванной разработки как частично выполненный контракт – и заблокирует средства на вашем кошельке или кошельках сторон смарт-контракта до его полного завершения.
Как избежать проблемы недостатка энергии
Есть несколько простых способов, которые исключат недостаток ресурсов во время разработки или взаимодействия с смарт-контрактами.
1. Отправляйте на стейкинг (в заморозку) больше нативной крипты – это самый доступный для всех участников способ получения of Energy. Чем больший объем токенов TRX вы блокируете, тем больше такого важного ресурса для компенсации вычислительных средств вы получите для эффективной и безопасной разработки смарт-контрактов, вплоть до сведения стоимости всех транзакций к нулю.
2. Предварительно правильно оценивайте сложность смарт-контракта с учетом всех транзакций и стоимости комиссии за их проведение. Правильное определение количества ресурсов для каждого конкретного смарт-контракта способствует «заготовке» Energy в достаточном объеме.
3. Контролируйте баланс of Energy в вашем кошельке. TronLink – это «родной» кошелек, в котором отражаются доступные ресурсы и крипта в данный момент. Проверяйте наличие и количество Energyкаждый раз, как приступаете к разработке смарт-контракта или децентрализованного приложения. Планируйте транзакции каждого смарт-контракта заранее.
Определение стоимости выполнения контракта
Разработчикам смарт-контракта необходимо знать, какое количество Energy требуется для взаимодействия с каждым конкретным смарт-контрактом, и не использовать данные предыдущих работ или средние данные.
Разработчики смарт-контрактов или децентрализованных приложений должны сообщить потребителям точные цифры расхода ресурсов, чтобы они заблокировали часть крипты для получения достаточного количества Energy.
Планирование ресурсов
Активным разработчикам и пользователям смарт-контрактов следует использовать возможности блокчейн-платформы Tron, которая предоставляет возможность замораживать значительные объемы нативной крипты для получения в том числе и ресурса Energy. Вы сохраните свои токены TRX и обеспечите бесплатные транзакции даже при работе со сложными смарт-контрактами. А главное – исключите все неприятные варианты, которые может вызвать недостаток средств для комиссионных.
Подводя итоги, отметим главное: если вы разработчик или пользователь смарт-контрактов или децентрализованных приложений, на вашем балансе должно быть достаточное количество of Energy, которое следует контролировать. В противном случае вы рискуете оплатить часть транзакций нативной криптой – и это в не самый неприятный вариант. Еще хуже, если транзакцию отклонят, а смарт-контракт блокирует как не выполненный полностью.
Чтобы избежать этого, планируйте расход of Energy на каждый смарт-контракт, а не используйте средние данные на основании предыдущего опыта. Чем активнее вы участвуете в работе со смарт-контрактами, чем сложнее ваши разработки, тем больше должны быть у вас в кошельке запасы of Energy.
Last updated