On Atomicity and Confidentiality Across Blockchains Under Failures
Yuechen Tao, Bo Li, Baochun Li
Abstract
Distributed applications that utilize <italic xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">heterogeneous</i> blockchain systems have the potential to be widely deployed. In such applications, users from different blockchains can transact with one another through <italic xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">cross-chain transactions</i> . There are two essential features of particular relevance for those applications during cross-chain transactions: the <italic xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">atomicity</i> in that either all or none of the blockchains involved confirm a cross-chain transaction, the <italic xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">confidentiality</i> in that a blockchain involved in a cross-chain transaction is only accessible for designated users. Existing cross-chain proposals have largely relied on permissioned blockchains to ensure confidentiality. However, we found that failures could occur when reading or writing information during transaction confirmations across permissioned blockchains, namely read/write (r/w) failures, which can lead to the violation of atomicity. In this paper, we propose a novel mechanism, <italic xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">Unity</i> , to ensure both atomicity and confidentiality of cross-chain transactions under r/w failures by leveraging permissioned blockchains. When failures occur in reading or writing data, <italic xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">Unity</i> classifies the data into two categories based on its status - whether data is the latest version or not, and presents different solutions for atomicity. Specifically, when data is not the latest, we design a four-phase-commit protocol4pc, in which consensus on confirming or aborting a cross-chain transaction can be achieved. If data is the latest when r/w failures occur, we propose a smart contract based solution SSC. We examine the effectiveness of <italic xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">Unity</i> theoretically and through experiments. With a failure probability of 0.7, <italic xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">Unity</i> achieves <inline-formula xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink"><tex-math notation="LaTeX">$98\%$</tex-math></inline-formula> more atomic cross-chain transactions when compared with the state-of-the-art cross-chain platform, Hyperservice.