Планы по обновлению протокола

Попробуем сделать в 0.4.3.

Вопрос с приоритетами PoS/PoW при реорганизации цепи будет решен новой реализацией функции GetTrustScore.

Текущее поведение:

  • Для всех PoW блоков возвращается 1;
  • Для PoS блоков результат описывается функцией сложности.

Набросок нового поведения:

  • Для PoS блока, являющегося потомком PoW блока результат описывается функцией сложности;
  • Для PoS блока, являющегося потомком PoS блока результат описывается той же функцией сложности, деленной на 3;
  • Для PoW блока, являющегося потомком PoS блока, результат описывается функцией сложности предыдущего блока;
  • Для PoW блока, являющегося потомком PoW блока, результат равен 1/3 Trust score для предыдущего блока;

Итог реализации подобного алгоритма:

  • «Чистая» цепочка PoS блоков будет в ~3 раза легче гибридной;
  • Вес «чистой» цепочки PoW блоков будет расти намного медленнее, чем вес гибридной цепи.

Итого, double-spend атака только средствами PoS станет невозможной, равно как и атака только генерацией PoW блоков. У легитимной цепи всегда будет перевес над такими вариантами. Для успешной атаки потребуется сгенерировать гибридную цепь, то есть располагать как stake, так и достаточными мощностями.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *