О фреймворке

Exonum — это фреймворк для создания блокчейн-проектов

Мы разработали Exonum, чтобы создавать децентрализованные базы данных, основанные на технологии блокчейн. Фреймворк позволяет создавать безопасные и надёжные блокчейны, в которых все узлы, генерирующие блоки, известны заранее.

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

Перед вами — новый шаг в развитии блокчейна. Он называется Exonum.

Консенсус

Мы разработали собственный алгоритм консенсуса, устойчивый к византийскому поведению узлов. Он гарантирует, что в любой момент существует только одна согласованная версия блокчейна.

Rust & Java

Ядро Exonum написано на языке системного программирования Rust. Расширение Java Binding обеспечивает интерфейсы для разработки приложений на Java.

Анкоринг

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

Лёгкий клиент

Позволяет пользователям отправлять транзакции в блокчейн. Подлинность данных в блокчейне проверяется не только на стороне сервера, но и на стороне клиента — это защищает данные пользователей от MITM-атак.

Команда

Чтобы создать фреймворк Exonum, компания Bitfury собрала команду опытных разработчиков и аналитиков, блестящих специалистов в математике, криптографии и других точных науках.

Как это работает

Exonum блокчейн

Блокчейн

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

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

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

Неизменяемость

Транзакция, которая записана в блок, остается в блокчейне навсегда. Незаметно изменить или удалить транзакцию, или сам блок, невозможно.

Децентрализация

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

Криптографическое доказательство

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

Exonum консенсус

Консенсус

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

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

Подробнее

Отказоустойчивость

Чтобы достичь консенсуса, не обязательно, чтобы все валидаторы участвовали в нём. Система продолжает работать, если до 1/3 всех валидаторов отключены или скомпрометированы.

Скорость

Средняя скорость обработки транзакций в Exonum блокчейне: 5000 транзакций в секунду. Это значит, что новый блок из 2500 транзакций генерируется каждые пол секунды.

Безопасность

Если все валидаторы вступят в сговор и изменят цепочку транзакций, данные, которые были записаны в блокчейн до последнего анкоринга, не пострадают.

Exonum анкоринг

Анкоринг

Хеш-сумма состояния блокчейна периодически сохраняется в общедоступный блокчейн Bitcoin. Это повышает безопасность блокчейна Exonum, так как даже если все валидаторы вступят в сговор, они не смогут незаметно изменить историю транзакций. Чтобы проверить подлинность цепочки блоков, достаточно сравнить хеш-сумму, полученную от узла Exonum, c хеш-суммой, записанной в Bitcoin блокчейн.

Затраты на атаку сети Bitcoin так велики, что изменить хеш-сумму, записанную в Bitcoin блокчейн, практически невозможно.

Подробнее

Надёжность

Затраты на атаку сети Exonum, в которой регулярно выполняется анкоринг, сопоставимы с затратами на атаку всей сети Bitcoin.

Отказоустойчивость

Решение об отправке хеша в блокчейн Bitcoin принимается в результате консенсуса. Как и для создания нового блока, для анкоринга достаточно, чтобы правильно работали больше 2/3 узлов. Один узел не может стать точкой отказа.

Прозрачность

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

Exonum лёгкий клиент

Лёгкий клиент

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

Получая данные, клиент получает и криптографические доказательства их истинности. Эти доказательства проверяются на стороне клиента. Такая система защищена от MITM атаки — можно обмениваться данными даже в общественном месте с открытым Wi‑Fi.

Чтобы создавать программы‑клиенты, мы разработали JavaScript библиотеку. Лёгкий клиент можно создать на любом другом языке программирования – мы предоставляем HTTP API для каждого блокчейн-проекта.

Подробнее

Достоверность данных

Данные, которые получает пользователь, проверяются на стороне клиента. Если взломан канал связи или узел, от которого получены данные, пользователь сразу это заметит.

Кросс-платформенность

Библиотека написана на языке JavaScript, поэтому подходит для разработки лёгких клиентов для мобильных устройств и ноутбуков. Также библиотеку можно использовать для создания Node.js приложений, которые запускаются на серверах.

Exonum Rust

Rust

Exonum написан на Rust — универсальном, современном, безопасном и быстром языке, который используется для системного программирования. Rust эффективно работает с памятью и многопоточностью. Rust программа компилируется сразу в машинный код, поэтому выполняется быстрее, чем виртуальный байткод.

Надёжность

Мощный статический анализатор кода, встроенный в Rust, помогает создавать высоконадёжные компьютерные системы. Уже на уровне архитектуры Rust защищает от распространенных в программировании ошибок.

Эффективность

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

Ссылки

Область применения

Примеры

Exonum для гостударственных реестров

Государственные реестры

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

Демо
Exonum для электронных отметок времени

Электронная отметка времени

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

Демо
Exonum для цепочек поставок

Цепочки поставок

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

Exonum смарт-контракты

Смарт‑контракты

Exonum может полностью автоматизировать выполнение пунктов любого договора, превратив его в смарт‑контракт. Единственное условие — пункты договора должны быть описаны так же четко, как математические правила. Используя смарт‑контракты, можно создать прозрачную и надежную систему обмена любыми активами: деньгами, акциями, недвижимостью.

Демо
Exonum для идентификации личности

Идентификация личности

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

Exonum для электроэнергетики

Транзакции в электроэнергетике

Блокчейн Exonum может напрямую связать поставщиков электроэнергии, потребителей и контролирующие организации. Автоматическая обработка транзакций и смарт‑контракты позволяют автоматизировать, например, отчёты управляющих компаний, выставление счетов и расчёты по показаниям счетчиков.

Exonum для электронных аукционов

Электронные аукционы

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

Exonum для здравоохранения

Реестры лекарств и рецептов

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

Exonum для страхования

Электронные страховые полисы

Любой договор страхования подразумевает, что условия выплат не будут меняться после его заключения. Exonum позволяет надёжно зафиксировать договоренности и объединить их в прозрачную систему, в которой невозможно добавить страховой договор после страхового случая, или изменить страховой полис после покупки.

Знаете где ещё необходим Exonum?

Расскажите нам

Написать

Рассылка

Обещаем присылать только интересные новости и не чаще раза в неделю.