Простейший пример работающего смарт-контракта

«Что такое блокчейн? Что такое смарт-контракты? Покажите! Мы никогда не видели и не понимаем, что это такое!». Предлагаем вашему вниманию простейший пример функционирующего смарт-контракта в блокчейне Ethereum. Получите «тактильные ощущения» от соприкосновения с этой технологией.

 

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

 

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

 

«Блокчейн» состоит из большого числа узлов, отдельных компьютеров, в которых в многократно дублирующемся и многократно (многотысячекратно) избыточном режиме по одним и тем же правилам ведется одна и та же цепочка бухгалтерских записей, одна и та же цепочка транзакций, одна и та же «цепь блоков» (block chain). В связи с этим избыточным ведением записей и многократной проверкой правил ни одну запись в этой системе не подделать, ни один блок в этой цепи не подменить — потому что, если транзакция осуществлена с отступлением от правил, то она просто не будет согласована и принята другими узлами сети, и «выпадет» из блокчейна.

 

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

 

Простейший пример смарт-контракта, работающего в блокчейне Ethereum, доступен вот на этой странице: http://стратегическаясессия.рф/блокчейн. Для того, чтобы суметь повзаимодействовать со смарт-контрактом через эту страницу, необходимо установить в браузере специальное расширение MetaMask и открыть счет в блокчейне Ethereum: инструкции приведены по ссылке. Зайдя на страницу после установки MetaMask, вы увидите следующее (см. иллюстрацию):

 

Иллюстрация. Веб-интерфейс простейшего смарт-контракта «Поток слов», работающего в блокчейне Ethereum

Иллюстрация. Веб-интерфейс простейшего смарт-контракта «Поток слов», работающего в блокчейне Ethereum

 

Данный смарт-контракт называется «Поток слов», или PhraseFlow. Его функция — записывать все слова, точнее фразы, которые ему передаются любыми людьми или другими смарт-контрактами. Номер, точнее адрес смарт-контракта «Поток слов» в блокчейне Ethereum таков: x1e363978B040E367df0b550D9e76341d5617C700. Все данные об этом смарт-контракте вы можете получить в системе мониторинга Ethereum-блокчейна Etherscan по ссылке: https://etherscan.io/address/0x1e363978B040E367df0b550D9e76341d5617C700 (включая программный код этого смарт-контракта и перечень всех осуществленных транзакций). Программный код смарт-контракта на языке Solidity приведен на иллюстрации ниже.

 

Иллюстрация. Программный код смарт-контракта «Поток слов»

Иллюстрация. Программный код смарт-контракта «Поток слов»

 

В смарт-контракте «Поток слов» всего две переменных: архив слов flow и счетчик слов в архиве count. И всего две функции: одна по добавлению нового слова, точнее фразы в архив addPhrase (с синхронным увеличением счетчика слов в архиве); другая служебная «конструкторская» функция constructor, которая выполняется всего один раз, в момент запуска контракта, и которая в данном случае сводится к тому, чтобы «обнулить» счетчик слов в архиве.

 

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

 

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

 

Алексей Пан

 

Хотите узнать больше об инструментах стратегического развития, и о главном среди них — стратегической сессии?

Подпишитесь на нашу рассылку

Присоединяйтесь к сообществу «Директор по развитию» в фейсбуке: директорпоразвитию.рф

Присоединяйтесь к Telegram-каналу «Директор по развитию»: https://t.me/Chief_Strategy_Officer

Войти в библиотеку компании
713
Войти
в библиотеку компании