Abstract
The Kidney Exchange Problem (KEP) aims at finding an optimal set of exchanges among pairs of patients and their medically incompatible living kidney donors as well as altruistic donors who are not associated with any particular patient but want to donate a kidney to any person in need. Existing platforms that offer the finding of such exchanges for patient-donor pairs and altruistic donors are organized in a centralized fashion and operated by a single platform operator. This makes them susceptible to manipulation and corruption. Recent research has targeted these security issues by proposing decentralized Secure Multi-Party Computation (SMPC) protocols for solving the KEP. However, these protocols fail to meet two important requirements for kidney exchange in practice. First, they do not allow for altruistic donors. While such donors are not legally allowed in all countries, they have been shown to have a positive effect on the number of transplants that can be found. Second, the existing SMPC protocols do not support prioritization, which is used in existing platforms to give priority to certain exchanges or patient-donor pairs, e.g., to patients who are hard to match due to their medical characteristics. In this paper, we introduce a generic gate for implementing prioritization in kidney exchange. We extend two existing SMPC protocols for solving the KEP such that they allow for altruistic donors and prioritization and present one novel SMPC protocol for solving the KEP with altruistic donors and prioritization based on dynamic programming. We prove the security of all protocols and analyze their complexity. We implement all protocols and evaluate their performance for the setting where altruistic donors are legally allowed and for the setting where they are not. Thereby, we determine the performance impact of the inclusion of altruistic donors and obtain those approaches that perform best for each setting.
Introduction
In recent years, kidney disease has risen to the 10th most common cause of death worldwide accounting for about 1.3 million deaths in 2019 [39]. The preferred treatment for kidney disease is transplantation [7]. However, the waiting lists for a kidney transplant from a deceased person are long in most countries (e.g., the waiting list of Eurotransplant contained more than 10 000 patients at the end of 2021 [25]). An alternative to donation through such a waiting list is living kidney donation where a patient finds a friend or relative who is willing to donate one of her kidneys. Even if a patient finds such a person, the donor organ might still not be medically compatible with the patient. Kidney exchange aims at solving this problem by considering multiple such patients and their associated incompatible donors (in the following referred to as patient-donor pairs) and finding constellations such that these can exchange their kidney donors among each other.
The most common form of such exchanges are exchange cycles where the kidney donors are exchanged in a cyclic fashion such that the donor of a pair is compatible with the patient of the succeeding pair in the cycle and thus each patient in the cycle is matched with a compatible donor. In such a cycle it is then guaranteed that the donor of a patient-donor pair only donates her kidney if the corresponding patient of the pair also receives a kidney transplant in return.
In addition to exchange cycles, also so-called exchange chains are possible. These are initiated by an altruistic donor who is not associated with any particular patient and who is willing to donate one of her kidneys without requiring any form of compensation. A chain then continues the same way as an exchange cycle with the exception that the donor of the last pair in the chain either donates to the waiting list or functions as an altruistic donor at a later point in time (also referred to as bridge donor). Since altruistic donations are not legal in many countries, many kidney exchange platforms only consider exchange cycles [10].
Given a set of patient-donor pairs (and altruistic donors), the Kidney Exchange Problem (KEP) is then defined as finding a constellation of exchange cycles (and chains) that is optimal w.r.t. some set of pre-defined criteria [1]. Commonly, the most important criterion is to maximize the number of patients that are matched with a compatible donor [7,10]. Additionally, most countries use some form of prioritization criteria to break ties among multiple maximal solutions or to give preference to certain patient-donor pairs (e.g., pairs containing patients who already wait for a kidney donation for a long time or who are particularly difficult to match) [7,10].
In practice, kidney exchange is realized by central (nationwide) platforms where the hospitals register their respective patient-donor pairs [7,10]. The platform operator then periodically solves the KEP for all patient-donor pairs that are registered at a given point in time. Afterwards, the hospitals are informed about the computed exchanges for their respective patient-donor pairs.
From a security perspective, this centralized approach is highly problematic since the medical data of all patient-donor pairs and altruistic donors is present in plaintext at the central platform. This is particularly severe since it potentially violates the crucial requirement for kidney exchange that all patient-donor pairs are to be treated equally. For example, an attacker who learns the medical data of all patient-donor pairs that are registered with the platform can use this knowledge to adapt the data of a particular patient-donor pair such that it better fits the available donors and patients. Thereby, the attacker can increase the prioritization score for that particular pair, which gives the pair an advantage over other patient-donor pairs. Note that such an attack is difficult to detect since the prioritization score is often computed based on medical data that is unlikely to be collected again after the match computation. Furthermore, the consequences of any accidental or forced data breach are very severe due to the highly sensitive nature of the concerned data. In the context of kidney exchange, such a data breach may also decrease the trust in the platform and thus influence the willingness of potential donors to register with the platform.
Recent research [8,14,16,17] aims to solve these problems by proposing decentralized solutions based on Secure Multi-Party Computation (SMPC). These approaches follow the client-server model [13], i.e., the patient-donor pairs (clients) distribute their private medical data among a set of computing peers (servers), who execute an SMPC protocol among each other to solve the KEP in a distributed fashion. The use of SMPC ensures that the computing peers neither learn the private medical data of the patient-donor pairs nor the computed exchanges, thus mitigating the consequences of data breaches and protecting the privacy of the patient-donor pairs. Additionally, these approaches provide for impartiality in that they ensure that all patient-donor pairs are treated equally. However, the existing approaches still come along with certain disadvantages. In particular, the protocol from [16] only allows for the detection of exchange cycles of size two, i.e., cycles involving only two patient-donor pairs, whereas most existing platforms consider cycles up to size three. The protocol
Comparing these recent theoretical results with the requirements for kidney exchange in practice, there is still a gap in research. In particular, the existing protocols only allow for the detection of exchange cycles whereas in practice there are also countries where exchange chains are allowed [7,10]. Furthermore, most platforms for kidney exchange in practice use some way of prioritization whereas the existing SMPC protocols (except for the approximation protocol from [8]) only allow for the maximization of the overall number of transplants.
Contributions. The goal of this paper is to further close this gap between the requirements of kidney exchange in practice and the properties provided by privacy-preserving solutions to the KEP. The focus lies on privacy-preserving solutions to the KEP that allow for altruistic donors and for prioritization. In particular, this paper comprises the following six main contributions:
We devise a privacy-preserving gate for prioritization. This gate allows for the computation of a prioritization score between the donor of one patient-donor pair (or an altruistic donor) and the patient of another pair. Since the existing platforms consider a wide range of different prioritization criteria, we first categorize the existing criteria according to their implementation in a privacy-preserving setting. Then, we present a generic gate for prioritization that covers all the previously categorized criteria.
We extend the existing SMPC protocol
We extend the existing SMPC protocol
We present one entirely novel SMPC protocol
Note that it is hard to develop an efficient data oblivious SMPC protocol for the KEP since the KEP is NP-complete for cycle size restrictions larger than 2 [1].
We prove the security of all protocols in the semi-honest security model considering an honest majority, i.e., we assume that there is an adversary who is able to corrupt less than half of the computing peers and all corrupted computing peers strictly follow the protocol specification but try to learn as much as possible on the input of the parties that are not corrupted.
We implement all three protocols with prioritization and exchange chains in the SMPC benchmarking framework MP-SPDZ [28] and provide an extensive performance evaluation determining the impact of the inclusion of prioritization and exchange chains on their performance. Note that we achieve considerably faster run times for the protocols
Our evaluations show that the most efficient approach both in terms of run time and network traffic is the protocol
Outline. The remainder of this paper is structured as follows. In Section 2, we introduce the relevant background on SMPC and the algorithmic approaches on which our protocols are based. In Section 3, we present cryptographic building blocks that are used as subroutines in our protocols. In Section 4, we devise a novel gate for prioritization in kidney exchange. In Section 5, we present the three protocols for solving the KEP and explain how they can be extended to altruistic donors. In Section 6, we provide the evaluation of the protocols and in Section 7, we present existing research that is related to our work. In Section 8, we draw a conclusion of our work and identify potential directions for future research.
In this section, we provide the formal background on which our privacy-preserving protocols for solving the Kidney Exchange Problem (KEP) are based.
Graph theory
A directed graph is a graph
Secure multi-party computation
SMPC allows a set of parties
Security definition. When defining security in the context of SMPC it is common to consider the ideal world vs. real world paradigm [27]. In the ideal world setting, all parties send their inputs to a trusted external party. This trusted party then computes the functionality
More formally, we assume the following setup based on the standard definitions for SMPC from [18,27]. We assume that the parties are connected in a peer-to-peer fashion by reliable communication channels, i.e., the authenticity of the data sent over these channels is guaranteed. We consider the semi-honest model where the adversary controls a set of corrupted parties
(Security in the Semi-Honest Model, based on [27]).
Let
Intuitively, Definition 1 states that a protocol π is secure if a simulator
In order to prove the security of a protocol π that calls a finite set of gates
Underlying secret-sharing scheme. As underlying technique for our SMPC protocols we require a
Complexity metrics. We use the two common complexity metrics communication and round complexity. The communication complexity is determined by the overall amount of data that is sent during a protocol execution. The round complexity corresponds to the number of sequential communication steps required by a protocol. Note that steps that can be executed in parallel are counted as a single round.
Setup for privacy-preserving kidney exchange. As common for privacy-preserving kidney exchange [8,14,16], the input peers correspond to the patient-donor pairs or altruistic donors who seek to find exchange partners. They send their private input data to the computing peers using secret sharing. The computing peers execute an SMPC protocol for solving the KEP and provide the patient-donor pairs and altruistic donors with their computed exchange partners. The computing peers can be hosted by large transplant centers, universities, or governmental institutions.
The client-server setup with security in the semi-honest model is commonly considered appropriate for kidney exchange [8,14,16,17] since the computing peers are hosted by institutions that are generally trusted to correctly follow the protocol specification but the collection of a huge amount of sensitive data at a central entity is to be avoided. This level of security significantly mitigates the consequences of a data breach at a computing peer since the shares that are present at a single peer do not reveal any information on the underlying data. Without such knowledge it is also not possible for an attacker to adapt the medical data of a particular patient-donor pair such that the patient is more likely to be matched. Furthermore, the semi-honest security model allows for a much more efficient computation of the exchanges compared to the stronger malicious security model, where the corrupted computing peers may arbitrarily deviate from the protocol specification. Thus, it forms a reasonable trade-off between privacy and performance. Finally, protocols that are secure in the semi-honest model can often be a first step towards protocols that provide for malicious security.
Kidney exchange terminology
In kidney exchange, a set of patient-donor pairs
(Compatibility Graph
).
For a set of patient-donor pairs
One possibility for finding exchanges between the patient-donor pairs is then to search for so-called exchange cycles in the compatibility graph
(Exchange Cycle).
For a set of patient-donor pairs
Exchanges in such a cyclic fashion ensure that the donor of a pair only donates her offered kidney iff the corresponding patient of the pair also receives a compatible kidney transplant in return. In practice, all transplants involved in an exchange cycle have to be executed simultaneously to ensure that a donor cannot retreat after the corresponding patient already received a kidney transplant. Since every single operation on both the donors and the patients requires a considerable amount of medical staff and resources, the maximum size of an exchange cycle is typically restricted to
In addition to cycles, some platforms also consider so-called exchange chains which are initiated by an altruistic donor
(Exchange Chain).
For a set of patient-donor pairs
As for exchange cycles, the weight of an exchange chain is defined as the sum of the weights of its edges. While all transplants in an exchange cycle have to be executed simultaneously, this is not necessarily the case for exchange chains. If the operations in an exchange chain are executed in order, starting at the beginning of a chain, then it is always true that the patient of pair
The goal in kidney exchange is then to find a constellation of exchange cycles (and chains) such that the overall sum of weights of the edges in the constellation is maximized. This problem is commonly referred to as the Kidney Exchange Problem (KEP). The kidney exchange problem is to find a constellation of disjoint exchange cycles (and chains) of maximum weight for a set of patient-donor pairs (Kidney Exchange Problem (with Exchange Chains)).
Integer programming for kidney exchange
The most common methodology for solving the KEP for exchange cycles and chains of bounded length in the non-privacy-preserving setting is Integer Programming [7,10]. An Integer Program (IP) is a formalism to describe an optimization problem. Let
In our protocols, we represent an IP in form of a tableau
with objective value
Cycle formulation. The most efficient known IP formulation for the KEP is the cycle formulation where a constraint is introduced for each possible cycle of length at most λ (and each possible chain of length at most κ) [1].
(Cycle Formulation).
Let
Subset formulation. In the privacy-preserving setting, we have to keep secret which cycles (and chains) actually exist in the compatibility graph. Therefore, we have to consider the set
This is only more efficient in the privacy-preserving case as only there the complete graph
Let
We assume that the set

