2018-01-02 --- Model of Total PC and Quantifying Branching

Observations

  1. To prevent exponential growth of political capital, the following relation should hold: 
    Error rendering macro: No valid license found for LaTeX Math addon
    . Where 
    Error rendering macro: No valid license found for LaTeX Math addon
     is the fraction of new blocks which are acknowledgements in equilibrium (depends on the strategies employed by the validators), 
    Error rendering macro: No valid license found for LaTeX Math addon
     is the fraction of PC earned by acknowledging a block and 
    Error rendering macro: No valid license found for LaTeX Math addon
     is the number of validators.
  2. The PoW-like fork-choice rule causes measurably less branching than GHOST, but both show more branching happening over time.

Evidence

  1. We set up a simple dynamical model of the total amount of PC as follows. Let 

    Error rendering macro: No valid license found for LaTeX Math addon
     be as above, 
    Error rendering macro: No valid license found for LaTeX Math addon
     be the amount of PC controlled by validators at time 
    Error rendering macro: No valid license found for LaTeX Math addon
    , and 
    Error rendering macro: No valid license found for LaTeX Math addon
     be the amount of PC in blocks available for acknowledgement at time 
    Error rendering macro: No valid license found for LaTeX Math addon
    Error rendering macro: No valid license found for LaTeX Math addon
     and 
    Error rendering macro: No valid license found for LaTeX Math addon
     change over time according to the equations

    Error rendering macro: No valid license found for LaTeX Math addon

    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 

    Error rendering macro: No valid license found for LaTeX Math addon
     of the validators are acknowledging each round, therefore a fraction 
    Error rendering macro: No valid license found for LaTeX Math addon
     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. Since 
    Error rendering macro: No valid license found for LaTeX Math addon
     validators each acknowledge blocks, earning a fraction 
    Error rendering macro: No valid license found for LaTeX Math addon
     of what is available, the amount of PC the validators have increases by 
    Error rendering macro: No valid license found for LaTeX Math addon
    . 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.
    Rewriting Eq. (1) and Eq. (2) as a single matrix equation, we get

    Error rendering macro: No valid license found for LaTeX Math addon

    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 

    Error rendering macro: No valid license found for LaTeX Math addon
     then the largest eigenvalue is 
    Error rendering macro: No valid license found for LaTeX Math addon
    and the second eigenvalue is given by 
    Error rendering macro: No valid license found for LaTeX Math addon
    . Therefore, it is also desirable (though not necessary) for 
    Error rendering macro: No valid license found for LaTeX Math addon
     since then both eigenvalues will be positive and thus no oscillations on the way to equilibrium.

  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.

    1. AverageOffDagBranchLength_ghost.csv
    2. AverageOffDagBranchLength_pow.csv
    3. Both shown on the same plot for clarity: 

Conclusions, Speculations and Future Work

  1. I should try to confirm the predictions of the model in the simulation. In particular, comparing the observed exponential growth rate to the model prediction in the data I have, and trying a simulation with the 
    Error rendering macro: No valid license found for LaTeX Math addon
     constraint enforced. It should be noted that there are stochastic effects in the simulation which the model "averages over" (i.e. it is a mean field model), so perfect agreement is not needed, but it would be nice if the predicitions were close to the simulation.
  2. The GHOST protocol seems to fall into a pattern in which the branching grows linearly over time. That may also be true for PoW, but if it is, the slope is much smaller. More data is needed to see how the branching continues to evolve over time.