Уважаемые пользователи Голос!
Сайт доступен в режиме «чтение» до сентября 2020 года. Операции с токенами Golos, Cyber можно проводить, используя альтернативные клиенты или через эксплорер Cyberway. Подробности здесь: https://golos.io/@goloscore/operacii-s-tokenami-golos-cyber-1594822432061
С уважением, команда “Голос”
GOLOS
RU
EN
UA
cyberevents
7 лет назад

Ядро блокчейн-кошелька Multy. Спикер: Василий Немков

Тема доклада - техническая составляющая блокчейн-кошелька Multy, о которой вы узнаете непосредственно от CTO проекта Василия Немкова.

Проект Multy

Multy - мульти-криптовалютный мобильный кошелек. Данный кошелек разрабатывается следуя идеологии блокчейна:

  • Полная открытость
  • Безопасность
  • Мобильный кошелек должен быть быстрым и легким в использовании

Архитектура Multy

На сегодняшний день архитектура Multy выглядит следующим образом:

Снимок экрана 2018-03-21 в 16.10.58.png

Более подробно об архитектуре можно узнать https://golos.io/ru--blokcheijn/@cyberevents/kriptokoshelyok-multy-protiv-blokcheina-spiker-vadim-makovskii

Данная лекция посвящена одному из компонентов структуры (на изображении - шестиугольник С++) - библиотеке Multy Core.

Обзор библиотеки Multy Core:

Снимок экрана 2018-03-21 в 16.11.12.png

  • Написана на языке С/С++11
  • Построена на Cmake - современная автоматизированная система, позволяющая легко строить проекты
  • Использует сторонние библиотеки
  • Генерирует мнемоник фразу - последовательность слов, которая кодирует приватный ключ
  • Генерирует приватные и публичные ключи
  • Подписывает транзакции

Статистика библиотеки

Снимок экрана 2018-03-21 в 16.11.36.png

Библиотека multy_core насчитывает 150 файлов, 17 000 строк в которых компилируется примерно 680 Kb
multy_test - 30 файлов, 6 000 строк и 2,8 Mb
third-parties - 294 файла, 56 000 строк, 720 Kb

Структура Multy Core

Снимок экрана 2018-03-21 в 16.11.25.png

  • API проверяет аргументы, обрабатывает ошибки, валидирует определенную информацию и т.п.
  • API предоставляет доступ к функционалу mnemomic и блокчейнов Биткоин, Эфириум и Голос
  • Internals cвязывает сторонние API с бизнес-логикой блокчейнов
  • Сторонние библиотеки:

seep256k1 - библиотека публичных и приватных ключей от Bitcoin Core, которая используется для Биткоин, Эфириум и Голос
libwally - core - генерирует seed фразу, мнемоники, деривацию ключей и т.п.
keccak - tiny* - модифицированная версия для создания SHA-3 хешей
mini_gmp - библиотека, которая занимается большими целыми

  • Тесты - TestClient, multy_test, gtest

Реализации Биткоин, Эфириум, Голос

Снимок экрана 2018-03-21 в 17.23.46.png

Реализация Биткоин заняла 7 недель и составила 1137 строк
Эфириум - 3 недели и 759 строк
Голос - 3 недели и 745 строк

Реализация протокола блокчейн с точки зрения библиотеки

Снимок экрана 2018-03-21 в 17.30.45.png

Facade валидирует адреса и занимается специфическими блокчейн процессами
HD аккаунт генерирует приватные ключи
В аккаунте находится информация относительно генерации адресов и т.п.
Транзакции очень различаются в блокчейнах, что затрудняет процесс создания единого интерфейса

Но, все транзакций имеют общие параметры:

  • Источник, откуда исходят средства
  • Получатель средств
  • Информация о комиссии
  • Сериализация

Данная информация скрыта за интерфейсом Properties

Снимок экрана 2018-03-21 в 17.58.32.png

Добавление новых протоколов

Снимок экрана 2018-03-21 в 18.01.30.png

Диаграмма подробно иллюстрирует стандартную схему добавления новых протоколов.

Проект Multy развивается и в будущем планируется:

  • Внедрение CI/CD
  • Добавление новых протоколов, форков
  • Облегчение интеграции клиентам
  • Добавление токенов

Дополнительную информацию о проекте можно узнать из официальных источников:

Снимок экрана 2018-03-21 в 18.14.22.png

1
9.095 GOLOS
На Golos с August 2017
Комментарии (1)
Сортировать по:
Сначала старые