Ethereum-блокчейн и его использование на практике
Привет, Хабр! На связи Wirex, финтех стартап, предоставляющий услуги платежей и денежных переводов с использованием blockchain, минимизируя банковское посредничество. И мы продолжаем цикл статей, посвященных Ethereum и связанным с ним проектам. В предыдущих выпусках мы рассказали о том, как Ethereum вышел на передовую мира блокчейн, а также о том, как устроена децентрализованная автономная организация The DAO (которая, кстати, в прошедшую пятницу была взломана и теперь будет закрыта с возвратом средств инвесторам). Сегодня поговорим о практическом применении Эфириума. Но для начала несколько слов о блокчейне в общем и о том, как Ethereum позволил блокчейну из распределенной базы транзакций превратиться в часть вычислительной одноранговой сети общего назначения. Как нам кажется, довольно неплохо этот процесс описывал основатель Plex.ai Терек Джуди в блоге Microsoft.
В 2008 году произошел запуск Биткойн, базы данных, работа которой основана на новой структуре данных, получившей название «блокчейн».
Блокчейн — это логически связанная последовательность информационных блоков, каждый из которых содержит данные о группе транзакций и ссылку на предыдущий блок. Это позволяет связать воедино все когда-либо выполненные транзакции. Структура копируется на все узлы (компьютеры) системы, что позволяет каждому участнику иметь достоверную информацию обо всех транзакциях без какой-либо необходимости получать ее из централизованного источника.
Децентрализация
Архитектура блокчейн устроена так, что база данных продолжает расти до тех пор, пока узлы продолжают предлагать и подтверждать новые блоки, независимо от количества присоединившихся к сети или вышедших из нее участников. Сам факт того, что существование базы данных не зависит от некоторого центрального узла, превращает ее в независимую и практически полностью устойчивую к подделке или уничтожению систему. Целостность и подлинность попадающих в блокчейн транзакций гарантируется с помощью криптографических техник, позволяющих эффективно выявлять любые некорректно добавленные в систему или искусственно измененные транзакции. Эта скрытая от глаз пользователя магия делает работу Биткойн возможной.
Появление новых блоков
Чтобы контролировать добавление новых блоков с транзакциями в общую цепочку, система использует специальный механизм, суть которого заключается в том, что каждый предлагающий новый блок узел должен решить задачу, которая потребует от него значительной вычислительной мощности. Сложность этой задачи регулируется динамически таким образом, что на ее решение каждый раз требуется в среднем около 10 минут. Этот процесс получил название «майнинг».
Всякий раз, когда узел решает задачу и предлагает новый блок со всеми включенными в него транзакциями, он награждается некоторым количеством новых биткойнов, которые может использовать для покрытия затрат, связанных с решением задачи (вычислительное оборудование, электроэнергия и другие транзакционные затраты).
Выход за рамки Биткойн
Архитектура Блокчейн позволяет помимо децентрализации добиться также высокого уровня безопасности. Это сочетание очень удобно использовать при проектировании компьютерных систем, поскольку оно позволяет масштабировать приложения и минимизировать требования к центральной инфраструктуре. Несмотря на то, что сеть Биткойн была первым успешным примером использования архитектуры блокчейн, вскоре после ее появления, многие разработчики начали изучать возможность его использования для совершения других видов транзакций.
Одноранговая вычислительная сеть
Несмотря на все преимущества децентрализации и высокого уровня безопасности блокчейн, его применение удобно только для решения задачи переноса баланса между двумя счетами. Проект Ethereum был создан с целью разработки необходимых средств, которые могли бы позволить блокчейну из распределенной базы транзакций превратиться в часть вычислительной одноранговой сети общего назначения. В основе Ethereum лежит виртуальная машина под названием Ethereum Virtual Machine (EVM), позволяющая выполнять запрограммированные инструкции, хранящиеся в блокчейн.
Блокчейн, хранящий состояния и транзакций
Чтобы добавить способность выполнять программы, блокчейн был модифицирован таким образом, что каждый его блок теперь содержит не только данные о последних транзакциях, но и актуальное состояние программ, получивших название «умные контракты». Информация о состоянии контрактов обновляется вместе с добавлением нового блока согласно записанным в нем данным о транзакциях. В качестве гарантии того, что предоставленные программам инструкции не будут выполняться вечно, было введено специальное ограничение: инициирующая контракт сторона должна платить специальные знаки денежной ценности, количество которых зависит от числа инструкций и уровня потребления контрактом памяти системы.
Контракты-счета
У каждого контракта в блокчейн есть постоянный адрес, назначаемый ему во время создания и позволяющий идентифицировать его в системе. Каждый контракт содержит баланс, выражаемый в виде некоторого количества основных денежных единиц сети Ethereum, получивших название ether.
Если контракт не включает в себя ни одну программную инструкцию, он выступает в роли счета, у которого есть адрес и баланс. Счета могут обмениваться ether«ами с другими счетами или контрактами.
Контракты в виде децентрализованных исполняемых программ
Каждому контракту для выполнения требуется ether. Эта мера призвана исключить ситуации с бесконечной работой программ, так как их выполнение прекращается как только выделенные во время вызова ether«ы заканчиваются. Сам вызов контракта также требует небольшого количества ether, которое в конечном счете достается тому узлу, которому удастся успешно отправить в блокчейн следующий блок. Тем не менее существует возможность прямо отправить некоторое количество ether тому или иному контракту во время его вызова для перевода баланса, например, в целях оплаты.
Выполнение тех или иных действий программы возможно благодаря передаче параметров в методы программных инструкций. Выполнение метода может изменить состояние контракта с помощью корректировки значений одного или нескольких его полей. Контракт также может обладать набором событий, используемых для уведомления заинтересованных сторон о результатах тех или иных событий на протяжении всего срока действия контракта. По умолчанию срок жизни любого нового контракта в системе ничем не ограничен. Тем не менее при создании контракта его инициатор может задать возможность самоуничтожения, когда по прошествии определенного времени или выполнения неких условий контракт перестает существовать, а весь его ether-баланс переводиться на другой счет.
Обмен сообщениями и файлами
Помимо специальной виртуальной машины для выполнения логики контрактов, проект Ethereum также представил два дополнительных протокола, реализующих поддержку однорангового обмена сообщениями и статическими файлами. Одноранговый распределенный протокол для обмена сообщениями получил название whisper. Он предоставляет пользователям отличные возможности для личного защищенного общения с поддержкой отправки сообщений одному или нескольким адресатам и рассылке широковещательных сообщений. Одноранговый протокол для обмена статическими файлами получил название swarm. Он предлагает новый, основанный на мотивации подход к размещению статического контента для других участников сети с возможностью эффективного обмена файлами.
Децентрализованный обмен сообщениями
Whisper — это одноранговый протокол для конфиденциального обмена сообщениями с коротким сроком жизни. Заголовок сообщений (тема) в Whisper хэшируется, а сами сообщения могут быть зашифрованы с помощью ключей в целях защиты данных. Включена косвенная поддержка широкого и группового вещания. Рассчитан на слабый интернет-канал и высокие задержки при передаче данных. Предоставляет возможность использовать маски/фильтры для более эффективного поиска интересующих тем (заголовков) не выдавая при этом конкретное их название.
Мотивированный файлообмен
Работа Swarm основана на использовании основных преимуществ инфраструктуры Ethereum — контрактов и ether«ов. Файлы делятся на части, хранящиеся на узлах сети. Для ведения учета отправленных и полученных частей файлов узлы используют специальный учетный протокол, а сама деятельность узлов оплачивается микроплатежами — мера, призванная поощрить кооперацию между ними.
Изучив сложное устройство Ethereum иногда можно задаться вопросом: «А зачем это все?». Команда Around The Block собрала примеры практического использования Ethereum.
Иногда рассказать о конкретных случаях его применения бывает непросто даже для тех, кто понимает концепции блокчейн, Ethereum и умных контрактов. Поэтому давайте рассмотрим этот вопрос внимательнее.
Основными темами приведенных здесь примеров являются минимизация или полное устранение доверия, совершенствование тех или иных областей человеческой деятельности и революционные идеи. Во время чтения обратите внимание на то, как путем простого избавления от посредников как бы сам собой отпадает вопрос оплаты операционных комиссий, связанных с доверием и репутацией и как описываемые изменения ставят под угрозу устоявшиеся бизнес-модели в целом ряде индустрий. Впрочем, следует также иметь в виду, что многие из описываемых приложений находятся на очень ранней стадии разработки и сказать сейчас какие из них «взлетят», а какие потерпят неудачу, не представляется возможным.
Работающие проекты
Платежные системы
Основной случай применения Биткойн не теряет своей актуальности и в случае с Ethereum. Вокруг использования ether в качестве валюты или средства сохранения капитала идет немало споров, однако в данный момент денежные знаки Ethereum могут быть и по факту активно используются в качестве инструмента передачи ценности. Платежи проходят проверку со стороны всех остальных участников сети (узлов или майнеров), а записи о них фиксируются в регистре, изменение записей в котором постфактум, как и в биткойн-блокчейне невозможно. Именно это применение блокчейн-технологий является основным и в случае с нашим проектом Wirex, более 100 тыс. пользователей используют сервис для пересылки денег друг другу и вывода цифровых валют через нашу банковскую карту.
Инвестирование в золото
Команда Digix разработала способ, позволяющий каждому желающему приобрести золото в форме токенов, информация о которых записывается в блокчейне Ethereum. Спросите себя, как можно просто (и без чрезмерных затрат) купить золота, скажем, на 500$ прямо сейчас? С Digix вы можете мгновенно конвертировать свои фиатные деньги или ether в голд-токены, обеспеченные реальными запасами сингапурского хранилища золота и криптографически связанные с ними. Токены можно обменять на настоящее золото в любое время, даже в случае банкротства Digix. Никаких брокеров, банков или частичного резервирования, практически нулевые комиссии, непосредственность операций и безопасность. А теперь подумайте, стоит ли останавливаться только на золоте? Или можно сделать то же самое и для торговли другими драгоценными металлами? Бриллиантами? Нефтью? Апельсинами?
Краудфандинг
Kickstarter, Indiegogo и другие подобные платформы вот уже несколько лет занимают доминирующее положение в области краудфандинга. Они помогают стартапам презентовать свою идею для широкой аудитории и задавать цель по сбору средств. В случае успеха, Kickstarter забирает 5% прибыли и передает оставшуюся часть стартапу. В рамках блокчейна Ethereum стартап также может презентовать идею и задать цель по сбору средств. Однако в данном случае, ему не нужно выплачивать никаких комиссий: умный контракт автоматически отправит деньги стартапу по результатам успешной компании без каких-либо сборов за посредничество.
Управление финансами организации
В начале мая произошел запуск The DAO, побивший рекорды всех когда-либо проводившихся краудфандинговых компаний. Хоть и практически после завершения краудфандинговой кампании The DAO была атакована и теперь будет закрыта (средства, естественно, вернутся инвесторам), но уже объявили о запуске новой децентрализованной автономной организации, которая учтет ошибки своего предшественника. По сути, The DAO представляет собой децентрализованный венчурный фонд, полагающийся на «мудрость толпы» для принятия инвестиционных решений. В роли «толпы» выступают все инвесторы, получающие право голоса в обмен на вложенные в проект средства. Также, можно сказать, что перед нами пример таких революционных экспериментов, которые застают врасплох абсолютно всех, особенно контрольно-надзорные органы. Идея все еще находится в работе, однако в случае успеха, мы увидим больше компаний, управление которыми будет осуществляться блокчейн-кодом, а не президентами и советом директоров. В качестве хорошего источника информации по теме можно порекомендовать подфорум на reddit, а также видео.
В разработке
Интернет вещей
По мнению некоторых экспертов, объем рынка интернета вещей может достигнуть нескольких триллионов долларов. Основатели амбициозного стартапа slock.it, основной задачей которого является налаживание связи между реальным миром и блокчейн, Стивен Туал, Саймон и Кристоф Джентши поставили своей целью завоевать свою долю этого рынка. С помощью специального устройства под названием Ethereum Computer, любая собственность (велосипед, квартира, машина и др.) может быть заблокирована и разблокирована с помощью цифровой системы и использована в качестве объекта аренды, принося своему владельцу прибыль. Подобно тому как Ethereum может составить конкуренцию Kickstarter в области краудфандинга, устранив комиссионные сборы, slock.it имеет все шансы вступить в конкуренцию с AirBnB.
Казино, азартные онлайн-игры и лотереи
Любите играть в азартные игры? С помощью платформы Ethereum вы можете создать доказуемо честные азартные игры в стиле казино. Представьте что вы можете играть в покер онлайн без жульничества со стороны сотрудников веб-сайта или участвовать в лотерее без оплаты комиссий, которые уходят в карманы частным азартным конгломератам. Ethereum поможет азартным игрокам построить свой рай без мошенничества и комиссий.
Рынки предсказаний
Рынки предсказаний, такие, как PredictIt предлагают маркет-мейкерам и рыночным спекулянтам возможность сделать ставку на исход того или иного события. Уже сегодня существуют и их децентрализованных аналоги, такие, как Augur и Gnosis, позволяющие их участникам заниматься коллективными инвестициями и предсказаниями. Грамотное решение проблемы предсказателей скажется положительно не только на судьбе самих компаний, но и на репутации самого блокчейна как технологии, ведь задача определения надежности и достоверности получаемой извне и передаваемой в блокчейн информации по-прежнему остается нерешенной. Возможный успех подобных сервисов приведет к появлению нового типа управления на основе «мудрости толпы», который, по мнению некоторых экспертов, может иметь немало полезных применений.
Веб-хостинг
Здесь нужно упомянуть Swarm, о котором писали выше — проект разработчика Ethereum Виктора Трона. Децентрализованный веб-хостинг должен предлагать такое решение, когда тот или иной веб-сайт одновременно храниться сразу у всех участников сети. Это означает, что его нельзя заDDoS«ить, атаковать или подвергнуть цензуре со стороны какого-либо государства. Все это открывает возможности к появлению по-настоящему свободного Интернета. Организовав, к примеру, децентрализованный покер, вы сразу же получаете азартную онлайн-игру, «прикрыть» которую для государственных органов будет проблематично. Просто и революционно.
«Стабильные коины»
Стабильные коины — способ наслаждаться плодами технологии блокчейн без необходимости принимать на себя риски, связанные с криптовалютами. Команда Maker, например, привязывает свой стабильный коин к индексу МВФ. Это амбициозный проект, который имеет потенциал поспособствовать массовому распространению криптовалютных технологий.
Социальные сети
Столкнулись с цензурой со стороны опьяневшего от власти модератора на своем любимом форуме? Команда AKASHA работает над сервисом децентрализованных онлайн-сообществ и умной системой рейтинга для них. Благодаря открытому исходному коду и регулированию на основе умных контрактов связанные с цензурированием скандалы уже совсем скоро наверняка уйдут в прошлое.
ConsenSys
ConsenSys — студия разработки приложений, руководителем которой является сооснователь Ethereum Джозеф Любин. ConsenSys занимается разработкой огромного набора продуктов, предназначенных специально для разработчиков. Обычному потребителю эти приложения едва ли покажутся интересными, однако для разработчиков, желающих попасть на Ethereum сцену они окажутся очень полезны.
Перенос энергии
TransActive Grid — совместный проект энергетической компанией LO3 и ConsenSys, позволяющий домам, подключенным к возобновляемым источникам энергии, автоматически передавать накопленный избыток возобновляемой электроэнергии соседям. Такой подход подразумевает снижение цены на электроэнергию и повышение эффективности ее использования в любой электросети, использующей солнечную и другие экологически чистые виды энергии.
Брачные договоры и завещания
Оформите свою свадьбу официально и впишите это в блокчейн. Кроме того, простые умные контракты могут автоматически передавать собственность покойного его ближайшим родственникам. Сейчас подобное применение технологий не имеет никакой законной основы, но, кто знает, может когда-нибудь это станет нормой?
Децентрализованные криптовалютные биржи
EtherEx — децентрализованная биржа для криптовалют, находящаяся в разработке. Подробнее о подобных проектах в пункте «финансовые рынки».
Управление логистикой
У ConsenSys есть несколько интересных идей по поводу того, какие революционные изменения можно произвести в области организации поставок.
Самые высокие ожидания
Описанные в этом разделе примеры вполне реальны, но едва ли когда-либо будут претворены в жизнь. Тем не менее обществу следует обратить пристальное внимание на них и стараться добиться их реализации в тех случаях, когда голос народа может быть услышан властями.
Финансовые рынки
Разработка приложений для обслуживания финансовых рынков на базе Ethereum — один из самых очевидных случаев его применения. Распространение мошенничества и манипуляций на современных рынках делают их святым Граалем для желающих совершить криптовалютную революцию. Однако давайте смотреть правде в глаза: ни банки, ни правительства, ни «те, что обладают реальной властью», скорее всего, никогда не позволят этому произойти. Если даже финансовые рынки и будут совмещены с блокчейн, то только в рамках некоего закрытого блокчейна. И все же специально ради мечтателей стоит упомянуть, что на ежегодной Ethereum конференции в прошлом году UBS показала демонстрацию того, как можно осуществить передачу облигации с помощью блокчейна.
Организация выборов
Доказуемо честные выборы, где каждый проголосовавший может отдать не более одного голоса, выборы не подвергаются цензуре и никто не отстраняется от голосования. Есть информация о том, что Украина попытается провести как раз такие выборы на базе Ethereum.
Недвижимость
Существует мнение, что сфера недвижимости созрела для кардинальных изменений и блокчейн может с этим помочь. Есть даже команда под названием Rex, которая занимается разработками в этой области, правда, информации о ней очень мало и сказать толком сейчас ничего нельзя.
Приглашаем заказать двухвалютную пластиковую именную карту Wirex MasterCard. А виртуальная карта выдается бесплатно сразу после установки приложения на Android или iOS устройство.