Что надо знать перед созданием смарт-контракта для нового криптопроекта?
В настоящее время, для привлечения инвестиций в стартапы все чаще используется эмиссия собственных токенов через смарт-контракты в популярных блокчейн-сетях. Это позволяет привлечь широкую аудиторию потенциальных инвесторов с разным размером свободных капиталов.
Дисклеймер.
Данная статья предназначена для тех предпринимателей, которые хотят создать свой собственный базис для реализации идей с использованием блокчейна — распределенной системы управления и обработки записей. В статье предоставлены объяснения на пользовательском уровне, однако для более глубокого понимания рекомендуется обратиться к технической спецификации и профессиональным ресурсам.
Эта информация будет полезна тем, кто не обладает высокими техническими знаниями, но хочет спланировать свой собственный базис для воплощения своих идей в жизнь.
Базовые понятия.
Транзакция в блокчейне представляет собой действие или несколько действий по изменению записей. Условия выполнения транзакций описаны в виде программного кода, называемого смарт-контрактом.
Блокчейн можно рассматривать как единый компьютер с распределенными узлами, объединенными в единую сеть. В сети разные способы организации вычислений (Proof of Work, Proof of Stake, Proof of Authority и другие) , но важно понимать, что для совершения каждой транзакции требуется определенная затрата ресурсов, производительности и машинного времени, за что взимается плата в нативной криптовалюте данной сети.
Эта плата, как правило, называется газом или газовой комиссией. В некоторых сетях плата за транзакции фиксирована, а в большинстве сетей она зависит от сложности и объема вычислений.
Дополнительно к базовой криптовалюте, в блокчейн-сети могут существовать другие криптовалюты, которые также называют токенами. Токены используют функциональность материнской криптосети и оплата за транзакции с ними также производится в базовой криптовалюте.
С точки зрения пользователя, структура блокчейна представляет собой адреса с балансами, называемые кошельками, которые в простейшем случае содержат записи о балансе различных криптовалют. Эти кошельки обычно управляются вручную через наиболее распространенные приложения для управления криптокошельками.
Кроме того, адреса могут содержать исполняемый программный код, по сути, это те же самые кошельки, но с правилами обработки доступных криптоактивов.
Смарт-контракты могут различаться в зависимости от целей разработчика, но самым ярким примером являются децентрализованные криптообменные биржи, обрабатывающие переводы между криптовалютами и токенами. Важно отметить, что скомпилированный и запущенный смарт-контракт в нынешнем поколении криптосетей не может быть изменен. Для сложных и динамических блокчейн-решений часто используют несколько логически взаимосвязанных смарт-контрактов.
При создании криптопроекта с собственным токеном важно понимать, что работа данного токена полностью определяется начальным смарт-контрактом.
Этот контракт определяет правила эмиссии, оборота, уничтожения токенов и выполняет функции центрального банка для проекта. На основе базового смарт-контракта формируется токеномика проекта, которая включает в себя оффлайн-бизнес-процессы, зависящие от реализованных в контракте технологических возможностей и ограничений.
Адрес смарт-контракта.
При успешном выполнении смарт-контракта токена ему назначается уникальный адрес — генерируется уникальный кошелек, и происходит начальная эмиссия токенов в количестве, указанном в программном коде. В том же смарт-контракте прописывается полное наименование токена проекта, его буквенно-цифровой код и количество десятичных знаков после запятой.
Если в программном коде не указано иное, то адрес, с которого был вызван смарт-контракт, становится адресом-хозяином смарт-контракта, а объем токенов, равный начальной эмиссии, зачисляется на этот же адрес.
Важно знать, что наименование и буквенно-цифровой код могут не быть уникальными, уникальность имеет только адрес смарт-контракта. Некоторые мошенники используют это, продавая новые криптовалюты неопытным пользователям, которые имеют такие же названия, как популярные криптовалюты, но имеют другие адреса смарт-контрактов.
Количество десятичных знаков после запятой.
Количество десятичных знаков, необходимых для токена, зависит от специфики проекта. Обычно количество знаков существенно меньше максимально допустимого значения — 18. Некоторые проекты, такие как системы онлайн голосования, могут не использовать десятичные знаки вообще и просто выдавать токены в соответствии с количеством доступных голосов.
В других проектах, таких как сырьевые биржи, токен может представлять физическую величину, такую как «тонна металла», где девятый знак после запятой может иметь большую финансовую ценность, особенно для ценных металлов, например, золота.
Типы эмиссии.
В зависимости от задач и целей проекта может быть выбрана закрытая/ограниченная или открытая эмиссия токенов. При закрытой/ограниченной эмиссии будет выпущено только то количество токенов, которое было заложено в смарт-контракте. При открытой эмиссии можно использовать соответствующую функцию в работающем смарт-контракте для эмиссии дополнительных токенов с адреса-хозяина смарт-контракта по мере необходимости.
Сжигание токенов.
В смарт-контракте может быть предусмотрена функция «сжигания» токенов, которая позволяет уничтожать некоторое количество токенов. Эта функция может быть полезной в проектах, где имеется соответствие с реальными объектами внешнего мира.
Например, в случае онлайн-голосования, когда участник прекратил своё членство, его токены больше не должны быть в обороте. Функция «сжигания» токенов позволяет удалять их из общего количества в обращении и тем самым регулировать их количество на рынке.
Пауза смарт-контракта.
Смарт-контракт может содержать функцию паузы, которая позволяет адресу-владельцу приостановить все операции, связанные с токеном и возобновить их в нужный момент. Эта функция может быть полезна в случае обнаружения уязвимости в программном обеспечении или злонамеренной атаки.
Однако необходимо помнить, что включение функции паузы дает полномочия владельцу контракта управлять ею самостоятельно, что может не подходить для всех случаев использования и не соответствовать бизнес-логике проекта.
Блокировка.
В зависимости от бизнес-логики проекта, смарт-контракт может содержать функцию блокирования, которая позволяет добавлять адреса в чёрный список. После блокировки адреса на нём становятся недоступными операции с токенами проекта.
Часто в чёрный список включают адреса, принадлежащие владельцам, которые совершают действия в ущерб проекту или используют кошельки для незаконных целей. Однако, в некоторых случаях для некоторых токенов может быть лучше не использовать эту функцию.
Как и функция паузы, использование чёрных списков ведёт к централизованному управлению, что может быть нежелательно в некоторых случаях.
Токеномика с налогообложением.
Смарт-контракт может включать дефляционную модель, которая соответствует бизнес-логике проекта. Это означает, что при каждой транзакции часть пересылаемых токенов может быть удержана автоматически в пользу заранее определенных смарт-контрактом адресов. Этот внутренний механизм налогообложения позволяет регулировать количество токенов в обращении.
Также можно настроить автоматическое сжигание токенов при каждой транзакции. Если установлены и налоговая, и сжигающая функции, то это называется супердефляционной моделью. Такой функционал полезен в случаях, когда необходимо регулировать количество токенов в обращении, не только выпуском новых, но также удержанием и/или сжиганием избыточных токенов.
Сложность и стоимость транзакций.
При планировании токеномики в рамках смарт-контракта необходимо учитывать, что чем более сложным является смарт-контракт, тем больше простых транзакций происходит в сети при вызове его методов. Как уже было отмечено, это может привести к увеличению стоимости сетевой комиссии при совершении транзакций с токенами. Поэтому при разработке бизнес-логики и реализации смарт-контракта проекта желательно на ранних этапах максимально оптимизировать основные задачи.
Безопасность кода.
Дальнейшим этапом планирования является обеспечение безопасности кода смарт-контракта. Важно найти правильный баланс между простотой и надежностью кода, включая функции, которые обеспечивают высокий уровень операций.
В блокчейне есть много примеров ошибок в коде смарт-контрактов, начиная с самых ранних дней и заканчивая последними упущениями, когда ошибки в коде приводили к потерям сумм свыше сотен миллионов долларов.
Чтобы избежать таких проблем, для новых смарт-контрактов рекомендуется проводить аудит безопасности у известных на рынке криптовалютных агентств, занимающихся исследованиями в области безопасности блокчейн-решений.
Наиболее известные из этих организаций начинают цены на услуги тестирования и аудита кода уже запущенного смарт-контракта от десяти тысяч долларов США и могут длиться несколько месяцев в сложных случаях.
Следует быть осторожным с шаблонами смарт-контрактов, которые широко распространены в сети, так как они могут скрывать или даже не учитывать критические уязвимости.
Когда планируется новый смарт-контракт, необходимо учитывать, что его исходный код придется опубликовать в сети для всеобщего доступа. Также нужно пройти аудит безопасности от уважаемого агентства, чтобы гарантировать доверие и безопасность.
В случае вывода нового токена на большинство централизованных криптобирж, аудит безопасности кода является одним из основных требований для листинга.
Правовое мнение на основе реализованного функционала.
При выводе новых токенов на листинг важно определить, является ли токен security или utility токеном, что зависит от правовой оценки токеномики проекта. Некоторые виды токенов считаются security token и подлежат более суровому регулированию со стороны центральных банков, министерств финансов, комиссий по ценным бумагам и финансовым рынкам в соответствии с законодательством большинства юрисдикций.
Кроме того, известные криптобиржи также требуют Legal opinion о токеномике вместе с аудитом безопасности. Стоимость составления правового мнения на международном уровне от юридических компаний с хорошей репутацией зависит от юрисдикции, сложности кода смарт-контракта и концепции токеномики, и может начинаться от десяти тысяч долларов.
Учитывая вышесказанное, при разработке токеномики и смарт-контракта необходимо также учитывать те технические функции кода, которые могут быть трактованы как действия по акциям. Например, выплата держателям токенов определенного объема при использовании дефляционной токеномики или при использовании различных механизмов распределения накопленных токенов в соответствии с различными внутренними налоговыми ставками.
Даже если описание токеномики в Белой книге (WhitePaper) проекта не предполагает подобного, но эта функция заложена в коде, при составлении правового мнения о проекте необходимо учитывать, что токен содержит в себе механизм акций.
Заключение.
Перечисленные выше рекомендации не являются полным списком, однако они позволяют спланировать на этапе разработки основные функциональные возможности на уровне программирования базовых функций смарт-контракта, которые затрагивают правовые аспекты и бизнес-особенности всего проекта в целом.
инстаграмм | ЮТУБ | телеграмм
Я запустил реалити-шоу «покупаю ВИЛЛУ НА БАЛИ ЗА 200$ в месяц».
Инвестирую каждый месяц в биткоин и показываю, как сделаю 1500% прибыли. (Повторив результат 2021 года)
Расписал стратегию с суммами от 80 до 2000$ в месяц, в закрепе.
Дарю вам доступ в закрытый телеграмм канал. Где я раскрываюсь больше, как автор для вас.