Example of the relation between the compatibility graph and the corresponding IP and initial tableau for the subset formulation of the KEP. To increase readability, we consider the setting where only exchange cycles are allowed.
Figure 1 shows an example of a compatibility graph for three patient-donor pairs and the corresponding IP and initial tableau for the subset formulation of the KEP.
In this section, we introduce gate functionalities and their implementations which we use as subroutines in the three privacy-preserving protocols for solving the KEP detailed in Section 5.
Basic operations
For the secure comparison of two shared values
Conditional selection is defined as choosing between two values based on a secret bit
Sometimes we require to access or update an entry
Furthermore, we require a gate
We also use a gate
Finally, we require a gate for obliviously shuffling the entries of a vector
We use this implementation as it is part of MP-SPDZ [28], which we use for the implementation of our protocols. We note that there are more efficient shuffling gates for three computing peers that require
We use the gate
Blood type compatibility. Every human has one of four different blood types (i.e., O, A, B, AB) which indicate whether or not the antigens A or B are present. For blood type compatibility, it is required that the antigens of the donor are also present for the patient. This ensures that the patient has not developed antibodies against the antigens of the donor. For example, if the donor has blood type A, the blood type of the patient has to be either A or AB. The gate
HLA compatibility. Every human being has leukocyte antigens (HLA) which are inherited from their parents. For each location on the corresponding chromosome, either one or two such antigens are present. A kidney donor is considered as HLA compatible with a patient if and only if the patient has no antibodies against any HLA of the donor. If this is not the case, then it is likely that the immune system of the patient tries to reject the organ. In our gate
The ideal functionality that computes the compatibility between a patient and a donor based on blood type and HLA compatibility is then defined as follows.
(
– Compatibility Check for Kidney Exchange, based on [17]).
Let all computing peers hold shares of the blood type indicator vector

