Ultima

Криптоглоссарий

Что такое смарт-контракт и принципы его работы

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

Смарт-контракт в блокчейне

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

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

У каждого смарт-контракта есть дата и время выпуска: к этому моменту указанные в нем условия должны быть выполнены. Обычно в контракте предусмотрен обратный отсчет — расчет времени до дедлайна, к которому нужно задокументировать факт выполнения обязательств. Еще один термин, о котором вам нужно знать, — время запуска. Это дата и время запуска смарт-контракта. Устанавливается только для контрактов, которые запланированы на будущее.

Как работает смарт-контракт

Как работает смарт-контракт

Давайте представим, что Майкл хочет купить что-то у Джона. Для того чтобы зафиксировать свою договоренность, он предлагает Джону заключить смарт-контракт. Он будет звучать так: «Когда Майкл заплатит Джону такую-то сумму в такой-то валюте за такую-то вещь, он получит эту вещь таким-то образом». Изменить смарт-контракт после его запуска невозможно. Майкл перечисляет деньги на расчетный счет Джона, указанный в смарт-контракте, и лишь это действие означает, что контракт считается исполненным. Вещь отправляется к Майклу. Обе стороны сделки обошлись без банков, юристов и нотариусов — просто подписали договор на блокчейне. Этот пример смарт-контракта отлично показывает суть технологии.

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

Как создать смарт-контракт

Как создать собственный смарт-контракт?

  1. Подключитесь к сети, в которой будете создавать контракт. Чаще всего разработчики предпочитают смарт-контракты на Ethereum — они проще и известнее всего. Можете воспользоваться бесплатной учетной записью на любой платформе для разработчиков блокчейна.
  2. Создайте приложение и ключ доступа к нему. Это позволит начать работу в тестовой сети. Если используете Ethereum, можете выбрать в качестве тестовой сети Goerli.
  3. Создайте учетную запись в том блокчейне, на основе которого будет работать ваш смарт-контракт. Это может быть Ethereum, Polkadot (DOT), Ripple (XRP), Tron (TRX), Kirby (KBY) и так далее. Переключитесь на тестовую сеть, которую выбрали в предыдущем шаге. Получите коины или фрагменты коинов того блокчейна, на котором регистрируетесь.
  4. Создайте папку для смарт-контракта и загрузите среду для разработки программного обеспечения выбранного вами блокчейна. Для Ethereum это будет Hardhat. Создайте проект в этой сети, выберите «Пустой файл» и создайте несколько папок для вашего кода.
  5. Напишите код контракта. Мы не приводим здесь подробный код — он слишком объемный и найти его можно в интернете по первому же запросу.
  6. Подключите свои учетные записи в системах управления блокчейном из предыдущих шагов к смарт-контракту. Здесь вам и понадобится ключ из второго шага.
  7. Скомпилируйте смарт-контракт. Создайте сценарий его запуска в новой папке (это снова код — готовые образцы легко ищутся по ключевым словам), а затем попробуйте его активировать. Сигнал активации будет выглядеть примерно так: «Контракт отправлен на адрес…»

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

Сферы применения смарт-контрактов

Сферы применения смарт-контрактов

Как смарт-контракты используются в реальной жизни?

  1. Финансовые технологии

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

  1. NFT

Экосистема продажи невзаимозаменяемых токенов (то есть тех, которые существуют лишь в одном экземпляре и являются долгосрочной инвестицией) исчисляется в миллиардах долларов. Чаще всего покупатели и продавцы пользуются смарт-контрактом для совершения сделки. Еще контракты встраивают в игры с NFT: игроки платят за взаимодействие с объектами или за приобретение внутриигрового снаряжения, пользуясь технологией смарт-контрактов биткоина. Биткоин может заменять эфириум, поскольку многие контракты все еще написаны с использованием этого блокчейна и языка программирования Solidity.

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

  1. Юридическая отрасль

