Polys

Blockchain 2.0
Для чего существует блокчейн




Роман Алёшкин
Ноябрь, 2017
Мы уже рассказывали про базовые принципы работы блокчейна, и если вдруг вы читаете про эту тему впервые и хотите овладеть ею в общих чертах, советуем не полениться и восполнить пробел. Сегодня же мы поговорим о том, почему блокчейн по уровню инновационности сравнивают с внедрением интернета, что такое Блокчейн 2.0 и как эти явления связаны.

Изначальное применение блокчейна для передачи денег демонстрирует его потенциал для передачи ценности, что уже немалая ниша, но все же ведь не сравнимая с изобретением интернета? Почему же тогда столько шума? На мой взгляд, можно выделить два важных направления развития блокчейна, которые как раз и вызывают столь пристальное внимание и бурную реакцию со стороны визионеров и инвесторов:
  • Развитие самого Блокчейн как платформы (Блокчейн 2.0);
  • Синергия с другими развивающимися трендами.

Блокчейн 2.0

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

Как вы уже поняли, использование Блокчейн не сводится только к передаче транзакций, но добавляет массу экономических возможностей, которых ранее не было во всемирной паутине. Среди них:
  • Микротранзакции;
  • Децентрализованный обмен;
  • Создание и передача цифровых активов;
  • Создание и исполнение умных контрактов.
