There are many algorithms that can be considered in this case. We look at the voter model.
Voter Model
Voter Model
The voter model happens in rounds (or time-steps, denoted by ). At each round , each agent selects one of its neighbours uniformly at random. Then adopts ‘s colours for the next round.
Link to original
We assume they all change at the same time at the end of round .
Notation
- Time variable represents rounds, is set of non-negative integers.
- We have an undirected connected graph . Edge indicates sees and sees . Number of neighbours of is denoted by .
- We have a set of colours or opinions .
- For each time , current state of process is described by a function .
- We are interested in consensus states: When, for a given , we have for all , we say . Same for red, we have .
We seek to answer the following questions:
- Is consensus stable? i.e. once reached, will it be maintained indefinitely?
- Can the process get stuck and never reach consensus?
- Imagine you have the power to flip colour of agent before any decisions in a given round, which is the best choice / which agent is most influential?
- Given an initial configuration , what is the probability that the game ends in blue or red consensus?
What counts for an opinion's advantage?
The sum of degrees of nodes with a given colour.
Theorem Let be a graph that does not allow deadlocks in a voter model process (i.e. a consensus is reached with probability ).
Given an initial configuration , the probability of blue winning is given by: and the same for red.
Application Given our example graph from before:
Additional follow-up questions
- Can we analyse the expected time it will take to converge to consensus?
- What if the graph is directed with weighted edges? (weight of the edge is taken as the probability copied colours of )
- What if there is some bias towards a colour?
Consensus in Blockchain
Details of Bitcoin Blockchain not examined.