Смарт-контракты — это то же самое, что и юридические договоры. Поэтому они ярче всего проявляются в юридической отрасли. Технология блокчейн внедряется в компаниях, желающих максимально автоматизировать юридическую рутину, сэкономить бюджет на юридические услуги и оградить себя от рисков неисполнения договоров со стороны подрядчика. Так, например, смарт-контракты на «Кардано» используются бизнесом для того, чтобы зарезервировать (иными словами, заморозить) у оплачивающей стороны полную сумму за товар или услугу, а затем — забрать ее уже после выполнения обязательств второй стороны. Этот вариант юридического соглашения работает на ура. Его собратья — смарт-контракты на других блокчейнах — уже используются правительствами штатов США в юридической отрасли. В Аризоне, к примеру, предпринимателям официально разрешено создавать соглашения с использованием смарт-контрактов.

  1. Недвижимость

Тут все понятно: смарт-контракт фиксирует факт покупки объекта недвижимости и информацию о владельце. Но мир не стоит на месте, и сейчас в смарт-контракте можно зафиксировать информацию о продаже доли в недвижимости путем токенизации объекта и последующего разделения токенов. Примеры такого использования можно найти на платформе SolidBlock, созданной специально для владельцев недвижимости, регистрирующих свои сделки через блокчейн. Технологию уже взяли на вооружение в Грузии: одно из государственных ведомств этой страны с 2016 года пользуется реестром земельных прав, созданных при помощи блокчейна и смарт-контрактов. Похожий проект не так давно стартовал в Объединенных Арабских Эмиратах, одной из наиболее открытых к новым технологиям стран мира. Поэтому комиссия за ведение сделки, ее закрытие, иные отчисления брокерам и нотариусам в ОАЭ часто не взимаются: функции этих специалистов берет на себя смарт-контракт, написанный за полчаса.

Эксперты уверены: контракты, работающие на блокчейне (к примеру, смарт-контракты на ADA), способны изменить рынок аренды и ипотеки. В случае с арендой контракт может исполняться каждый месяц и действовать бессрочно до момента его принудительного закрытия. Это то же самое, что и настроенный автоматический платеж в банке, но с большей для собственника жилья гарантией на получение денежных средств. В случае с ипотекой смарт-контракт может отслеживать оплату долга, рассчитывать минимум, который кредитор должен заплатить за определенный промежуток времени, и сигнализировать банку о том, что очередной платеж не был проведен. Всю сумму за недвижимость контракт не заморозит — ее у должника еще нет. Но поможет сэкономить обеим сторонам сделки: банк будет уверен, что кредитор проверен блокчейном по определенным характеристикам, а взявший ипотеку человек — что ему не придется оплачивать дополнительные проценты и сборы, кроме уже оговоренных. И, конечно, отпадает потребность в юридических консультациях и их оплате, ведь все подтверждения берет на себя смарт-контракт.

  1. Управление предприятиями

В 2017 году в Делавэре вступил в силу законопроект, позволяющий создавать предприятия при помощи блокчейна и управлять ими с использованием смарт-контрактов. Это открыло новые двери для бизнесменов, ориентированных на инновации. Так в мире появились децентрализованные автономные организации — корпорации, право собственности на доли в которых указано в смарт-контрактах. Внутри таких компаний работают корпоративные структуры, автоматически реализуемые блокчейном. Например, бухгалтерия в таких организациях не пересчитывает административные расходы: их попросту нет, поскольку компаниям не нужно снимать офисы, проверять договоры с контрагентами и поставщиками, вручную высчитывать заработные платы, перечислять их сотрудникам и так далее. Вся рутина лежит на плечах (вернее, на коде) смарт-контрактов.

  1. Машинное обучение и новые технологии

Блокчейн и связанные с ним технологии облегчают сложные вычислительные задачи, стоящие перед разработчиками программ по машинному обучению. Смарт-контракты используются при создании искусственного интеллекта и его имплементировании в уже работающие сервисы. Они могут обрабатывать данные, обеспечивая результатам анализа безопасность, и встраиваться в другие системы с их последующим усложнением. Таким образом, смарт-контракты становится возможным применять в областях инвестирования, оценки рисков и даже предсказания цен на волатильном рынке. Контракты в машинном обучении не имеют отношения к крипте — здесь они просто «берут на аутсорс» огромный пласт работы разработчиков.

