Fair Share
A team wins one prize and has to split it. The usual way, everybody writes down a split and you average the answers, pays whoever lies about themselves: in a team of four with a true split of 40 / 30 / 20 / 10, D writes "100% me" and takes 32.5% instead of 10%. In Fair Share members rate only the others, and what you write never changes your own share: D keeps 10.0% whatever D writes.
The rule is the impartial division of de Clippel, Moulin and Tideman (2008). The code is on GitHub (MIT). Everything below runs in your browser from the same files as the command line. NEAR testnet only: no wallet, no keys, no money.
1. Try it
Pot, team and ratings are yours to change. Everybody starts out honest (each rates the others by the true split) except one member, who lies. Switch the lie off or on, or drag the sliders.
The "plain average" column: everybody states a split for the whole team, a lying member claims 100% for herself, the answers are averaged. A split needs at least 4 members: with 3 no impartial rule can hand out the whole pot (Proposition 1 of the paper).
2. Check the real testnet round
This page reads the Fair Share contract on NEAR testnet through a public RPC node (view calls only, nothing is signed), recomputes every number with the same fairShare, toAmounts and checkRound as npm run verify, and says MATCH or MISMATCH for each member and for the whole round.
3. What this does not do
- It needs 4 or more members.
- A liar cannot raise her own share, but she can move the others' shares. In the example above D's lie takes B from 30% to 17.5% and C from 20% to 13.7% while A gains.
- It is not safe against teaming up. If A and D each rate the other 90% (B and C 5%, B and C truthful), A goes from 40% to 58.8%, D from 10% to 21.5%, while B falls to 10.7% and C to 9.0%. There is no protection against this yet.
- Nobody checks that ratings are honest. The only guarantee is that your own rating cannot pay you.
- On the chain, ratings are sealed only until the reveal; after that they are public in the transaction arguments.
- A member who commits and never reveals counts as having rated everybody else equally and loses the bond. That cannot change the silent member's own share, but with several silent members it moves the others' shares, and the last member to reveal can pick between the committed and the neutral row after seeing the others (this still cannot change their own share).
- The testnet round is a small demo: a 1 NEAR pot, 0.1 NEAR bond, four accounts of one operator. It shows that the flow works on a real network, not that anyone relies on it. The contract has had no separate review. Do not use it with real money.