New Algorithm to attend the Consensus Anonymously in the Permissioned based closed System
ABSTRACT
As being forming consensus in the closed environment anonymously is a challenge, as in closed system, every individual is known and anonymity is quite tough to achieve in making decision which need subjective opinion plus as everyone is familiar to each other the opinion is ‘forced’ to get changed so anonymity plays a crucial role in getting the ‘true’ results.
We proposed a new Idea where we use the concept of Broadcast Consensus Block to achieve it without compromising the anonymity. It uses both centralized and peer to peer technique, we call it Cepee Technique. The approach we follow is very much practical and can be easily formed, we use the technique of modulus to get the different numbers and that number is passed to the clients to give their decisions either in the form of true (1) or false (0). And then the clients use peer to peer technique to pass the information in the Consensus block and after forming the consensus the common final result is shared with the centralized server.
METHODOLOGY
Phase I:
Initially the server randomly generates the number using some modulo function and then that numbers are send to the different client plus server make the initial block setting number of client as the Counter. (further this can be used to validate the user)
We can use two approaches:
Approach 1: Send the block to the clients and then clients communicate themselves to fill the final result in block
Approach 2: Create a common block and let client pass the data in the Block.
Phase 2:
In this phase, the data is broadcast in the block and using the counter the client is validated with in the block. Again, here we can use different function to reduce the task plus the modulo will help in getting the privacy as we can change the value passed from the client to the block and may be change the logic accordingly to get the final consensus
Phase 3:
Finally, the result is shared commonly to the server
Approach 1: Here individual client will share the final result
Approach 2: Here the block communicates with the Server.
Once the server has the Accumulated result, all it need to do is find the difference and hence the anonymity is maintained in the closed environment
Example:
Approach 2:
With the 3 nodes(client), in the closed permissioned environment
We use the function
X mod 7 =1 (This could be any function)
Now X could be 8, 15, 22, 29….
As we are having 3 node we select randomly 3 values (let’s 8 ,15, 29)
Phase 1:
1.Server sends 8 to c1, 15 to c2 and 22 to c3
2.server will Form a block that is having the number of client being part of the consensus
Here in this case its 3
Phase 2:
c1 will take decision, here its yes so now its value will change to the 9, now from practical view this could be any checkbox which says either true or false / yes or no.
Similarly, c2 and c3 will change their value the logic here is that
if yes
then increment
and if no
don’t change
this is customizable and can be used according to the business need.
So finally, c2 is at 15 and c3 is at 23.
Phase 3:
Now the data is shared to the block and block will decrement according to the clients and this client can be validated using either their id or the private key and then the block will cumulatively add the decisions from the c1, c2, c3
So, the block will have 9+15+23 =47
And as the system is asynchronous in nature, this is the best way as the block is commonly shared
Finally, the final result is shared to server that is 47 and the server has the cumulative result of 45
So the final consensus using this is 47 -45 = 2.
Hence, we know that two clients agreed but server doesn’t know who are the two. (Anonymously)
This can be further improvised by using different functions and security features