Разработчики говорили о преимуществах технологии блокчейна на протяжении многих лет. Они аргументировали это блеклыми «вариантами использования» вместе с неясными определениями того, как работает технология, для чего она на самом деле нужна и чем применяющие ее платформы отличаются друг от друга. Неудивительно, что это вызывало путаницу и недоверие к блокчейн-технологии.
В этой статье я хочу описать набор ментальных моделей, которые помогут понять, как потенциальные варианты использования приводят к техническим компромиссам, на которые вынуждена идти каждая платформа. Эти ментальные модели построены на основе прогресса, которого технология блокчейна достигла за последние 10 лет, пройдя в своем развитии через 3 поколения: открытые деньги, открытые финансы и, наконец, открытый интернет.
Моя цель — помочь вам сформировать чёткое представление о том, что такое блокчейн, понять зачем нужны разные платформы и представить будущее открытого интернета.
Краткое введение в блокчейн
Немного основ. Блокчейн — это по сути просто база данных, которая управляется группой разных операторов, вместо одного предприятия (как Amazon, Microsoft или Google). Важное отличительное свойство блокчейна от облака в том, что вам не нужно доверять «владельцу» базы данных (или его операционной безопасности) для того, чтобы хранить ценные данные. Когда блокчейн публичный (а все самые крупные блокчейны публичны), любой может использовать его для чего угодно.
Чтобы такая система работала на большом количестве анонимных устройств по всему миру, у неё должен быть цифровой токен, который будет использоваться как средство оплаты. Этими токенами пользователи цепи будут платить операторам системы. Одновременно токен дает гарантию безопасности, что определяется заложенной в него теорией игр. И хотя задумка была во многом скомпрометирована бумом мошеннических ICO в 2017 году, сама идея токенов и токенизации в целом, заключающаяся в том, что отдельный цифровой актив может быть уникально идентифицирован и отправлен, имеет просто невероятный потенциал.
Также важно отделять ту часть базы данных, которая хранит данные, от той, которая изменяет данные (виртуальная машина).
Разные характеристики цепи можно оптимизировать. Например, безопасность (в биткоине), скорость, цену или масштабируемость. Вдобавок, логику модификации тоже можно оптимизировать разными способами: это может быть простой калькулятор для сложения и вычитания (как в биткоине), а может быть — Тьюринг-полная виртуальная машина (как в Ethereum и NEAR).
Так что две платформы на блокчейне могут «настроить» свой блокчейн и виртуальную машину для выполнения совершенно разных функций, и они могут никогда не конкурировать между собой на рынке. Например, биткоин по сравнению с Ethereum или NEAR — совершенно другой мир, а Ethereum и NEAR в свою очередь не имеют ничего общего с Ripple и Stellar — несмотря на то, что все они работают на «технологии блокчейна».
Три поколения блокчейна
Технологические достижения и конкретные решения в проектировании системы позволили расширить функциональность блокчейна на протяжении 3-х поколений его развития за последние 10 лет. Эти поколения можно разделить следующим образом:
- Открытые деньги: дать всем доступ к цифровым деньгам.
- Открытые финансы: сделать цифровые деньги программируемыми и расширить границы возможностей их использования.
- Открытый интернет: расширить открытые финансы настолько, чтобы они включали ценную информацию любого рода и стали доступными для массового использования.
Начнём с открытых денег.
Первое поколение: открытые деньги
Деньги — это фундамент капитализма. Первый этап позволил кому угодно откуда угодно получить доступ к деньгам.
Одни из самых важных данных, которые можно хранить в базе данных, — это сами деньги. В этом инновационность биткоина: иметь простой распределённый реестр, который позволяет всем согласиться, что у Джо есть 30 биткоинов и он только что отправил Джилл 1,5 биткоина. Биткоин настроен так, чтобы приоритизировать безопасность над всеми другими параметрами. Консенсус в биткоине невероятно дорогой, затратный по времени и работает по принципу «бутылочного горлышка», а по уровню модификации это, по сути, обычный калькулятор для сложения и вычитания, который позволяет осуществлять транзакции и выполнять некоторые другие, очень ограниченные операции.
Биткоин — хороший пример, показывающий основные преимущества хранения данных на блокчейне: он не зависит ни от каких посредников и доступен всем. То есть каждый, у кого есть биткоины, может сделать p2p-перевод, не прибегая ни к чьей помощи.
Из-за простоты и мощи того, что обещал биткоин, «деньги» стали одним из самых ранних и успешных вариантов использования блокчейна. Но «слишком медленная, слишком дорогая и слишком безопасная» система биткоина хорошо работает для хранения активов — по аналогии с золотом, но не работает для ежедневного использования для таких услуг, как интернет-платежи или международные переводы.
Настраиваем открытые деньги
Для таких моделей использования были созданы другие цепи с другими настройками:
- Переводы: для того, чтобы миллионы людей могли отправляли произвольные суммы по всему миру каждый день, вам нужно что-то гораздо более производительное и менее затратное, чем биткоин. При этом ваша система все равно должна обеспечивать достаточный уровень безопасности. Ripple и Stellar — проекты, которые оптимизировали свои цепи для достижения этой цели.
- Быстрые транзакции: для того, чтобы миллиарды людей могли использовать цифровые деньги так же, как они используют кредитные карточки, вам нужно, чтобы цепь хорошо масштабировалась, имела высокую производительность и оставалась недорогой. Это можно сделать двумя способами, пожертвовав при этом безопасностью. Первый — построить более быстрый «второй уровень» поверх биткоина, который оптимизирует сеть для высокой производительности, а после того, как транзакция будет завершена, переместит активы обратно в «хранилище» биткоина. Пример такого решения — Lightning Network. Второй способ — создать новый блокчейн, который обеспечит максимальный уровень безопасности, позволяя при этом осуществлять быстрые дешевые транзакции, как в Libra.
- Приватные транзакции: для того, чтобы сохранить полную конфиденциальность во время транзакции, нужно добавить уровень анонимизации. Это уменьшает производительность и повышает цену, так работают Zcash и Monero.
Поскольку такие деньги — это токены, представляющие собой полностью цифровой актив, их тоже можно запрограммировать на базовом уровне системы. Например, общее количество биткоина, которое будет произведено за все время, запрограммировано в базовой системе биткоина. Создав хорошую вычислительную систему поверх базового уровня, её можно вывести на совершенно новый уровень.
Здесь вступают в игру открытые финансы.
Второе поколение: открытые финансы
С открытыми финансами деньги перестают быть просто средством сбережений или инструментом для транзакций — теперь из них можно извлекать выгоду, что увеличивает их потенциал.
Те свойства, которые позволяют людям общедоступно делать биткоин-переводы, также позволяют разработчикам писать программы, которые делают то же самое. Исходя из этого, предположим, что у цифровых денег есть собственный независимый API, для использования которого не нужно получать ключ API или пользовательское соглашение ни от какой компании.
Это и обещают «открытые финансы», также известные как «децентрализованные финансы» (DeFi).
ETHEREUM
Как говорилось ранее, API биткоина достаточно простой и непроизводительный. Его хватает, чтобы деплоить в сети биткоина скрипты, которые позволяют ему работать. Для того, чтобы сделать что-то более интересное, нужно перенести сам биткоин на другую блокчейн-платформу, что является непростой задачей.
Другие платформы работали над совмещением высокого уровня безопасности, необходимого для работы с цифровыми деньгами, при более сложном уровне модификации. Ethereum был первым, кто это запустил. Вместо «калькулятора» биткоина, работающего на сложение и вычитание, Ethereum создал целую виртуальную машину поверх уровня для хранения, которая позволила разработчикам писать полноценные программы и запускать их прямо на цепи.
Важность заключается в том, что безопасность цифрового актива (например, денег), который хранится на цепи, такая же, как и безопасность и надёжность программ, которые могут нативно изменить состояние этой цепи. Программы смарт-контрактов Ethereum — это по сути бессерверные скрипты, которые выполняются на цепи ровно так же, как на биткоине выполняется самая обычная транзакция «отправь Джилл 23 токена». Нативный токен Ethereum — эфир, или ETH.
Компоненты блокчейна как трубопровод
Поскольку API поверх ETH общедоступный (как в биткоине), но бесконечно программируемый, получилось создать ряд строительных блоков, которые передают эфир друг другу, чтобы выполнить полезную работу для конечного пользователя.
В “привычном мире” для этого нужен бы был, например, большой банк, который бы договаривался об условиях контрактов и доступе к API с каждым отдельным провайдером. Но на блокчейне каждый из этих блоков был независимо создан разработчиками и быстро масштабирован до пропускной способности в миллионы долларов и хранения ценности более $1 млрд на начало 2020 года.
К примеру, начнем с Dharma, кошелька, который позволяет пользователям хранить цифровые токены и получать с них проценты. Это основополагающий принцип использования традиционной банковской системы. Разработчики Dharma предлагают процентную ставку для своих пользователей, соединяя множество компонентов, которые были созданы на базе Ethereum. Например, доллары пользователей конвертируются в DAI, стейблкоин на базе Ethereum, который равен доллару США. Затем этот стейблкоин «по трубопроводу» переводится в Compound, протокол, который дает эти деньги в долг под проценты и таким образом мгновенно зарабатывает процент для пользователей.
Применение открытых финансов
Главный вывод в том, что конечный продукт, дошедший до пользователя, был создан с использованием многих компонентов, каждый из которых создавался отдельной командой, а для использования этих компонентов не нужно было получать разрешение или ключ от API. На данный момент в этой системе циркулируют миллиарды долларов. Это почти как открытое программное обеспечение (ПО), но если открытое ПО требует скачивать копию определенной библиотеки для каждой имплементации, то открытые компоненты деплоятся только один раз, и затем каждый пользователь может посылать запросы к определенному компоненту, чтобы получить доступ к его общему состоянию.
Каждая из команд, создавших эти компоненты, не несёт ответственность за любые чрезмерные счета EC2 из-за злоупотребления их API. Снятие показаний и взимание платы за использование этих компонентов по сути происходит автоматически внутри цепи.
Производительность и настройка
Ethereum работает с теми же параметрами, что и биткоин, но блоки передаются в сеть примерно в 30 раз быстрее и дешевле — стоимость транзакции $0,1 вместо около $0,5 в биткоине. Это обеспечивает достаточный уровень безопасности для приложений, которые управляют финансовыми активами и не требуют высокой пропускной способности.
Сеть Ethereum, будучи технологией первого поколения, не выдержала затруднений с большим объемом запросов и пострадала от пропускной способности в 15 транзакций в секунду. Этот дефицит производительности привел к тому, что открытые финансы застряли в состоянии проверки концепции. Перегруженная сеть работала, как мировая финансовая система в эпоху аналоговых устройств с бумажными чеками и подтверждениями по телефону, потому что вычислительная мощность Ethereum меньше, чем у графического калькулятора 1990 года.
Ethereum продемонстрировал возможности совмещения компонентов для финансовых моделей использования и открыл доступ к более широкому количеству применений, называемых открытым интернетом.
Третье поколение: открытый интернет
Теперь всё, что имеет ценность, может становиться деньгами, соединяя интернет с открытыми финансами и создавая таким образом интернет ценностей и открытый интернет.
Как было отмечено ранее, концепция открытых денег включает много вариантов применения. Также было описано, как технология следующего поколения, Ethereum, сделала открытые деньги более полезными, создав возможности совмещения компонентов открытых финансов. Теперь рассмотрим, как ещё одно поколение технологий расширяет возможности открытых финансов и раскрывает настоящий потенциал блокчейна.
Изначально все «деньги», о которых говорилось, — это просто виды данных, которые хранятся на блокчейне с собственным открытым API. Но база данных может хранить что угодно.
Из-за своего устройства блокчейн больше всего подходит для данных, обладающих значимой ценностью. Определение «значимой ценности» крайне гибкое. Любые данные, которые потенциально имеют ценность для людей, могут быть токенизированы. Токенизация в данном контексте — это процесс, с помощью которого существующий актив (не созданный с нуля, как биткоин) переносится на блокчейн и получает такой же общедоступный API, как у биткоина или Ethereum. Как и в случае с биткоином, это позволяет создавать дефицит (будь это 21 миллион токенов или всего один).
Рассмотрим пример Reddit, где пользователи зарабатывают онлайн-репутацию в форме «кармы». И возьмем проект типа Sofi, где используется множество критериев для оценки платежеспособности конкретного человека. В современном мире, если команда хакатона, разрабатывающая новый Sofi, хотела бы встроить рейтинг реддитовской кармы в свой алгоритм выдачи кредита, им нужно было бы заключить двустороннее соглашение с командой Reddit, чтобы получить сертифицированный доступ к API. Если бы «карма» была токенизирована, то у этой команды были бы все необходимые инструменты для интеграции с «кармой» и Reddit бы об этом даже не узнал. Он бы просто извлекал выгоду из того, что ещё больше пользователей хотят улучшить свою карму, потому что теперь она полезна не только внутри Reddit, но и по всему миру.
Если пойти ещё дальше — 100 различных команд в следующем хакатоне могут придумать новые способы применения этого и других активов для создания нового набора общедоступных многоразовых компонентов или построения новых приложений для потребителей. В этом и заключается идея открытого интернета.
Ethereum позволил легко пересылать «по трубопроводу» большие суммы через общедоступные компоненты, по такому же принципу позволяя пересылать любой актив, который можно токенизировать, а также тратить, обменивать, давать ему обеспечение, изменять или взаимодействовать с ним другим способом, как заложено в его открытом API.
Настройка для открытого интернета
Открытый интернет по своей сути не отличается от открытых финансов: это просто надстройка над ними. Для увеличение вариантов использования открытого интернета требуется значительный скачок в производительности, а также возможности привлечения новых пользователей.
Для поддержания открытого интернета платформе необходимы следующие свойства:
- Большая пропускная способность, более высокая скорость и более дешёвые транзакции. Поскольку цепочка уже не просто передает медленные решения по управлению активами, ей нужно масштабироваться, чтобы поддерживать более сложные типы данных и варианты использования.
- Юзабилити. Поскольку сценарии использования будут переходить в приложения для пользователей, очень важно, чтобы компоненты, которые создают разработчики, или приложения, разработанные с их помощью, обеспечивали хороший экспириенс для конечного пользователя. Например, когда они создают аккаунт или привязывают существующий к разным активам и платформам и при этом сохраняют контроль над данными в руках пользователя.
Таких характеристик не было ранее ни у одной из платформ из-за их сложности. Понадобились годы исследований, чтобы добраться до той точки, в которой новые механизмы консенсуса сливаются с новыми средами выполнения и новыми способами масштабирования — и одновременно удается сохранять производительность и безопасность на уровне, нужном для денежных активов.
Платформа открытого интернета
Десятки блокчейн-проектов, которые выходят на рынок в этом году, настроили свои платформы таким образом, чтобы они применялись для различных вариантов использования в рамках открытых денег и открытых финансов. Учитывая ограничения технологии на сегодняшнем этапе, им было выгодно оптимизировать свою платформу под конкретную нишу.
NEAR — единственная цепь, которая сознательно усовершенствовала свою технологию и настроила её характеристики производительности таким образом, чтобы полностью соответствовать нуждам открытого интернета.
NEAR сочетает подходы к масштабированию из мира высокопроизводительных баз данных с улучшениями со стороны времени выполнения и годами совершенствования юзабилити. Как и у Ethereum, у NEAR есть полноценная виртуальная машина, построенная поверх блокчейна, но, чтобы она «успевала за спросом», лежащая в её основе цепочка балансирует пропускную способность виртуальной машины, разбивая вычисления на параллельные процессы (шардинг). И при этом поддерживает безопасность на уровне, нужном для надёжного хранения данных.
Это означает, что на NEAR можно реализовать все возможные варианты использования: обеспеченные фиатом монеты, которые дают всем доступ к стабильной валюте, механизмы открытых финансов, которые масштабируются до сложных финансовых инструментов и обратно до того, как их используют обычные люди, и наконец приложения открытого интернета, которые вбирают в себя всё это для ежедневной торговли и взаимодействия.
Заключение
История открытого интернета только начинается, потому что мы только что разработали необходимые технологии, чтобы он обрел свой истинный масштаб. Теперь, когда этот большой шаг сделан, будущее будет строиться на инновациях, которые можно создать на базе этих новых технологий, а также на технологической оснащенности разработчиков и предпринимателей, которые находятся на передовой новой реальности.
Для понимания потенциального влияния открытого интернета, вспомните «кембрийский взрыв», произошедший во время создания протоколов раннего интернета, необходимых для того, чтобы пользователи наконец-то смогли тратить деньги онлайн в конце 1990-х. Следующие 25 лет интернет-торговля росла, генерируя объемы более $2 триллионов каждый год.
Аналогичным образом, открытый интернет расширяет сферу действия и охват финансовых примитивов открытых финансов и позволяет включать их в приложения, ориентированные на бизнес и потребителей, способами, которые мы можем угадать, но, конечно же, не предсказать.
Давайте строить открытый интернет вместе!
Небольшой список ресурсов для тех, кто хочет закопаться глубже уже сейчас:
1. Посмотреть как выглядит разработка под NEAR, и поэкспериментировать в онлайн-IDE можно здесь.
2. Разработчикам желающим присоединиться к экосистеме сюда.
3. Обширная документация для разработчиков на английском доступна здесь.
4. Следить за всеми новостями на русском можно в телеграм сообществе, и в группе на ВКонтакте
5. Если у вас есть идеи сервисов, управляемых сообществом, и вы хотите над ними работать, приходите в нашу программу поддержки предпринимателей.