Техническое задание разработки Ядра
Версия 0.5 от 17.02.2019
Техническая часть
Техническая часть:
1. Ядро - протокол + API + сервер на node.js + простейший GUI: html, css, js.
2. Обменник (exchange) - платёжная система, механизм ввода/вывода биткоинов, рублей, долларов и пр.
1. Ядро
Ядро состоит из:
- Документация (модель);
- Базовая часть (архитектура);
- Модули;
1.1. Документация
- Модель;
- Деньги - мера стоимости, средство обмена и средство накопления;
- Протокол и API;
- Бизнес-план;
- Бизнес-модели;
- Техническое задание (ТЗ);
- Документация для пользователей.
Модель
Основные сущности:
- Аккаунт (account). Аккаунты, по умолчанию, не ассоциированны с пользователем и анонимны. Один аккаунт может быть ассоциирован (верифицирован) с физическим человеком для участия в системе репутации.
- Ресурс (resource). Ресурсом может быть: товар, услуга или информация (информационный ресурс). Товар - это вещь (материальная/физическая или цифровая). Услуга - это действие. Информация - это товар особого рода, стоимость репликации (тиражирования) которого близка к нулю. Однако создание информационного ресурса зачастую трудоёмкий и дорогой процесс. У информации не может быть владельца, но есть авторство. У каждого аккаунта может быть множество ресурсов. В частности, одним из видов ресурса являются Активы - товар особого рода: 1) Акции (asset) - акции компаний - право требования доли от прибыли; 2) Валюты локальных сообществ (currency) - активы с возможностью дополнительной эмисии по правилам сообществ (предположительно зафиксированных в контракте); 3) Алиасы (alias) - подвид активов (имена, доменные имена). У аккаунта во владении может быть не ограниченное кол-во различных активов и алиасов.
- Проект (project). Проект - это набор действий с целью получения Продукта (нового или усовершенствованного). Проект должен иметь описание будущего продукта, сроки, ресурсы, задачи и команду проекта. Подвидом проекта является Идея (idea) - это проект на начальной стадии, когда ещё не определены команда и сроки. Предполагается база данных проектов для краудсорсинга/краудфандинга/краудинвестинга.
- Группа (group). Группа - совокупность пользователей, команда. Сообщество (community) - является подвидом группы.
- Пользователь (user). Запись об аккаунтах на локальной машине и/или запись в blockchain как зашифрованные даннные о кошельках и активах. Один из аккаунтов записывается в blockchain как идентификатор Человека (для системы репутации). У человека может быть один или несколько аккаунтов. У каждого человека предполагается один аккаунт с возможностью создания его персональных токенов. Для создания персональных токенов необходимо пройти идентификацию личности.
- Транзакция (transaction). Все действия записываются в blockchain в виде транзакций.
- Блок (block). Транзакции группируются в блоки. Блок генерируется и подтверждается каждый определённый промежуток времени.
- Контракт (contract). Контракт - это микропрограмма (скрипт) который выполняется при наступлении определённых в контракте событий. За выполнение контракта взимается плата, которая пропорциональна количеству произведённых операций.
- Пиры/Узлы (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. Архитектура (Структура)
- Сервер (server);
- Связка с БД (db);
- Библиотеки функций общего назначения + утилиты (util);
- Библиотеки шифрования (crypto).
Стек технологий
- Backend: node.js+express.js
- Database: orientdb
- Frontend: ampersand.js
- UI: D3.js+React.js
1.3. Модули
Каждый из модулей является имплементацией части API (RestFullApi).
- Авторизация и регистрация. Проверка парольной фразы, генерация парольной фразы, активация аккаунта (регистрация в blockchain).
- Аккаунт - получение данных о активых, алиасах, кошельках.
- Деньги - перечисление денег из кошелька в кошелёк.
- Активы (ресурсы). Просмотр, создание, покупка и продажа ресурсов.
- Алиасы (имена, доменные имена). Просмотр, создание, покупка и продажа ресурсов.
- Сообщения - передача зашифрованных сообщений.
- Транзакции - просмотр, проверка/валидация транзакции.
- Блоки - просмотр блоков.
- Форджинг - генерация блоков.
- Пиры - обеспечивает связь с другими узлами.
Дополнительные модули:
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 (RestAPI)
Внешний вид
Предыдущая версия: 0.4