Gate 1 implements functionality
The correctness of gate
Gate
The proof of Theorem 8 can be found in Appendix C.1.
Complexity analysis. The most expensive operation in the gate
Inclusion of altruistic donors. Altruistic donors do not have to be considered explicitly for this gate. We can just model an altruistic donor as a patient-donor pair where all medical input data of the “patient” is set to
The two protocols
(
– Privacy-Preserving IP Setup for the Subset Formulation).
Let all computing peers hold their respective shares of the secret adjacency matrix

Gate
In order to show the correctness of gate
Gate
The proof of Theorem 9 can be found in Appendix C.2.
Complexity analysis. The outer loop of the gate
Extension for exchange chains. In Section 5.2.4 and Section 5.3.4, we describe how our protocols
The main change that comes along with the inclusion of exchange chains is that there are more possible exchange structures for a single subset
Thus, for
The inclusion of exchange chains increases the communication complexity to
While the main objective of a kidney exchange platform is typically to maximize the overall number of compatible patient-donor pairs that are found, most platforms use a prioritization function at least to break ties if there are multiple optimal solutions. The criteria that are considered for such prioritization and also the influence of the different criteria vary considerably across different platforms and countries [7,10]. In this section, we present our novel gate
Prioritization criteria
Categories of prioritization criteria, their corresponding edge weights, and examples for each category
Categories of prioritization criteria, their corresponding edge weights, and examples for each category
We provide an extensive list of criteria that are considered across different platforms and countries and assign them to categories according to the way in which they can be implemented using SMPC. Table 1 provides an overview of the different categories of prioritization criteria.
Number of compatible pairs. The natural criterion that is considered to be most important by most platforms is to maximize the overall number of patients for which a compatible donor is found [7,10]. This is also the only objective that is considered by the existing SMPC protocols for solving the KEP [14,16,17]. If one considers an unweighted compatibility graph, then solving the KEP automatically maximizes the number of found transplants. However, when introducing weights, we have to ensure that a small number of edges of high weight can never lead to the exclusion of a larger number of edges of smaller weight. This can be achieved by adding a large enough publicly known base weight
Pre-score. The criteria in this category only depend on a patient-donor pair itself and not on its relation to the other pairs. In particular, for each criterion k and the patient of each patient-donor pair
The actual criteria of this type vary considerably across the different existing kidney exchange platforms. Examples are: Waiting time, time on dialysis, pediatric patients, patients or donors with rare blood types, or so-called highly sensitized patients which are particularly difficult to match [3,7]. Also scores that capture the probability of long-term graft survival such as the Estimated Post Transplant Survival (EPTS) score used by the OPTN fall into this category of criteria [34].
Equality criteria. The third category of criteria prioritizes patients and donors who have at least/at most/exactly some pre-defined bound
Each criterion k consists of different properties
Criteria that fall into this category include but are not limited to: Prioritization of pairs from the same region, prioritization of transplants where donor and patient have the same blood type, or HLA-matching scores [3,7]. The latter is a very common criterion that measures the number of HLA that a patient and the potential donor have in common.
Difference criteria. The fourth group of criteria prioritizes patients and donors for which the difference between two input values is smaller/larger/equal to some pre-defined bound
For each criterion k, each donor and each patient has an input value
An example for such a criterion that is used in many countries (e.g., Belgium, Poland, Spain, UK) is to prioritize transplants where donor and patient have an age difference smaller than a certain threshold value (e.g., smaller than 20 years) [3]. A similar criterion is the prioritization of transplants where the two donors of an exchange between two patient-donor pairs are of similar age [3]. There are also studies that suggest that the difference in the weight of patient and donor impacts the graft survival rate [33].
Travel distance. Some countries such as Spain [10] aim at minimizing the travel distance between hospital of the donor and hospital of the patient for logistic reasons. A gate that minimizes the travel distance between donor and patient can be implemented efficiently by specifying a public matrix
Since the criteria that are considered by the different platforms vary considerably, we present the prioritization gate and the ideal functionality in a generic and abstract fashion. In particular, we state how each category of criteria can be implemented. Depending on which criteria are then actually considered, one can add the appropriate number of iterations for each category.
(
– Privacy-Preserving Prioritization for the KEP).
Let all computing peers hold their respective shares of the input quotes

