Смарт-экономика и смарт-контракты
Смарт-экономика и смарт-контракты
Когда-то биткойн открыл дорогу криптовалютам и стал блокчейном 1.0. Биткойн нравится всем нам, он является хранилищем ценности и платёжным средством (кстати,
криптовалютная биржа Cryptex всегда предлагает хороший курс на Биткоин), но ему недостаёт одной очень важной особенности. Если я хочу заплатить сантехнику Венедикту Ивановичу за починку крана, да, я могу перевести ему биткойн. Если же я увидел у него запорожец и предлагаю купить, но готов отдать деньги только когда владение машиной перейдет мне, нам придётся использовать смарт-контракт. Биткойн годится для тех случаев, когда мы знаем чей-то адрес, готовы самостоятельно его вбить и перевести деньги. Но если другая сторона нам тоже что-то должна, мы не верим ей, и хотим тоже что-то автоматически получать в обмен на отправку денег, мы нуждаемся в какой-то системе, которая бы контролировала и осуществляла выполнение этого обмена. Ник Сабо, криптограф из США, ввёл и сформулировал основные понятия смарт-контрактов ещё в 1994 году. Но на тот момент не существовало технологий, способных помочь в воплощении этой идеи. В 2009 такая технология появилась, вместе с биткойном. Но хотя возможность воплощения и была зашита в самом биткойне, на практике оно было непригодно к использованию, и непригодно до сих пор.
Прошла ещё пара лет, прежде чем Виталик Бутерин понял эту проблему и разработал первую платформу смарт-контрактов на блокчейне Ethereum. Тем самым он открыл дорогу для смарт-экономики. Что такое смарт-экономика, спросите вы? Это экономика, в которой информация приравнивается к ресурсам, и информационные технологии внедряются во все бюрократические, организационные и производственные процессы. Проще говоря, мы оцифровываем все, что только можно, все архивы, все документы, и переносим все в базы данных, которые доступны из любой точки мира. Разумеется, не в открытом доступе, но тем не менее, чтобы любой, кто обладал нужным ключом, мог получить доступ к любой записи за секунду. И регулируем все посредством специальных программ. Смарт-контракт, это и есть такая программа, которая выполняет определенное действие при наступлении определенных условий. Допустим, когда в блокчейне изменилось значение на каком-то адресе. Или с какого-то адреса была произведена транзакция на другой, и т.д. По сути, смарт-контракты убирают необходимость в третьем лице, в юристе, регистрирующем сделку, в ведомстве, которое записывает ваше имущество в реестр вручную, в фонде, который при получении пенсии заставляет вас приносить кучу документов, в ЗАГСе, который регистрирует брак. Все это можно убрать, заменив смарт-контрактом.
Цифровые идентификаторы
Но у всего у этого есть один очевидный момент. Блокчейн анонимен, все что в нем есть - адреса, а любые государственные структуры не работают с анонимностью, им нужна идентификация всех субъектов права, с которыми они работают. Поэтому важной характеристикой системы смарт-контрактов должно быть наличие таких цифровых идентификаторов - набора характеристик, по которому система может дать доступ к определенным данным или операции какому-то внешнему источнику. Идентификатор может быть присвоен человеку, организации, приложению или даже устройству. Главное, чтобы это был уникальный идентификатор, и чтобы его нельзя было поменять или получить новый в той же системе. Это было бы чем-то вроде цифрового паспорта.
Сейчас цифровые идентификаторы есть на нативном уровне в блокчейнах NEO и ETP Metaverse, а в Ethereum и Qtum они реализуются как сторонние проекты, использующие возможности сети. Но в любом случае, на любом из этих блокчейнов это реализуемо.
Оракулы
Еще одной важной особенностью смарт-контрактов является то, что для связи с внешним миром им нужно получать информацию от доверенных источников. Блокчейн - замкнутая система, вся информация поступает ему только от внутренних узлов, для выполнения нужен только консенсус майнеров. Но для любых контрактов, применимых в реальном мире, нам нужен ввод из реального мира, что несовместимо с блокчейном. Для этого и существуют оракулы - смарт-контракты, являющиеся посредниками между сторонними данными извне блокчейна, и приложения, выполняемого на блокчейне.
К примеру, мы делаем сервис по букмекерским ставкам на конный спорт. Что нужно? Нам нужно, чтобы смарт-контракт брал информацию о результатах конного забега, из внешнего мира, и с соответствии с результатами распределял призовой фонд. Для этого нам понадобится не один оракул, потому что в блокчейне, как в децентрализованной системе, не должно быть доверия одному источнику, из-за риска подделки или предоставления неверных результатов, которые могут навсегда остаться в блокчейне. Обычно получение результатов реализуется через запрос к сети оракулов, и результат появляется после их консенсуса. То есть, чем больше сеть оракулов, тем меньше шанс подделки данных. В нашем примере с букмекерами смарт-контракт берет данные из нескольких оракулов, привязанных к разным сайтам со спортивными результатами.
Но разумеется, это не ограничивается лишь таким примитивным использованием.
Ни в одной сети смарт-контрактов оракулы пока не реализованы нативно. Сейчас есть несколько платформ для создания оракулов, в первую очередь это Oraclize, входящий в консорциум Enterprise Ethereum Alliance. Также есть ChainLink и Blocksense, которые сейчас только разрабатывают свой продукт. Также соответствующие разработки ведут IBM и Microsoft.
Недостатки смарт-контрактов
Главный недостаток смарт-контрактов состоит как раз в том, чего обычно лишен блокчейн: в человеческом факторе. Программы пишутся людьми, а человек может допустить ошибку в написании кода. Блокчейн неизменен, а значит любой контракт, попавший в блокчейн, останется там навечно. И если он написан с ошибкой, исправить ее уже не получится. Если в коде есть уязвимость, то это может достаточно дорого стоить. Все еще помнят, что случилось с DAO, одним из главнейших проектов Виталика Бутерина. DAO, первая децентрализованная автономная организация, являлась децентрализованным фондом, созданным для финансирования проектов и приложений на Эфире и не только. Инвесторы, отославшие в DAO свои Эфиры, получали токены проекта, и могли использовать их для голосования, проект получивший достаточное количество голосов (20%), получал финансирование из фонда. Некий пользователь взломал DAO, использовав ошибку в коде контракта, ту часть, которая возвращала инвестору его эфиры в обмен на токены, а затем регистрировала транзакцию в сети. Он запустил рекурсивный код, который просто запрашивал эфир в обмен на токены, а до регистрации транзакции запрашивал обмен тех же токенов, и снова и снова. В результате, ему удалось вывести из DAO 15% всего существующего эфира вообще, и это привело сообщество к необходимости хардфорка, в результате которого появился еще и Эфириум Классик, то есть, та цепь, которая не признала возврат средств от хакера пользователям законным. Это навсегда стало примером, почему коду контракта, исполняемого на блокчейне, должно уделяться особенное внимание по безопасности.
Применение смарт-контрактов в будущем
Многие считают, что смарт-контракты - это следующая глава и в бизнесе, и в государственном управлении. Возможности по оптимизации всех производственных и бюрократических процессов, которые сейчас протекают медленно и неэффективно из-за необходимости каждый раз долго проверять и подготавливать документацию, а затем и контролировать выполнение процесса. Применений может быть множество: любые договора между компаниями, покупка-продажа недвижимости, банковский бизнес, голосования, логистика, страхование, букмекерство, и это далеко не полный список. Эфириум (ETH), Нео (NEO), Метаверс (ETP Metaverse) и QTM возможно будут системами, на которых будет строиться это будущее. Возможно, правительства сделают свои собственные системы смарт-контрактов, мы этого не знаем. Бутерин встречался с Путиным, Сбербанк делает проекты на Эфириуме. Ходят слухи, что китайское правительство обращает внимание на NEO, что неудивительно, учитывая, что китайцы обычно поддерживают свои китайские компании.
В любом случае, ближайшие пару лет мы увидим значительные сдвиги в этом направлении, и это очень хорошо.