Generally in our voting mechanisms the voting weight of a node should include factors such as reputation or mana. Here we want to restrict ourselves to weighing a nodes vote by its mana in the FPC mechanism. There are multiple ways of doing this, and the most obvious I can see are :

- uniform random selection of a quorum, where the probability to select a node is weight by its mana. There are also multiple nuances such as what to do, if a node is selected twice (can happen if its weight is large).
- randomly selecting a node and weighing its vote afterwards.

Are there any obvious reason against any of those two ?

Suppose that p proportion of the manna is pledged to nodes holding opinion 1. Then in 1), the chances that a node will switch to 1 is P(B(k,p)>\tau k) where tau is the threshold for the round. Is the same true for 2)?

We (@darcy.camargo) ran the math and the only way to ensure mana to voting power linearity (which I value above all else, as you know) is to:

- Select nodes into a quorum with probability proportional to their mana.
- Allow repetitions, and count votes multiple times if a node is selected more than once.
- Do
**not** weigh votes once inside the quorum.

One more nuance: you have to also include yourself in the candidates list.

Iâ€™ll recreate the math with Darcy next time we meet (hopefully this week). By the way this is a general result for any â€śfairâ€ť voting algorithm, which might mean itâ€™s interesting outside of IOTA as well (I believe Iâ€™ve seen some inaccuracies in this in other protocols, but canâ€™t recall specifics).

1 Like

That would be very cool to see!

Pasting here some comments from #r-internal:

Darcy Camargo [12:23 PM]

[â€¦] Basically we defined a metric of voting power and checked if it was linear/sublinear/superlinearBasically we defined a metric of voting power and checked if it was linear/sublinear/superlinear

Olivia Saa [2:28 PM]

If we are not weighting the votes, isnt just about calculating:

(average number of votes received from a node with mana = p)/(total number of votes received)?

Then it would be

(1/k)sum_{i=1}^{k} (i*P(having i links with this node))*

= (1/k) sum_{i=1}^{k} (iC(k,i)*p^i*(1-p)^(k-i)) = p

nodes with mana p have voting power p

[â€¦] were you trying to check if this algorithm would gives us linearity or were you trying to prove that this is the only algorithm that guarantees linearity?

Alon Gal [2:48 PM]

option b