Gate 3 contains the specification of gate
The correctness of gate
Gate
The complexities of the gate
Privacy-preserving protocols for solving the kidney exchange problem
In this section, we present three different privacy-preserving protocols for solving the KEP. The protocol
Protocol
In this section, we present the protocol
Approach and ideal functionality
The idea of the protocol
We encode an exchange constellation in form of a so-called exchange constellation graph
(
: Exchange Constellation Graph [17]).
An exchange constellation graph
An exchange constellation graph encodes one possible constellation of exchanges which could exist among the patient-donor pairs. Compared to the compatibility graph, there are two major differences. First, an exchange constellation graph is independent of a specific set of patient-donor pairs whereas the compatibility graph is computed based on the input of a particular set of pairs. Second, an exchange constellation graph only contains disjoint cycles whereas the compatibility graph may also contain cycles which are not simultaneously executable. The set of all exchange constellation graphs for a set of patient-donor pairs is denoted by
For each exchange constellation graph, the protocol
(Neighborhood Constellation [17]).
Given an exchange constellation graph
The set of all neighborhood constellations of a node i and a set of exchange constellation graphs
The corresponding ideal functionality
(
– Solving the KEP with Random Selection, based on [17]).
Let all computing peers hold shares of the secret quotes
Protocol specification
Protocol 1 contains the specification of the protocol
The pairs then use secret sharing to provide the compute peers with shares of their private input quote

