Artery Network White Paper

Редакция 06 октября 2022

Artery Network
21 min readAug 12, 2020

Внимание! С 6 октября 2022г. данный документ не актуален.

Обновленная версия: https://arterynetwork.medium.com/artery-network-2-0-ng-white-paper-20b0129fe2a8

Перед началом прочтения White Paper хотим рассказать о нашем видении этого документа. В силу набора колоссальных оборотов, на рынок Blockchain ежемесячно вступают миллионы новичков, которые жаждут скорее «быть в теме», но сталкиваются с массой новых терминов и тысяч экспертов, каждый из которых имеет свое понимание Blockchain. Исходя из этого мы решили разбить White Paper на 2 части: Концептуальный блок и Технический блок. Задача первого — донести «человеческим» языком принцип работы Artery Blockchain и приложения Artery, поэтому весь материал был максимально упрощен и в некоторых частях расписан подробнее чем это обычно требуется. Технический блок — традиционное описание Artery Blockchain и приложения Artery Network в привычном для разработчиков и эдвайзеров виде. Удачи!

Сайт: https://artery.network

Концептуальный блок (доступно о главном)

Введение

Начать стоит с того, что Artery — проект, в основу которого были заложены 2 ключевые составляющие: полезность и понятность. Отсюда были сформированы основные задачи:

· Доходчиво рассказать о работе Artery Blockchain;

· Предоставить пользователям полезные Blockchain-продукты в виде приложения Artery Network и дать возможность заработать на них.

Промо-ролик

Основные термины

Artery Blockchain — название собственного блокчейна проекта.
Artery Network — название приложения. Именно при помощи приложения создается сеть Artery из валидаторов, нод, делегаторов и пользователей продуктов.
ARTR — тикер монеты проекта.
Artery — когда речь идет о проекте в целом.

Описание Blockchain

Немного тезисов:

· Базируется на надежном и быстром консенсус движке Tendermint BFT

· Транзакции до 15 секунд с минимальной комиссией (0,3%, макс. 10 ARTR)

· Комбинированный консенсус: DPoS (Delegated Proof of Stake)+ PoA (Proof of Authority)

· Транзакции завершаются сразу после принятия в блок

· Высокая надежность распределенной сети. В случае, если 1/3 валидаторов будет находиться офлайн или посылать ошибочные данные, Artery Blockchain сохранит свою работоспособность

· Написан с использованием языка GO и Cosmos SDK

· Возможность бесшовного обновления блокчейн по решению участников (в будущем)

· Модульная структура с хорошей изоляцией модулей — защита от критических ошибок на уровне приложения (ошибка в одном модуле или сбой при обработке транзакции не остановит весь блокчейн)

· Встроенная система поощрения участников за использование и продвижение блокчейн-продуктов

· Модуль голосования для управления ключевыми параметрами. Комьюнити совместно решает как будут изменяться условия функционирования Artery

· Увеличенное время для выпуска блока — пониженные требования к сети и производительности устройств, на которых работает блокчейн. Такое решение было принято, т.к. планируется выход версии Artery Blockchain с поддержкой валидации на мобильных устройствах.

· Доступный и документированный REST API нод для управления блокчейн

Роли в системе

Неполная нода — устройство, владелец которого выделил свободное дисковое пространство (память) и интернет-соединение для сети Artery в продукте Artery Node приложения Artery Network. На выделенном дисковом пространстве автоматизировано размещаются зашифрованные части файлов пользователей продукта Artery Storage, а при активном подключении к Wi-Fi, через интернет-соединение устройства проходит трафик пользователей Artery VPN. Именно неполные ноды помогают децентрализовать продукты Artery Storage и Artery VPN, за что приложение Artery Network еженедельно выплачивает им вознаграждения в ARTR.

Полная нода (валидатор)— устройство, владелец которого доказал обладание стейком в размере 100.000ARTR (DPoS) и получил статус 3 (Master) в партнерской программе (PoA). Валидатор обладает правом в порядке, установленном системой, генерировать и подписывать блоки, за что получает вознаграждение, которое состоит из комиссий с транзакций подписанного блока. Активировать валидацию блоков возможно в продукте Artery Node приложения Artery Network.

Делегатор — пользователь приложения, отправивший на делегирование свои ARTR. После отправки на кошелек делегирования монеты становятся недоступны для переводов до момента, пока делегатор не выведет их обратно на основной кошелек.

Подробнее о том, как работает DPoS Делегирование в Artery Network написано в блоке Продукты. Делегирование

Монета ARTR

Монета создана специально для доступа к продуктам, реализованным на базе Artery Blockchain, а в частности приложения Artery Network. Уже выпущенные продукты: Artery Storage (децентрализованное хранилище данных), Artery VPN, Artery Node (валидация блоков + обеспечение ресурсами продуктов Artery Storage и Artery VPN), DPoS Делегирование.

