Раз мы затронули тему Ethereum, я бы хотел вкратце рассказать и о ней, хотя тема вполне достойна отдельной книги. Как я уже писал выше, придумал и реализовал платформу Виталик Бутерин, сын российских экспатов, которые переехали в Канаду. Его отец занимался высокими технологиями и как-то раз рассказал сыну про Bitcoin. Виталик, с детства увлекавшийся компьютерами и математикой, сначала посомневавшись, все же с интересом взглянул на технологию, найдя в ней не только достоинства, но и недостатки. Первый деятельный интерес проявился в соавторстве и издании электронного журнала Bitcoin Magazine, выпускавшегося им при содействии румынского программиста Михая Алиси. Результатом погружения в суть процессов и переосмысления концепции биткоина стала своя white paper революционной платформы Ethereum, которая давала более широкий простор для творчества и раздвигала границы сфер применения критовалюты.
Основное новшество платформы – это реализация предложенной Ником Сабо концепции смарт-контрактов или умных контрактов, представляющих из себя программный код для автоматического исполнения договоров, алгоритм переноса коммерческих контрактов с бумаги на язык кода (при наличии подготовленной среды, в которой возможно исполнение кода). Кстати, Java-подобный язык программирования Solidity, применяемый для написания смарт-контрактов, является тьюринг-полным языком, а значит, при правильном применении способен реализовать любую вычислительную функцию. Язык был предложен соратником Виталика Гэвином Вудом и доработан командой Solidity для использования в виртуальной машине Ethereum – среде исполнения смарт-контрактов и децентрализованных приложений. Смарт-контракт, однажды выложенный в сеть, нельзя изменить. Это важное свойство, дающее и достоинства, и недостатки. При обнаружении ошибок в коде изменить их не удастся. Придется создавать новый контракт. Также важным свойством смарт-контракта является неукоснительное выполнение условий сторонами, особенно обязательства внесения оплаты плательщиком. Только факт поступления средств от плательщика на адрес смарт-контракта может запустить механизм его реализации. Опять же, если речь идет об исключительно виртуальном, цифровом взаимодействии, плательщик может быть уверен, что при своевременной и полной оплате он получит то, за что платил.
Самым распространенным смарт-контрактом на сегодня является контракт создания токена, и это неудивительно. Эфир позиционировался как площадка для проведения краудсейлов – массовых продаж для сбора средств на реализацию проектов и идей. Простейший контракт токена был описан Виталиком сразу при выпуске платформы и включал минимум программного кода. Упрощенно это выглядит так: вы выбираете название токена, объем эмиссии, количество знаков после запятой, курс обмена эфира на свой токен и ряд других значений, далее загружаете контракт в блокчейн Эфира, при этом оплатив небольшую комиссию и оставив немного средств на исполнение контракта. Теперь любой желающий, пославший эфир на адрес смарт-контракта (аналогичный адресу кошелька), получит взамен N-ное количество токенов, исходя из ранее заданных параметров. Если все токены распределены – контракт перестает функционировать, но при этом он никогда не исчезнет из блокчейна Эфира. Далее собранные в Эфире средства идут на реализацию проекта, под который велся сбор. При определенных навыках программирования контракт можно усложнить дополнительным функционалом – сжиганием непроданных токенов, добавить возможность дополнительной эмиссии, предусмотреть дивиденды на токен, заблокировать часть из них на какое-то время и т. д. При всем при этом контракт создания токена и контракт краудсейла могут быть разными сущностями. В сети существуют коллекции подобных смарт-контрактов и даже конструкторы, позволяющие новичку создать свой контракт за несколько минут – как платно, так и абсолютно бесплатно. Следует учесть аспекты безопасности при использовании сторонних библиотек смарт-контрактов. Код может содержать уязвимости, сделанные неумышленно либо специально, с помощью коих злоумышленник может похитить средства, находящиеся на адресе смарт-контракта. То же касается и приватных цифровых ключей адреса-владельца контракта. Их компрометация может также привести к потере средств.
Но сфера применения смарт-контрактов не ограничивается созданием токенов. В одной из последующих глав мы пофантазируем на тему недалекого будущего, в котором массово применяются смарт-контракты. Однако уже сейчас мы можем встретить десятки примеров применения технологии в реальной жизни. Первый пример – это контракт-нотариус. Может использоваться для удостоверения прав владения текстами, фото или видео путем проставления временной метки на загруженном в специальное хранилище файле и также выдавать цифровой сертификат. Есть примеры реализации завещаний на смарт-контракте, верности копий документа или подтверждения неких фактов. Необходимо учесть, что зачастую работа таких контрактов невозможна без участия третьей стороны – Оракула, программы, человека или устройства, контактирующего с внешним миром и проверяющего или поставляющего данные для одной из сторон смарт-контракта. Это может быть сайт с информацией о курсах валют, компьютер с датчиками, судья на соревнованиях. Вторым ярким примером применения смарт-контрактов является игровая индустрия – прием ставок на события, лотереи, казино, а также создание компьютерных игр. Третьей сферой применения нельзя гордиться, но тем не менее смарт-контракты используют для создания финансовых пирамид на основе схемы Понци. Пока есть новые участники, схема будет работать, независимо от воли первоначального автора. Часто такую пирамиду называют честной, не забывая добавить оговорку «возможно». Четвертой, но первой по обороту криптовалюты среди проектов можно назвать нишу биржевой торговли. Существуют десятки обменников и бирж, работающих на некоей совокупности смарт-контрактов. Такие комбинированные контракты принято называть децентрализованными приложениями Dapps. Популярный сайт-библиотека смарт-контрактов и Dapps stateofthedapps.com содержит почти 2000 записей децентрализованных приложений и управляющих ими смарт-контрактов. Пятый пример – инвестиционный пул для участия в некоем проекте. Проводится сбор для выкупа минимальной доли недвижимости или вклада в перспективное ICO.
В Ethereum существует понятие «газ» (англ. gas) – это внутреннее топливо для осуществления транзакций внутри этой системы. Это не токен, его нельзя отдельно купить и хранить на кошельке, но при переводах монет или исполнении смарт-контрактов эфир, находящийся на кошельке, тратится на закупку газа внутри системы. Цена газа формируется исходя из загруженности сети. Чем более загружена виртуальная машина, тем дороже газ для последующих транзакций.
Хочется упомянуть, что мой личный интерес к криптовалюте был подпитан идеями, реализованными на платформе Эфир. Именно широкий простор для применения в различных сферах, помимо просто перевода неких цифровых активов с кошелька на кошелек, сделал меня приверженцем идей Бутерина. Многие называют Ethereum криптовалютой 2.0, тогда как биткоин был криптовалютой 1.0. Следуя этой логике, нас ждет еще много поколений новых проектов криптовалют от 3.0 и до бесконечности.