В итоге возникает экосистема международных децентрализованных и при этом доверенных связей, базирующихся на блокчейн-технологии. При этом становится возможным встраивать экономические аспекты в самые разные направления:
  • Децентрализованные вычислительные сети с экономическими связями;
  • IoT (если кто забыл значение этой аббревиатуры, то речь идет об Internet of Things – Интернете вещей), отдельные устройства в этом случае получат возможность осуществлять экономическую деятельность (представьте: холодильник сам определяет, чего не хватает, заказывает и оплачивает покупку?
  • Умные машины, умные дома и умные города. Давайте их тоже со счетов не списывать, это не столь отдаленное будущее, а где-то уже настоящее.
Блокчейн в этих случаях позволяет передавать деньги или ценность. При этом это эффективный и доверенный обмен информацией для эффективного распределения ресурсов.

Основные концепции

Так как блокчейн 2.0, по сути, в самом разгаре своего развития, существует довольно много разных терминов и концепций, которые зачастую пересекаются друг с другом. Давайте пройдемся по основным.

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

Технологии Visa/Mastercard изначально строились как централизованные структуры и их базы являются привлекательными мишенями для атакующих, что мы можем наблюдать в многочисленных «хакерских» фильмах, да и в жизни. Кроме того, они неспособны проводить действительно небольшие (микро) транзакции. Тем не менее, это целый пласт возможностей.

Приведу элементарный пример. Предположим, что у нас есть несколько компаний в городе, которые оперируют дронами и при помощи оных осуществляют доставку грузов по городу. Использование блокчейн даст возможность выстраивать дронам экономическое взаимодействие не только с дронами своей компании, но и с дронами чужой организации. Например, дрон1 имеет задачу доставить груз из точки А в точку Б. Он может посчитать, что ему выгоднее: доставить груз до точки С и там выставить тендер на дальнейшую доставку другим дронам и при условии экономической выгоды для обеих сторон заключить сделку или же осуществить доставку самому. Таким образом, повышается общая эффективность сети дронов.

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

Смарт-контракт
Те из вас, кто не сталкивался ранее с этим термином, наверняка сейчас задались вопросом «Что такое смарт-контракт?». Тем не менее, косвенно мы встречаемся с этим понятием каждый день. Это контракт из нашей жизни, но написанный программным языком и автоматически исполняемый, в случае получения определенных триггеров.

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

Смарт-собственность
Умная собственность – это новый концепт, к которому мы пока совсем не привыкли. В данном случае права на некую собственность (автомобиль, квартира) криптографически закреплены в коде. Ассет (собственность) будет функционировать, только если распознает соответствующие права пользователя на использование данной собственности. Таким образом, передача собственности становится такой же простой задачей, как осуществление транзакций.

Конечно, концепт умной собственности предполагает широкое распространение и адаптацию децентрализованного доверенного блокчейна, что на данный момент кажется достаточно нескорым будущим. Впрочем, я бы не зарекался – есть уже стартапы, которые регистрируют в блокчейне алмазы и часы.

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

Dapps (decentralised applications) — децентрализованное приложение
Это приложение, исполняемое в блокчейне. Собственно, биткойн был первым децентрализованным приложением и является одноранговой сетью для передачи транзакций. Возможность составлять смарт-контракты и писать исполняемый код внутри блокчейна привела к различным децентрализованным приложениям. Кроме этого, Daaps могут создаваться и не на основе какого-то конкретного блокчейна, а совершенно отдельно и автономно. Например, MadeSafe – приложение для распределенного хранения данных. Если коротко, оно работает так: вы предоставляете место на диске и свой up-time другим участникам сети и получаете за это награду, либо можете в обмен выкладывать свои данные в сеть. Подобные проекты создавались и ранее (например, https://ru.wikipedia.org/wiki/Wuala), но сейчас впервые в основу заложены экономические принципы, когда можно просто предоставлять место и получить за это вознаграждение. Выживет ли этот проект, пока не совсем понятно. Для информации: Wuala закрылся в 2015 году.

В сети встречается перечень критериев, которому должно удовлетворять Dapp, чтобы считаться таковым. Думаю, стоит их тут осветить подробно:
  • Приложение должно быть полностью с открытым исходным кодом, оно должно работать автономно и не иметь организации, которая бы обладала большей частью его токенов. Приложение может адаптировать свой протокол в ответ на предлагаемые улучшения и обратную связь от рынка, но все изменения должны приниматься на основе консенсуса всех своих пользователей.
  • Данные приложения и отчеты по работе должны быть криптографически зашифрованы и храниться в публичной области, так называемом децентрализованном блокчейне, чтобы избежать любого возможного отказа сети.
  • Приложение должно использовать криптографический токен (биткойн или оригинальный токен приложения), который необходим для доступа к приложению. Любой вклад майнеров должен быть награжден в токенах приложения.
Можно посмотреть на довольно обширный список различных распределенных приложений на основе Etherium: http://dapps.ethercasts.com. Там уже много различных приложений, давайте мы не будем детально рассматривать их в этой статье, просто приведем несколько примеров для понимания:
  • http://etherwheel.io — лотерея на основе Etherium — можно вкладывать крипотовалюту в надежде выиграть.
  • Бесчисленное множество p2p маркет-плейсов.
  • http://gridsingularity.com/#/ — приложения для организации обмена энергией, один сайт чего стоит.
  • http://ujomusic.com — продажа музыки через блокчейн.
  • https://github.com/yep/eth-tweet — децентрализованный твиттер.
Там еще много, можно зависнуть на полдня изучая варианты применения блокчейна.

DAOs (decentralised autonomous organizations) – децентрализованные автономные организации
Один из самых впечатляющих концептов на мой взгляд, который базируется на блокчейне, – децентрализованная автономная организация. «Что это такое?» - наверняка задаетесь вопросом вы. Прежде чем услышать ответ, давайте подумаем. Известные нам организации в традиционном понимании базируются на наборе контрактов и договоров, исполнение которых форсируется внешними силами (законами, судами, уполномоченными органами и так далее). Это, безусловно, повышает цену оперирования подобной организации и снижает надежность выполнения правил и процедур. DAO по своей сути тоже построено на наборе контрактов, но это не просто контракты на бумаге, а исполняемые в среде блокчейн смарт-контракты. Так что DAO – это развитие предыдущих концептов и представляет собой нечто вроде роботизированного менеджера для организации. DAO может получать и сохранять деньги, которые получила в качестве инвестиций организация, может их тратить по определенным правилам, установленным между участниками DAO и так далее.

Давайте рассмотрим несколько «земных» примеров децентрализованных автономных организаций:
  • Автоматический рынок, предоставляющий возможность торговать ресурсами или другими ценностями. При этом рынок будет распределенный, независимый и предоставляющий равные условия для всех участников. Из наиболее близких примеров: рынки ценных бумаг или же RTB-рынки по торговле рекламой.
  • Сообщества, организовывающие p2p-взаимодействие, например, сервисы youdo или profi.ru вполне могут быть построены на децентрализованных началах.
Кроме DAO существуют концепты DACs (decentralized autonomous corporations) и DASs (decentralized autonomous societies). Мне они кажутся несколько избыточными терминами, которые, по сути, входят в понятие DAO, и именно с точки зрения оперирования децентрализованной организацией я пока не вижу значимых отличий от DAO. Наличие различных терминов в данном случае - это, скорее, отражение привычных нам форм централизованных организаций.

Подводя итог вышесказанному: концепт DAO может значительно сократить или совсем уничтожить расходы на оперирование некой организации, полностью или частично автоматизировав ее работу.

Все ли так безоблачно?

К сожалению, нет. Сильные стороны умных контрактов и DAO порождают свои проблемы. Мы в работе над текущим проектом довольно быстро осознали уязвимые стороны подобной экосистемы и далее нашли подтверждение нашим опасениям в жизни. Я напишу более подробную статью о возможных уязвимостях и опасностях работы умных контрактов в будущем, а пока мы рассмотрим очень яркий пример, который случился совсем недавно.

Одной из первых крупных и успешных реализацией концепта DAO стала организация The DAO (такое вот скромное название, но, видимо, на правах первых можно было назвать себя и так). Организация являет собой что-то вроде распределенного кикстартера, который всем нам известен. Инвесторы могли инвестировать в etherium проекты и по мере роста проектов получать прибыль. Реализация была действительно успешной - около 140 млн долларов было в управлении The DAO. Но недавно произошло интересное событие: в результате уязвимости в контракте The DAO злоумышленник получил возможность выводить в криптовалюте суммы из-под контроля The DAO на контролируемую им дочернюю организацию The DAO. Кстати, он ее назвал Robin Hood DAO. К счастью, прописанные в контракте The DAO правила не давали моментально и окончательно вывести деньги (на такую транзакцию требуется 27 дней), но тем не менее… Теперь, уважаемые читатели, давайте попробуем вдуматься в масштаб прецедента и определенные нюансы, нам не сразу привычные:
  • Злоумышленник (если так можно его назвать) действовал по правилам контракта, он его не подменил, не изменил, лишь воспользоваться неочевидной логикой, заложенной в оном. Также сама платформа Etherium работала корректно. Если интересно, вот тут описана детальная схема действий злоумышленника: http://www.ether.camp/dao-thief.html.
  • Вывод денег не был одномоментым. Мы привыкли, что в случае атаки, можно дернуть условный «рубильник» и заморозить все действия, не допуская усугубления ситуации. В случае с The DAO и etherium такое сделать было невозможно! После обнаружения начала утечки денег, контракт продолжал неумолимо работать, переводя деньги на подконтрольную злоумышленнику организацию, в итоге было переведено около 6 млн eth (сколько это в долларах, сложно сказать, так как курс заметно обвалился в связи с этими событиями, но примерно 50 млн $).
  • Обратиться куда-то, чтобы решить проблему, было по сути невозможно.
Как в итоге ситуация разрешается? Я много писал о децентрализации и прочем, но в данном кейсе этот принцип предлагается нарушить. Сообществу предлагается сделать форк (ответвление) истории транзакций до момента начала атаки. С подобным предложением выступили разработчики Etherium (самой платформы), спасая The DAO. И здесь я акцентирую ваше внимание: форку будут подвержены все транзакции, не только те, что происходили в связанных с The DAO структурах. То есть, если вы, например, купили или обменяли eth, то ваша транзакция будет отменена. Это очень крупный камень в огород децентрализации, демонстрирующий, что The DAO был так сказать too big to fail.

Но! Интересен способ, как происходит предложение и обсуждение подобного форка. По сути, оно выносится на голосование сообществу майнеров и те могут решить, присоединяться ли им к форку или же нет.

Еще более интересна реакция атакующего! Во-первых, он убежден, что это не была атака, а лишь использование возможностей The DAO и мол все легально, во-вторых, он предложил распределить 1млн долларов между теми майнерами, которые откажутся принимать форк.

Что в итоге? Пока неизвестно, санта-барбара в самом разгаре, курс eth заметно обвалился, новости выходят постоянно и сообщество разбилось на два лагеря, тех кто за ответвление и спасание The DAO и тех кто против. В одной из следующих статей, я расскажу чем дело закончится.

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