Итоговая эмиссия 4.000.000.000 ARTR. Предварительный период полной эмиссии 10 лет (2030 год). Эмиссия новых монет происходит посредством выплаты вознаграждений делегаторам.

Ниже на графике представлена ориентировочная модель эмиссии ARTR, а также периоды планового снижения вознаграждений делегаторам для уменьшения рисков гиперэмиссии:

Проценты указаны промежутком от-до (7–15%). Чем больше вы делегируете, тем выше процент выплаты. Валидаторы получают повышенный процент. Пример указан в блоке Заработок. Делегирование

Обратите внимание: валидатор получает повышенный процент при условии что он находится в очереди, либо в основной группе и не получал штрафов не менее 6 периодов блокировки (720 блоков)

Продукты (приложение Artery Network)

Artery Storage

Вы загружаете любые файлы от фото до документов и обеспечиваете им полную безопасность. При загрузке они автоматически зашифруются, разобьются на мелкие части и отправятся по десяткам устройств (нод) в сети на хранение. Устройство, принявшее ваш файл, получит вознаграждение за его хранение. Ваши файлы останутся в полной конфиденциальности и никто не сможет их посмотреть, так как они будут разбиты на зашифрованные части и специальный ключ для их обратного восстановления есть только у вас!

Artery VPN

Включив Artery VPN, ваше интернет-соединение будет полностью защищено. Весь ваш трафик будет проходить через те же устройства (ноды) в сети, что и в Artery Storage. Ноды в свою очередь за это также получат вознаграждение.

Artery Node

Есть 3 вида функционала:

  1. Вы делитесь памятью вашего устройства, где приложение будет размещать зашифрованные части файлов пользователей Artery Storage. Доступно от Статуса 2 (Leader) для мобильной версии и статуса 1 (Lucky) для десктопной версии.
  2. Вы делитесь интернет-соединением вашего устройства, через которое будет проходить трафик пользователей Artery VPN. Доступно от Статуса 2 (Leader) для мобильной версии и статуса 1 (Lucky) для десктопной версии.
  3. Вы становитесь валидатором и подписываете блоки в Artery Blockchain. Доступно от Статуса 3(Master) (PoA) + делегированный стейк команды с учетом вашего 100.000ARTR (DPoS). Для активации данного функционала необходимо скачать на ваш компьютер приложение Artery Network по ссылке на главной странице сайта и в разделе Artery Node активировать валидацию. С комбинированным консенсусом мы смогли добиться повышенной безопасности блокчейн за счет того, что помимо достижения определенного размера стейка, валидатору также требуется получить внутренний статус в системе, доказав свой авторитет (Proof of Authority).

DPoS Делегирование

Здесь вы участвуете в эмиссии новых монет по принципу уже многим известного DPoS. Во время отправки ARTR на делегирование, вы просто переводите их с основного кошелька на кошелек делегирования. Вознаграждение выплачивается ежедневно на основной кошелек. Вывод монет с делегирования занимает 28 дней.

Делегируя ARTR, вы получаете вознаграждение за то, что:

  1. … делегированные вами монеты учитываются в стейк вышестоящим пользователям в партнерской программе. Таким образом, достигнув стейк в 100.000 ARTR, они получают возможность стать валидаторами Artery Blockchain. Аналогично для вас: если ваши приглашенные (до 10 уровня) делегируют монеты, то их стейк идет в учет вам (ваш стейк также учитывается).
  2. … делегируя монеты, вы как бы замораживаете их, обеспечивая ARTR ликвидность на рынке.
Описанные продукты собраны в приложении Artery Network и доступны для скачивания в App Store и Google Play

Заработок (приложение Artery Network)

Для наглядного фиксирования своего прогресса были разработаны 9 статусов, вокруг которых и сфокусированы все способы заработка. Статусы — это а) понятно б) мотивирует расти.

1 статус: Lucky

Условия:

· Оплата тарифа

Преимущества:

· Активация продуктов Artery Storage, Artery VPN, Команда (партнерская программа)

· Доступ к реферальной программе на 2 уровня в глубину

· Доступ к продукту Artery Node (для десктопной версии)

2 статус: Leader

Условия:

· 1 уровень 2 человека

· 2 уровень 4 человека (у каждого из 2 приглашенных на 1 уровне по 2 активированных приглашенных пользователя)

Преимущества:

· Доступ к продукту Artery Node (для мобильной версии)

· Открытие 4 уровней в партнерской программе

3 статус: Master

Условия:

· 1 уровень 3 человека

· 2 уровень 9 человек. (у каждого из 3 приглашенных на 1 уровне по 3 активированных приглашенных пользователя)

Преимущества:

· Открытие 6 уровней в партнерской программе

· Доступ к валидации блоков (необходим командный стейк от 100 000 ARTR)

4 статус: Champion

Условия:

· 3 ветки, каждая по 10 человек (у каждого из 3 приглашенных на первом уровне команда из 10 активированных пользователей)

Преимущества:

· Открытие 10 уровней в партнерской программе

· Получение бонусных участников на 1 уровень с открытого входа (зарегистрированные без пригласительной ссылки)

5 статус: Businessman

Условия:

· 3 ветки, каждая по 50 человек

· Объем монет в команде: 150.000ARTR

Преимущества:

· 1% от товарооборота компании, который делится со всеми держателями статуса Businessman

6 статус: Professional

Условия:

· 3 ветки, каждая по 100 человек

· Объем монет в команде: 300.000ARTR

Преимущества:

· 2% от товарооборота компании, которые делятся со всеми держателями статусов Businessman и Professional

7 статус: Top

Условия:

· 3 ветки, каждая по 200 человек

· Объем монет в команде: 1.000.000ARTR

Преимущества:

· 3% от товарооборота компании, которые делятся со всеми держателями статусов Businessman, Professional, Top

8 статус: Hero

Условия:

· 3 ветки, каждая по 300 человек

· Объем монет в команде: 2.000.000ARTR

Преимущества:

· 4% от товарооборота компании, которые делятся со всеми держателями статусов Businessman, Professional, Top, Hero

· Попадание в лидерский совет компании

9 статус: Artery Champion

Условия:

· 3 ветки, каждая по 400 человек

· Объем монет в команде: 5.000.000ARTR

Преимущества:

· 5% от товарооборота компании, которые делятся со всеми держателями статусов Businessman, Professional, Top, Hero, Artery Champion

· При подтверждении статуса в течение 6 месяцев дарится автомобиль

5 способов заработка

1. Делегирование монет

О том, что такое делегирование и как это работает описано выше в блоке “Продукты”

Ваше вознаграждение зависит от размера делегированного стейка:

Делегируете 0.5–9999 ARTR, вознагражд. + 5%/мес.

Делегируете 10.000–99.999 ARTR, вознагражд. + 8%/мес.

Делегируете 100.000 и выше ARTR, вознагражд. + 11%/мес.

Являетесь валидатором, вознагражд. + 13%/мес.

При количестве делегированных монет менее 0.423999, вознаграждение за делегирование не начисляется

2. Партнерская программа с оплаты тарифа

За то, что вы рекомендуете продукты Artery Network, вы получаете вознаграждения с целых 10 уровней. Например, если вы порекомендуете продукт 3 пользователям, а они в свою очередь будут активировать всего по 1 человеку в неделю, то уже через 3 месяца вы начнете зарабатывать свыше 1 млн. рублей ежемесячно только с партнерской программы.

Заработок по уровням:

1 уровень: 15% с оплаты тарифа;

2 уровень: 10% с оплаты тарифа;

3–7 уровни: 7% с оплаты тарифа;

8 уровень: 5% с оплаты тарифа;

9–10 уровни: 2% с оплаты тарифа;

3. Партнерская программа с делегирования приглашенных

Если ваши приглашенные (до 10 уровня) делегируют свои монеты, то вы и с этого зарабатываете ваш процент, так как перед отправкой монет на делегирование, от делегированного стейка у человека разово взимается комиссия 15%, с которой и выплачивается вознаграждение вышестоящим, то есть вам.

Заработок по уровням:

1 уровень: 4.8% от делег. суммы;

2–3 уровни: 0.8% от делег. суммы;

4 уровень: 1.8% от делег. суммы;

5–9 уровни: 0.8% от делег. суммы;

10 уровень: 0.4% от делег. суммы;

4. Лидерские бонусы

Созданы в качестве дополнительного вознаграждения пользователям за отличные результаты в популяризации продукта. Для выплаты бонусов с каждой оплаты тарифа резервируются 15% (по 5% на каждый тип). Бонусы делятся на 3 типа:

  1. Процент от товарооборота компании. Человек достигший 5 статус делит 1% компании со всеми, у кого также 5 статус, на 6 статусе со всеми, у кого 5 и 6 статусы. И так до 9 статуса включительно. Бонус выплачивается один раз в неделю.
  2. Автомобиль. Условие простое — достигнуть Статус 9(Artery Champion) и продержать его в течение 6 месяцев. Бонус выдается единожды.
  3. Promo. Ежемесячные бонусы направленное на стимуляцию привлечения аудитории участниками проекта

5. Продукт Artery Node

Подробнее о том, что такое Artery Node и как это работает, написано в блоке “Продукты”

Здесь вы получаете регулярные вознаграждения за то, что делитесь ресурсами своего устройства, при помощи которых подписываете блоки, храните зашифрованные части файлов пользователей Artery Storage и предоставляете интернет — соединение для пользователей Artery VPN.

Описание рынка

На момент запуска проекта (2020 год) сложно кого-то удивить новым запущенным Blockchain, DPoS и собственной монетой. В силу того, что мы поставили перед собой создать не только юзабильные, но и подходящие ко всем профессиональным контингентам продукты, были предприняты 5 шагов:

1. Хорошо проанализировать рынок;

2. Собрать самое эффективное и модное;

3. Создать квинтэссенцию из эффективного и модного в виде своего блокчейн;

4. Выпустить приложение, чтобы доказать функциональность и эффективность разработанного блокчейн;

5. Перевести все на «человеческий» язык;

6. Выйти на рынок;

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

С проекцией на сегодняшний рынок получившийся Blockchain а) Модно б) Безопасно.

Представьте, ваше устройство, достигнув стейк в 100.000ARTR и Статус 3(Master), получает право подписывать блоки и приносить вам пассивный доход.

Кто-то загружает свои файлы в Artery Storage, кто-то делегирует монеты, а в это же время кто-то выделяет память на своем устройстве и подписывает блоки. Таким образом все работает как единый организм. Кто-то сохранил свои файлы и трафик в безопасности, а тот, кто обеспечил это, получил вознаграждение. Профит обеспечен всем!

Таким образом мы смело можем заявить, что Artery — новый целостный организм, который отлично вписывается в современный рынок и стремится стать его лидером в децентрализованных продуктах.

Roadmap

Ниже представлена дорожная карта на ближайшие 2,5 года. Конечно, помимо указанных пунктов параллельно будет идти разработка экстренно-необходимых вещей или оптимизация уже имеющихся, однако это не помешает нам уложиться в сроки.

Технический блок

1. Введение

Разрабатывая Artery Blockchain, мы стремились реализовать описанную в Концептуальном блоке модель оптимальным с точки зрения сроков и качества образом. Поэтому итоговый продукт совмещает готовые решения (Tendermint Core, Cosmos SDK), взятые за основу, и наши собственные разработки (Artery VPN, Artery Storage).

В данном документе мы опишем структуру всего проекта Artery с разделением на функциональные блоки, а также кратко опишем разработанные нами модули для Cosmos SDK.

Ключевыми особенностям блокчейна являются:

  1. Комбинированный консенсус Delegated Proof of Stake и Proof of Authority (подробнее в концептуальном блоке о Blockchain).
  2. Поддержка структуры отношений аккаунтов в рамках блокчейна (партнерская программа).
  3. Проверка того, что аккаунт создан и размещен в блокчейне перед совершением любой затрагивающей его операции. Таким образом гарантируется невозможность отправки средств «в пустоту», фиксируется в МЛМ структуре, обеспечивается защита от DoS-атак и спама (т. к. в большинстве случаев операция создания аккаунта является платной).
  4. Тройная система адресации аккаунтов. Помимо основных адресов (использующих структуру ключей BIP32) используются упрощённые 16-символьные адреса формата ARTR−XXXX−XXXX−XXXX и система ников — произвольных имен аккаунтов.
  5. Учёт ресурсов при использовании внешних сервисов Artery VPN и Artery Storage.
  6. Голосование за изменение параметров (уровень вознаграждений, комиссии валидаторам и т. п., подробнее в п. 3.3.7).

Платежным средством в системе являются монеты ARTR, при этом в блокчейне они хранятся и обрабатываются с точностью до 6 знака после запятой в деноминации uARTR (1 ARTR = 1000000 uARTR).

2. Общая структура

Сеть Artery можно разделить на два крупных блока. On-chain блок — это обработка транзакций, хранение критичных данных. Второй, off-chain — это непосредственная обработка проходящего трафика из Artery VPN, хранение данных в рамках Artery Storage, таблица активных узлов и т. д.

On-chain блок строится на основе Cosmos SDK и Tendermint Core и включает как стандартные модули Cosmos SDK, так и модули, разработанные специально для блокчейна Artery:

· Bank

· Profile

· Referral

· Delegating

· VPN

· Storage

· Voting

· Subscription

· Earning

· Noding

· Schedule

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

Основной функционал блока:

  • хранение информации о кошельках;
  • хранение информации о профилях участников (с привязкой к кошелькам);
  • хранение списка валидаторов и начисление им вознаграждений за подписание блоков;
  • хранение МЛМ структуры;
  • хранение информации по использованию сервисов Artery VPN и Artery Storage;
  • обработка транзакций (переводы средств, распределение вознаграждений, изменение параметров профилей, размещение информации о файлах в Artery Storage, изменение остатков трафика Artery VPN и т. п.).

Off-chain блок включает в себя приложение Artery Network, а также Artery Storage и Artery VPN. Основной функционал:

  • предоставление интерфейса для управления аккаунтами и профилями в блокчейне;
  • управление нодой, включение и выключение валидации блоков;
  • предоставление сервисов для передачи данных Artery VPN;
  • управление распределенным защищенным хранилищем Artery Storage.

3. Artery Blockchain

Основной код ноды Artery Blockchain построен на базе Cosmos SDK с использованием языка программирования Go. Максимальный размер блока — 21МБ, блоки генерируются каждые 15 секунд. Комиссия за блок зависит от входящих в него транзакций (размеры комиссий описаны в концептуальном блоке, в разделе Blockchain).

3.1 Адресация кошельков

