PoG доказательство вращения

При доказательстве вращения (Proof of Gyro - PoG), вместо покупки оборудования для майнинга и затем траты энергии для достижения консенсуса, участник, так называемый «спиннер», должен заморозить навсегда некоторое количество монет, которые будут возвращаться в виде вновь сгенерированных.

Заморозка монет: spinner_lock <address> <amount>. Каждый сформированный блок раскручивает "спин" ассоциированный с адресом, исходя из цены дополнительной энергии — SPINNER_ENERGY_COST_MULTIPLIER, с учётом сопротивления вращению — SPINNER_DAMPING_RATIO_DIVIDER.



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

Через некоторое время (SPINNER_SPIN_BLOCK_WINDOW блоков) интервал начинает увеличиваться, тогда залоченные монеты необходимо добавить (spinner_lock <address> <amount> <prev_lock_txid>).

При заморозке монет, создаётся так же уникальный 256-и мерный вектор. И с каждым новым блоком суммируется не только кумулятивный спин GYRO, но и его векторное значение. Вес альтернативной и основной веток блокчейна определяется как отношение суммы модулей векторов (GYRO) к модулю суммы векторов:

Из свойств векторной алгебры — числитель всегда больше знаменателя, а чем больше участников в ветке блокчейна, тем меньше знаменатель, а вес соответственно больше. Вектор генерируется случайным образом, как «Publicly Verifiable Random Beacon» (PVRB), на основе созданных последующих SPINNER_PVRB_BLOCK_WINDOW блоков, то есть определить заранее его значение, у спиннера нет возможности. Создание множества адресов с небольшими суммами не исключит честных спиннеров, которые будут забирать игнорируемые транзакции, а по прошествии SPINNER_SPIN_BLOCK_WINDOW блоков, потребуется обновлять все фиктивные транзакции заморозки, иначе монеты будут просто потеряны.

https://github.com/staroy/gyro

СМС мессенджер на PoG блокчейне

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

Сообщения адресно шифруются, и заверяются подписью отправителя. Хранение на диске также происходит в зашифрованном виде. Адреса хранятся в виде хэшей с солью.

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

PoG блокчейн реализован на протоколе cryptonote, связь между нодами может осуществляться через защищённые сети tor и i2p. Для анонимизации используется протокол Dandelion++.

https://github.com/staroy/gyro-sms