Техническое задание разработки Ядра

Версия 0.5 от 17.02.2019

Техническая часть

Техническая часть:
1. Ядро - протокол + API + сервер на node.js + простейший GUI: html, css, js.
2. Обменник (exchange) - платёжная система, механизм ввода/вывода биткоинов, рублей, долларов и пр.

1. Ядро

Ядро состоит из:

  1. Документация (модель);
  2. Базовая часть (архитектура);
  3. Модули;

1.1. Документация

  1. Модель;
  2. Деньги - мера стоимости, средство обмена и средство накопления;
  3. Протокол и API;
  4. Бизнес-план;
  5. Бизнес-модели;
  6. Техническое задание (ТЗ);
  7. Документация для пользователей.

Модель

Основные сущности:

  1. Аккаунт (account). Аккаунты, по умолчанию, не ассоциированны с пользователем и анонимны. Один аккаунт может быть ассоциирован (верифицирован) с физическим человеком для участия в системе репутации.
  2. Ресурс (resource). Ресурсом может быть: товар, услуга или информация (информационный ресурс). Товар - это вещь (материальная/физическая или цифровая). Услуга - это действие. Информация - это товар особого рода, стоимость репликации (тиражирования) которого близка к нулю. Однако создание информационного ресурса зачастую трудоёмкий и дорогой процесс. У информации не может быть владельца, но есть авторство. У каждого аккаунта может быть множество ресурсов. В частности, одним из видов ресурса являются Активы - товар особого рода: 1) Акции (asset) - акции компаний - право требования доли от прибыли; 2) Валюты локальных сообществ (currency) - активы с возможностью дополнительной эмисии по правилам сообществ (предположительно зафиксированных в контракте); 3) Алиасы (alias) - подвид активов (имена, доменные имена). У аккаунта во владении может быть не ограниченное кол-во различных активов и алиасов.
  3. Проект (project). Проект - это набор действий с целью получения Продукта (нового или усовершенствованного). Проект должен иметь описание будущего продукта, сроки, ресурсы, задачи и команду проекта. Подвидом проекта является Идея (idea) - это проект на начальной стадии, когда ещё не определены команда и сроки. Предполагается база данных проектов для краудсорсинга/краудфандинга/краудинвестинга.
  4. Группа (group). Группа - совокупность пользователей, команда. Сообщество (community) - является подвидом группы.
  5. Пользователь (user). Запись об аккаунтах на локальной машине и/или запись в blockchain как зашифрованные даннные о кошельках и активах. Один из аккаунтов записывается в blockchain как идентификатор Человека (для системы репутации). У человека может быть один или несколько аккаунтов. У каждого человека предполагается один аккаунт с возможностью создания его персональных токенов. Для создания персональных токенов необходимо пройти идентификацию личности.
  6. Транзакция (transaction). Все действия записываются в blockchain в виде транзакций.
  7. Блок (block). Транзакции группируются в блоки. Блок генерируется и подтверждается каждый определённый промежуток времени.
  8. Контракт (contract). Контракт - это микропрограмма (скрипт) который выполняется при наступлении определённых в контракте событий. За выполнение контракта взимается плата, которая пропорциональна количеству произведённых операций.
  9. Пиры/Узлы (peer/node) - узлы сети. Каждый узел соединён с несколькими узлами и постоянно обменивается с ними данными для синхронизации.

Дополнительные сущности:
10. Голосование (создание голосования, учёт каждого голоса).
11. Токены (предоставление ограниченного доступа сайтам).
12. Магазин (товары, выставление товара на продажу).

Деньги

В системе функции денег разделены на две части:
1) средство обмена,
2) средство накопления (активы).

Мера. В системе принята единая мера денежных единиц - один час (h) труда не квалифицированного рабочего (сторож, дворник, грузчик). Один час (h) на данный момент (2016) соответсвует 123 руб или $2. Один час (h) состоит из 100 единиц (cento). Для удобства пользователей, во всех формах по умолчанию отображается значение меры в единицах национальных валют. Внутри json данных транзакций запись ведётся в единицах cento.

