-
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
[Oracles] Oracle Nodes Election #1278
Comments
I am not sure if link it, compulsorily, to the voting system is a good idea. Edited: |
I support the idea"the Oracle node election is strongly bound to the consensus system".One simple and direct implement is "One Consensus Node ,One Oracle Node".Each CN should operate a Oracle node.The reliability of the system is 2/3. |
Oracle nodes must not be bound to CNs in terms of colocation or resource sharing or key for security and safety reasons. It's possible to let CNs to decide which Oracle candidate nodes can be considered a proper nodes for particular oracle type, for example by listing Oracle nodes' Public Keys in some Oracle Policy Native Contract storage after doing some checks or observing candidates' behaviour. BTW, please note that there must be lots of Oracle nodes for the whole system to work correctly and reliably, more then 7. |
Talking to @vang1ong7ang we noticed that, perhaps, we do not need any default oracle, just the protocol. No need for any election. |
@vncoelho Hi,vncoelho.We also discussed the concept of groups before.But is it too complex for in-build Oracle?Need discussion. |
Maybe I can upload the content of Oracle Group and we can make a discussion here? |
@doubiliu open a new thread please |
I would prefer that Oracle and consensus roles don't fall on the same node. I would use the same method that is decided to decide the consensus nodes (vote), the same method but not the same vote. I would use the same method that we decide to elect consensus nodes (voting), the same method but not the same vote. |
Some comments here. If we separate oracle nodes from consensus nodes and we use a election to choose oracle nodes:
If we use consensus nodes as the oracle nodes:
|
Too many elections. For consensus nodes, for oracle nodes, for NeoFS inner ring nodes. I don't think we need that many elections. I also don't think users will participate in so many elections. I think the best way is to have consensus nodes play both of these roles. Or each consensus node can specify one or two oracle nodes. |
@erikzhang So "One Consensus Node ,One Oracle Node" ? |
Having many independent Oracle nodes run by third party owners makes the whole network more robust, credible and faster. If ability to run Oracle node, and benefit from it, would be bound somehow to Neo token, it will also add value to Neo token existence itself. Right now there are not many good answer why the one would need NEO tokens, but Oracle nodes setup may add one. Hence, complexity of voting or passing qualification would pay off. The Oracle election or qualification process can be simplified by delegating it to SmartContracts or some automation regulations, not just human voting process. Technically it's not good to bind a small number of Oracle nodes to even smaller number of CNs. Besides credibility reasons, Oracle nodes may require to be in different parts of Internet to even serve simple http, and even for this simple task it's almost impossible to cover the majority of cases. Moreover, dApp owner could want to setup own groups of Oracle nodes with access to some restricted area to use exclusively by his SCs. In short, I propose to consider having a decentralized Oracles run by independent owners, rather then concrete small set bound to CNs. Voting or qualification complexity would pay off. |
@vncoelho, keeping the conversation about "official oracles". What do you think of this idea? We can have two different Oracle Roles.
|
Well, to make a summary. Currently, we have 5 options: Option AOracle node election is strongly bound to consensus node. Each consensus node should operation a Oracle node.
Option BOracle node is elected by consensus nodes. Consensus node elect Oracle nodes based on certain criteria.
Option COracle Group.
Option DSimilar to option B but introducing two different Oracle roles.
Option EUse the same election model as for consensus nodes. Option A: 👍 |
@belane ,can you do some explanation about your comment? |
After belane's explanation, we can do a vote |
@doubiliu well it was more an open idea, but I think you've described it very well. I updated your comment with the missing details. I think that we should also add the option of using the same election model that we will decide for the consensus nodes. |
It seems we have a winner, Option A, which in fact is very similar to B. Option A Note: For security reasons, should we prevent both roles from running simultaneously on the same machine? |
@belane But how did Option A become a winner if Option B has more votes? |
Sorry @realloc for not explaining. Option A has a few more votes from core developers which have a little more weight. I usually apply the following rules, but I am open to new ideas.
|
The Oracle node election is strongly bound to the consensus system. The general idea is to use the same voting process as for the election of consensus nodes and use the same governance mechanisms.
This topic is closely linked to oracle policy #1277
The text was updated successfully, but these errors were encountered: