Update Gossip entry in the book

This commit is contained in:
Sagar Dhawan
2019-02-21 13:04:51 -08:00
committed by Greg Fitzgerald
parent 60a6ff80ee
commit bf3d2bd2ec

View File

@ -93,19 +93,26 @@ that only adversarial nodes are selected for pull.
every push message. An eclipse attack on *push* would influence the active set every push message. An eclipse attack on *push* would influence the active set
selection, or the random fanout selection. selection, or the random fanout selection.
### Time and Stake based weights
Weights are calculated based on `time since last picked` and the `natural log` of the `stake weight`.
Taking the `ln` of the stake weight allows giving all nodes a fairer chance of network
coverage in a reasonable amount of time. It helps normalize the large possible `stake weight` differences between nodes.
This way a node with low `stake weight`, compared to a node with large `stake weight` will only have to wait a
few multiples of ln(`stake`) seconds before it gets picked.
There is no way for an adversary to influence these parameters.
### Pull Message ### Pull Message
A node is selected as a pull target based on local time since last selection and A node is selected as a pull target based on the weights described above.
the stake weight. There is no way for an adversary to influence those
parameters.
### Push Message ### Push Message
A prune message can only remove an adversary from a potential connection. A prune message can only remove an adversary from a potential connection.
Just like *pull message*, nodes are selected into the active set based on local Just like *pull message*, nodes are selected into the active set based on weights.
time since last selection and the stake weight. There is no way for an
adversary to influence those parameters.
## Notable differences from PlumTree ## Notable differences from PlumTree