post.jpg

Технический анализ криптовалюты PRIZM

Перевод статьи на популярном у разработчиков, дизайнеров и деловых людей ресурсе CodeCondo

Общая информация

Сравнительный анализ. Обратимая логическая инженерия. Анализ возможностей и программных решений.

Ядро PRIZM разработано на основе исходных кодов криптовалюты NXT. Исходный код для PRIZM публикуется на GitHub, но публикуются не все файлы. Он использует алгоритм проверки правдоподобия, алгоритм Diffie-Hellman elliptic Curve25519 (ECDH), алгоритм хеширования SHA-256 и симметричное шифрование AES-256. В качестве алгоритма формирования блоков используется Proof-of-Stake (PoS).

Алгоритм имеет следующие особенности:

  1. Решена проблема чрезмерного энергопотребления
  2. Минимизированы затраты участников системы на поддержку узлов
  3. Заложенные математические алгоритмы способствует децентрализации системы
  4. Среднее время генерации саморегулируется с помощью плавающей базовой цели, стремящейся к значению в диапазоне 59-60 секунд.

Передаваемые внутри сети текстовые сообщения и другие данные могут различаться на:

  1. Незашифрованное сообщение для другого участника сети
  2. Зашифрованное сообщение для другого участника сети (шифрование AES-256, ключ расчитывается по ECDH на основе публичных ключей отправителя и получателя)
  3. Незашифрованная заметка для самого себя
  4. Зашифрованная заметка для самого себя

В рамках одной транзакции разные типы сообщений могут быть объединены в любую комбинацию.

Алгоритм "Парамайнинг" ("Paramining")

Новый алгоритм генерации монет и их зачисления на счет виртуального адреса. Ранее такой алгоритм не использовался ни в одной криптовалюте. При наступлении любого события, которое меняет баланс адреса, виртуальная учетная запись сбрасывается; монеты PRIZM, удаленные с виртуального счета, отправляются на адрес владельца с адреса GENESIS в виде настоящих монет. Адрес GENESIS имеет отрицательное сальдо, модуль баланса которого постоянно увеличивается, точно отражая эмиссию криптовалюты.

Монеты PRIZM зачисляются на виртуальный счет каждую секунду, размер комиссии зависит от личных средств адреса и суммы личных средств других адресов, связанных с основным адресом.

Во время первой транзакции основного адреса на новый адрес создается соединение, которое не может быть уничтожено.Ссылки являются многоуровневыми и хранятся в таблице para базы данных paraprizm.h2.db. Монеты на счете связанных адресов считаются частью суммы только в том случае, если расстояние между адресом, для которого рассчитывается парамайнинг, и связанным адресом меньше 88 других адресов.

Новый адрес означает адрес без единой транзакции и отсутствия монет PRIZM на счете.

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

  • Минимум типов транзакций делает систему предсказуемой и надежной, сводя к минимуму количество потенциально уязвимых участков кода;
  • Изменчивость и простота интеграции произвольных данных в тело транзакции предоставляет широкие возможности для использования блок-цепочки PRIZM в распределенных приложениях;
  • Возможность интеграции произвольных данных облегчает интеграцию со сторонними сервисами PRIZM, поскольку сводит идентификацию входящих платежей к простой проверке, которая намного проще, чем методы, которые необходимо использовать для интеграции Биткойна и его токенов;
  • Военные стандарты шифрования;
  • Инновация, которая реализует выбросы в форме «параминайнинга», представляет собой интересное явление, требующее дальнейшего изучения;
  • Парамайнинг экономит энергию и облегчает поддержку сети, поскольку он не требует дорогостоящего оборудования для выпуска монет, что делает PRIZM более доступным для поддержки своего собственного узла по сравнению с биткойнами, Ethereum и другими валютами PoW;
  • Эмиссия полностью передается обычным пользователям;
  • Вероятность атаки в 51% (когда в распоряжении атакующего должны находиться генерирующие мощности бОльшие, чем у всей остальной сети) намного меньше, чем у Биткойна, из-за чрезмерной стоимости атаки (стоимость атаки превышает потенциальную выгоду атакующего: вам нужно выкупить половину всех существующих ПРИЗМ монеты);
  • При использовании веб-интерфейса узла для создания транзакций закрытый ключ используется локально на компьютере пользователя, вся криптография дублируется в JavaScript для полноценной работы в браузере, чтобы избежать передачи закрытого ключа;
  • Удобный JSON RPC (протокол удаленного вызова процедур): вы почти всегда можете найти метод, который позволит вам получить интересующую вас информацию.

Возникшие системные проблемы

  • Проблема статической базовой цели из-за увеличения объема циркулирующих монет PRIZM, когда общая сумма блоков генерации средств с использованием алгоритма PoS может выходить за пределы предварительно определенных пределов базовой цели, что приведет к уменьшению среднего времени генерации блоков. менее 59 секунд. Однако в ходе исследования был обнаружен детерминистский механизм, который изменяет пределы основной цели, чтобы полностью компенсировать этот эффект.
  • Проблема низкой привлекательности контента сайта из-за того, что проблема создается обычными пользователями, поддержание собственного сайта на первый взгляд не так финансово привлекательно, как поддержание его для Биткойн или Эфириума. С другой стороны, стоимость обслуживания сайта в несколько раз меньше: для этого не требуется большой объем дискового пространства; не требует большой вычислительной мощности; нет необходимости выполнять постоянные тяжелые расчеты с затратами энергии. В целом отсутствие выбросов в пользу создателя блока при создании блоков полностью компенсируется низкими требованиями к владению системным узлом, а комиссионных средств более чем достаточно, чтобы окупить вложенные средства.Кроме того, при получении комиссионных за создание блока запускается триггер, который создает транзакцию с переходом по адресу создателя блока, что позволяет избежать комиссии исходящей транзакции за активацию триггера.

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

