-
Notifications
You must be signed in to change notification settings - Fork 20
Description
Single Secret Leader Election
The Filecoin block reward is a large term in the incentive equation, and is wielded as such to align the incentives of participants. As a result, we developed Expected Consensus to ensure that miners are elected in a fair, secret, and publicly verifiable manner. See Section 6 of the Filecoin paper for motivation and formal definitions (namely, Definition 6.1).
However, the number of miners elected in Expected Consensus follows a distribution centered at 1. (If all miners have the same power, the distribution is binomial.) As a result, the Filecoin Protocol must be robust against the election of multiple miners or no miners in any given epoch.
To simplify this, we seek a solution that provides the aforementioned properties of Fairness, Secrecy, and Public Verifiability while electing exactly one miner at each epoch.
Ideally, this could be achieved without substantial modifications or additional complexity added to the Filecoin Protocol itself.
Activity
drewstone commentedon Apr 10, 2018
I remember hearing about this and will need to dive in more but here's a thought. Why not run a tournament-style modulo reduction on pairs of miners by their public keys until there is a winner, if we run into the case of multiple leaders.
Say you have some set of chosen miners. You pair them up and compute and select the participant's index, recursing on the updated set for the next "round".
alishoker commentedon Apr 12, 2018
I don't think you can assume a fixed number of miners n in blockchain network.
drewstone commentedon Apr 12, 2018
@alishoker I don't mean that it is fixed, but you do know (or can, i.e. from the PoS literature) at each round the set of "validators" or storage "miners". is a random variable for the sake of argument.
alishoker commentedon Apr 13, 2018
Sure. But the requirement of this task is "electing exactly one miner at each epoch" which can't be guaranteed if one of the elected validators go offline—this is not uncommon in such networks. PoW solves it by having several validators running in parallel.
That said, one can opt to live with a protocol that guarantees "at least one" validator as it is currently done in many protocols; and then have a random, but deterministic, arbitration method to elect one out of them.
alishoker commentedon Apr 13, 2018
This "random, but deterministic, arbitration method to elect one out of them" can be your suggestion.
miyazono commentedon Apr 19, 2018
@drewstone, I'm intrigued to hear more of this idea of combining keys to make sure you only get one, particularly how you would achieve fairness with this scheme. I think this also doesn't give a secret election, but I imagine you might be able to find a way by indexing a list of sorted public key signatures. I'm happy to discuss potential ideas here.
It's also worth noting, though, that if you'd like to write up a proposal, we have an RFP on this problem and are interested in funding directions that look promising.
jsoares commentedon Feb 1, 2019
New SSLE RFP out and accepting proposals.
[-]Single Secret Leader Election[/-][+]Secret Single-Leader Election[/+]clumma commentedon Mar 31, 2019
I'm coming from outside the field. How does this naive procedure fail?
miyazono commentedon Apr 1, 2019
Hi @clumma,
Since Filecoin is a fully decentralized algorithm, there is no trusted entity to run the SSLE procedure and message the miners. The SSLE procedure has to be run independently by every miner, so in the naive procedure, any miner could run the SSLE procedure for other miners in abstentia to determine the winner, which results in security issues. Feel free to read the problem statement above or linked here for more information.
clumma commentedon Apr 1, 2019
Thanks @miyazono for your reply. I did read the problem statement but didn't catch where it explains the setting for running the SSLE -- probably it's expected readers just know this.
miyazono commentedon Apr 3, 2019
nicola commentedon Jan 10, 2020
A set of solutions (of which one practical) has been written on this paper: https://eprint.iacr.org/2020/025.pdf
jsoares commentedon Jan 16, 2020
Thanks for the link, @nicola! For a little bit of self-promotion, here's the corresponding PL Research link:
https://research.protocol.ai/research/publications/single-secret-leader-election/
silvianetobessa commentedon Feb 2, 2022
Hi all, thank you for your comments! 🚀 We are now closing the issue, feel free to reopen it in the future if you want to restart the conversation on this topic.