Construction phase. The computing peers construct the secret compatibility graph encoded by the secret adjacency matrix
Evaluation phase. The computing peers evaluate for each exchange constellation graph
Shuffling phase. The two vectors
Selection phase. The computing peers iterate over all exchange constellation graphs and obliviously choose one of maximum weight. In each iteration, the k-th entry of the vector
Output reconstruction. After the protocol execution, the computing peers provide the patient-donor pairs with their shares of
Correctness. In order to show the correctness of protocol
In the second case, there is at least one
Observe that after the evaluation phase,
Protocol
We sketch a simulator
Recall that in order to simulate the call to a gate, the simulator
The computation of the product over the edges in the adjacency matrix
At the beginning of the shuffling phase,
In order to simulate the call to the comparison gate at the beginning of the selection phase,
Since all gates that are called during the execution of
The two dominant phases of protocol
Extension for exchange chains
Protocol
Construction phase. We do not have to apply any direct changes to the construction phase. However, the medical input data of the “patient” of an altruistic donor has to be set to 0. Thereby, we obtain an adjacency matrix A where for an altruistic donor
Size of the set
including all exchange constellations for cycles up to size 3 compared to the size of the set
including all exchange constellations for cycles up to size 3 and for chains of unbounded size
Size of the set
Evaluation phase. The inclusion of exchange chains has a major impact on the set of all exchange constellation graphs
Besides the number of iterations, also the steps that have to be performed in each iteration change slightly. Recall that the vector H states for each
Shuffling phase and selection phase. These phases stay exactly the same as for the protocol without exchange chains except for the fact that the set of exchange constellation graphs is now considerably larger. Since the iterations of the selection phase cannot be executed in parallel, this has a significant impact on the runtime of this phase. We show this impact in the evaluation of our protocols (cf. Section 6).
Security and complexity. We omit a security proof for the protocol
In this section, we present the protocol
Approach and ideal functionality
The protocol
The main idea of the Branch-and-Bound algorithm is to create a tree of subproblems which are repeatedly solved using an LP solver. A node in the tree contains an upper bound on the solutions in that branch and the currently best known integral solution (called the incumbent

The performance of the Branch-and-Bound algorithm relies on the repeated pruning of branches in the tree of subproblems that cannot further improve the solution
Functionality 5 contains the definition of the ideal functionality implemented by protocol
Let all computing peers hold their respective shares of the secret quotes
Protocol specification
Protocol 2 contains the specification of the protocol
Construction phase. As in the protocol
Setup phase. We call the gate

Optimization phase. In each iteration of this phase, we choose one subproblem P from the list L until L is empty. Then, we determine if we can prune the branch emanating from the current subproblem P. To this end, we check whether the upper bound
Update phase. In this phase, we use the computed solution
Branching phase. Since we do not know whether the incumbent was updated in the update phase, we always have to create two new subproblems. We use the constraint indicator vector
Resolution phase. After the optimization phase,
Correctness. In order to show the correctness of protocol
For the input, we thus have to show that
It remains to show that the resolution phase correctly transforms the set of chosen subsets encoded by
Thus, the protocol
Protocol
We sketch a simulator
The construction of the adjacency matrix
In order to simulate the call to the gate
Since the simulator knows the structure of the Branch-and-Bound tree
All steps of the update phase and the branching phase are simulated by either executing the computations specified in Protocol 2 on the previously simulated values or by calling the simulators of the called gates, using the previously simulated values as input and random shares from
In order to simulate the resolution phase,
Since all gates that are called during the execution of
The most costly operation in the protocol
Extension for exchange chains
Similar to the protocol
Construction phase. As for protocol
Setup phase. For the gate
Optimization phase. This phase stays exactly the same as for the protocol
Resolution phase. If the protocol also considers exchange chains, then a row in the secret mapping
Security and complexity. Since the only changes that are applied to the protocol
Protocol
In this section, we present our novel SMPC protocol
Approach and ideal functionality
The basic idea of our protocol
The goal of the protocol
For all
The first equation follows from the definition of F.
For the second equation, let us first consider the case where
For the case
For the other direction, assume some index set I is feasible for
Theorem 15 states that
Since the dynamic programming approach builds the set of optimal exchange cycles in an incremental fashion and only updates the currently known best solution if a new solution is strictly better, it prioritizes small cycles compared to larger cycles. Therefore, the ideal functionality for this approach has to be defined such that it provides for unbiasedness in the sense that given two patient-donor pairs
Functionality 6 contains the definition of the ideal functionality
Let all computing peers hold the respective shares of the secret quotes
Protocol specification
Protocol 3 contains the specification of our protocol
Construction phase. This phase is the same as for protocol

Setup phase. The main purpose of the setup phase is to initialize all data structures that are required for solving the KEP based on dynamic programming. First, the gate
Optimization phase. The general idea of this phase is to repeatedly construct an optimal set of exchange cycles by solving the KEP for all possible sets
Resolution phase. This phase is the same as for the protocol
Correctness. In order to show the correctness of protocol
Since protocol
Thus, protocol
Protocol
We sketch a simulator
The construction phase is simulated as for protocol
At the beginning of the setup phase,
In order to simulate the first steps of the optimization phase (Steps 21–24),
The resolution phase is simulated as for protocol
Since all gates that are called during the execution of
Communication and round complexity of protocol
Extension for exchange chains
Since all changes that have to be applied to the protocol
Evaluation
We evaluate run time and network traffic for all three protocols
Criteria for the prioritization function that is used throughout the evaluation. The criteria are derived from the information on the patient-donor pairs that is included in our real-world data set from UNOS
Criteria for the prioritization function that is used throughout the evaluation. The criteria are derived from the information on the patient-donor pairs that is included in our real-world data set from UNOS
The CPRA states the probability that any donor is compatible with the patient based on the distribution of HLA among the society [34].
We implemented our protocols in the SMPC benchmarking framework MP-SPDZ [28] version 0.3.5.4
Network setup. We model each computing peer as a separate container on a single server with an AMD EPYC 7702P 64-core processor. Each container runs Ubuntu 20.04 LTS, has a single core, and 32 GB RAM. The input peers are modeled by a fourth container with the same specifications. In order to provide for a realistic network setup, we follow Breuer et al. [14,16] and consider a latency of 1ms and a bandwidth of 1Gbps between the computing peers.
Data set. We use a data set from the United Network for Organ Sharing (UNOS) for the input of the patient-donor pairs.5
The data reported here have been supplied by the United Network for Organ Sharing as the contractor for the Organ Procurement and Transplantation Network. The interpretation and reporting of these data are the responsibility of the author(s) and in no way should be seen as an official policy of or interpretation by the OPTN or the U.S. Government.
Prioritization function. While in Section 4 we provide a general gate for prioritization, in our evaluations we have to decide on a specific prioritization function to be implemented. This is not trivial as different platforms for kidney exchange consider very different criteria for prioritization [7,10]. In particular, there is not one prioritization function that can be considered supreme to all others. Therefore, we decide to use a prioritization function that considers all criteria that can be derived from our real-world data set from UNOS. This has the advantage that we use realistic values for the input of the patient-donor pairs and altruists. Table 3 shows the different criteria that we derive from our real-world data set together with their corresponding categories as defined in Section 4.1.
Parameters and their values for the evaluation of the protocols
Evaluation parameters. We evaluate all protocols for increasing numbers of patient-donor pairs for the setting with exchange cycles only and also their extended versions that allow for exchange cycles and chains. We use a maximum cycle size
With respect to the number of repetitions per measurement, we distinguish between the two protocols
For each measurement, we determine the run time and the induced network traffic. A measurement starts when the computing peers have received the input of all participating patient-donor pairs and it ends when the computing peers have sent the output back to the pairs. The network traffic is defined as the overall data sent by the three computing peers during the protocol execution. For the two protocols
Figure 2 contains plots for run times and network traffic for the protocols
We observe that the protocol
While protocol

Run times and network traffic for the three protocols
In contrast to the brute force nature of these two protocols, the protocol
Furthermore, we observe that the plot for Protocol

Run time consumption of the different phases of the protocols
In Section 4, we introduced our generic prioritization gate which we further specified for our evaluation in Table 3. We now evaluate the impact of the inclusion of prioritization on the run time performance of each of the three protocols.
Figure 3 shows the run time consumption of the different phases of each protocol. In order to show the impact of prioritization, we divide the first phase of all protocols into a construction phase (computation of the adjacency matrix A) and a prioritization phase (computation of the prioritization matrix W). For the protocol
However, note that, in contrast to the protocols

Run times for the protocols
Figure 4 shows the run times for the protocols without chains, with maximum chain length
Discussion
Overall, our evaluations show that the run time of all three protocols increases significantly for increasing numbers of patient-donor pairs. While the protocol
Related work
There are two main areas of research that are related to our work. First, the different existing non-privacy-preserving platforms for kidney exchange and their way of modeling kidney exchange. Second, other privacy-preserving approaches in the context of kidney exchange.
Conventional kidney exchange
The goal of this work is to develop SMPC protocols for kidney exchange that achieve the same properties as the algorithms deployed by existing non-privacy-preserving kidney exchange platforms. There are three main aspects in which the existing platforms differ among each other: The algorithmic approaches, the restriction on the length of cycles and chains, and the criteria that are used for prioritization.
Algorithmic approaches. Those platforms that only allow for cycles of size 2, typically use Edmonds’ algorithm [24] or some variation of it [7,10]. However, since we consider the more general case where the cycle size is restricted to
Note that the SMPC protocol from [16] already provides an efficient privacy-preserving solution for the special case of exchange cycles of size 2.
If also longer cycles and chains are allowed, the state-of-the-art approach is to solve an IP formulation of the KEP [7,10]. There are two main IP formulations of the KEP in conventional platforms, i.e., the edge formulation and the cycle formulation [1]. The former introduces one variable for each edge and the latter one variable for each cycle or chain in the compatibility graph. It has been shown that the cycle formulation in general requires less constraints than the edge formulation when restricting the maximum cycle size or chain length to a value larger or equal to 3 [1]. In order to solve the IP formulations of the KEP a variety of optimization methods and adapted formulations have been proposed (e.g., [2,23,26,31]). However, there is not a single method that is followed by all platforms. Instead, each platform typically uses its own method for solving the KEP targeted to its particular characteristics such as the size of the population that it serves or the particular prioritization criteria that are considered [7,10]. Our protocol
Restrictions on cycle and chain lengths. Most platforms specify an upper bound of 3 on the maximum allowed length of an exchange cycle. This includes the national platforms in the Netherlands, Spain, Portugal, the UK, Australia, and France as well as the Alliance for Paired Kidney Donation (APKD), the National Kidney Registry (NKR), and UNOS in the United States [7,10]. In contrast to this, exchange chains are not considered at all in many platforms as the corresponding countries do not allow for the altruistic donation of kidneys. This includes France, Belgium, Austria, Sweden, Switzerland, Poland, and Greece [7]. Most platforms that do consider exchange chains usually restrict their length to 3 (e.g., United Kingdom) or 4 (e.g., the Netherlands, UNOS) [7,10].
Since all our protocols allow for the arbitrary restriction of the maximum cycle and chain lengths, they can be used for any of these settings. However, our evaluations show that the run times of all three protocols become infeasible for large numbers of patient-donor pairs. Therefore, our protocols can only directly be applied in countries where the number of patient-donor pairs is not too large. A possible solution for countries with larger numbers of pairs is to split the pairs into multiple small pools for which our protocols still exhibit feasible run times.
Criteria for prioritization. Most platforms consider the maximization of the overall number of found transplants as the most important criterion. This means that they first maximize the size of the solution and then use the other criteria only to break ties. Countries whose nationwide platforms follow this pattern include Belgium, Czech Republic, Netherlands, Poland, Portugal, Spain, and Sweden [10]. Further prioritization criteria that are considered by many platforms are so-called hard-to-match patients (i.e., patients who are less likely to be included in a match due to their medical characteristics), patients who are already on dialysis for a long time, or transplants between the same blood group [7,10]. However, the criteria that are considered and also their weight differ considerably among the existing platforms.
Therefore, we devise a generic gate for prioritization that can be used to realize a wide range of different prioritization functions (cf. Section 4). In particular, we specify different categories for the criteria and show how these can be implemented using SMPC. This makes our gate flexible such that each platform that wants to use our protocols can decide individually on its own prioritization function.
To the best of our knowledge, there are only two lines of work in the area of privacy-preserving kidney exchange, i.e., the SMPC protocols for solving the KEP by Breuer et al. [14,16,17] and the approximation protocol by Birka et al. [8].
Breuer et al. [16] present an SMPC protocol for the special case of crossover exchange (i.e., exchange cycles of size 2) based on a privacy-preserving implementation of a maximum matching algorithm. They also consider the setup where patient-donor pairs distribute their medical input among a set of computing peers who then execute the actual SMPC protocol. The major difference to the three protocols presented in this paper is that their protocol is only able to detect cycles of size 2 whereas the three presented protocols can be used for any restriction of the maximum cycle size. Besides, the protocols presented in this work are also capable of prioritizing certain patient-donor pairs and detecting exchange chains.
In the same line of work, Breuer et al. [14,17] present the two SMPC protocols
Birka et al. [8] present another SMPC protocol in the context of kidney exchange. In contrast to the existing privacy-preserving protocols for kidney exchange [14,16,17] and also the algorithms used by existing non-privacy-preserving kidney exchange platforms [7,10], the protocol proposed in [8] does not compute an exact solution to the KEP. Instead, it computes some (non-optimal) set of possible exchange cycles for a single fixed cycle size λ. This set of cycles only forms an approximate solution to the KEP as it does not maximize the number of cycles for the fixed λ and it also does not consider all possible cycles of size less than λ. Thus, it solves a much easier problem which in comparison to the KEP is not NP-complete. While the run time of the protocol is evaluated in [8], the quality of the evaluation is not evaluated. However, the quality of the solution is of utmost importance for the use case of kidney exchange where any possible exchange that is not found may have severe consequences for the corresponding patients. This is further stressed by the fact that the maximization of the number of found transplants is the most important prioritization criterion in almost all existing platforms [10]. Besides this, the protocol from [8] is not data oblivious, i.e., it reveals the number of exchange cycles that exist in the otherwise private compatibility graph. It also does not allow for the detection of exchange chains which makes it unsuitable for countries where such chains are allowed. While the protocol from [8] does use prioritization, it only shows how some of the prioritization criteria that are considered by existing kidney exchange platforms could be implemented in a privacy-preserving fashion. In contrast to this, we specify different categories of criteria which cover the wide range of criteria that are considered by existing platforms. We then provide a generic prioritization gate that implements the different criteria and thus allows for the inclusion of any prioritization criteria. Thereby, we maximize the flexibility when it comes to deciding which criteria shall be included for prioritization and how they shall be weighted against each other.
Conclusion and future work
We have extended the only two existing SMPC protocols [14,17] for (optimally) solving the KEP for exchange cycles of size 3 or larger such that they support the entire functionality offered by current kidney exchange platforms. In particular, we specified how prioritization and exchange chains can be integrated into these privacy-preserving solutions. We also presented one novel protocol that solves the KEP with prioritization for cycles and chains. We have shown that our novel protocol outperforms the existing brute force approach. The best performance is achieved by the approach based on privacy-preserving integer programming which, however, is not entirely data oblivious in contrast to the other two protocols. The main results of our evaluation are that the impact of prioritization on the performance of the two data oblivious protocols is small except for small numbers of patient-donor pairs and that the inclusion of chains induces a comparatively huge performance impact for chains of size 4 or larger.
While our protocols achieve all properties that are required by existing platforms for kidney exchange, their run time becomes infeasible if too many patient-donor pairs are involved. Thus, an interesting direction for future work is the development of privacy-preserving solutions for platforms with large numbers of registered patient-donor pairs. A further potential direction for future research is to evaluate the performance of our SMPC protocols in a dynamic setting where pairs arrive and leave over time.
Source code
The MP-SPDZ source code of our protocols
While we cannot publish the inputs from our real-world data set, this data can be requested from UNOS by anyone who is interested.
Footnotes
Acknowledgments
This work was funded by the Deutsche Forschungsgemeinschaft (DFG, German Resarch Foundation) – project number (419340256) and NSF grant CCF-1646999. Any opinion, findings, and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation.
Additional evaluation results
In this section, we present the values for run time and network traffic for all three protocols for exchange cycles only and for exchange chains of length 3 and 4.
Table 5 contains the results for exchange cycles only with maximum cycle size
Table 6 contains the results for the protocols with exchange cycles and chains of length 3 and 4 corresponding to the plots in Fig. 4. Overall, the results show that the observations for the comparison between the protocols for cycles only also apply to the setting with cycles and chains. In particular, the protocol
Protocols for exchange chains
In this section, we provide the detailed specifications of the gates and protocols that have to be modified significantly when considering exchange chains in addition to exchange cycles.
