0

Assume in a distributed network, where the nodes are not trusted and are identified by their public keys, we intend to select one of them in a random process. In such a situation, all of the nodes have the same chances to be elected.

Since the system is not centralized and there is no trusted server performing the election process, how to select one of the nodes truly randomly (where each of the nodes is able to manipulate the client code such that they would be elected in all the rounds)?

Complementary explanation: I mean that as there is no trusted and centralized server to perform the randomness process, thus it is performed locally in each node by a client code, such that each node can be able to manipulate the client code to be always elected. Assume there are 10 nodes, each of which has a client code to perform a decentralized randomness process. What happens if one of them manipulate the code to be elected in all the rounds? And how to prevent such malicious behavior?

3
  • Easy answer: don't trust the untrustworthy...
    – schroeder
    Sep 17 '20 at 14:32
  • Can you please clarify further? Are you concerned that a random process won't elect a clear winner? Are you wondering how to prove and agree on a winner? "Such that they would be elected in all rounds" - are you describing a node having their code changed to something non-standard? There are many parameters possible here with different implications. Sep 18 '20 at 11:00
  • @Todd , I mean that as there is no trusted and centralized server to perform the randomness process, thus it is performed locally in each node by a client code, such that each node can be able to manipulate the client code to be always elected. Assume there are 10 nodes, each of which has a client code to perform a decentralized randomness process. What happens if one of them manipulate the code to be elected in all the rounds? And how to prevent such malicious behavior?
    – Questioner
    Sep 18 '20 at 11:08
1

If you have anonymous nodes, then you have the problem of spawning fake nodes under your control. That is, you have worse problems than a node voting for itself.

So some kind of reputation is needed for each node. I am a fan of "bartering exchanges", where transactions happen within a local group. Trust grows from that small group succeeding to add value equally for each other. That group can form a group identity for performing larger transactions with larger groups, but initially starting small between those groups.

It's important that fair trade is used as the basis for gaining trust. Therefore if a relationship is asymmetric, then it won't last

I don't know what your network is doing so I can't help more without knowing what "value" is exchanged. But I want to assure readers that this value need not mean "money". In the digital world, computing resources may be exchanged, disk storage may be rented, and human laboured services can be rendered anonymously. With a "bartering" model you don't track a currency, but rather trust and equality.

When it comes to vote that occurs within a trusted group, then that groups outcome is signed by group members and shared onward to other peer groups, and so on. Barter trade value is the reputation that either validates the vote or multiplies the weighting of the group vote.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.