Плотность пуассонов биткойнов в коде

Ниже приводится описание биткойн-бумаги. Цель состояла в том, чтобы вычислить вероятность (P), которой злоумышленнику может повезти, и переопределить z количество блоков, где q - это процент контролируемой сети.

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

Это возможно или я думаю об этом странно?

Как бы я представлял решение для q вместо p в коде?

    Converting to C code...
    #include <math.h>
    double AttackerSuccessProbability(double q, int z)
    {
       double p = 1.0 - q;
       double lambda = z * (q / p);
       double sum = 1.0;
       int i, k;
       for (k = 0; k <= z; k++) {
             double poisson = exp(-lambda);
             for (i = 1; i <= k; i++) {
                     poisson *= lambda / i;
                     sum -= poisson * (1 - pow(q / p, z - k));
             }
       return sum;
       }
    }

0 ответов

Другие вопросы по тегам