Основные вопросы

Функционирование ParaEngine.java

Последовательность анализа:

  • декомпиляция исходного кода файла PrizmEngine.jar из пакета prizm-dist-1.10.4.1a.tgz, полученного из https://github.com/prizmspace/PrizmCore
  • анализ базы данных (файлы prizm_db/paraprizm.h2.db и prizm_db/prizm.h2.db)
  • мониторинг сетевого взаимодействия между узлами в синтетической среде
  • Анализ функционала ParaEngine.java

Необходимо ответить на вопросы:

  • Почему класс не опубликован?
  • Каково действительное назначение данного класса?

Файл скрыт, чтобы предотвратить неконтролируемое создание жестких вилок, что не мешает восстановлению абстрактной модели функциональности класса на основе структуры кода:

Инициализация класса

  • Подключение к базе данных paraprizm.h2.db
  • Проверка целостности базы данных
  • Восстановление целостности базы данных
  • Обновление базы данных
  • Публичные методы класса и обратный функционал:
    • popLastBlock - запускает обратные вычисления для базы данных paraprizm.h2.db и переводит ее в состояние, в котором она находилась на 1 блок назад
    • rollbackToBlock - управляющий код для метода popLastBlock
    • getBaseTargetStart - возвращает ближайшую высоту, на которой должны быть обновлены пределы базовой цели
    • isBaseTargetRegionBegins - отвечает на вопрос, находится ли блокчейн на высоте изменения пределов базовой цели
    • calculateBaseTarget - пересчитывает новую базовую цель, чтобы компенсировать увеличение количества монет PRIZM, участвующих в создании блоков
    • getBaseTarget - возвращает кешированную базовую цель для заданной высоты
    • convert - конвертирует транзакцию в формат для внутренних вычислений
    • check - создает и проверяет транзакции адреса GENESIS
    • canReceive - проверяет дубликаты транзакций для адреса GENESIS
    • getMetrics - возвращает данные об учетной записи виртуального адреса
    • getFixedFee - рассчитывает фиксированную комиссию

Выводы

  1. Средняя пропускная способность блока значительно увеличилась; пропускная способность сети увеличилась пропорционально изменению максимального размера транзакции на 85%.
  2. Производительность процесса загрузки блокчейна и скорость обработки устаревших данных увеличилась во множестве значений, увеличив общую максимальную отказоустойчивость системы в долгосрочной перспективе.
  3. Замененные механизмы для работы с базой данных привели к многократному сокращению задержки при обработке запросов API и P2P, к многократному сокращению времени проверки блоков и сканирования цепочки блоков.
  4. PRIZM более продуктивен и надежен в долгосрочной перспективе, чем NXT.
  5. Ядро PRIZM способно обрабатывать больше данных без значительного снижения производительности.
  6. Безопасность системы повышается за счет нескольких дополнительных проверок, которые не оказывают заметного влияния на производительность.
  7. Перед началом фактической обработки данных выполняется ряд новых проверок, что исключает возможность преднамеренной перегрузки узла при бесполезной обработке данных, снижает нагрузку на дисковые и сетевые подсистемы.
  8. Механизм автоматического создания SSL-сертификата позволяет пользователям немедленно начать использовать хост, на котором они начали, с использованием общепринятого протокола шифрования данных HTTPS, что особенно важно при подделке адресов, потому что для запуска процесса создания блоков необходимо передать парольную фразу адреса стороне хоста через Интернет (для создания цифровых подписей блоков).

Заключение

  1. PRIZM в 10 раз быстрее первого подтверждения транзакции в блокчейн;
  2. PRIZM совершает в 5 раз более быстрое приобретение транзакции необратимого статуса;
  3. Чтобы объявить транзакцию необратимой, требуется больше блоков, но высокая скорость создания блоков означает, что через 10 минут транзакцию можно считать необратимой. Это отличный результат для оплаты товаров и услуг за счет сокращения времени транзакции;
  4. Более динамичный темп роста;
  5. Максимальная ставка за год намного выше, чем у Bitcoin, что указывает на позитивные перспективы дальнейшего роста;
  6. Значительно более выгодные комиссии;
  7. Небольшие комиссии минимизируют потери при перераспределении средств между контролируемыми адресами и оплатой товаров и услуг, способствуют дальнейшему росту популярности криптовалют.
  8. Активность пользователей PRIZM составляет более трети активности пользователей Биткойн, что является достойным результатом, учитывая, что PRIZM почти на десять лет моложе Bitcoin;
  9. Перспектива финансовой выгоды от торговли превосходит Bitcoin.

Прогноз

PRIZM позиционируется как криптовалютная платежная система. Не обещаются распределенные приложения, умные контракты или токены, но предоставляются инструменты для создания различных надстроек на его основе. Ядро PRIZM выполняет минимум того, что заявлено, но выполняет хорошо.

Ядро поддерживает расширение с помощью надстроек, что позволяет расширять функциональность API и интегрировать ядро со сложными аналитическими инструментами, не внося изменений в исходный код и без пересборки ядра; дополнения обеспечивают полный доступ к событиям блокчейна в реальном времени. Функциональность, полученная с помощью надстроек, не теряет работоспособность при обновлении версии ядра PRIZM.

Уровень оптимизации производительности и безопасности узлов показывает, что кодовая база регулярно обновляется и поддерживается; Разработчики регулярно проводят анализ производительности и вносят соответствующие изменения. Система находится в хорошем техническом состоянии и может функционировать десятилетиями.

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

Поделиться
статьи на популярном у разработчиков, дизайнеров и деловых людей ресурсе CodeCondo

" data-limit="3" data-counter>

КОММЕНТАРИИ (0)