Jump to content
Sign in to follow this  
JK

Описание учета издержек Контракта консенсусного выполнения VDS

Recommended Posts

С определенной точки зрения суть смарт-контракта - это байт-код. С помощью этих байт-кодов реализуются логический переход, вычисление, хранение и другие функции. На примере создания группы VDS 3-го поколения скомпилированный байт-код составляет 42 697 байт, который не включает в себя начальные настройки, например, название группы, правила группы и объявление группы. Самая дорогая часть—создание контракта (GasPrice, умноженный на GasLimit, является эффективной расходной частью, как в сети ethereum)

 

Эти 42 697 байт содержат логику, вычисления и типы данных группы 3-го поколения VDS, которые не могут быть дополнительно сокращены. Исключая колебания сети, загрузка этих данных в цепочку будет занимать 5 600 000 * 0,0000004 = 2,24 Vollar. Дополнительные данные, такие как название группы, правила группы и объявление группы, также необходимо преобразовать в код и рассчитать. То есть, чтобы обеспечить успешное выполнение контракта, вы должны заплатить достаточные Gas.

 

0,0000004 Vollar устанавливается в качестве нижнего предела GasPrice, в то время как остальное настраивается в соответствии с GasLimit. В GasLimit также есть ограничение, которое означает, что мы не можем добавить слишком много содержимого в смарт-контракт и выполнить его. Бесконечные циклы, такие как полоса Мёбиуса, никогда не могут быть выполнены в смарт-контракте, так как они превысили верхний предел 50 000 000 Vollar.

 

Количество Gas, необходимое для выполнения смарт-контракта, также варьируется в зависимости от способа выполнения смарт-контракта, сложности смарт-контракта и объема данных, которые необходимо изменить и сохранить. Даже если мы примем минимальный способ выполнения (также называется «Пустой функцией»), это будет стоить 21 000 GasLimit, преобразованных в плату за обработку в 0,0000004 * 21 000 = 0,0084 Vollar. Стоимость заключения контракта OTC составляет 260 000 * 0,0000004 = 1,04 Vollar, стоимость исполнения контракта 45 000 * 0,0000004 = 0,018 Vollar. Точность стоимости контракта OTC составляет около 0,001 Vollar.

 

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

 

Метод внешнего обращения контракта

 

 Текущий групповой интерфейс включает в себя настройки: название группы, групповое объявление, правила группы, плата за вход в группу, образ транзакции (то есть торговые пары, которые админ может изменять и не это не будет влиять на фактическую транзакцию), “Не нуждается ли в одобрении администратора для входа в группу”, отказ от заявки о входе в группу, удаление членов группы, массовое разрешение входа в группу, увеличение верхнего предела членов группы, индивидуальная заявка на вход в группу, отмена индивидуальной заявки на вход в группу, выход из группы, увеличение залога группы, снятие залога группы.

 

Кроме некоторых из типов запросов, плата за контракт требуется для всех вышеупомянутых интерфейсов.

 

Рассматриваем настройку названия группы в качестве примера. Если наименовало группу «Я * 100», эта операция записана как «A». Тогда размер сгенерированного кода составляет 841 байт, а стоимость газа - 271 338 (Газ - это метод расчета стоимости, который специально используется для расчета стоимости контракта. Минимальная единица Vollar - шатоши, 0,000004 - 40 шатоши, 271 338 что означает 271,338 единиц из 40 шатоши. Плата за обработку составляет 271,338 * 0. 0000004 = 0,1085352 Vollar.

 

На основе операции A измените имя группы на «Я» и запишите эту операцию как «B». Размер сгенерированного кода составляет 201 байт, а стоимость газа составляет 41 915, плата за обработку 41 915 * 0,0000004 = 0,0016766 Vollar.

На основе операции B переименуйте имя группы в «Я» и запишите операцию в качестве C. Стоимость газа составляет 33 260, плата за обработку 33 260 * 0,0000004 = 0,0013304 Vollar.

 

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

 

Вывод

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

Теперь для создания группы тратится около 2 Vollar. Создание контракта OTC вряд ли можно оптимизировать. Что может быть оптимизировано, так это интерфейс вызовов по контракту, например подтверждение получения суммы, можно рассчитать по цене около 0,02 Vollar в раз.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×