Можно, кстати, подробнее про "самую последнюю ловушку"?
Как известно, при определенной разнице между текущим временем и временем генерации последнего блока какой-то из аккаунтов может сгенерировать блок. В оригинальной версии NRS разрешалось генерировать блоки с
timestamp >
timestampmin. Генератор мог это сделать с разбежкой до момента, когда еще кто-то получал такое же право. Этот трюк позволял манипулировать изменениями BaseTarget, снижая безопасность системы за счет уменьшения кумулятивной сложности
и увеличения количества степеней свободы при подборе альтернативной ветви с чуть большей сложностью. Сейчас
timestamp может быть только равен
timestampmin.
Что касается безопасности: а для нынешнего алгоритма есть какие-либо расчёты, насчёт насколько он безопасен?
Математических расчетов нет. В свое время я моделировал разные ситуации и пытался провести атаки. Я заметил, что количество вычислений, требуемых для нахождения более "тяжелой" ветви, значительно уменьшается, если удается поддерживать симметрию колокола (в координатах ИнтервалМеждуБлоками : КоличествоБлоков). Также, вероятность успешной атаки уменьшается, если среднее время стремится к 60 секундам. Кстати, при 120 секундах безопасность практически нулевая, а у нас сейчас примерно 110 секунд между блоками. Отвечая на вопрос насколько безопасен нынешний алгоритм - настолько, насколько форжеры готовы потратиться на multibranch forging. Планировалось, что будет работать Economic Clustering
* и благодаря "time warp" время между блоками будет практически всегда 60 секунд, но, видимо, создатель системы слишком оптимистично подошел к оценке процента тех, кто интересуется чем-то еще кроме как возможностью заработать побольше долларов на Nxt'е...
--------
* - На начальном этапе безопасность планировалась быть обеспечена держателями крупных сумм, поэтому у них и остался бонус в виде повышенного шанса на генерацию блоков (нелинейная зависимость от эффективного баланса).