$n$ guys each have a score in $[0,100]$, and they want to know their average. However they don't want their score to be known by others, even if the other $(n-1)$ ones are all dishonest. They can accept a not-that-accurate result for safety.
- If everyone is honest, they can get their average score approximately
- If someone is honest, no matter how others do, they can't get his score that near.
A physical solution is:
- Place $k$ white balls and $k$ black balls in a box
- Let everyone who get score $a$ put $a$ white balls and $(100-a)$ black balls into the box
- Randomly pick $m$ balls from the box, assuming there are $w$ white balls
- The average score is $\frac1n[\frac wm(2k+100n)-k]$
Is it possible on a net environment(any thing belong to someone, no trusted third-party)?