[Перевод] Стек приложений Blockchain
Здравствуйте, Хабр!
Надеемся не слишком вас шокировать, признавшись в неподдельном интересе к децентрализованным приложениям.
Вместе с автором мы убеждены, что «не биткойном единым» полезны описанные технологии, и в качестве доказательства предлагаем перевод интересной статьи, в которой внятно и убедительно описаны перспективы стека Blockchain
Как-то раз мне выпал случай провести воркшоп на нью-йоркском хакатоне по биткойну, где я рассмотрел биткойн как протокол, рассказал об альтернативных способах использования блокчейна, а также упомянул о вызовах и возможностях, связанных с этой технологией.
Одно из основных достоинств работы в сфере венчурных капиталов — это возможность взглянуть на рынки под совершенно новым углом. Ежедневно ты можешь узнать от предпринимателей и представителей корпораций, как готовится наше будущее — ведь они же его и создают. Это завораживает, особенно если ты — настоящий технарь.
Мы внимательно отслеживаем все, что происходит с Bitcoin и Blockchain. В некоторых случаях речь идет об идеях, в других — о реальных продуктах, уже имеющихся на рынке. Некоторые из них лопнули, а другие снискали финансирование в миллионы долларов. Имея под рукой всю эту информацию, можно выявить определенные закономерности и тренды и составить впечатление о том, что нас ждет.
Думаю, именно так архитектура интернет-приложений будет выглядеть через 10 лет. Это упрощенная иллюстрация, на ней не видно многих важных находок и проблем. Ниже я постараюсь максимально доходчиво объяснить ее смысл. Чтобы не отвлекаться, мы обсудим каждый элемент стека снизу вверх, а затем я размещу в своем блоге подробную статью по каждому из них.
Идея такова, что все компоненты в серых прямоугольниках — децентрализованные, с открытым исходным кодом. Пока назовем их «Разделяемые данные» (Shared Data) и «Уровни протоколов» (Protocol layers). Этими частями системы никто не управляет, поэтому они доступны для любого разработчика или компании. Так, в случае Bitcoin уровнем разделяемых данных будет Blockchain, а протоколом — Decentralized Protocol.
Вы заметите, что чем выше вы поднимаетесь по схеме, тем тоньше становятся отдельные уровни. Кроме того, на уровень разделяемых данных и уровень протоколов приходится около 80% всего стека. Современные приложения для Интернета создаются на базе открытых децентрализованных технологий, таких как TCP/IP и HTTP, но если начертить примерно такую схему стека интернет-приложений, как показана выше, то эти открытые децентрализованные протоколы займут, вероятно, всего 15%, а выше них будут только приватные и централизованные технологии.
1. Майнеры и Blockchain
Если вы хотя бы приблизительно представляете, как работает Bitcoin, то знаете, кто такие майнеры. В сущности, майнеры — это узлы в составе компьютерной сети, вместе верифицирующие все транзакции Bitcoin. Алгоритм оплачивает их работу биткойнами. Поскольку биткойны обладают реальной котировкой, операторам этих машин выгодно, чтобы они работали. Если вам интересно, как устроен майнинг, тема отлично раскрыта в этой статье.
Blockchain — общедоступный журнал, в котором содержится перманентная запись обо всех транзакциях Bitcoin, ведут этот журнал сами майнеры. Он не контролируется никакой организацией и доступен для всех. Подробнее о Blockchain можно почитать здесь.
2. Наложенные сети
Здесь начинается самое интересное. Разработчики начинают сооружать сети, работающие параллельно блокчейну для решения таких задач, с которыми биткойновая сеть справиться не может. Правда, при таких задачах блокчейн также используется — например, чтобы ставить метки времени или валидации работы.
Один из примеров такого решения — Counterparty. Другой, возможно, Side Chains. Какую бы форму ни имели эти наложенные сети, всех они связаны с блокчейном Bitcoin, а также выгодно используют его сетевые эффекты для достижения гибкости; при этом в них нет необходимости создавать собственную криптовалюту и/или цепочки блоков, как того требуют альтернативные решения вроде Ethereum.
3. Децентрализованные протоколы
Благодаря Blockchain, впервые появилась возможность разрабатывать свободные децентрализованные протоколы со встроенной валидацией данных (благодаря наложенным сетям и блокчейну), а также совершать транзакции, которые не контролируются централизованно. Именно здесь начинает распадаться традиционная архитектура IT-бизнеса.
Наилучший пример децентрализованного протокола, работающего поверх уровня разделяемых данных — это Bitcoin; мы уже представляем, как он повлиял на деньги и финансы.
Такие компании как Ebay, Facebook и Uber очень дорого стоят, так как делают огромную прибыль на сетевых эффектах, связанных с хранением всей пользовательской информации в приватных ячейках и получением процента от всех транзакций. Децентрализованные протоколы, расположенные поверх блокчейна, потенциально позволяют отключать любую отдельную часть стека, поэтому такие сервисы очень ценны для потребителей и инвесторов. Для этого можно, к примеру, создавать общие децентрализованные множества данных, к которым кто угодно может подключаться и начинать одноранговые транзакции по принципу Bitcoin.
На самом деле, многие многообещающие команды уже приступили к разработке протоколов, способных разрушить бизнес-модели вышеупомянутых компаний. Пример — Lazooz, протокол для поиска попутчиков в реальном времени; другой пример — OpenBazaar, протокол для свободных децентрализованных одноранговых рынков.
4. Свободные и коммерческие API
Среднестатистическому разработчику сложно надстраивать код прямо над протоколом, поэтому можно запросто к ним подключаться. Хорошо ли это в долгосрочной перспективе — сложный вопрос, но я считаю, что это очень важная часть стека. Величайшее достижение этих децентрализованных протоколов связано с тем, что разработчик, обладающий любым набором навыков и квалификацией, может быстро выстраивать на них приложения и экспериментировать с ними.
Речь идет либо о коммерческих сервисах, либо о свободных проектах. Хорошие примеры — API Chain.com и Coinbase Toshi для Bitcoin. Они оба предназначены для одних и тех же целей, но Chain — арендуемый коммерческий сервис, а Toshi — свободный.
5. Приложения
Это часть стека, обращенная к пользователю. В большинстве случаев приложения, выстроенные на такой архитектуре, функционально будут очень напоминать существующие сегодня — точно как Coinbase и PayPal. Но большая разница для пользователей заключается в том, что протоколы в данном случае децентрализованные. Программы смогут обмениваться информацией точно как различные почтовые приложения или биткойновые кошельки.
Важная черта этого стека — он растет снизу вверх. Сначала появились майнеры, блокчейн и Bitcoin, а затем — все остальное. Насколько мне известно, важнейшие технологические революции развивались именно таким образом.
Таким образом, возникают очень интересные вызовы для разработчиков, предпринимателей и инвесторов: ведь этот стек адаптирует для широкого потребления очень перспективные вещи. Но, в конечном итоге, выигрывает пользователь, поскольку в таких приложениях действуют сниженные или нулевые входные взносы, издержки переключения невелики, все данные находятся в индивидуальном распоряжении, а рыночная мощность превосходит все ожидания.