Блокчейн и
смарт-контракты
для UNICEF

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

Есть три участника:
- первый участник - это UNICEF (наш Клиент), который создает и содействует осуществлению проекта, переводит фонд от Спонсора к Подрядчику;
- второй - это Подрядчик, который выполняет проект, занимается планированием, реализацией и выпуском, получает средства на свою работу;
- третий - Спонсор, который выделяет средства на проекты, следит за выполнением.

Веб-приложение должно объединять реализацию «проекта» Подрядчиком, получение средств, то есть токенов, через Ethereum блокчейн и отчет за потраченные средства для Клиента. Нашей задачей было внедрить весь процесс в виртуальный интерфейс и заставить его работать.
Область применения решения
Написан смарт контракт на Solidity для Ethereum блокчейн.
Реализован выпуск внутренней валюты (токенов).
Разработан веб-интерфейс, где реализована вся цепочка необходимых последовательных мероприятий для ведения проекта.

Веб-приложение включает в себя уже существующие интерфейсы и ресурсы организации UNICEF. А именно, оно отражает весь бизнес-процесс нашего Клиента: в организации существует целый ряд ролей с их правами в системе, начиная с создания проекта.
Задачи и их решения
Шаг 1

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

Когда информация была обработана и преобразована в юзкейсы, наша команда перешла к этапу проектирования.
Нашей командой были подготовлены три варианта сценариев со своими плюсами и минусами для выбора Клиента.
Шаг 3

Когда архитектура была выбрана и утверждена, мы начали разработку и тестирование.
Во-первых, мы смоделировали весь бизнес-процесс, как он физически проходит, начиная с создания проекта сотрудником UNICEF и заканчивая отчетом Подрядчика о проделанной работе. Перевод средств с одного счета на другой, который обычно делается в банке, был заменен смарт контрактом. Была реализована внутренняя валюта для Клиента в рамках экосистемы Etherium. В конце было проведено приемочное пользовательское тестирование, и приложение было передано Клиенту.
Технологии
<Technologies>
    Из-за сложности и необычного характера данного проекта было принято решение 
    использовать Vue.js для Front end и Node.js для Back end, 
    смарт контракт был реализован на Solidity,
    который широко используется на Ethereum (ERC20).
    Было выбрано несколько баз данных - PostgreSQL, MongoDB.
</Technologies>
Архитектура
Выбор инструментов
Back end подключен к блокчейну через Web3js, взаимодействующий через запросы json-rpc. Каждое приложение (Back end, пользовательский интерфейс - Front end) работает в отдельном контейнере Docker и управляется через Docker-compose.
Приложение состоит из следующих частей:
  1. Ethereum блокчейн с PoW консенсусом подключен к Ropsten Testnet через ноду Infura.io. Текущая сборка основана на официальной сборке Go Ethereum, которая в настоящее время является последней рабочей версией PoW консенсуса.

    Также она предоставляет Blockchain Explorer информацию о нодах Ethereum, такую как номер блока, информация о блоке, прямые JSON-RPC эндпоинты, системные логи и т.д.
2. NodeJS Back end. Приложение NodeJS, которое служит посредником c Ethereum блокчейн, обеспечивает REST API для UI FrontEnd, а также обеспечивает создание кошельков через библиотеку Lighwallet для операций с Ether и ERC20 Token, таких как transfer, approve, transferFrom, balance.

PostgreSQL DB служит для хранения информации, связанной с пользователем - информация для входа в систему, хэши файлов и т.д.
3. Vue.js Front end. Приложение Vue.js отражает весь сложный бизнес-процесс организации UNICEF и позволяет легко осуществлять пользователям все необходимые операции начиная от создания проекта и заканчивая просмотром отчетов о проделанной работе Подрядчиком.
Результаты
  1. Однородность. Создано приложение, где все участники процесса могут встретиться вместе. Это позволяет сэкономить время на общение и повысить эффективность работы. Ранее коммуникация партнеров проходила через почту, телефон или личные встречи.

  2. Автономность и экономия денег. Благодаря смарт контактам, которые обеспечивают децентрализацию, средства могут быть переведены сразу в любой необходимый момент. Это экономит время, это быстрее и дешевле. Ethereum блокчейн служит своего рода финансовым субъектом, обеспечивающим отсутствие посредников, таких как финансовые или юридические учреждения. Это означает, что нет необходимости идти в банк / юридическую фирму, ждать рабочего времени / дней или одобрения со стороны банковского персонала, если это необходимо, оплачивать услугу перевода. Все это иногда может быть довольно неприятным.

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

  4. Бэкап. Система исключает потерю учетной записи или предписанной функции в смарт контракте, поскольку блокчейн дублируется много раз.

  5. Скорость. Люди проводят много часов, собирая и обрабатывая документы, в то время, как однажды запрограммированное приложение делает всю работу самостоятельно.
Хотите оптимизировать Ваши процессы?
От идеи к реальной стоимости.
Мы готовы помочь решить Ваши задачи
Контакты
+38 (068) 014-97-18
hello@isky.solutions
Проспект Д. Яворницкого 111, 49000, Днепр