Chromia (CHR) - реляционный блокчейн

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

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

Технический дизайн Chromia (CHR)

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

  • Реляционная модель: данные блокчейна и состояние приложения хранятся в реляционной базе данных. Эта модель считается лучшей в своем классе с точки зрения гибкости, универсальности и стабильности.
  • Реляционный язык программирования: бэкенды Chromia dapp написаны на специализированном языке, который глубоко интегрирован с реляционной моделью. Эта модель увеличивает продуктивность программиста и обеспечивает согласованность приложений.
  • Горизонтальное масштабирование: у каждого децентрализованного приложения есть свои собственные блокчейны. Поскольку каждый блокчейн управляется подмножеством узлов, можно увеличить общую пропускную способность, увеличив количество узлов.
  • Богатые возможности индексирования и запросов: Dapps могут быстро получать необходимую информацию непосредственно с узлов, на которых запущено приложение. Логика блокчейна Dapp может выполнять сложные запросы без серьезного снижения производительности.
  • Высокая пропускная способность ввода-вывода: запросы данных и обновления делегируются в сильно оптимизированную реляционную базу данных, что позволяет dapps выполнять большое количество запросов и операций обновления данных.
  • PBFT - консенсус: транзакции могут быть подтверждены в течение нескольких секунд.
  • Первоклассные децентрализованные приложения: децентрализованные приложения не возникают из «умных контрактов» в Chromia, но считаются первоклассными объектами. Chromia дает разработчикам децентрализованных приложений высокую степень гибкости и контроля.
  • Обеспечение на уровне Dapp: распределение ресурсов между dapps, а не контрактами, дает разработчикам свободу создавать свои собственные политики оплаты и использования ресурсов.

Chromia предлагает такой же уровень открытости, прозрачности и децентрализации, как и другие публичные блокчейны. В Chromia майнеры заменены на провайдеров.

Блокчейн как база данных

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

Блокчейны, оптимизированные для платежей, такие как Биткойн, могут использовать узкоспециализированные (и оптимизированные) модели данных. Но платформа, предназначенная для размещения разнообразных децентрализованных приложений, требует универсальной модели данных.

Большинство платформ блокчейнов в настоящее время используют хранилища данных типа ключ-значение (примеры: Ethereum, NEO, Fabric).

Теоретически эта модель является законченной и позволяет использовать высокопроизводительные хранилища данных, такие как LevelDB. Однако эта модель очень низкоуровневая и требует от разработчиков приложений реализации основных функций, таких как сериализация и индексирование, что является сложной задачей.

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

Реляционная модель

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

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

Реляционная модель также позволяет нам использовать возможности систем управления базами данных (СУБД) SQL, которые оптимизировались десятилетиями. Вместо кода dapp, который просматривает ячейки памяти одну за другой, мы можем отправить запрос в СУБД и позволить ей использовать сложное планирование запросов, структуры данных и возможности кэширования, чтобы выполнить запрос как можно быстрее.

Конечно, выбор модели данных - это компромисс. Реляционная модель может иметь следующие недостатки:

  • Производительность сложно предсказать и зависит от планировщика запросов. Это не является существенным недостатком в контексте Chromia, потому что каждое dapp будет работать изолированно; медленные запросы будут влиять только на dapp, которое их выполняет, а не на систему в целом.
  • Невозможно установить жесткие ограничения на время выполнения запроса. Опять же, это не проблема в Chromia, потому что это влияет только на производительность приложения, которое выдает медленные запросы.
  • Распараллеливание баз данных SQL - сложная область активных исследований. Насколько нам известно, ни одна блокчейн-платформа не предлагает 100% полностью автоматическое распараллеливание в массовом масштабе. Таким образом, нет никаких доказательств того, что реляционная модель хуже других моделей. Кроме того, мы считаем, что реляционная модель упростит реализацию механизмов логического сегментирования и боковой цепи.

Первоклассные децентрализованные приложения

В Ethereum весь код живет в «контрактах». Он не делает различий между индивидуальными контрактами кошелька и сложными многопользовательскими контрактами: все они используют одну и ту же модель измерения ресурсов и программирования. В децентрализованном приложении на основе Ethereum будет использоваться один или несколько контрактов (возможно, контракт для каждого пользователя) и интерфейсные компоненты. Фактически, многие приложения Ethereum используют централизованное кэширование, что делает их «децентрализованные» учетные данные несколько сомнительными.

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

Другими словами, Ethereum не дает децентрализованным приложениям гибкости для самостоятельного управления ресурсами. Например, бизнес-модель “freemium” совершенно невозможна. Это создает барьер для децентрализованного внедрения приложений: большинство пользователей не готовы платить за каждый клик. Chromia решает эту проблему, предоставляя ресурсы на уровне децентрализованного приложения:

  • У каждого децентрализованного приложения есть собственный блокчейн (сайдчейн);
  • Сборы (собираемые для обслуживания узлов) оплачиваются децентрализованным приложением в целом, а не конечными пользователями напрямую.

Следовательно, децентрализованные приложения могут свободно реализовывать свои собственные политики управления ресурсами, которые могут быть согласованы с экономическими, а не техническими потребностями.

Каждому блокчейну нужен механизм защиты от спама, но этот механизм не должен быть привязан к комиссиям. Например, dapp может разрешать только 1 действие пользователя каждые 15 секунд, поэтому один пользователь не сможет спамить блокчейн с миллиардами транзакций. Кроме того, децентрализованное приложение может противодействовать атакам Sybil, ограничивая регистрацию новых пользователей до некоторой разумной скорости и / или требуя приглашения или депозита.

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

Это устраняет накладные расходы на измерение ресурсов (нас больше не волнует, сколько инструкций было выполнено, поскольку приложение не может использовать больше ресурсов, чем было предоставлено), позволяя dapps работать быстрее и лучше масштабироваться.

Помимо планирования, наличие децентрализованных приложений в качестве первоклассных граждан на платформе позволяет интегрировать экономику токенов с моделью оплаты, то есть сборы взимаются из прибыли, «заработанной» приложением. Он также поддерживает механизмы управления и обновления dapp, которые встроены в платформу.