SlideShare a Scribd company logo
Оракулы для
Exonum
Алексей Сидоров
Exonum Core Developer
/ 1
BFT, Rust, Light Client
Exonum Framework:
Введение
01
/ 2Exonum Framework
Exonum — это фреймворк с открытым исходным
кодом для создания приватных Блокчейнов,
созданный компанией The Bitfury Group.
Первый публичный релиз фреймворка на Github
состоялся 17 июля 2017.
На данный момент выпущена версия Exonum 0.5
/ 3Exonum Framework
Rust
Язык программирования
Ядро Exonum построено на Rust, наиболее безопасном
языке программирования на данный момент. Rust —
это компилируемый и мультипарадигмальный
системный язык программирования. Он схож с языком
C++ и обладает управлением памятью, которое
защищает от многих распространенных ошибок в
программировании.
/ 4Exonum Framework
Консенсус
BFT Алгоритм
Exonum использует особый алгоритм консенсуса,
устойчивого к византийскому поведению. Он
гарантирует целостность данных и корректное
выполнение транзакций даже в случае выхода из строя
вплоть до 1/3 узлов из-за неисправности или
намеренной зловредной деятельности, при этом не
требуя майнинга блоков.
Производительность блокчейна на Exonum составляет
5000 транзакций в секунду с задержкой в 0.5 секунды.
/ 5Exonum Framework
Анкоринг
На Bitcoin Blockchain
Сервис периодически высылает хеши блоков в
общедоступный биткойн-блокчейн в формате
транзакций-свидетельств. В этом случае, даже если
Exonum-блокчейн прекратит работать, данные все
равно можно будет верифицировать.
/ 6Exonum Framework
Тонкий клиент
Приложение на JavaScript
Узлы сети, которые хранят у себя только небольшую
часть блокчейна, представляющую интерес. Они
позволяют взаимодействовать с блокчейном с
помощью мобильных приложений или веб-браузеров
напрямую. Клиенты «общаются» с одним и более
сервисами на полнофункциональном узле через API.
/
Электронное
голосование
/ 8
Оракулы блокчейна
02
/ 9
Зачем нам оракул?
И каким он должен быть
Оракулы Блокчейна
Согласованный источник внешних данных для Блокчейна
Хотим ему доверять
Хотим децентрализованный (чтобы не упал)
/ 10
Типы оракулов
Оракулы Блокчейна
Источник Данные
Простой оракул: один узел, данные => блокчейн  
Oraclize: + доказательство для данных ☺ 
Оракул с открытым кодом ☺ 
Оракул с открытым кодом, много источников ☺ ☺
Сеть оракулов ☺ ☺
/
Биржевые
курсы
/ 12
Оракулы: другие реализации
Оракулы Блокчейна
/ 13
Оракулы на Exonum
03
/ 14Оракулы на Exonum
Внешние
данные
Ноды
с сервисами
Транзакции
со статусами
Общий
статус
/ 15Оракулы на Exonum
Оракул времени
Каждый валидатор Exonum имеет свой источник точного времени
Раз в блок формирует транзакцию со своим временем
При выполнении транзакции, каждый узел сравнивает полученное время с
временами на других узлах и вычисляет точное время
/ 16Оракулы на Exonum
Алгоритм вычисления времени
Требования к времени
1. Устойчиво к византийскому поведению
2. Детерминировано
3. Относительно точное (±1 минута)
4. Монотонное (не должно прыгать назад)
Консенсусное время
1. N валидаторов, f византийцев (f = N / 3)
2. Берем времена валидаторов
3. Сортируем от нового к старым
4. Любое время от f + 1 до 2 * f + 1 точно «честное»
5. Берем время f + 1 узла, как наиболее
актуальное, соблюдая требование монотонности
6. Погрешность: частота блоков
/ 17
Почему F+1 время - честное?
Оракулы на Exonum
01
02
03
/ 18Оракулы на Exonum
Оракул: Анкоринг
Анкоринг — оракул состояния Bitcoin-Блокчейна
Каждый валидатор спрашивает у узла Bitcoin
последнюю непотраченую анкорящую транзакцию,
публикует её в Exonum-блокчейне.
Если результат совпадает у 2/3+1 валидаторов =>
согласованная.
*LECT – Latest Expected Correct Transaction
/
Алексей Сидоров
Exonum Core Developer
exonum.com
https://github.com/exonum
@ExonumPlatform
СПАСИБО!

More Related Content

What's hot

