Consensus and leader election are fundamental problems in distributed systems. Consensus is the problem in which all processes in a distributed computation must agree on some value. Average consensus is a popular form of consensus, where the agreed upon value is the average of the initial values of all the processes. In a typical solution for consensus, each process learns the value of others' to determine the final decision. However, this is undesirable if processes want to keep their values secret from others. With this motivation, we present a solution to privacy-preserving average consensus, where no process can learn the initial value of any other process. Additionally, we augment our approach to provide outlier resistance, where extreme values are not included in the average calculation. Privacy is fully preserved at every stage, including preventing any process from learning the identities of processes that hold outlier values. To our knowledge, this is the first privacy-preserving average consensus algorithm featuring outlier resistance. In the context of leader election, each process votes for the one that it wants to be the leader. The goal is to ensure that the leader is elected in such a way that each vote remains secret and the sum of votes remain secret during the election. Only the final vote tally is available to all processes. This ensures that processes that vote early are not able to influence the votes of other processes. We augment our approach with shallow ranked voting by allowing processes to not only vote for a single process, but to designate a secondary process to vote towards in the event that their primary vote's candidate does not win the election.
翻译:共识与领导者选举是分布式系统中的基础问题。共识问题要求分布式计算中所有进程就某个值达成一致。平均共识是共识的一种常见形式,其约定值为所有进程初始值的平均值。在典型的共识解决方案中,每个进程需了解其他进程的值以确定最终决策。然而,当进程希望向其他进程保密其值时,这种做法是不期望的。基于此动机,我们提出了一种隐私保护平均共识的解决方案,其中任何进程都无法获知其他进程的初始值。此外,我们对该方法进行了增强,使其具备抗离群值特性,即极端值不纳入平均值计算。隐私性在每个阶段均得到完全保护,包括防止任何进程得知持有离群值进程的身份。据我们所知,这是首个兼具抗离群值特性的隐私保护平均共识算法。在领导者选举问题中,每个进程投票给其期望成为领导者的目标。目标是确保领导者选举过程中,每张选票及选票总和保持机密,仅最终投票结果对所有进程可见。这确保了早期投票的进程无法影响其他进程的投票。我们通过引入浅层排名投票进一步扩展了该方法,允许进程不仅可为单个进程投票,还可指定一个次要投票目标,当其首选候选人未当选时自动转投该目标。