Примеры смарт-контрактов

Наиболее часто встречающиеся примеры применения смарт-контрактов — это внедрение данной технологии в юридические процессы, использование ее при крипторасчетах на биржах и при продаже NFT, а также при покупке и реализации объектов недвижимости. Это самые простые способы реализации потенциала, скрытого в смарт-контрактах, в современном мире. Более усложненные версии смарт-контрактов можно встретить внутри корпоративных систем, добивающихся автоматизирования рутинных задач.

Платформы для смарт-контрактов

Платформы для смарт-контрактов

Список платформ для смарт-контрактов включает в себя самые популярные криптовалюты мира: Ethereum, Polkadot, Hyperledger, Stellar и Tezos. Смарт-контракты работают и на биткоине, и на других альткоинах (то есть альтернативных токенах, любых коинах, кроме BTC).

Смарт-контракты на Ethereum

Смарт-контракты на Ethereum — это классика современного крипторынка. Ethereum, вторая в мире крипта по капитализации, была создана в 2013 году специально для разработки на ней смарт-контрактов. Сейчас каждый второй (если не каждый первый) контракт разрабатывается именно на этой криптовалюте. Тысячи приложений помогают пользователям получать недорогие кредиты и иные финансовые услуги, а также заключать соглашения с практически любым объемом условий.

Смарт-контракты на Bitcoin

Смарт-контракт на биткоине существует в отдельной от криптовалюты цепочке блоков. Он пользуется тем же доказательством передачи или работы, которое необходимо для функционирования «битка», но никак не вмешивается в криптомир. Такие контракты позволяют пользователям брать кредиты в стейблкоинах и заключать сложные соглашения с несколькими подрядчиками и множеством переменных. В качестве основного актива (так называемого «газового») разработчики используют коин Stacks; им оплачивают выполнение смарт-контракта майнерам, которые его подтверждают.

Смарт-контракты на Cardano

Смарт-контракты в сети Cardano можно создавать с 2021 года. Хостятся они в Cardano Alonzo — части сети, прозванной «убийцей эфириума». Каждый контракт состоит из двух уровней: расчетов (уровень переводов) и вычислений (уровень для создания новых соглашений). Благодаря этому разделению операции выполняются быстро и эффективно. Консенсус смарт-контрактов соответствует консенсусу самого блокчейна — это Proof-of-Stake, позволяющий отказаться от майнинга.

Смарт-контракты на ADA

Смарт-контракты на ADA — это то же самое, что смарт-контракты на Cardano. По своим характеристикам они превосходят контракты, работающие на эфириуме, поскольку разработчики ADA с самого начала хотели улучшить сеть ETH и превзойти ее мощности. Поэтому в смарт-контрактах ADA появилось два уровня: «эфир» до сих пор обрабатывает и обычные транзакции, и исполнение контрактов через один и тот же канал, что, правда, сказывается на скорости транзакций не лучшим образом.

Смарт-контракты на Dogecoin

Совсем недавно, в конце августа 2022 года, разработчики запустили Dogechain — сеть для хостинга смарт-контрактов на Dogecoin. Работают эти контракты точно так же, как и все остальные, уже перечисленные в этом материале. Но транзакции оплачиваются в DOGE, что довольно удобно для владельцев этой монеты. Однако Dogechain не имеет прямого отношения к самому коину, это сторонний продукт, и поэтому его нужно использовать с осторожностью.

Аудит смарт-контрактов

Аудит смарт-контрактов

Что такое аудит смарт-контрактов? Это подробный анализ смарт-контракта и его кода с целью найти баг либо подтвердить, что контракт полностью безопасен. Аудит нужно проводить раз в несколько месяцев или чаще — все зависит от того, с каким объемом смарт-контрактов вы работаете. В компаниях из финансовой индустрии, например, аудиторов приглашают постоянно. По итогам аудита специалисты, которые его проводили, выпускают подробный отчет и предлагают способы для решения обнаруженных проблем. Затем вы вносите в код (или не в код — зависит от того, что обнаружат аудиторы) изменения и ждете следующего отчета.

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