World of Tanks: Linux and Open Source Inside
World of Tanks: Linux and Open Source InsideWorld of Tanks: Linux and Open Source Inside
World of Tanks: Linux and Open Source InsideMaksim Melnikau
 
ногинов Aoe Stripped
ногинов Aoe Strippedногинов Aoe Stripped
ногинов Aoe StrippedLiudmila Li
 
NeoQUEST: Tpm.txt.на что способно заморское железо
NeoQUEST: Tpm.txt.на что способно заморское железоNeoQUEST: Tpm.txt.на что способно заморское железо
NeoQUEST: Tpm.txt.на что способно заморское железо
Neo_QUEST
 
Git - распределенная система контроля версий
Git - распределенная система контроля версийGit - распределенная система контроля версий
Git - распределенная система контроля версий
Oleg Poyaganov
 
Погружение в Ethereum
Погружение в EthereumПогружение в Ethereum
Погружение в Ethereum
Sergey Lonshakov
 
Opera
OperaOpera
Операционная система GNU/Linux: устройство и функционирование
Операционная система GNU/Linux: устройство и функционированиеОперационная система GNU/Linux: устройство и функционирование
Операционная система GNU/Linux: устройство и функционированиеyaevents
 

What's hot (7)

World of Tanks: Linux and Open Source Inside
World of Tanks: Linux and Open Source InsideWorld of Tanks: Linux and Open Source Inside
World of Tanks: Linux and Open Source Inside
 
ногинов Aoe Stripped
ногинов Aoe Strippedногинов Aoe Stripped
ногинов Aoe Stripped
 
NeoQUEST: Tpm.txt.на что способно заморское железо
NeoQUEST: Tpm.txt.на что способно заморское железоNeoQUEST: Tpm.txt.на что способно заморское железо
NeoQUEST: Tpm.txt.на что способно заморское железо
 
Git - распределенная система контроля версий
Git - распределенная система контроля версийGit - распределенная система контроля версий
Git - распределенная система контроля версий
 
Погружение в Ethereum
Погружение в EthereumПогружение в Ethereum
Погружение в Ethereum
 
Opera
OperaOpera
Opera
 
Операционная система GNU/Linux: устройство и функционирование
Операционная система GNU/Linux: устройство и функционированиеОперационная система GNU/Linux: устройство и функционирование
Операционная система GNU/Linux: устройство и функционирование
 

More from Cyber Fund

Разработка на блокчейн Голос | Ерлан Шиндаулетов
Разработка на блокчейн Голос | Ерлан ШиндаулетовРазработка на блокчейн Голос | Ерлан Шиндаулетов
Разработка на блокчейн Голос | Ерлан Шиндаулетов
Cyber Fund
 
Mesh-сети - интернет, который мы заслужили. Матвей Сиворакша
Mesh-сети - интернет, который мы заслужили. Матвей СиворакшаMesh-сети - интернет, который мы заслужили. Матвей Сиворакша
Mesh-сети - интернет, который мы заслужили. Матвей Сиворакша
Cyber Fund
 
Продукты и сервисы на блокчейне биткоина. Спикер: Алексей Карпов
Продукты и сервисы на блокчейне биткоина. Спикер: Алексей КарповПродукты и сервисы на блокчейне биткоина. Спикер: Алексей Карпов
Продукты и сервисы на блокчейне биткоина. Спикер: Алексей Карпов
Cyber Fund
 
Blockchain wallet Multy
Blockchain wallet MultyBlockchain wallet Multy
Blockchain wallet Multy
Cyber Fund
 
Практические кейсы использования приватных блокчейнов на EXONUM. Спикер: Глеб...
Практические кейсы использования приватных блокчейнов на EXONUM. Спикер: Глеб...Практические кейсы использования приватных блокчейнов на EXONUM. Спикер: Глеб...
Практические кейсы использования приватных блокчейнов на EXONUM. Спикер: Глеб...
Cyber Fund
 
Onchain масштабирование блокчейна. Спикер: Дмитрий Мешков
Onchain масштабирование блокчейна. Спикер: Дмитрий МешковOnchain масштабирование блокчейна. Спикер: Дмитрий Мешков
Onchain масштабирование блокчейна. Спикер: Дмитрий Мешков
Cyber Fund
 
Анонимизация и деанонимизация пользователей в блокчейн-сетях. Спикер: Григори...
Анонимизация и деанонимизация пользователей в блокчейн-сетях. Спикер: Григори...Анонимизация и деанонимизация пользователей в блокчейн-сетях. Спикер: Григори...
Анонимизация и деанонимизация пользователей в блокчейн-сетях. Спикер: Григори...
Cyber Fund
 
CyberSearch: The Blockchain Browser. Valery Litvin
CyberSearch: The Blockchain Browser. Valery LitvinCyberSearch: The Blockchain Browser. Valery Litvin
CyberSearch: The Blockchain Browser. Valery Litvin
Cyber Fund
 
Verifying offchain computations using TrueBit. Sami Makela
Verifying offchain computations using TrueBit. Sami MakelaVerifying offchain computations using TrueBit. Sami Makela
Verifying offchain computations using TrueBit. Sami Makela
Cyber Fund
 
The Melon security approach. Reto Trinkler
The Melon security approach. Reto TrinklerThe Melon security approach. Reto Trinkler
The Melon security approach. Reto Trinkler
Cyber Fund
 
The censorship resistance. Andrey Sobol
The censorship resistance. Andrey SobolThe censorship resistance. Andrey Sobol
The censorship resistance. Andrey Sobol
Cyber Fund
 
End-to-end encryption for Dapps with NuCypher KMS. Sergey Zotov, software dev...
End-to-end encryption for Dapps with NuCypher KMS. Sergey Zotov, software dev...End-to-end encryption for Dapps with NuCypher KMS. Sergey Zotov, software dev...
End-to-end encryption for Dapps with NuCypher KMS. Sergey Zotov, software dev...
Cyber Fund
 
Creating CI/ CD infrastructure for open source projects. Denis Soldatov, dev-...
Creating CI/ CD infrastructure for open source projects. Denis Soldatov, dev-...Creating CI/ CD infrastructure for open source projects. Denis Soldatov, dev-...
Creating CI/ CD infrastructure for open source projects. Denis Soldatov, dev-...
Cyber Fund
 
Rust & Web Assembly
Rust & Web AssemblyRust & Web Assembly
Rust & Web Assembly
Cyber Fund
 
Будущее блокчейн. Спикер: Владимир Попов
Будущее блокчейн. Спикер: Владимир ПоповБудущее блокчейн. Спикер: Владимир Попов
Будущее блокчейн. Спикер: Владимир Попов
Cyber Fund
 
Почему децентрализованные биржи ближе чем нам кажется. Андрей Соболь
 Почему децентрализованные биржи ближе чем нам кажется. Андрей Соболь Почему децентрализованные биржи ближе чем нам кажется. Андрей Соболь
Почему децентрализованные биржи ближе чем нам кажется. Андрей Соболь
Cyber Fund
 
Новеллы в законодательстве. Спикер: Алексей Воробей
Новеллы в законодательстве. Спикер: Алексей ВоробейНовеллы в законодательстве. Спикер: Алексей Воробей
Новеллы в законодательстве. Спикер: Алексей Воробей
Cyber Fund
 
Перспективы технологии и философии. Спикер: Владимир Попов
Перспективы технологии и философии. Спикер: Владимир ПоповПерспективы технологии и философии. Спикер: Владимир Попов
Перспективы технологии и философии. Спикер: Владимир Попов
Cyber Fund
 
Использование открытых данных блокчейн . Спикер: Александр Давыдов.pptx
Использование открытых данных блокчейн . Спикер: Александр Давыдов.pptxИспользование открытых данных блокчейн . Спикер: Александр Давыдов.pptx
Использование открытых данных блокчейн . Спикер: Александр Давыдов.pptx
Cyber Fund
 
Lightning — текущий статус разработок. Спикер: Панков Александр.odp
Lightning — текущий статус разработок. Спикер: Панков Александр.odpLightning — текущий статус разработок. Спикер: Панков Александр.odp
Lightning — текущий статус разработок. Спикер: Панков Александр.odp
Cyber Fund
 

More from Cyber Fund (20)

Разработка на блокчейн Голос | Ерлан Шиндаулетов
Разработка на блокчейн Голос | Ерлан ШиндаулетовРазработка на блокчейн Голос | Ерлан Шиндаулетов
Разработка на блокчейн Голос | Ерлан Шиндаулетов
 
Mesh-сети - интернет, который мы заслужили. Матвей Сиворакша
Mesh-сети - интернет, который мы заслужили. Матвей СиворакшаMesh-сети - интернет, который мы заслужили. Матвей Сиворакша
Mesh-сети - интернет, который мы заслужили. Матвей Сиворакша
 
Продукты и сервисы на блокчейне биткоина. Спикер: Алексей Карпов
Продукты и сервисы на блокчейне биткоина. Спикер: Алексей КарповПродукты и сервисы на блокчейне биткоина. Спикер: Алексей Карпов
Продукты и сервисы на блокчейне биткоина. Спикер: Алексей Карпов
 
Blockchain wallet Multy
Blockchain wallet MultyBlockchain wallet Multy
Blockchain wallet Multy
 
Практические кейсы использования приватных блокчейнов на EXONUM. Спикер: Глеб...
Практические кейсы использования приватных блокчейнов на EXONUM. Спикер: Глеб...Практические кейсы использования приватных блокчейнов на EXONUM. Спикер: Глеб...
Практические кейсы использования приватных блокчейнов на EXONUM. Спикер: Глеб...
 
Onchain масштабирование блокчейна. Спикер: Дмитрий Мешков
Onchain масштабирование блокчейна. Спикер: Дмитрий МешковOnchain масштабирование блокчейна. Спикер: Дмитрий Мешков
Onchain масштабирование блокчейна. Спикер: Дмитрий Мешков
 
Анонимизация и деанонимизация пользователей в блокчейн-сетях. Спикер: Григори...
Анонимизация и деанонимизация пользователей в блокчейн-сетях. Спикер: Григори...Анонимизация и деанонимизация пользователей в блокчейн-сетях. Спикер: Григори...
Анонимизация и деанонимизация пользователей в блокчейн-сетях. Спикер: Григори...
 
CyberSearch: The Blockchain Browser. Valery Litvin
CyberSearch: The Blockchain Browser. Valery LitvinCyberSearch: The Blockchain Browser. Valery Litvin
CyberSearch: The Blockchain Browser. Valery Litvin
 
Verifying offchain computations using TrueBit. Sami Makela
Verifying offchain computations using TrueBit. Sami MakelaVerifying offchain computations using TrueBit. Sami Makela
Verifying offchain computations using TrueBit. Sami Makela
 
The Melon security approach. Reto Trinkler
The Melon security approach. Reto TrinklerThe Melon security approach. Reto Trinkler
The Melon security approach. Reto Trinkler
 
The censorship resistance. Andrey Sobol
The censorship resistance. Andrey SobolThe censorship resistance. Andrey Sobol
The censorship resistance. Andrey Sobol
 
End-to-end encryption for Dapps with NuCypher KMS. Sergey Zotov, software dev...
End-to-end encryption for Dapps with NuCypher KMS. Sergey Zotov, software dev...End-to-end encryption for Dapps with NuCypher KMS. Sergey Zotov, software dev...
End-to-end encryption for Dapps with NuCypher KMS. Sergey Zotov, software dev...
 
Creating CI/ CD infrastructure for open source projects. Denis Soldatov, dev-...
Creating CI/ CD infrastructure for open source projects. Denis Soldatov, dev-...Creating CI/ CD infrastructure for open source projects. Denis Soldatov, dev-...
Creating CI/ CD infrastructure for open source projects. Denis Soldatov, dev-...
 
Rust & Web Assembly
Rust & Web AssemblyRust & Web Assembly
Rust & Web Assembly
 
Будущее блокчейн. Спикер: Владимир Попов
Будущее блокчейн. Спикер: Владимир ПоповБудущее блокчейн. Спикер: Владимир Попов
Будущее блокчейн. Спикер: Владимир Попов
 
Почему децентрализованные биржи ближе чем нам кажется. Андрей Соболь
 Почему децентрализованные биржи ближе чем нам кажется. Андрей Соболь Почему децентрализованные биржи ближе чем нам кажется. Андрей Соболь
Почему децентрализованные биржи ближе чем нам кажется. Андрей Соболь
 
Новеллы в законодательстве. Спикер: Алексей Воробей
Новеллы в законодательстве. Спикер: Алексей ВоробейНовеллы в законодательстве. Спикер: Алексей Воробей
Новеллы в законодательстве. Спикер: Алексей Воробей
 
Перспективы технологии и философии. Спикер: Владимир Попов
Перспективы технологии и философии. Спикер: Владимир ПоповПерспективы технологии и философии. Спикер: Владимир Попов
Перспективы технологии и философии. Спикер: Владимир Попов
 
Использование открытых данных блокчейн . Спикер: Александр Давыдов.pptx
Использование открытых данных блокчейн . Спикер: Александр Давыдов.pptxИспользование открытых данных блокчейн . Спикер: Александр Давыдов.pptx
Использование открытых данных блокчейн . Спикер: Александр Давыдов.pptx
 