В качестве основы Artery Blockchain использует встроенную систему адресации кошельков Cosmos SDK (подробнее по ссылке https://docs.cosmos.network/master/basics/accounts.html), основанную на рекомендациях BIP32, BIP43 и BIP44.

Для создания приватного и публичного ключей и адреса кошелька используется мнемоника (seed phrase, сид фраза) длинной в 24 слова.

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

Первая возможность — это использование упрощенных 16-символьных адресов, вида ARTR−XXXX−XXXX−XXXX, где X представляет из себя цифры от 0 до 9. Такой формат позволяет адресовать 10^12 (около 1 триллиона) аккаунтов. На момент создания документа зарегистрировано всего около 43 миллионов Bitcoin-кошельков.

Вторая возможность — использование ников (сокращенных имен) для определения адресов пользователей. В никах допускается использовать символы латинского алфавита, знак подчеркивания, точку и цифры от 0 до 9. Минимальная длинна ника 3 символа, максимальная 250. Смена ника после создания аккаунта является платной, для снижения возможности спама транзакциями.

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

3.2 Общая информация о работе блокчейна

Существует два источника изменений внутреннего состояния блокчейна: транзакции, каждая из которых создаётся пользователем и подписывается его приватным ключом, и события, которые происходят автоматически в соответствии с алгоритмом работы блокчейна (например, начисление вознаграждений).

Генерация каждого блока состоит из 3 этапов:

  • начало блока (begin blocker);
  • обработка транзакций;
  • конец блока (end blocker).

В начале блока выполняются следующие действия:

  • начисляется вознаграждение за подписание предыдущего блока (валидатор, предложивший его, получает комиссию со всех вошедших в него транзакций);
  • к валидаторам, пропустившим подписание предыдущего блока, применяются штрафные санкции;
  • начисляется вознаграждение за делегирование;
  • (раз в неделю) пользователям со статусом Бизнесмен и выше начисляется процент от товарооборота компании;
  • выполняются запланированные задачи (см. п. 3.3.11):
    - фактический вывод средств с делегирования;
    - начисление вознаграждения за Storage и VPN;
    - фактическое понижение статуса (в случае продолжительного невыполнения условий получения текущего);
    - компрессия;
    - проверка оплаты тарифа и автооплата;
    - подведение итогов текущего голосования.

После этого обрабатываются транзакции пользователей. Комиссия за переводы между кошельками и за делегирование средств поступает на специальный служебный кошелёк (FeeCollector), с которого потом, после выхода блока, будет переведена валидатору. Распределение вознаграждений по реферальной структуре и пересчёт статусов происходят сразу же, после каждой транзакции.

В конце блока применяются обновления списка валидаторов.

3.3. Модули Artery Blockchain

В данном разделе мы дадим краткое описание модулей Cosmos SDK разработанных для Artery Blockchain.

3.3.1. Bank

Представляет из себя доработанную версию стандартного модуля Cosmos SDK, отвечает за перевод монет между аккаунтами и хранение информации по монетам.

Три возможных состояния монет (ликвидны/делегированы/в процессе вывода с делегирования) реализованы на уровне блокчейна в виде трёх разных деноминаций: uartr, uartrd и uartrr соответственно. В отличие от стандартной реализации, этот модуль позволяет переводить только ликвидные (uartr) монеты, запрещает переводы на несуществующие кошельки и взимает фиксированную комиссию со всех переводов.

3.3.2. Profile

Отвечает за хранение информации о профилях пользователей, а именно:

  • никнейм;
  • номер карты ARTR;
  • статус автооплаты (вкл./выкл.);
  • состояние VPN Node (вкл./выкл.);
  • состояние Storage Node (вкл./выкл.).

Все данные, кроме номера карты, можно менять транзакцией со стороны пользователя. Номер карты задается при создании аккаунта. Также модуль позволяет создавать новые аккаунты при помощи специальной транзакции, отправленной от имени уже существующего.

3.3.3. Referral

Отвечает за хранение для каждого аккаунта следующего набора данных: статус, признак активности, реферрер (пригласивший) и список рефералов (приглашённых). Также в целях оптимизации модуль хранит и поддерживает в актуальном состоянии следующие агрегированные данные: количество делегированных монет, общее количество монет в структуре и количество активных рефералов с разбивкой по уровням. Они используются при проверке учётной записи на соответствие критериям статуса и в алгоритме компрессии.

В случае несоответствия учётной записи критериям текущего статуса, модуль планирует понижение статуса через 1 месяц и делает в блоке данных соответствующую пометку с указанием даты понижения. Если позднее пользователь восстанавливает соответствие критериям статуса, пометка снимается и понижение статуса не производится.

Компрессия — это процесс «сжатия» структуры приглашенных пользователей по причине неоплаты тарифа их пригласившим на протяжении двух месяцев. При этом вся структура переносится на один уровень вверх, и вознаграждения перераспределяются таким образом на вышестоящие аккаунты.

Кроме того, с периодичностью в 1 неделю этот модуль начисляет лидерские бонусы: 1% товарооборота компании делится между всеми аккаунтами с уровнем Businessman и выше, ещё 1% — между всеми аккаунтами с уровнем Professional и выше, и так далее.

3.3.4. Delegating

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

В начале каждого блока вознаграждение выплачивается тем аккаунтам, у которых время, прошедшее с момента последнего изменения стейка, кратно 24 часасм Вознаграждение зачисляется на баланс основного кошелька. Если пользователь делегирует средства или выводит их с делегирования, он немедленно получает вознаграждение за прошедшую часть суток (пропорционально), и отсчёт времени для него начинается заново — это позволяет легко и точно учитывать любые изменения баланса кошелька делегирования.

Если пользователь выводит средства с делегирования, они начисляются на баланс основного кошелька через 28 суток. В течении этого времени они не считаются находящимися на делегировании, и вознаграждение за них не начисляется.

Если сумма монет в делегировании не превышает минимальный объем установленный в 0.423999ARTR, то с такой суммы начисление не производится.

3.3.5. VPN

Модуль отвечает за хранение текущего лимита трафика VPN и текущего потреблённого трафика. Непосредственный учёт трафика осуществляет off-chain часть, а запись его в блокчейн осуществляется специальными транзакциями со служебного аккаунта.

3.3.6. Storage

Модуль отвечает за хранение текущего доступного и использованного объёма хранилища. Непосредственный учёт объёма данных осуществляет off-chain часть, а запись его в блокчейн осуществляется специальными транзакциями со служебного аккаунта.

3.3.7. Voting

Модуль отвечает за изменение параметров блокчейна. Решение об изменении должно быть принято управляющим советом в соответствии со следующей процедурой:

  1. Любой участник голосующего совета вносит предложение об изменении параметра блокчейна. Одновременно проводится только одно голосование.
  2. Остальные участники должны принять или отклонить предложение в течение 1 суток.
  3. Голосование заканчивается, когда проголосовали все участники, либо когда закончилось отведённое на него время. Предложение считается принятым, если «за» проголосовало не менее 2/3 участников совета. Сам инициатор голосования считается проголосовавшим «за».

На голосование могут быть вынесены следующие изменения:

  • стоимость тарифа;
  • размер вознаграждения за делегирование;
  • размер реферального вознаграждения за делегирование монет приглашённым участником;
  • размер реферального вознаграждение за оплату тарифа приглашённым участником;
  • стоимость 1 Гб VPN трафика сверх включённого в тариф;
  • стоимость 1 Гб хранилища сверх включённого в тариф;
  • изменение состава управляющего совета;
  • изменение списка доверенных валидаторов (т. е. аккаунтов, имеющих право валидировать блоки независимо от статуса и объёма делегированных монет);
  • изменение списка служебных аккаунтов:
    - аккаунт с правом бесплатного создания новых аккаунтов;
    - аккаунт с правом вести учёт потреблённого пользователями VPN трафика;
    - аккаунт с правом вести учёт потреблённого пользователями объёма хранилища;
    - аккаунт с правом выплачивать вознаграждение за предоставление ресурсов для Artery VPN и Artery Storage;
    - аккаунт с правом вносить в блокчейн актуальный курс монеты;
    - переход на новую версию блокчейн (обновление программного кода).

Таким образом, изменяя размер вознаграждения за делегирование, управляющий совет может осуществлять «халвинг» и контролировать эмиссию монет.

3.3.8. Subscription

Отвечает за хранение текущей стоимости базового тарифа, стоимости трафика Artery VPN и данных в Artery Storage. Хранит информацию об активности базового тарифа, обеспечивает проведение оплаты тарифа, обновление лимитов трафика и данных раз в 30 суток.

По прошествии 30 суток с момента последней оплаты тарифа модуль проверяет флаг автооплаты (см. п. 3.3.2) и, если он установлен, автоматически пытается оплатить тариф за счёт средств на основном кошельке пользователя. В случае неудачи (недостаточно средств) повторных попыток модуль не предпринимает, пользователь должен будет произвести оплату самостоятельно.

Часть этих средств идёт на выплату вознаграждения валидаторам, вознаграждения по партнёрской программе, лидерские бонусы и т. п. Оставшиеся отправляются на специальные кошельки, с которых потом выплачиваются вознаграждения за предоставление ресурсов для Artery VPN и Artery Storage (см. п. 3.3.9): ⅓ на кошелёк Artery VPN и ⅔ на кошелёк Artery Storage.

В случае, если пользователь не оплатил тариф на протяжении 30 суток, добавление рефералов (приглашенных) блокируется до момента оплаты

3.3.9. Earning

Отвечает за выплату вознаграждение за предоставление ресурсов для обеспечение работы сервисов Artery VPN и Artery Storage.

Выплаты производятся со служебных кошельков, доступ к которым имеет только этот модуль. Каждый из сервисов имеет собственный кошелёк. Кошельки пополняются при каждой оплате тарифа (см. п. 3.3.8), а также когда пользователь покупает дополнительный трафик или дополнительный объём хранилища (в этом случае на соответствующий кошелёк поступает вся сумма за вычетом комиссии валидатору).

Процесс выплаты запускается off-chain частью, которая учитывает количество предоставленных ресурсов и распределяет вознаграждение между участниками соответственно, посредством специальной транзакции со служебного аккаунта. Ресурсы учитываются для каждого сервиса отдельно.

Выплата производится каждую неделю, при этом ¼ баланса кошельков Artery VPN и Artery Storage переводится на кошельки пользователей пропорционально их вкладу. ¾ остаются на балансе и распределяются в следующий раз. Такая модель позволяет сгладить колебания, вызванные тем, что оплата за доступ к сервисам поступает от пользователей неравномерно по времени.

3.3.10. Noding

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

3.3.10.1. Формирование и обновление списка валидаторов

На этапе обработки транзакций (подробнее про этапы генерации блока см. п. 3.2) модуль накапливает обновления списка валидаторов и затем в конце блока передаёт их в Tendermint Core.

Для валидации блоков необходимо иметь статус Master или выше и держать не менее 100 000 ARTR замороженными на делегировании (учитываются как личные средства пользователя, так и средства, делегированные его командой). Если действующий валидатор перестаёт соответствовать этим требованиям, он автоматически удаляется из списка. Также пользователь может быть временно или постоянно удалён из списка из-за полученных штрафов (см. п. 3.3.10.3). Разумеется, пользователь может самостоятельно включать и выключить валидацию посредством специальных транзакций.

Максимальное количество одновременно участвующих в голосовании за блок валидаторов ограничено 220 нодами, так как слишком большое количество одновременных подписей усложняет консенсус и может существенно замедлить выход блоков. В случае, если количество желающих превышает эту цифру, валидаторы выбираются на конкурсной основе по следующим критериям (в порядке уменьшения значимости):

  1. Количество пропущенных блоков (см. п. 3.3.10.3) (чем меньше, тем лучше).
  2. Вес (см. п. 3.3.10.2) (чем больше, тем лучше).
  3. Количество успешно подписанных блоков подряд (см. п. 3.3.10.3) (чем больше, тем лучше).

3.3.10.2. Вес (voting power)

Когда валидаторы голосуют за новый блок, те из них, чьи команды делегировали по 100 000 ARTR и более, имеют по 15 голосов, а остальные только по 10. Кроме консенсуса это влияет также на то, как часто валидатор сможет предлагать новые блоки (и получать за них вознаграждение) — зависимость прямо пропорциональная, чем больше голосов, тем чаще можно предлагать блоки.

3.3.10.3. Статистика и штрафы

Статус валидатора накладывает на участника большую ответственность: чем стабильнее работают валидирующие ноды, тем стабильнее работает блокчейн вцелом. Для определения наиболее стабильных нод используются следующие параметры:

  • количество пропущенных блоков;
  • количество успешно подписанных блоков подряд.

Данные о том, кто из валидаторов участвовал в подписании блока, а кто его пропустил, модуль в начале следующего блока (подробнее про этапы генерации блока см. п. 3.2) получает от Tendermint Core. В случае пропуска блока (из-за плохого подключения к Интернет, недостаточной мощности валидирующей ноды, неожиданного её отключения или по любым другим причинам) количество пропущенных блоков увеличивается на 1, а количество успешно подписанных блоков подряд обнуляется. Это ухудшает рейтинг валидатора и может привести к тому, что в конце блока он будет удалён из списка и другой валидатор займёт его место (см. п. 3.3.10.1).

Если валидатор пропускает 2 блока подряд, на него накладывается арест (jail) — он немедленно удаляется из списка валидаторов и не может вернуться туда в течении 420 блоков. Эта мера предусмотрена, чтобы надёжные ноды, неожиданно столкнувшиеся с техническими неполадками (отключение электричества и т. п.), могли решить проблему до того, как их рейтинг будет необратимо испорчен.

Если Tendermint Core фиксирует попытку двойного подписания (см. https://docs.tendermint.com/master/spec/consensus/signing.html#double-signing), в первый раз валидатор получает предупреждение, а на второй удаляется из списка валидаторов пожизненно.

3.3.10.4. Вознаграждение валидаторам

В начале каждого блока модуль переводит всю сумму, накопленную на служебном кошельке FeeCollector (на который складывается комиссия за все переводы и прочие операции), на баланс основного кошелька валидатора, предложившего предыдущий блок.

3.3.11. Schedule

Отвечает за планирование отложенных задач. Не имеет собственного пользовательского интерфейса и используется исключительно другими модулями. С его помощью любой модуль может запланировать любое действие на блок с определённой высотой в будущем. Все запланированные задачи выполняются в начале блока (см. п. 3.2).

3.4. Обновление ПО блокчейн

Artery Blockchain предусматривает возможность обновления своего кода. Для этого используется модуль Cosmos SDK upgrade (см. https://docs.cosmos.network/v0.39/modules/upgrade/).

Когда работа над обновлением завершена, его исходный код выкладывается на GitHub в репозиторий https://github.com/arterynetwork/artr/. Исполняемые файлы под различные платформы собираются из этого кода и выкладываются на https://arterynetwrk.com. Ссылки на эти файлы и их контрольные суммы записываются в JSON-файл специального формата, который выкладывается там же. После этого инициируется голосование за обновление до этой версии (см. п. 3.3.7). Предложение изменения включает в себя ссылку на этот JSON-файл и его контрольную сумму, а также высоту блока, на которой это обновление предлагается произвести; вся эта информация заносится в блокчейн. В случае положительного решения управляющего совета по достижении указанной высоты все ноды останавливаются и выводят сообщение вида «UPGRADE “<version>” NEEDED at <height>: <JSON link and checksum>» в соответствии с cosmosd Upgradeable Binary Specification (см. https://github.com/regen-network/cosmosd#upgradeable-binary-specification).

Для продолжения работы ноды необходимо запустить более новую версию artrd, скачанную по ссылке из указанного файла или собранную из исходников. Приложение Artery Node скачивает исполняемые файлы, подменяет их в нужный момент и запускает новую версию автоматически. Также для этих целей можно использовать Cosmos Upgrade Manager (см. https://github.com/regen-network/cosmosd). Валидаторам рекомендуется скачивать исполняемые файлы заранее, чтобы после обновления как можно скорее включаться в работу и не допускать пропуска блоков.

4. Off-chain сервисы

4.1. Artery VPN

Основное назначение — скрытие источника и получателя данных при передаче по публичным сетям интернет. Для этого используется шифрование и переадресация трафика между различными участниками сети. При этом маршрут передачи регулярно меняется. А за счёт расположения аудитории проекта в разных странах отслеживание информации дополнительно усложняется.

Для работы Artery VPN все ноды с активным сервисом заносятся в специальную распределённую таблицу. Далее используется луковая маршрутизация, аналогичная сети TOR — при установлении соединения отправитель выбирает из этой таблицы случайное число промежуточных нод и генерирует сообщение для каждой, шифруя их ключом и указывая для каждой ноды, какая будет следующей на пути. В результате сообщения, передаваемые по цепочке, имеют «слоистую» структуру, в которой необходимо расшифровать внешние слои, чтобы получить доступ к исходному сообщению. Установленная цепочка нод используется для двусторонней передачи данных в течение некоторого времени, потом строится заново. Получатель запроса может отправить ответ по той же цепочке без ущерба для анонимности каждой из сторон.

Ноды Artery VPN могут работать в двух режимах — промежуточного ноды и конечной ноды. В случае промежуточной — она участвует в цепочке передачи, но только как посредник, передавая пакет между двумя соседними нодами и поддерживая постоянное изменение маршрута и шифрование. В случае конечной — нода выступает в качестве шлюза передавая трафик из сети Artery VPN в сеть Internet (именно ip адрес этой ноды видит получатель пакета данных).
Из-за технических ограничений накладываемых платформами Android и iOS, мобильные версии приложений Artery Network выступают только в роли промежуточных нод.

4.2. Artery Storage

Представляет из себя распределенное хранилище файлов. Файлы хранятся не целиком, а в виде отдельных блоков.

Кратко алгоритм работы хранилища можно описать следующим образом:

При размещении данных:

  1. файл бьется на части разного размера;
  2. для каждой части выбирается несколько нод из списка доступных;
  3. каждой ноде передается часть файла, для усложнения подбора ключа дополненная случайным набором данных;
  4. информация о том, кому переданы части файла, сохраняется в блокчейн в зашифрованном виде;
  5. каждая нода, получившая часть, также сохраняет информацию о хранимой части на своей стороне (хэш, размер, срок хранения);
  6. пока часть не удалена с ноды, ей регулярно начисляется вознаграждение за хранение.

При их получении:

  1. из блокчейна по запросу получается информация о хранимых файлах и их частях;
  2. информация расшифровывается;
  3. приложение связывается со случайными нодами, у которых хранится файл и которые находятся онлайн;
  4. части расшифровываются и собираются в целый файл.

4.3. Обозреватель блоков

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

4.4. Кошелёк (приложение Artery Network)

Мобильное, десктопное и веб приложение, предназначенное для легкого управления транзакциями в рамках блокчейн, просмотра сетевой структуры, управления профилем участника, доступа к Artery VPN, Artery Storage и Artery Node.

Т.к. информация по Artery Blockchain и его API доступна публично, разработать свое приложение кошелька может любой желающий.

--

--

Artery Network
Artery Network

Written by Artery Network

A blockchain project based on ordinary mobile devices as network validators. 4 decentralized products. Minimum transaction fee

Responses (4)