Observations
...
We set up a simple dynamical model of the total amount of PC as follows. Let
be as above,Mathinline host 7bf7a548-f937-390d-b7ee-64c4940fe12e body a,~f,~N
be the amount of PC controlled by validators at timeMathinline host 7bf7a548-f937-390d-b7ee-64c4940fe12e body V_t
, andMathinline host 7bf7a548-f937-390d-b7ee-64c4940fe12e body t
be the amount of PC in blocks available for acknowledgement at timeMathinline host 7bf7a548-f937-390d-b7ee-64c4940fe12e body B_t
.Mathinline host 7bf7a548-f937-390d-b7ee-64c4940fe12e body t
andMathinline host 7bf7a548-f937-390d-b7ee-64c4940fe12e body V_t
change over time according to the equationsMathinline host 7bf7a548-f937-390d-b7ee-64c4940fe12e body B_t Mathblock host 7bf7a548-f937-390d-b7ee-64c4940fe12e \begin{align} V_{t+1} &= V_t - (1 - a)V_t + afN B_t \\ B_{t + 1} &= (1 - a)V_t + afN B_t \end{align}
Time is measured discretely in "rounds" and we assume that all validators act once in each round, each producing one block (acknowledge or propose). Since only the most recent block from each validator can be acknowledged, this means that exactly the blocks from the previous round are available for acknowledgement and no others. This is why the first term of Eq. (1) is a "persistence" term of the PC with the validators between rounds, but there is no corresponding term in Eq. (2); PC available for acknowledgement in blocks does not persist from round to round. The second term in Eq. (1) and first term in Eq. (2) correspond to proposals. Since a fraction
of the validators are acknowledging each round, therefore a fractionMathinline host 7bf7a548-f937-390d-b7ee-64c4940fe12e body a
are proposing. We assume that these validators spend all their political capital to do this, thus the total amount of PC available to the validators decreases by the same fraction. These proposals become blocks to be acknowledged, so correspondingly, the amount of PC available in blocks increases by the same amount. The last term in both equations is the acknowledgement term. SinceMathinline host 7bf7a548-f937-390d-b7ee-64c4940fe12e body (1 - a)
validators each acknowledge blocks, earning a fractionMathinline host 7bf7a548-f937-390d-b7ee-64c4940fe12e body aN
of what is available, the amount of PC the validators have increases byMathinline host 7bf7a548-f937-390d-b7ee-64c4940fe12e body f
. However, those acknowledgement blocks can be acknowledged by other validators in the next round, therefore, the amount of PC available in blocks to be acknowledged increases by the same amount.Mathinline host 7bf7a548-f937-390d-b7ee-64c4940fe12e body afN B_t
Rewriting Eq. (1) and Eq. (2) as a single matrix equation, we getMathblock host 7bf7a548-f937-390d-b7ee-64c4940fe12e \left[ \begin{matrix} V_{t+1} \\ B_{t+1} \end{matrix} \right] = \left[ \begin{matrix} a & aNf \\ 1-a & aNf \end{matrix} \right] \left[ \begin{matrix} V_{t} \\ B_{t} \end{matrix} \right]
In order for this dynamical system to have a stable, non-trivial equilibrium, we need the largest (in absolute value) eigenvalue of the matrix to be equal to 1; larger than 1 and the system will blow up – exhibiting the exponential growth we saw in the simulation, less than 1 and eventually all the PC will decay away. One can show that if
then the largest eigenvalue is equal to 1 isMathinline host 7bf7a548-f937-390d-b7ee-64c4940fe12e body afN = 1/2
and the second eigenvalue is given byMathinline host 7bf7a548-f937-390d-b7ee-64c4940fe12e body \lambda_1 = 1
. Therefore, it is also desirable (though not necessary) forMathinline host 7bf7a548-f937-390d-b7ee-64c4940fe12e body \lambda_2 = a - 1/2
since then both eigenvalues will be positive and thus no oscillations on the way to equilibrium.Mathinline host 7bf7a548-f937-390d-b7ee-64c4940fe12e body a > 1/2 We measure branching as the average length of branches which are not chosen by the fork-choice rule. This calculated by finding all blocks which are not the parent of another block (i.e. the heads of the DAG), excluding the one chosen by fork-choice, and counting the number of blocks between head head and its greatest common parent with the fork-choice head. Plots of this quantity are shown below for both PoW and GHOST fork-choice rules. We see that GHOST grows more quickly and therefore ends larger than PoW.
- AverageOffDagBranchLength_ghost.csv;
View file name offDagLength_ghost.pdf height 250 - AverageOffDagBranchLength_pow.csv;
View file name offDagLength_pow.pdf height 250 - Both shown on the same plot for clarity:
View file name offDagLength_both.pdf height 250
- AverageOffDagBranchLength_ghost.csv;
...