truechain / truechain-consensus-core

TrueChain Consensus Protocol: Minerva
Apache License 2.0
161 stars 70 forks source link

obfuscated committee election #51

Open arcolife opened 6 years ago

arcolife commented 6 years ago

WIP

todo: update from internal

cc/ @hzh1982 let's hold another meeting with you, @panghalamit and Elon (add his github?) asap, then I'll update it here after common agreement.

panghalamit commented 6 years ago

Requirements of selection procedure. 1) Next committee should be selected before its daily operation begin. 2) Every committee member should know about other committee member and Non-members should not know about the committee members until its operations begin. 3) Selection procedure must be resistant to sybil attacks.

4) 3 could be achieved by using PoW puzzles. 2 is only possible, if in an ideal scenario, all members are able to secretly determine their membership and verify membership of other members without conveying it to non members. This could be partially achieved by VRFs. VRFs can enable "secretly determine their membership" and "verify membership". Since anyone with the public key of prover can verify their membership, non-members can also determine who committee members are. So one way to achieve obfuscation is prover multicasts the information only to verifiers which is not possible as they dont know committee members. Way around is to possibly send it to have a rendevouz. Where every committee member sends its information. and then it send to other members. Rendevouz could be previous committee. Fruit miners determine their eligibility and send it to rendevouz with VRF proof. Let me know of all the questions related to its implementation and security holes that come to mind.