Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Observations

...

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

    Mathinline
    host7bf7a548-f937-390d-b7ee-64c4940fe12e
    bodya,~f,~N
     be as above, 
    Mathinline
    host7bf7a548-f937-390d-b7ee-64c4940fe12e
    bodyV_t
     be the amount of PC controlled by validators at time 
    Mathinline
    host7bf7a548-f937-390d-b7ee-64c4940fe12e
    bodyt
    , and 
    Mathinline
    host7bf7a548-f937-390d-b7ee-64c4940fe12e
    bodyB_t
     be the amount of PC in blocks available for acknowledgement at time 
    Mathinline
    host7bf7a548-f937-390d-b7ee-64c4940fe12e
    bodyt
    Mathinline
    host7bf7a548-f937-390d-b7ee-64c4940fe12e
    bodyV_t
     and 
    Mathinline
    host7bf7a548-f937-390d-b7ee-64c4940fe12e
    bodyB_t
     change over time according to the equations

    Mathblock
    host7bf7a548-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 

    Mathinline
    host7bf7a548-f937-390d-b7ee-64c4940fe12e
    bodya
     of the validators are acknowledging each round, therefore a fraction 
    Mathinline
    host7bf7a548-f937-390d-b7ee-64c4940fe12e
    body(1 - 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. Since 
    Mathinline
    host7bf7a548-f937-390d-b7ee-64c4940fe12e
    bodyaN
     validators each acknowledge blocks, earning a fraction 
    Mathinline
    host7bf7a548-f937-390d-b7ee-64c4940fe12e
    bodyf
     of what is available, the amount of PC the validators have increases by 
    Mathinline
    host7bf7a548-f937-390d-b7ee-64c4940fe12e
    bodyafN B_t
    . 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

    Mathblock
    host7bf7a548-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 

    Mathinline
    host7bf7a548-f937-390d-b7ee-64c4940fe12e
    bodyafN = 1/2
     then the largest eigenvalue is equal to 1 is 
    Mathinline
    host7bf7a548-f937-390d-b7ee-64c4940fe12e
    body\lambda_1 = 1
    and the second eigenvalue is given by 
    Mathinline
    host7bf7a548-f937-390d-b7ee-64c4940fe12e
    body\lambda_2 = a - 1/2
    . Therefore, it is also desirable (though not necessary) for 
    Mathinline
    host7bf7a548-f937-390d-b7ee-64c4940fe12e
    bodya > 1/2
     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
      View file
      nameoffDagLength_ghost.pdf
      height250
    2. AverageOffDagBranchLength_pow.csv
      View file
      nameoffDagLength_pow.pdf
      height250
    3. Both shown on the same plot for clarity: 
      View file
      nameoffDagLength_both.pdf
      height250

...