Деньги как средство обмена не предназначена для накопления, а используется только как средство обращения и для вложения в товары, акции и прочие активы.

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

Деньги как средство накопления - это активы.

Локальные валюты сообществ - денежные единицы для локальных сообществ (кооперативов). Являются подвидом активов. Правила эмиссии, демережда, системы управления заложены в контракте при создании локальной валюты.

С каждой транзакции взимается плата в размере 1 единица cento. За исполнение контракта (скрипта) взимается плата пропорциональная выполненным операциям, но не менее 1 единицы cento.

1.2. Архитектура (Структура)

  1. Сервер (server);
  2. Связка с БД (db);
  3. Библиотеки функций общего назначения + утилиты (util);
  4. Библиотеки шифрования (crypto).

Стек технологий

  1. Backend: node.js+express.js
  2. Database: orientdb
  3. Frontend: ampersand.js
  4. UI: D3.js+React.js

1.3. Модули

Каждый из модулей является имплементацией части API (RestFullApi).

  1. Авторизация и регистрация. Проверка парольной фразы, генерация парольной фразы, активация аккаунта (регистрация в blockchain).
  2. Аккаунт - получение данных о активых, алиасах, кошельках.
  3. Деньги - перечисление денег из кошелька в кошелёк.
  4. Активы (ресурсы). Просмотр, создание, покупка и продажа ресурсов.
  5. Алиасы (имена, доменные имена). Просмотр, создание, покупка и продажа ресурсов.
  6. Сообщения - передача зашифрованных сообщений.
  7. Транзакции - просмотр, проверка/валидация транзакции.
  8. Блоки - просмотр блоков.
  9. Форджинг - генерация блоков.
  10. Пиры - обеспечивает связь с другими узлами.

Дополнительные модули:
11. Биржа активов.
12. Биржа алиасов.
13. Магазин товаров.
14. Поиск активов и товаров по заданным параметрам, умный поиск активов и товаров.
15. Пул идей - база данных идей для реализации (продукты разума).
16. Пул проектов - база данных воплощения идей (результат труда).
17. Модуль эмиссии. Эмиссия денежных единиц для обмена производится за воплощение идей в проекты - путём краудфандинговой/краудинвестинговой оценки интереса людей к данному проекту и последующей оценкой результата голосованием. Эмиссия производится в кошелёк автора проекта в качестве "премии" за воплощение проекта. Для достоверного размера эмиссии оценка производится в несколько этапов несколькими группами пользователей (вкладчики, эксперты, сообщество).

2. Обменник

Платёжная система, механизм ввода/вывода биткоинов, рублей, долларов и пр. ...

4. Первеочередное

1. Система регистрации/авторизации;
2. Создание страницы профайла и описания товаров/услуг;
3. Система личных сообщений;
4. Обработка платежей для проведения расчетов;
5. Отзывы/комменты;
6. Реферальная система;





Ядро системы полностью открыто и свободно, основано на технологии blockchain. Ядро включает в себя: 1) API (RestFullApi), 2) Протокол (json), 3) Программную реализацию.

Ядро - это внутренняя расчетная единица + децентрализованная база различных проектов (в частности проекты libre) + запись репутации пользователей. В blockchain хранятся краткие описания, ссылки на проекты и информация о вкладах и голосования. Остальные данные хранятся в децентрализованном интернет пространстве. Ядро Libre.Life создаётся на основе LibreMoney. Одна из целей: создать децентрализованную биржу проектов для краудинвестинга. При этом система единая, а сайтов (точек входа в систему) множество.

Ядро новой экономической системы на основе ресурсно-репутационной модели (Видео)
Техническое задание разработки Системы

Протокол и API

План работ реализации Ядра Системы

Мера
Архитектура системы
API (RestAPI)
Внешний вид

Предыдущая версия: 0.4