-
Notifications
You must be signed in to change notification settings - Fork 1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Moving voting to the mempool layer - Lightning Voting in the Native Contract #757
Comments
In mempool, how do you solve the consistency problem? |
What is the current feasibility of this, @erikzhang? I do not see a simple way of counting the votes in the mempool, that is not really scalable. On the other hand, we could do it in a third party service and just publish
The core of the idea is that If the block has a valid In fact, this is a hypothetical scenario in which But it would be interesting to say that the NEO protocol can handle that by the power of voting. |
I think this is not feasible. The matter of replacing the consensus nodes itself requires consensus. |
Consensus are chosen by NEO holders, which is a matter of signing their voting intention. Philosophically, it is an "offchain" process (that is why we picked lighting as a name, copying BTC Lightning Network). But I agree that it is not easy exceptions to be handled. But the power such mechanism would remain. |
In the simplest case, everyone modifies the configuration file and chooses a new set of consensus nodes. (nodes that have not modified the configuration file will fork out) |
Ok, @erikzhang. Thanks for your time and discussion. However, consider this solution could probably be an eternal debate with old "offchain" transactions modifying the validators and forking. |
Vote in mempool, if everyone is online, and every nodes are connected with each other, and every messages are sent to every nodes well, then it is feasible. Otherwise, different nodes will see different transactions in mempool, and get different consensus nodes, and fork. |
That is true, @erikzhang. |
closes #300
closes neo-project/proposals#82
NEO holders should be able to modify validators during block creation.
In this sense, the proposed mechanism allows voting to happen in an upper layer, namely, in the mempool.
This was an insight with a discussing with @jsolman.
I believe that we could try to implement this for NEO3 while doing the Native Contract for Voting. What do you think @igormcoelho?
The text was updated successfully, but these errors were encountered: