Quantum Leader Election: Difference between revisions

From Quantum Protocol Zoo
Jump to navigation Jump to search
(Created page with "Quantum Leader Election allows multiple remote participants to select a leader among them randomly. The parties do not trust each other and can only use classical and quantum...")
 
 
(21 intermediate revisions by 4 users not shown)
Line 1: Line 1:
Quantum Leader Election allows multiple remote participants to select a leader among them randomly.
This [https://arxiv.org/abs/0910.4952 example protocol] allows multiple remote participants to select a leader among them randomly.
The parties do not trust each other and can only use classical and quantum channels to communicate.
The parties do not trust each other and can use both classical and quantum channels to communicate. It is an extension of the coin tossing problem to multiple players.
It is an extension of the coin tossing problem to multiple players.
 
'''Tags:''' [[:Category:Multi Party Protocols|Multi Party Protocols]], [[:Category:Quantum Enhanced Classical Functionality|Quantum Enhanced Classical Functionality]], [[:Category:Specific Task|Specific Task]]
[[Category:Multi Party Protocols]] [[Category:Quantum Enhanced Classical Functionality]][[Category:Specific Task]]


==Outline==
==Outline==
Line 12: Line 14:


===When the number of players is not an integral power of 2:===
===When the number of players is not an integral power of 2:===
In this case, the leader election protocol uses the power of 2 scenario and also recursively calls itself to select the leader.
In this case, the leader election protocol uses the 'power of 2' scenario and also recursively calls itself to select the leader.
Players till the index of the power of 2 which is just less than the total number of players perform leader election in an aforementioned manner to decide a winner.
Players continue till the index of the power of 2 which is just less than the total number of players perform leader election in an aforementioned manner to decide a winner.
Leader election protocol is then used recursively for the remaining participants to decide another winner.
Leader election protocol is then used recursively for the remaining participants to decide another winner.
Both the winners now perform an unbalanced quantum coin flipping to decide the final winner which is the leader.
Both the winners now perform an unbalanced quantum coin flipping to decide the final winner which is the leader.


 
==Notation==
==Notations==


* <math>P_\epsilon</math>: A weak balanced coin flipping protocol with an arbitrarily small bias of at most <math>\epsilon</math>.
* <math>P_\epsilon</math>: A weak balanced coin flipping protocol with an arbitrarily small bias of at most <math>\epsilon</math>.
Line 25: Line 26:
* <math>w^i_j</math>: Winner of the <math>j^{th}</math> pair in the <math>i^{th}</math> round.
* <math>w^i_j</math>: Winner of the <math>j^{th}</math> pair in the <math>i^{th}</math> round.
* <math>N_\epsilon</math>: number of rounds in a weak balanced coin flipping protocol <math>P_\epsilon</math>.
* <math>N_\epsilon</math>: number of rounds in a weak balanced coin flipping protocol <math>P_\epsilon</math>.


==Requirements==
==Requirements==
 
*'''Network Stage:''' [[:Category:Fully Quantum Computing Network Stage|Fully Quantum Computing Network Stage]][[Category:Fully Quantum Computing Network Stage]]
* Resources to perform weak (balanced and unbalanced) quantum coin tossing.
* Resources to perform weak (balanced and unbalanced) quantum coin tossing.
** Authenticated Quantum channel capable of sending a pair of qubits
** Authenticated Quantum channel capable of sending a pair of qubits
Line 36: Line 36:
** Random bit generator for each party
** Random bit generator for each party


==Knowledge Graph==
{{graph}}


==Properties==
==Properties==
Line 43: Line 46:




==Pseudo Code==
==Protocol Description==
[https://github.com/SoftwareQuTech/CQC-Python/blob/master/examples/pythonLib/coinflipLeader/nPartyCoinFlip.py <u>Click here for SimulaQron code</u>]
 
[https://github.com/quantumprotocolzoo/protocols/tree/master/QuantumLeaderElection <u>Click here for Python code</u>]




Line 62: Line 68:


The winner of this is the leader.
The winner of this is the leader.
==Further Information==
<div style='text-align: right;'>''*contributed by Natansh Mathur''</div>

Latest revision as of 15:26, 12 November 2019

This example protocol allows multiple remote participants to select a leader among them randomly. The parties do not trust each other and can use both classical and quantum channels to communicate. It is an extension of the coin tossing problem to multiple players.

Tags: Multi Party Protocols, Quantum Enhanced Classical Functionality, Specific Task

Outline[edit]

When the number of players is an integral power of 2:[edit]

The leader election protocol, in this case, is similar to a knockout tournament. In the first round, every team pairs up with the other team and they perform a balanced coin flip to determine the winner. In subsequent rounds, winners from the previous round team up with another winner and perform balanced coin flip to determine the winners of this round. The winner of the final round is declared the leader.

When the number of players is not an integral power of 2:[edit]

In this case, the leader election protocol uses the 'power of 2' scenario and also recursively calls itself to select the leader. Players continue till the index of the power of 2 which is just less than the total number of players perform leader election in an aforementioned manner to decide a winner. Leader election protocol is then used recursively for the remaining participants to decide another winner. Both the winners now perform an unbalanced quantum coin flipping to decide the final winner which is the leader.

Notation[edit]

  • Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle P_\epsilon} : A weak balanced coin flipping protocol with an arbitrarily small bias of at most Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \epsilon} .
  • Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle P_{q,\epsilon}} : A weak unbalanced coin flipping protocol with an arbitrarily small bias of at most and one of the players having the probability of winning equal to .
  • : Set of players participating in Leader election
  • : Winner of the pair in the round.
  • : number of rounds in a weak balanced coin flipping protocol Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle P_\epsilon} .

Requirements[edit]

  • Network Stage: Fully Quantum Computing Network Stage
  • Resources to perform weak (balanced and unbalanced) quantum coin tossing.
    • Authenticated Quantum channel capable of sending a pair of qubits
    • Authenticated Classical channel to send multiple bits
    • Quantum memory for both parties to store qubits
    • Measurement Devices for each party
    • Random bit generator for each party

Knowledge Graph[edit]

Properties[edit]

  • The protocol uses as a black box the quantum solution to the coin tossing protocol (both balanced and unbalanced).
  • The protocol has a running time of Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle O(N_{\epsilon/4}\log{n}\log{1/\epsilon})} , and rounds of coin flipping.
  • It assumes the setting is sequential so the next coin flipping protocol starts after the previous one ends.


Protocol Description[edit]

Click here for SimulaQron code

Click here for Python code


When Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle n} is an integral power of 2[edit]

For , Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle k} rounds are performed.

  1. The following pairs perform (balanced coin flipping):
    with as the corresponding winners.
  2. The pairs: again perform (balanced coin flipping) to get the corresponding winners .
  3. This goes on for a total of rounds and the winner of the Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle k^{th}} round is declared the leader.

When is not an integral power of 2[edit]

For ,

  1. The following steps are performed simultaneously:
    • Players perform leader election for integral power of 2 number of players among themselves with to get the winner .
    • Players recursively perform leader election for not an integral power of 2 number of players to get the winner .
  2. and perform .

The winner of this is the leader.

Further Information[edit]

*contributed by Natansh Mathur