Lightning — текущий статус разработок. Спикер: Панков Александр.odp
Lightning — текущий статус разработок. Спикер: Панков Александр.odpLightning — текущий статус разработок. Спикер: Панков Александр.odp
Lightning — текущий статус разработок. Спикер: Панков Александр.odp
 

Оракулы для блокчейнов. Обзор платформы Exonum. Спикер: Алексей Сидоров

  • 2. / 1 BFT, Rust, Light Client Exonum Framework: Введение 01
  • 3. / 2Exonum Framework Exonum — это фреймворк с открытым исходным кодом для создания приватных Блокчейнов, созданный компанией The Bitfury Group. Первый публичный релиз фреймворка на Github состоялся 17 июля 2017. На данный момент выпущена версия Exonum 0.5
  • 4. / 3Exonum Framework Rust Язык программирования Ядро Exonum построено на Rust, наиболее безопасном языке программирования на данный момент. Rust — это компилируемый и мультипарадигмальный системный язык программирования. Он схож с языком C++ и обладает управлением памятью, которое защищает от многих распространенных ошибок в программировании.
  • 5. / 4Exonum Framework Консенсус BFT Алгоритм Exonum использует особый алгоритм консенсуса, устойчивого к византийскому поведению. Он гарантирует целостность данных и корректное выполнение транзакций даже в случае выхода из строя вплоть до 1/3 узлов из-за неисправности или намеренной зловредной деятельности, при этом не требуя майнинга блоков. Производительность блокчейна на Exonum составляет 5000 транзакций в секунду с задержкой в 0.5 секунды.
  • 6. / 5Exonum Framework Анкоринг На Bitcoin Blockchain Сервис периодически высылает хеши блоков в общедоступный биткойн-блокчейн в формате транзакций-свидетельств. В этом случае, даже если Exonum-блокчейн прекратит работать, данные все равно можно будет верифицировать.
  • 7. / 6Exonum Framework Тонкий клиент Приложение на JavaScript Узлы сети, которые хранят у себя только небольшую часть блокчейна, представляющую интерес. Они позволяют взаимодействовать с блокчейном с помощью мобильных приложений или веб-браузеров напрямую. Клиенты «общаются» с одним и более сервисами на полнофункциональном узле через API.
  • 10. / 9 Зачем нам оракул? И каким он должен быть Оракулы Блокчейна Согласованный источник внешних данных для Блокчейна Хотим ему доверять Хотим децентрализованный (чтобы не упал)
  • 11. / 10 Типы оракулов Оракулы Блокчейна Источник Данные Простой оракул: один узел, данные => блокчейн   Oraclize: + доказательство для данных ☺  Оракул с открытым кодом ☺  Оракул с открытым кодом, много источников ☺ ☺ Сеть оракулов ☺ ☺
  • 13. / 12 Оракулы: другие реализации Оракулы Блокчейна
  • 15. / 14Оракулы на Exonum Внешние данные Ноды с сервисами Транзакции со статусами Общий статус
  • 16. / 15Оракулы на Exonum Оракул времени Каждый валидатор Exonum имеет свой источник точного времени Раз в блок формирует транзакцию со своим временем При выполнении транзакции, каждый узел сравнивает полученное время с временами на других узлах и вычисляет точное время
  • 17. / 16Оракулы на Exonum Алгоритм вычисления времени Требования к времени 1. Устойчиво к византийскому поведению 2. Детерминировано 3. Относительно точное (±1 минута) 4. Монотонное (не должно прыгать назад) Консенсусное время 1. N валидаторов, f византийцев (f = N / 3) 2. Берем времена валидаторов 3. Сортируем от нового к старым 4. Любое время от f + 1 до 2 * f + 1 точно «честное» 5. Берем время f + 1 узла, как наиболее актуальное, соблюдая требование монотонности 6. Погрешность: частота блоков
  • 18. / 17 Почему F+1 время - честное? Оракулы на Exonum 01 02 03
  • 19. / 18Оракулы на Exonum Оракул: Анкоринг Анкоринг — оракул состояния Bitcoin-Блокчейна Каждый валидатор спрашивает у узла Bitcoin последнюю непотраченую анкорящую транзакцию, публикует её в Exonum-блокчейне. Если результат совпадает у 2/3+1 валидаторов => согласованная. *LECT – Latest Expected Correct Transaction
  • 20. / Алексей Сидоров Exonum Core Developer exonum.com https://github.com/exonum @ExonumPlatform СПАСИБО!