Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

"Using Blockchain in Node.js project: JavaScript Ninja’s experience" Maksym Demydenko

245 views

Published on

The report will be devoted to real cases of using blockchain technology in the implementation of the project on Node.js. Possible architectural approaches, use-cases and business processes covered by this technology will be highlighted. My task as a speaker is to share experience and show the way of thinking when building systems using distributed registry technology.

Published in: Software
  • Be the first to comment

  • Be the first to like this

"Using Blockchain in Node.js project: JavaScript Ninja’s experience" Maksym Demydenko

  1. 1. USING BLOCKCHAIN IN NODE.JS PROJECT JavaScript Ninja’s experience
  2. 2. ЗА ТРИ ГОДА ОПЫТА РАБОТЫ: ➤ Разработкой Point of Sale системы ➤ Embedded система для анализа сетевого трафика ➤ Учавствовал в американском стартапе по разработке антивируса ➤ Маркетплейс для торговли природными ресурсами на блокчейне с использованием Quorum ➤ Участвовал в разработке проектов Kyiv Smart City
  3. 3. КАК ТРАКТУЮТ БЛОКЧЕЙН: ➤ Конкретный блокчейн (Bitcoin, Ethereum, Quorum) - энтузиасты криптовалют понимают под этим какой-то конкретный блокчейн. ➤ Блокчейн как технология - финансисты и бизнесмены подразумевают технологию, что- то, что решает какие-то проблемы или задачи в бизнесе. ➤ Реализация технологии в конкретном случае - стартапы, которые собирали ICO, потом STO, потом IEO подразумевают реализацию блокчейна конкретно для их случая.
  4. 4. «Блокчейн - это технология совместного хранения данных, которая решает проблему доверия в Trustless среде.
  5. 5. ТЕХНИЧЕСКАЯ СТОРОНА БЛОКЧЕЙНА ➤ Блоки состоят из транзакций - цифровых значений о передачи собственности, подписанные ЕЦП; ➤ У каждого аккаунта есть свой публичный ключ - это как номер счета; ➤ Все блоки в блокчейне связаны стойкой хеш-функцией. Структура:
  6. 6. CENTRALIZATION DECENTRALIZATION Когда стоит использовать блокчейн: ➤ Хранение и учет; ➤ Передача активов между пользователями; ➤ Управление учетной системой ведется несколькими независимимы сторонами.
  7. 7. КРИТЕРИИ ОТЛИЧИЯ БЛОКЧЕЙН-СИСТЕМ ➤ По доступу - публичный / приватный: Публичный — кто угодно может иметь доступ к транзакциям и проводить аудит. Приватный — только заранее определенные стороны имеют такие права. ➤ По возможности валидирования транзакций - Permissioned / Permissionless: Permissionless — кто угодно может стать валидатором и создавать новые блоки. Permissioned — только специально назначенные стороны могут верифицировать транзакции и формировать блоки.
  8. 8. КРИТЕРИИ ОТЛИЧИЯ БЛОКЧЕЙН-СИСТЕМ ➤ По механизму валидирования транзакций (алгоритм консенсуса) Алгоритм консенсуса может определяться как механизм, с помощью которого блокчейн сеть достигает консенсуса. Соблюдаются правила протокола, и гарантируют, что все транзакции происходят доверенным способом, поэтому монеты могут быть потрачены только один раз.
  9. 9. КОНСЕНСУС PROOF-OF-WORK ➤ Количество валидаторов (майнеров) неизвестно; ➤ Валидаторы анонимны и не имеют репутации; ➤ Голос подкрепляется доказательством работы; ➤ Консенсус достигнут, если стороны, которые контролируют большинство мощности в согласии; ➤ Примеры: Bitcoin, Monero, Litecoin

  10. 10. КОНСЕНСУС PROOF-OF-STAKE ➤ Создатель блока определяется алгоритмом; ➤ Шанс проголосовать пропорционален балансу; ➤ Валидатор теряет свои монеты, если заверяет неправильные или конфликтующие блоки; ➤ Консенсус достигается, если владельцы большинства монет согласовали состояние базы данных; ➤ Примеры: Peercoin, NXT, Bitshares
  11. 11. КОНСЕНСУС BFT ➤ The Byzantine fault tolerance; ➤ Количество валидаторов заранее известно; ➤ Валидаторы идентифицированы и знают друг друга; ➤ Добавление или удаление валидатора требует согласия остальных; ➤ Пример: Hyperledger (опционально)

  12. 12. АРХИТЕКТУРА ПРИЛОЖЕНИЙ
  13. 13. ДЕЦЕНТРАЛИЗОВАННАЯ СИСТЕМА ЦЕНТРАЛИЗОВАННАЯ СИСТЕМА С ДЕЛЕГАЦИЕЙ ПРОЦЕССИНГА ОПРЕДЕЛЕННОЙ БИЗНЕСС-ЛОГИКИ В ДЕЦЕНТРАЛИЗОВАННУЮ СЕТЬ
  14. 14. СМАРТ КОНТРАКТЫ
  15. 15. СМАРТ КОНТРАКТЫ ➤ Записываются в виде кода, существующего в распределенном реестре — блокчейне, который поддерживается и управляется сетью компьютеров. Простыми словами, умные контракты позволяют обмениваться активами, не прибегая к услугам посредников; ➤ Дают возможность выполнять надежные и конфиденциальные транзакции без участия внешних посредников в лице банков или государственных органов; ➤ Являются прослеживаемыми, прозрачными и необратимыми; ➤ Содержат информацию об обязательствах сторон и санкциях за их нарушение; ➤ Автоматически обеспечивают выполнение всех условий договора.
  16. 16. СЛУЧАИ ИСПОЛЬЗОВАНИЯ БЛОКЧЕЙНА ➤ Взаиморасчеты между банками; ➤ Публичные реестры; ➤ Аукционы и биржи ➤ Голосования.
  17. 17. NODE.JS ? ➤ Очень быстро обретает популярность, растет комьюнити; ➤ Он достаточно легковесный; ➤ Зашитая в архитектуре масштабируемость; ➤ Очень много различных либ и фреймворков. Большое количество сервисов на которое попадаешь в интернете, предоставляют SDK на JavaScript.
  18. 18. БИБЛИОТЕКИ ДЛЯ ИНТЕГРАЦИИ ➤ web3.js ➤ Ethers.js Библиотеки представляют собой набор модулей, которые содержат специальные функции для экосистемы Ethereum такие как - для взаимодействия с блокчейном Ethereum и смарт-контрактами, модуль для p2p общения с другими узлами и други вспомогательные утилиты для разработчиков DApp.
  19. 19. ТЕСТИРОВАНИЕ Явной необходимостью с точки зрения смарт-контрактов является покрытие функционала смарт-контракта тестами. ➤ Методология BDD ➤ Truffle (https://truffleframework.com/docs/truffle/testing/ testing-your-contracts)
  20. 20. QUORUM BLOCKCHAIN Quorum поддерживает: ➤ приватность на уровне транзакций; ➤ прозрачность сети, настраиваемую согласно требованиям бизнеса; ➤ блокчейн транзакции среди ограниченной группы определенных участников. Quorum - это блокчейн инфраструктура основанная на Ethereum, созданная специально для финансового сектора.
  21. 21. SAAS-РЕШЕНИЯ - KALEIDO / QUORUM AZURE На высоком уровне - это SAAS-решение - платформа, которая была разработана, чтобы упростить процесс разворачивания приватной блокчейн-сети
  22. 22. СПАСИБО ЗА ВНИМАНИЕ! МАКСИМ ДЕМИДЕНКО EMAIL: M.DEMYD@GMAIL.COM FACEBOOK: FACEBOOK.COM/MAX.DEMIDENKO WEBSITE: CODEMOTION.NINJA

×