This paper was converted on www.awesomepapers.org from LaTeX by an anonymous user.
Want to know more? Visit the Converter page.

A Distributed Scalable Cross-chain State Channel Scheme Based on Recursive State Synchronization

Xinyu Liang, Ruiying Du, Jing Chen, Yu Zhang, Meng Jia, Shuangxi Cao, Yufeng Wei, Shixiong Yao This research of Wuhan University was supported in part by the open project of Satellite Internet Key Laboratory in 2022 (Project 6: Research on Distributed Trusted Communication Networking Technology of Blockchain for Satellite Internet). (Corresponding author: Ruiying Du)Xinyu Liang, Ruiying Du, Jing Chen and Meng Jia are with the School of Cyber Science and Engineering, Wuhan University, Wuhan 430072, China (e-mail: [email protected]; [email protected]; [email protected]; [email protected])Yu Zhang is with the Beijing Infosec Technologies Co., Ltd, Beijing 100089, China (e-mail: [email protected])Shuangxi Cao and Yufeng Wei are with the China Satellite Network Innovation Co., Ltd, Beijing 100000, China (e-mail: [email protected]; [email protected])Shixiong Yao is with the School of Computer Science, Central China Normal University, Wuhan 430079, China (e-mail: [email protected])
Abstract

As cross-chain technology continues to advance, the scale of cross-chain transactions is experiencing significant expansion. To improve scalability, researchers have turned to the study of cross-chain state channels. However, most of the existing schemes rely on trusted parties to support channel operations. To address this issue, we present Interpipe: a distributed cross-chain state channel scheme. Specifically, we propose a real-time cross-chain synchronization scheme to ensure consistent operations between two blockchains to a cross-chain state channel. Moreover, we propose a batch transaction proof scheme based on recursive SNARK to meet the cross-chain verification needs of large-scale users. Based on the above designs, Interpipe offers protocols for opening, updating, closing, and disputing operations to cross-chain state channels. Security analysis shows that Interpipe has consistency and resistance, and experimental results demonstrate that a cross-chain state channel can be nearly as efficient as an existing intra-chain state channel.

Index Terms:
Blockchain, Cross-chain Technology, State Channel

I Introduction

Blockchain [1] offers a secure and transparent way to record and verify transactions without the need for a central authority. In recent years, distributed trust systems centered around blockchains have been forming at an unprecedented pace. The application areas [2] of blockchain have expanded from the traditional cryptocurrency domain [1] [3] to various fields such as healthcare [4], supply chain [5], and cloud service [6]. However, while enriching the blockchain ecosystem, these blockchains are isolated from each other, hindering the flow of information and value. To solve the isolation problem, cross-chain technology [7] enables different blockchain networks to communicate and interact with each other, which is invaluable for connecting the decentralized Web 3.0.

The existing cross-chain schemes can be classified into two categories, which are non-relay-based scheme and relay-based scheme. The non-relay-based scheme appeared in the early stage of cross-chain technology. It relies on external components to achieve cross-chain operations, such as decentralized exchanges [8] based on notaries, and atomic cross-chain swaps [9] based on hashed time-lock contract [10]. However, non-relay-based schemes do not have the transfer of state information between blockchains, therefore limiting their functionality to relatively simple cross-chain operations. In a relay-based scheme [11] [12] [13] [14] [15] [16] [17], blockchains transfer their state information to each other by using a cluster of relay nodes. Based on the state information, a party of a blockchain can directly verify the transactions in another blockchain to support more complex cross-chain operations, leading to the emergence of cross-chain platforms such as Polkadot [15] and Cosmos [16]. With the number of users on the platform increasing, the daily cross-chain transactions have extended to a considerable scale, which will eventually exceed the blockchain throughput limit [18], resulting in a scalability issue.

In previous intra-chain scenarios, the scalability issue can be solved by state channel [19] [20] [21] [22] [23] [24] [25] [26] [27]. In the most recent years, concerning the idea of state channel, researchers have begun to study the potential of cross-chain state channel between two blockchains, and move most cross-chain transactions into the channel for executions to share the blockchain throughput pressure. As far as we know, there are currently two papers [28] [29] that provide detailed designs. Specifically, Jia et al. propose cross-chain virtual payment channel [28] to achieve off-chain interactions between Ethereum and Bitcoin. Guo et al. propose Cross-Channel [29] to support cross-chain operations in both synchronous and asynchronous networks. However, these schemes rely on trusted parties to support channel operations, which are vulnerable in a distributed environment. To achieve a distributed cross-chain state channel, we are still facing two critical challenges.

  1. 1.

    Consistent Operation: Two blockchains must synchronize their state information to ensure consistent operations within a cross-chain state channel. However, in most existing schemes, cross-chain synchronizations are non-real-time, leaving room for third parties or intermediaries to arbitrarily delay or interrupt the synchronization process. This can lead to situations where two blockchains have different operations within one cross-chain state channel, posing a security threat.

  2. 2.

    Scalable Verification: Operations within cross-chain state channels require blockchain nodes to efficiently verify transactions on another blockchain. However, most of the existing schemes focus on verifying specific individual transactions. When the scale of the transactions becomes large, the cross-chain verifications will incur significant costs, which cannot satisfy the growing demands of users.

In this paper, we present Interpipe: a distributed cross-chain state channel scheme. To ensure consistent operations, we introduce a real-time cross-chain synchronization scheme. Specifically, our approach involves the adoption of a state pulling strategy to retrieve the latest state from one blockchain and generate the corresponding state proof to be recorded in another blockchain. This process operates recursively in the background as the blockchain expands, a method we refer to as recursive state synchronization. As a result, two blockchains can synchronize their real-time state proofs with each other. Based on state synchronization, we achieve transaction synchronization. It enables the recording of one transaction ctct into two blockchains, while maintaining their consistency based on the real-time state proofs of each other. In the subsequent discussion, ctct is referred to as a cross-chain transaction. Subsequently, cross-chain transactions can be published on both blockchains to facilitate the operations of opening, updating, closing, and disputing within a cross-chain state channel.

To facilitate scalable verification, we propose a batch transaction proof scheme based on recursive SNARK. Specifically, within the system of blockchain 𝐏i\mathbf{P}_{i}, a prover aggregates every cross-chain transaction in 𝐏i\mathbf{P}_{i} into a one-way accumulator and binds this accumulator with the current state proof of 𝐏i\mathbf{P}_{i} using zk-SNARK. Notably, we leverage the recursively generated data structure of the blockchain to implement recursive SNARK, thereby reducing the computational cost of generating the state proof. On the other hand, within the blockchain system 𝐏j\mathbf{P}_{j}, a verifier first verifies the correctness of the accumulator based on the state proof of 𝐏i\mathbf{P}_{i}. Subsequently, each cross-chain transaction in 𝐏i\mathbf{P}_{i} can be efficiently verified based on the accumulator. Therefore, the batch proof system caters to the verification needs of any cross-chain transaction, meeting the large-scale requirements of users.

In general, we have the following contributions.

  1. 1.

    Interpipe represents the first distributed cross-chain state channel scheme. To the best of our knowledge, existing cross-chain state channel schemes rely on trusted parties to support channel operations, which introduces security vulnerabilities.

  2. 2.

    To achieve consistent operations, we propose a real-time cross-chain synchronization scheme. This enables us to record one cross-chain transaction into two blockchains and ensure their consistency. Subsequently, we carry out operations of opening, updating, closing, and disputing within a cross-chain state channel.

  3. 3.

    To achieve scalable verification, we propose a batch transaction proof scheme based on recursive SNARK. This approach allows a verifier within a blockchain system to efficiently verify any cross-chain transaction in another blockchain.

  4. 4.

    We conduct a security analysis of Interpipe. Additionally, we implement a proof-of-concept prototype and evaluate the performance of Interpipe.

This paper is organized as follows. In Section II, we review the existing works related to cross-chain scheme, state channel, and transaction verification. We describe the building blocks of our scheme in Section III, and give a description about the system model, threat model, and design goals in Section IV. We illustrate the batch transaction proof in Section V, and describe the details of Interpipe in Section VI. We analyze the security properties of our scheme in Section VII, and describe the implementation of our prototype in Section VIII. Finally, we conclude in Section IX.

II Related Work

II-A Cross-chain Scheme

As illustrated in Fig. 1, the existing cross-chain schemes can be classified into two categories: non-relay-based schemes and relay-based schemes. In a non-relay-based scheme, two blockchains do not transfer their state information to each other but rely on external components to achieve cross-chain operations. For example, decentralized exchanges [8] use a notary committee as a third party to exchange users’ tokens in one blockchain for tokens in another blockchain. Moreover, atomic cross-chain swaps [9] are achieved by using hashed time-lock contract [10]. However, as a non-relay-based scheme does not transfer blockchain state information, the scheme can only support simple cross-chain operations with a low security guarantee.

In a relay-based scheme, two blockchains transfer their state information to each other by using a cluster of relay nodes. The relay-based scheme was first illustrated by Back et al. [11] in 2014. BTC Relay [12] is a representative implementation. It sends the Bitcoin block headers to the Ethereum smart contract, achieving cross-chain verification of Bitcoin transactions. Based on BTC Relay, Alexei et al. [13] propose XClaim. It achieves trustless cross-chain exchanges using cryptocurrency-backed assets and employs collateralization and punishments to enforce the correct behavior of participants. To further improve efficiency, Xie et al. [14] propose zkBridge. It introduces zk-SNARK to generate the state proof of blockchain. By this act, the state information can be compressed into a small proof to be transferred between blockchains, reducing the overhead of transmission and storage.

The early relay-based schemes mainly focus on the interaction between two blockchains, which is also called one-to-one framework. If a blockchain intends to interact with nn blockchains, it has to establish nn cross-chain connections, which is inefficient. To solve this problem, the relay nodes cluster begins to establish connections with multiple blockchains, called parachains (parallel blockchains). Besides, the relay nodes maintain a blockchain, called relay chain, by themselves to record the state information from every parachain. At the same time, relay chain is published to every parachain system. Subsequently, a parachain can obtain the states of other parachains by only accessing relay chain. Based on this relay-chain-parachain framework, a parachain only needs to establish one cross-chain connection with relay chain to interact with nn parachains that also connect with relay chain, to improve efficiency.

The existing cross-chain platforms such as Polkadot [15] and Cosmos [16] are constructed following the relay-chain-parachain framework. As mentioned in Section I, these platforms are required to support the cross-chain needs of large-scale users with numerous cross-chain transactions per day. However, in previous cross-chain platforms, the cross-chain synchronizations between blockchains are non-real-time. It results that a blockchain cannot learn the latest states of another blockchain on the platform within a certain time limit, as the blockchain features a dynamically growing data structure with continuously updating states. To solve the problem, Liang et al. [17] propose a cross-chain state pulling scheme, called XPull. The relay nodes cluster will periodically pull the latest state information from parachains, and forward the state information to other parachain systems, which achieves real-time state transfer to ensure timeliness.

Refer to caption
Figure 1: Categories of cross-chain schemes

II-B State Channel

In 2016, Joseph et al. proposed payment channel [19] to improve the scalability of Bitcoin. In the following works, the payment channel is beginning to develop in two directions, as shown in Fig. 2. The first direction is payment channel network [19], noted PCN. It enables the delivery of assets between two users U1U_{1} and UnU_{n} by using a path of payment channels in PCN. In the following works, researchers have further improvements to payment channel network from various perspectives. For example, Giulio et al. [20] propose Fulgor to ensure privacy by using multi-hop hashed time-lock contract. Christoph et al. [21] propose the protocol AMCU for atomic multi-channel updates by jointly creating a multiple-input-multiple-output (MIMO) transaction. Lukas et al. [22] further propose Thora to refine atomicity, in which Thora is compatible with a number of cryptocurrencies having arbitrary payment channel topologies. Lukas et al. [23] propose Sleepy Channel, which does not require either of the channel users to be persistently online. Papadis et al. [24] propose single-hop scheduling (SHS), which provides a decision-making scheme for the users in payment channel network to maximize channel throughput.

The second direction is virtual payment channel [25]. Based on the current two channels, noted as (U1,U2)(U_{1},U_{2}) and (U2,U3)(U_{2},U_{3}), the users U1U_{1} and U3U_{3} can establish a virtual payment channel (U1,U3)(U_{1},U_{3}) to have direct interaction. Next, virtual payment channel technology has derived the design of multi-party virtual channel (MPVC) [26]. It means that more than two users can interact within a channel, supporting more complex off-chain operations. Furthermore, Lukas et al. propose bitcoin-compatible virtual channel (BCVC) [27] to improve the compatibility. In the most recent work, Jia et al. propose a scheme (CCVPC) [28] to achieve cross-chain virtual payment channel (U1,U3)(U_{1},U_{3}), based on (U1,U2)(U_{1},U_{2}) and (U2,U3)(U_{2},U_{3}) in different blockchain systems. However, this design cannot resist the conspiracy attack of U1U_{1}, U2U_{2}, and U3U_{3}, posing a security threat.

Moreover, with the extension of blockchain application scenarios from cryptocurrencies to other fields, the operations of transferring tokens within a channel have been generalized into a channel’s state change [30], in which the previous “payment channel” has evolved into “state channel”. Nowadays, state channels have been applied in various fields, such as log audit [31], data sharing [32], and video streaming [33].

Refer to caption
Figure 2: Categories of payment channel

II-C Transaction Verification

The transaction verification schemes of blockchain can be classified into two categories. The first category is based on the well-known Merkle tree [34], applied by Bitcoin. Subsequently, researchers improve the Merkle tree and propose Merkle Patricia tree, applied by Ethereum [3]. It introduces prefix tree to enhance the efficiency of data storage and retrieval.

The second category is based on one-way accumulator. In 1993, Benaloh et al. [35] first constructed the accumulator based on the one-way hash function which satisfies a quasi-commutative property. An accumulator allows a prover to hash the transactions in a blockchain into one short value, which supports efficient cross-chain transfer. Niko et al. [36] further generalize the definition of accumulators and construct a collision-free subtype. Jan et al. [37] propose dynamic accumulator that allows a prover to dynamically add and delete an element in the accumulator. In recent works, Boneh et al. [38] propose batching techniques for cryptographic accumulators, which achieve membership proof and non-membership proof of transactions in blockchain. As the accumulators are well compatible with zk-SNARK, the existing anonymous cryptocurrency schemes, such as Zcash [39] [40], adopt accumulators for transaction retrieval.

III Preliminary

III-A Notation

To facilitate the understanding, we summarize the main notations in this paper in TABLE I.

TABLE I: Notations
Notation Meaning
𝐑\mathbf{R} relay chain
𝐏i\mathbf{P}_{i} ii-th parachain
nn number of parachains on a cross-chain platform
NR\mathrm{N}^{R} set of nodes which maintain relay chain
NiP\mathrm{N}^{P}_{i} set of nodes which maintain the ii-th parachain
NiR\mathrm{N}^{R\sim}_{i} subset of NR\mathrm{N}^{R} to interact with NiP\mathrm{N}^{P}_{i}
πi\pi^{i} zero knowledge proof of the state of 𝐏i\mathbf{P}_{i}
AiA^{i} accumulator for every cross-chain transaction in 𝐏i\mathbf{P}_{i}
ctct cross-chain transaction
wct,iw^{ct,i} membership witness of ctct in 𝐏i\mathbf{P}_{i}

III-B Cross-chain State Transfer

The relay-chain-parachain framework is widely used in cross-chain platforms [15] [16] to meet the cross-chain needs of multiple blockchains.

There are nn parachains {𝐏1,,𝐏n}\{\mathbf{P}_{1},\dots,\mathbf{P}_{n}\} and one relay chain 𝐑\mathbf{R} in the framework. Each parachain 𝐏i\mathbf{P}_{i} (i[n])(i\in[n]) is maintained by a set of parachain nodes NiP\mathrm{N}^{P}_{i} and the relay chain 𝐑\mathbf{R} is maintained by a set of relay nodes NR\mathrm{N}^{R}. Moreover, NR\mathrm{N}^{R} are divided into nn relay node groups {N1R,,NnR}\{\mathrm{N}^{R\sim}_{1},\dots,\mathrm{N}^{R\sim}_{n}\} and {i,j}{1,,n}ij,NiRNjR=\forall\{i,j\}\subseteq\{1,\dots,n\}\wedge i\neq j,\mathrm{N}^{R\sim}_{i}\cap\mathrm{N}^{R\sim}_{j}=\emptyset. The relay node group NiR\mathrm{N}^{R\sim}_{i} establish network connections with NiP\mathrm{N}^{P}_{i} to start the cross-chain state transfer, which includes two processes of state reception and state forwarding.

In the state reception process, the relay node groups NiR\mathrm{N}^{R\sim}_{i} (i[n])(i\in[n]) receive the state information of 𝐏i\mathbf{P}_{i} from NiP\mathrm{N}^{P}_{i}, and record the information into 𝐑\mathbf{R} to be published to every entity on the cross-chain platform. In the state forwarding process, NjP\mathrm{N}^{P}_{j} (j[n],ij)(j\in[n],i\neq j) extract the state information of 𝐏i\mathbf{P}_{i} from 𝐑\mathbf{R}, and record the information into 𝐏j\mathbf{P}_{j}. Therefore, by only accessing 𝐏j\mathbf{P}_{j}, any entity in 𝐏j\mathbf{P}_{j} system can obtain the state information of 𝐏i\mathbf{P}_{i}, supporting cross-chain operations.

Furthermore, to ensure the timeliness of 𝐏i\mathbf{P}_{i} state information in 𝐑\mathbf{R}, the relay node group NiR\mathrm{N}^{R\sim}_{i} adopts a state pulling strategy [17]. NiR\mathrm{N}^{R\sim}_{i} periodically send the state pulling instructions to NiP\mathrm{N}^{P}_{i} to pull the latest state information of 𝐏i\mathbf{P}_{i}, and subsequently record the state information into 𝐑\mathbf{R}. Moreover, when an adversary has corrupted NiR\mathrm{N}^{R\sim}_{i} to interrupt the state pulling, a new relay node group NiR\mathrm{N}^{*R\sim}_{i} will be randomly selected from NR\mathrm{N}^{R} based on distributed randomness [41] generated by NR\mathrm{N}^{R}. NiR\mathrm{N}^{*R\sim}_{i} will replace NiR\mathrm{N}^{R\sim}_{i} to continue the state pulling, ensuring 𝐏j\mathbf{P}_{j} to record the real-time state information of 𝐏i\mathbf{P}_{i}.

III-C One-way Accumulator

An accumulator [35] [36] [38] enables one to encode a set into a short digest and prove that an element is in the set. Let DD be the domain of an accumulator. An accumulator 𝒜𝒞𝒞=(𝖲𝖾𝗍𝗎𝗉,𝖢𝗈𝗆𝗆𝗂𝗍,𝖠𝖽𝖽,𝖢𝗋𝖾𝖺𝗍𝖾𝖬𝖾𝗆𝖶𝗂𝗍,𝖵𝖾𝗋𝗂𝖿𝗒𝖬𝖾𝗆)\mathcal{ACC}=(\mathsf{Setup},\mathsf{Commit},\mathsf{Add},\mathsf{CreateMemWit},\mathsf{VerifyMem}) consists of the following five algorithms.

  • 𝖲𝖾𝗍𝗎𝗉(1λ)pp\mathsf{Setup}(1^{\lambda})\rightarrow pp: Given a security parameter λ\lambda, this setup algorithm outputs a public parameter pppp.

  • 𝖢𝗈𝗆𝗆𝗂𝗍(pp,S)AS\mathsf{Commit}(pp,S)\rightarrow A^{S}: Given the public parameter pppp and a set SDS\subseteq D, this committing algorithm outputs an accumulator digest ASA^{S} to the set SS.

  • 𝖠𝖽𝖽(AS,ct)AS{ct}\mathsf{Add}(A^{S},ct)\rightarrow A^{S\cup\{ct\}}: Given an accumulator digest ASA^{S} to a set SS and an element ctDSct\in D\setminus S, this adding algorithm outputs a new accumulator digest AS{ct}A^{S\cup\{ct\}} to the set S{ct}S\cup\{ct\}.

  • 𝖢𝗋𝖾𝖺𝗍𝖾𝖬𝖾𝗆𝖶𝗂𝗍(S,AS,ct)wct,S\mathsf{CreateMemWit}(S,A^{S},ct)\rightarrow w^{ct,S}: Given a set SS, an accumulator digest ASA^{S} to the set SS, and an element ctSct\in S, this witness creation algorithm outputs the membership witness wct,Sw^{ct,S} of ctSct\in S.

  • 𝖵𝖾𝗋𝗂𝖿𝗒𝖬𝖾𝗆(AS,ct,wct,S)b\mathsf{VerifyMem}(A^{S},ct,w^{ct,S})\rightarrow b: Given an accumulator digest ASA^{S} to a set SS, an element ctct, and a membership witness wct,Sw^{ct,S}, this membership verification algorithm outputs a bit b1b\leftarrow 1 to indicate that wct,Sw^{ct,S} is a valid witness for proving ctSct\in S; otherwise outputs b0b\leftarrow 0.

III-D Zero-knowledge Proof

The zero-knowledge proof (ZKP) scheme [42] [14] enables one to prove a statement without exposing other information. The ZKP scheme 𝒵𝒦𝒫=(𝖲𝖾𝗍𝗎𝗉,𝖯𝗋𝗈𝗏𝖾,𝖵𝖾𝗋𝗂𝖿𝗒)\mathcal{ZKP}=(\mathsf{Setup},\mathsf{Prove},\mathsf{Verify}) consists of the following three algorithms.

  • 𝖲𝖾𝗍𝗎𝗉(1μ,R)crs\mathsf{Setup}(1^{\mu},R)\rightarrow crs: Given a security parameter μ\mu and a relationship RR, this setup algorithm outputs a common reference string crscrs.

  • 𝖯𝗋𝗈𝗏𝖾(crs,x,w)π\mathsf{Prove}(crs,x,w)\rightarrow\pi: Given a common reference string crscrs, a statement xx, and a witness ww, this proving algorithm outputs a proof π\pi for the relationship R(x,w)R(x,w).

  • 𝖵𝖾𝗋𝗂𝖿𝗒(crs,x,π)b\mathsf{Verify}(crs,x,\pi)\rightarrow b: Given a common reference string crscrs, the statement xx, and the proof π\pi, this verification algorithm outputs a bit 1/0 to indicate whether R(x,w)R(x,w) holds or not.

ZKP satisfies three properties. Completeness: if the witness being proved is true, the verifier will be convinced of this fact with high probability. Soundness: if the witness being proved is false, no cheating prover can convince the verifier that it is true, except with a negligible probability. Zero-knowledge: the proof does not reveal any information about the witness being proved, except for the fact that it is true.

IV Problem Statement

IV-A System Model

Interpipe includes one relay chain 𝐑\mathbf{R}, and two parachains 𝐏l\mathbf{P}_{l} and 𝐏r\mathbf{P}_{r} called left parachain and right parachain. 𝐏l\mathbf{P}_{l} and 𝐏r\mathbf{P}_{r} have established cross-chain connections with 𝐑\mathbf{R} on a cross-chain platform, following relay-chain-parachain framework. The state information of 𝐏l\mathbf{P}_{l} and 𝐏r\mathbf{P}_{r} is synchronized into each other in the following way (see Fig. 3): ① NlR\mathrm{N}^{R\sim}_{l} and NrR\mathrm{N}^{R\sim}_{r} divided from NR\mathrm{N}^{R} pull the latest state information of 𝐏l\mathbf{P}_{l} and 𝐏r\mathbf{P}_{r} from NlP\mathrm{N}^{P}_{l} and NrP\mathrm{N}^{P}_{r} using state pulling strategy; ② NlR\mathrm{N}^{R\sim}_{l} and NrR\mathrm{N}^{R\sim}_{r} generate the state proofs of 𝐏l\mathbf{P}_{l} and 𝐏r\mathbf{P}_{r}, and record the state proofs into 𝐑\mathbf{R}; ③ as 𝐑\mathbf{R} is public on the cross-chain platform, NrP\mathrm{N}^{P}_{r} and NlP\mathrm{N}^{P}_{l} extract the 𝐏l\mathbf{P}_{l} and 𝐏r\mathbf{P}_{r} state proofs from 𝐑\mathbf{R}, and record them into 𝐏r\mathbf{P}_{r} and 𝐏l\mathbf{P}_{l}, achieving a synchronization.

There are two users Alice and Bob. On the one side, Alice belongs to 𝐏l\mathbf{P}_{l} system. She can access the network of NlP\mathrm{N}^{P}_{l} to obtain the full blockchain data of 𝐏l\mathbf{P}_{l}, or publish new transactions on 𝐏l\mathbf{P}_{l} via NlP\mathrm{N}^{P}_{l}. Since the state proof of 𝐏r\mathbf{P}_{r} has been recorded into 𝐏l\mathbf{P}_{l}, Alice can verify the state or transactions in both 𝐏l\mathbf{P}_{l} and 𝐏r\mathbf{P}_{r} by only accessing 𝐏l\mathbf{P}_{l}. In the same way, Bob belongs to 𝐏r\mathbf{P}_{r} system, and he can verify the state or transactions in both 𝐏l\mathbf{P}_{l} and 𝐏r\mathbf{P}_{r} by only accessing 𝐏r\mathbf{P}_{r}. Additionally, a communication connection is established between Alice and Bob to transmit signatures and membership witnesses of transactions. This communication connection is off-chain, which does not require the use of any blockchain network. Based on the above configurations, a cross-chain state channel is established between Alice and Bob.

It is worth noting that among the nn parachains on the cross-chain platform, any two parachains can establish cross-chain state channels in the same way as parachain 𝐏l\mathbf{P}_{l} and 𝐏r\mathbf{P}_{r}. For convenience, we specifically discuss a cross-chain state channel between 𝐏l\mathbf{P}_{l} and 𝐏r\mathbf{P}_{r} in the following content.

Refer to caption
Figure 3: System model of Interpipe

IV-B Threat Model

  • Hard fork: Hard fork can occur in a blockchain to result in a split from the original chain and the creation of a new separate chain.

  • Denial-of-service attack: With a sufficiently long period of time, an adversary can control every node in a relay node group to interrupt the information synchronization between parachains.

  • Replay attack: An adversary can replay cross-chain transactions and state proofs, attempting to have duplicate operations to cross-chain state channel.

  • Counterfeiting: An adversary can tamper the contents in cross-chain transactions and state proofs, attempting to synchronize false information between parachains.

  • Eclipse attack: An adversary can create a fake network environment around a user, attempting to prevent the user from learning the new states of blockchains.

  • Conspiracy attack: Alice and Bob can collude to publish different cross-chain transactions to 𝐏l\mathbf{P}_{l} and 𝐏r\mathbf{P}_{r}, attempting to create parachain data out of thin air.

  • Noncooperation: One of Alice and Bob can refuse to cooperate with the other one, attempting to terminate the cross-chain transaction publication to 𝐏l\mathbf{P}_{l} and 𝐏r\mathbf{P}_{r}.

We assume the cryptographic primitives, including hash function and digital signature, of relay chain and parachains are secure. Moreover, the zero-knowledge proof algorithms can be deployed in distributed environment without trusted setup [42] [14].

As Interpipe establishes cross-chain state channels by the cooperation of three blockchains 𝐑\mathbf{R}, 𝐏l\mathbf{P}_{l}, and 𝐏r\mathbf{P}_{r}, we assume the proportion of the corrupted consensus participators in each blockchain system is bounded by the threshold to ensure security. In the existing PoW [43] and PoS [44] protocol, it requires the proportion α<1/3\alpha<1/3.

Moreover, we assume that an adversary is mildly adaptive [44]. Specifically, for a group of honest nodes {node1,,nodex}\{node_{1},\dots,node_{x}\}, the adversary cannot instantly corrupt every node in {node1,,nodex}\{node_{1},\dots,node_{x}\}, and the corruption may only succeed after a sufficiently long period of time. Otherwise, the adversary possesses enough power to effortlessly control the majority of blockchain nodes, and overthrows the proportion α<1/3\alpha<1/3 or the security threshold in any node group.

Based on the above assumption, we can ensure persistence and liveness [45] of blockchain transactions. Moreover, we ensure a stable block time, as the block generation process is controlled by mining difficulty [46] in PoW consensus protocol or consensus slot [44] in PoS consensus protocol.

  • Transaction persistence states that once a transaction goes more than kk blocks deep into the blockchain of one honest consensus participator, it will be included in every honest participator’s blockchain with overwhelming probability.

  • Transaction liveness states that every transaction originating from an honest user will eventually end up at a depth of more than kk blocks in an honest consensus participator’s blockchain, and an adversary cannot perform a selective denial-of-service attack against the honest user.

  • Stable block time states that the average time it takes for new blocks to be added to a blockchain remains consistent and predictable over an extended period.

IV-C Design Goals

  • Consistency: Parachain 𝐏l\mathbf{P}_{l} and 𝐏r\mathbf{P}_{r} can synchronize the real-time state proofs of each other. A cross-chain transaction ctct can be recorded into both 𝐏l\mathbf{P}_{l} and 𝐏r\mathbf{P}_{r}, with their consistency being kept.

  • Resistance: It is hard for an adversary to interrupt the cross-chain synchronization between 𝐏l\mathbf{P}_{l} and 𝐏r\mathbf{P}_{r}. Resistance relies only on the security guarantees in 𝐑\mathbf{R}, 𝐏l\mathbf{P}_{l}, and 𝐏r\mathbf{P}_{r} systems.

  • Liveness: Any two users respectively located in 𝐏l\mathbf{P}_{l} and 𝐏r\mathbf{P}_{r} systems can have opening, updating, closing, and disputing to a cross-chain state channel.

  • Efficiency: Any user in 𝐑\mathbf{R}, 𝐏l\mathbf{P}_{l}, and 𝐏r\mathbf{P}_{r} systems can have cross-chain verification to the state and transactions in 𝐑\mathbf{R}, 𝐏l\mathbf{P}_{l} and 𝐏r\mathbf{P}_{r} with low storage and computation overhead.

V Batch Transaction Proof

Batch transaction proof enables verifiers in 𝐏l\mathbf{P}_{l} or 𝐏r\mathbf{P}_{r} system to have verification to any cross-chain transaction in 𝐏r\mathbf{P}_{r} or 𝐏l\mathbf{P}_{l} with low storage and computation overhead. This scheme has three processes, which are initialization, recursive proving, and verification.

Initialization: The initialization is executed when relay chain 𝐑\mathbf{R} and parachains 𝐏i\mathbf{P}_{i} (i[n])(i\in[n]) first establish cross-chain connections on cross-chain platform. Specifically, the blockchain protocols of relay chain and parachains including data structure, encryption algorithm, and consensus mechanism are published to every entity on the cross-chain platform. Second, the identity information including public keys and blockchain addresses of blockchain nodes NR\mathrm{N}^{R}, NiP\mathrm{N}^{P}_{i} (i[n])(i\in[n]) are also published on the cross-chain platform, which will be used as the public statement xx to verify new blocks and state proofs following the scheme in [42]. Moreover, the blockchain nodes generate public parameter pp𝒜𝒞𝒞.𝖲𝖾𝗍𝗎𝗉(1λ)pp\leftarrow\mathcal{ACC}.\mathsf{Setup}(1^{\lambda}) and crs𝒵𝒦𝒫.𝖲𝖾𝗍𝗎𝗉(1μ,R)crs\leftarrow\mathcal{ZKP}.\mathsf{Setup}(1^{\mu},R) for accumulator and zero knowledge proof in distributed environment.

Then, the group NlR\mathrm{N}^{R\sim}_{l} is divided from relay node set NR\mathrm{N}^{R} to establish cross-chain connections with NlP\mathrm{N}^{P}_{l}, and pull the data of 𝐏l\mathbf{P}_{l} from NlP\mathrm{N}^{P}_{l}. NlR\mathrm{N}^{R\sim}_{l} generate the initial accumulator A0lA^{l}_{0}, which can be the generator without adding elements. Moreover, NlR\mathrm{N}^{R\sim}_{l} generate the zero knowledge proof π0l\pi^{l}_{0} of 𝐏l\mathbf{P}_{l}, which can be achieved by the existing scheme [14]. The tuple (A0l,π0l)(A^{l}_{0},\pi^{l}_{0}) is called the initial state proof of 𝐏l\mathbf{P}_{l}.

Noted, in the following content, we only illustrate the batch transaction proof of 𝐏l\mathbf{P}_{l} for convenience, while the proof of 𝐏r\mathbf{P}_{r} is generated by the same method of 𝐏l\mathbf{P}_{l}.

Recursive proving: Recursive proving is executed in rounds, which are a continuous series of time intervals with fixed length. The proving process in the uu-th round includes three steps, which are updating accumulator, generating proof of new block, and updating state proof. The proof generation process is shown in Fig. 4.

① Updating accumulator. In the uu-th round, there are multiple new 𝐏l\mathbf{P}_{l} blocks generated, noted as 𝐁ul\mathbf{B}^{l}_{u}. The relay node group NlR\mathrm{N}^{R\sim}_{l} pull 𝐁ul\mathbf{B}^{l}_{u} from NlP\mathrm{N}^{P}_{l}, extract all cross-chain transactions 𝐓ul\mathbf{T}^{l}_{u} from 𝐁ul\mathbf{B}^{l}_{u}, and add 𝐓ul\mathbf{T}^{l}_{u} into accumulator Au1lA^{l}_{u-1} to generate Aul𝒜𝒞𝒞.𝖠𝖽𝖽(Au1l,𝐓ul)A^{l}_{u}\leftarrow\mathcal{ACC}.\mathsf{Add}(A^{l}_{u-1},\mathbf{T}^{l}_{u}), where Au1lA^{l}_{u-1} is the accumulator in the (uu-1)-th round. Noted, the ordinary intra-chain transactions in 𝐁ul\mathbf{B}^{l}_{u} which do not need to be cross-chain synchronized will not be extracted or added into the accumulator.

② Generating proof of new blocks. NlR\mathrm{N}^{R\sim}_{l} generate the zero-knowledge proof πur𝒵𝒦𝒫.𝖯𝗋𝗈𝗏𝖾(crs,x,Au1l,Aul,𝐁ul)\pi^{*r}_{u}\leftarrow\mathcal{ZKP}.\mathsf{Prove}(crs,x,A^{l}_{u-1},A^{l}_{u},\mathbf{B}^{l}_{u}). The witness to be proved includes the following.

  • There is a set of new parachain blocks 𝐁ul\mathbf{B}^{l}_{u}. Every block in 𝐁ul\mathbf{B}^{l}_{u} has the correct format with valid proof of work (in PoW protocol) or proof of stake (in PoS protocol). Every block in 𝐁ul\mathbf{B}^{l}_{u} has a valid hash pointer pointing to the last block.

  • Every cross-chain transaction in 𝐁ul\mathbf{B}^{l}_{u} has been correctly included in the Merkle tree of the block in 𝐁ul\mathbf{B}^{l}_{u}.

  • Every cross-chain transaction in 𝐁ul\mathbf{B}^{l}_{u} has been added in Au1lA^{l}_{u-1} to output AulA^{l}_{u}.

The above witness will be transformed into arithmetic circuits to be substituted into the proof process of zk-SNARK to output the proof πur\pi^{*r}_{u}.

③ Updating state proof. We have a recursive proof by using the recursive SNARK in Nova [42] to further generate πul𝒵𝒦𝒫.𝖯𝗋𝗈𝗏𝖾(crs,x,πu1l,πul)\pi^{l}_{u}\leftarrow\mathcal{ZKP}.\mathsf{Prove}(crs,x,\pi^{l}_{u-1},\pi^{*l}_{u}), in which πu1l\pi^{l}_{u-1} is the proof generated in the (uu-1)-th round. By this step, the zero knowledge proof of 𝐏l\mathbf{P}_{l} is updated from πu1l\pi^{l}_{u-1} to πul\pi^{l}_{u}. Subsequently, we call (πul,Aul)(\pi^{l}_{u},A^{l}_{u}) as the state proof of 𝐏l\mathbf{P}_{l} in the uu-th round. More importantly, to obtain πul\pi^{l}_{u}, the prover only needs to calculate the arithmetic circuits in the new blocks 𝐁ul\mathbf{B}^{l}_{u} and the proof πu1l\pi^{l}_{u-1} in the last round. The old blocks 𝐁xl\mathbf{B}^{l}_{x} (0<x<u)(0<x<u) generated in the previous rounds do not need to be recalculated, as the witness of 𝐁xl\mathbf{B}^{l}_{x} have been proved by πu1l\pi^{l}_{u-1}. Because the number of new blocks in a round is relatively small, the calculation to the arithmetic circuits can be completed in a short time.

Refer to caption
Figure 4: Recursive proof of parachain

Verification: On the side of 𝐏r\mathbf{P}_{r}, without accessing the original data of 𝐏l\mathbf{P}_{l}, verifiers will confirm the correctness of (πul,Aul)(\pi^{l}_{u},A^{l}_{u}) by 𝒵𝒦𝒫.𝖵𝖾𝗋𝗂𝖿𝗒(crs,x,Au1l,Aul,πul)\mathcal{ZKP}.\mathsf{Verify}(crs,x,A^{l}_{u-1},A^{l}_{u},\pi^{l}_{u}). Specifically, there is a valid parachain 𝐏l\mathbf{P}_{l}, and every cross-chain transaction in 𝐏l\mathbf{P}_{l} has been added into AulA^{l}_{u}. The identities of the verifiers are 𝐏r\mathbf{P}_{r} node set NrP\mathrm{N}^{P}_{r} and any user in 𝐏r\mathbf{P}_{r} system including Alice.

Based on AulA^{l}_{u}, verifiers in 𝐏r\mathbf{P}_{r} system can further verify that a certain cross-chain transaction ctct has been recorded in 𝐏l\mathbf{P}_{l}. This requires a prover connecting with 𝐏l\mathbf{P}_{l} system to create the membership witness wuct,lw^{ct,l}_{u} of ctct in AulA^{l}_{u}, where wuct,l𝒜𝒞𝒞.𝖢𝗋𝖾𝖺𝗍𝖾𝖬𝖾𝗆𝖶𝗂𝗍(𝐏l,Aul,ct)w^{ct,l}_{u}\leftarrow\mathcal{ACC}.\mathsf{CreateMemWit}(\mathbf{P}_{l},A^{l}_{u},ct), and send wuct,lw^{ct,l}_{u} to the verifiers. Based on wuct,lw^{ct,l}_{u}, the verifiers have verification by 𝒜𝒞𝒞.𝖵𝖾𝗋𝗂𝖿𝗒𝖬𝖾𝗆(Aul,ct,wuct,l)\mathcal{ACC}.\mathsf{VerifyMem}(A^{l}_{u},ct,w^{ct,l}_{u}) to confirm that ctct has been added into AulA^{l}_{u}, and consequently, ctct has been recorded in 𝐏l\mathbf{P}_{l}.

By the above method, verifiers first need to have one verification to (πul,Aul)(\pi^{l}_{u},A^{l}_{u}) to confirm the correctness of AulA^{l}_{u}. Then, based on AulA^{l}_{u}, the verifiers can verify any cross-chain transactions in 𝐏l\mathbf{P}_{l}. Each verification of a cross-chain transaction only requires one calculation of 𝒜𝒞𝒞.𝖵𝖾𝗋𝗂𝖿𝗒𝖬𝖾𝗆(Aul,ct,wuct,l)\mathcal{ACC}.\mathsf{VerifyMem}(A^{l}_{u},ct,w^{ct,l}_{u}), which can satisfy the demands of scalable cross-chain transaction verification.

VI Interpipe

In this section, we first have an illustration of cross-chain synchronization (see Section VI-A), which enables two parachains 𝐏l\mathbf{P}_{l} and 𝐏r\mathbf{P}_{r} to have consistent operations. Based on cross-chain synchronization, we provide designs for the cross-chain state channel operations of opening, updating, closing, and disputing (see Section VI-B).

VI-A Cross-chain Synchronization

Cross-chain synchronization has two parts, which are state synchronization and transaction synchronization. First, state synchronization is the underlying design. It is recursively executed in rounds, enabling two parachains to keep real-time records of the state proofs of each other. Based on the real-time state proofs, we achieve transaction synchronization. It means that users can record one cross-chain transaction ctct into the two parachains 𝐏l\mathbf{P}_{l} and 𝐏r\mathbf{P}_{r}, and keep their consistency.

VI-A1 State synchronization

Refer to caption
Figure 5: One round of state synchronization

First, state synchronization follows the initialization of batch transaction proof to generate the initial state proof (A0l,π0l)(A^{l}_{0},\pi^{l}_{0}) of 𝐏l\mathbf{P}_{l} (see line 2-11 in Protocol 1). Then, NlR\mathrm{N}^{R\sim}_{l} record (A0l,π0l)(A^{l}_{0},\pi^{l}_{0}) into 𝐑\mathbf{R} to start state synchronization. Because 𝐏l\mathbf{P}_{l} continues to grow over time, the 𝐏l\mathbf{P}_{l} state keeps updating. To keep the real-time 𝐏l\mathbf{P}_{l} state proof synchronized into 𝐏r\mathbf{P}_{r}, the state synchronization repeats at regular time intervals called rounds (see line 12-17 in Protocol 1). In the uu-th round, the state information of 𝐏l\mathbf{P}_{l} and 𝐏r\mathbf{P}_{r} will be transferred and recorded into each other based on cross-chain state transfer [15] [16] with two processes of state reception and state forwarding. In the following content, we further design the two processes, and illustrate the information transfer from 𝐏l\mathbf{P}_{l} to 𝐏r\mathbf{P}_{r}, where the information transfer from 𝐏r\mathbf{P}_{r} to 𝐏l\mathbf{P}_{l} follows the same way.

In state reception process (see line 18-25 in Protocol 1), NlP\mathrm{N}^{P}_{l} transfer the state information of 𝐏l\mathbf{P}_{l} to NlR\mathrm{N}^{R\sim}_{l}. The state information is in the form of newly generated 𝐏l\mathbf{P}_{l} blocks in the uu-th round, noted as 𝐁ul\mathbf{B}^{l}_{u}. Then, NlR\mathrm{N}^{R\sim}_{l} extract all cross-chain transactions 𝐓ul\mathbf{T}^{l}_{u} which need to be cross-chain synchronized from 𝐁ul\mathbf{B}^{l}_{u}, and add 𝐓ul\mathbf{T}^{l}_{u} into Au1lA^{l}_{u-1} to generate AulA^{l}_{u}, where Au1lA^{l}_{u-1} is the accumualtor in the (uu-1)-th round. Next, NlR\mathrm{N}^{R\sim}_{l} generate the zero-knowledge proof πul\pi^{l}_{u} of the current 𝐏l\mathbf{P}_{l} by recursive proving (see Section V), where AulA^{l}_{u} is binded with πul\pi^{l}_{u} to have (πul,Aul)(\pi^{l}_{u},A^{l}_{u}) as the state proof of 𝐏l\mathbf{P}_{l}. Then, NlR\mathrm{N}^{R\sim}_{l} will record (πul,Aul)(\pi^{l}_{u},A^{l}_{u}) into relay chain 𝐑\mathbf{R} to be published on cross-chain platform.

Moreover, in the uu-th round, NlR\mathrm{N}^{R\sim}_{l} use state pulling strategy [17] to pull 𝐁ul\mathbf{B}^{l}_{u} from NlP\mathrm{N}^{P}_{l}. Therefore, every time there are new blocks generated in 𝐏l\mathbf{P}_{l}, the new blocks will be obtained by NlR\mathrm{N}^{R\sim}_{l} within a certain number of rounds. Subsequently, the time between the moment in which new blocks are generated and the moment in which new state proof is recorded into 𝐏r\mathbf{P}_{r} will not exceed a certain limit, which ensures the timeliness of state synchronization.

1
2StateSynchronization
3       // Initialization;
4      
NR\mathrm{N}^{R}, NiP\mathrm{N}^{P}_{i} (i[n])(i\in[n]) : publish blockchain protocols
and identity information
;
5      
NR\mathrm{N}^{R}, NiP\mathrm{N}^{P}_{i} (i[n])(i\in[n]) : 𝒵𝒦𝒫.𝖲𝖾𝗍𝗎𝗉\mathcal{ZKP}.\mathsf{Setup}, 𝒜𝒞𝒞.𝖲𝖾𝗍𝗎𝗉\mathcal{ACC}.\mathsf{Setup}, u1u\leftarrow 1
;
6       for il,ri\leftarrow l,r do
7            
NRNiR\mathrm{N}^{R}\rightarrow\mathrm{N}^{R\sim}_{i} : NR\mathrm{N}^{R} divide groups
;
8            
NiRNiP\mathrm{N}^{R\sim}_{i}\Leftrightarrow\mathrm{N}^{P}_{i} : NiR\mathrm{N}^{R\sim}_{i} establish connections with NiP\mathrm{N}^{P}_{i}
;
9            
NiRNiP\mathrm{N}^{R\sim}_{i}\Leftarrow\mathrm{N}^{P}_{i} : NiR\mathrm{N}^{R\sim}_{i} pull 𝐏i\mathbf{P}_{i} from NiP\mathrm{N}^{P}_{i}
;
10            
NiR\mathrm{N}^{R\sim}_{i} : NiR\mathrm{N}^{R\sim}_{i} set the initial accumulator A0iA^{i}_{0}
;
11            
NiR\mathrm{N}^{R\sim}_{i} : 𝒵𝒦𝒫.𝖯𝗋𝗈𝗏𝖾(crs,x,𝐏i,A0i)π0i\mathcal{ZKP}.\mathsf{Prove}(crs,x,\mathbf{P}_{i},A^{i}_{0})\rightarrow\pi^{i}_{0}
;
12            
NiR\mathrm{N}^{R\sim}_{i} : NiR\mathrm{N}^{R\sim}_{i} record (π0i,A0i)(\pi^{i}_{0},A^{i}_{0}) into 𝐑\mathbf{R}
;
13            
14      
15       // Synchronization in rounds;
16       for true do
17             for il,ri\leftarrow l,r do
18                  
NiR\mathrm{N}^{R\sim}_{i} : NiR\mathrm{N}^{R\sim}_{i} have StateReception
;
19                  
NjP\mathrm{N}^{P}_{j} : NjP\mathrm{N}^{P}_{j} have StateForwarding
;
20                  
NR\mathrm{N}^{R} : Round number uu increases by one
;
21                  
22            
23      
24
25 StateReception
26       for il,ri\leftarrow l,r do
27            
NiRNiP\mathrm{N}^{R\sim}_{i}\Leftarrow\mathrm{N}^{P}_{i} : NiR\mathrm{N}^{R\sim}_{i} pull the new parachain blocks 𝐁ui\mathbf{B}^{i}_{u}
generated in the uu-th round from NiP\mathrm{N}^{P}_{i}
;
28            
NiR\mathrm{N}^{R\sim}_{i} : NiR\mathrm{N}^{R\sim}_{i} extract all cross-chain trans 𝐓ui\mathbf{T}^{i}_{u} from 𝐁ui\mathbf{B}^{i}_{u}
;
29            
NiR\mathrm{N}^{R\sim}_{i} : 𝒜𝒞𝒞.𝖠𝖽𝖽(Au1i,𝐓ui)Aui\mathcal{ACC}.\mathsf{Add}(A^{i}_{u-1},\mathbf{T}^{i}_{u})\rightarrow A^{i}_{u}
;
30            
NiR\mathrm{N}^{R\sim}_{i} : 𝒵𝒦𝒫.𝖯𝗋𝗈𝗏𝖾(crs,x,Au1i,Aui,𝐁ui)πui\mathcal{ZKP}.\mathsf{Prove}(crs,x,A^{i}_{u-1},A^{i}_{u},\mathbf{B}^{i}_{u})\rightarrow\pi^{*i}_{u}
;
31            
NiR\mathrm{N}^{R\sim}_{i} : 𝒵𝒦𝒫.𝖯𝗋𝗈𝗏𝖾(crs,x,πu1i,πui)πui\mathcal{ZKP}.\mathsf{Prove}(crs,x,\pi^{i}_{u-1},\pi^{*i}_{u})\rightarrow\pi^{i}_{u}
;
32            
NiR\mathrm{N}^{R\sim}_{i} : NiR\mathrm{N}^{R\sim}_{i} record (πui,Aui)(\pi^{i}_{u},A^{i}_{u}) into 𝐑\mathbf{R}
;
33            
34      
35
36 StateForwarding
37       for il,ri\leftarrow l,r and jr,lj\leftarrow r,l do
38            
NjP\mathrm{N}^{P}_{j} : NjP\mathrm{N}^{P}_{j} extract (πui,Aui)(\pi^{i}_{u},A^{i}_{u}) from 𝐑\mathbf{R}
;
39            
NjP\mathrm{N}^{P}_{j} : 𝒵𝒦𝒫.𝖵𝖾𝗋𝗂𝖿𝗒(crs,x,πui,Aui)\mathcal{ZKP}.\mathsf{Verify}(crs,x,\pi^{i}_{u},A^{i}_{u})
;
40            
NjP\mathrm{N}^{P}_{j} : NjP\mathrm{N}^{P}_{j} record (πui,Aui)(\pi^{i}_{u},A^{i}_{u}) into 𝐏j\mathbf{P}_{j}
;
41            
42      
Prototol 1 State Synchronization

In state forwarding process (see line 26-30 in Protocol 1), 𝐑\mathbf{R} is published to 𝐏r\mathbf{P}_{r} system to reach consensus among NrP\mathrm{N}^{P}_{r}. Then, NrP\mathrm{N}^{P}_{r} extract (πul,Aul)(\pi^{l}_{u},A^{l}_{u}) from 𝐑\mathbf{R}, verify the correctness of (πul,Aul)(\pi^{l}_{u},A^{l}_{u}), and record (πul,Aul)(\pi^{l}_{u},A^{l}_{u}) into 𝐏r\mathbf{P}_{r}. We say that the 𝐏l\mathbf{P}_{l} state proof (πul,Aul)(\pi^{l}_{u},A^{l}_{u}) is synchronized into 𝐏r\mathbf{P}_{r}. Furthermore, based on (πul,Aul)(\pi^{l}_{u},A^{l}_{u}), 𝐏r\mathbf{P}_{r} system can verify that a certain cross-chain transaction ctct has been recorded into 𝐏l\mathbf{P}_{l}, with the help of a prover in 𝐏l\mathbf{P}_{l} system to provide the membership witness wuct,lw^{ct,l}_{u} of ctct.

Using the same method of state reception and state forwarding, (πur,Aur)(\pi^{r}_{u},A^{r}_{u}) is generated by NrR\mathrm{N}^{R\sim}_{r} to be recorded into 𝐑\mathbf{R}, and then (πur,Aur)(\pi^{r}_{u},A^{r}_{u}) is extracted by NlP\mathrm{N}^{P}_{l} to be recorded into 𝐏l\mathbf{P}_{l}. Therefore, in the same round, 𝐏l\mathbf{P}_{l} and 𝐏r\mathbf{P}_{r} have their state proofs synchronized to each other. Fig. 5 shows one round of state synchronization.

VI-A2 Transaction synchronization

Based on state synchronization, we further achieve transaction synchronization to record one cross-chain transaction ctct into two parachains 𝐏l\mathbf{P}_{l} and 𝐏r\mathbf{P}_{r}, and keep their consistency. Classified by the initiator, transaction synchronization can be divided into two categories, which are unilaterally initiated transaction synchronization (UITS) and jointly initiated transaction synchronization (JITS).

Refer to caption
Figure 6: Transaction synchronization
1
2UITS
3       // ili\leftarrow l or rr   // jrj\leftarrow r or ll   // UiU^{i}\leftarrow Alice or Bob;
4       // uu-th round;
5      
UiNiPU^{i}\Rightarrow\mathrm{N}^{P}_{i} : UiU^{i} publishes ctct to NiP\mathrm{N}^{P}_{i}
;
6      
NiP\mathrm{N}^{P}_{i} : NiP\mathrm{N}^{P}_{i} record ctct into 𝐏i\mathbf{P}_{i}
;
7      
8       // (uu+1)-th round;
9      
NiR\mathrm{N}^{R\sim}_{i} : NiR\mathrm{N}^{R\sim}_{i} extract ctct from 𝐏i\mathbf{P}_{i}
;
10      
NiR\mathrm{N}^{R\sim}_{i} : 𝒜𝒞𝒞.𝖢𝗋𝖾𝖺𝗍𝖾𝖬𝖾𝗆𝖶𝗂𝗍(𝐏i,Aui,ct)wuct,i\mathcal{ACC}.\mathsf{CreateMemWit}(\mathbf{P}_{i},A^{i}_{u},ct)\rightarrow w^{ct,i}_{u}
;
11      
NiR\mathrm{N}^{R\sim}_{i} : NiR\mathrm{N}^{R\sim}_{i} record (ct,wuct,i)(ct,w^{ct,i}_{u}) into 𝐑\mathbf{R}
;
12      
NjP\mathrm{N}^{P}_{j} : NjP\mathrm{N}^{P}_{j} extract (ct,wuct,i)(ct,w^{ct,i}_{u}) from 𝐑\mathbf{R}
;
13      
NjP\mathrm{N}^{P}_{j} : 𝒜𝒞𝒞.𝖵𝖾𝗋𝗂𝖿𝗒𝖬𝖾𝗆(Aui,ct,wuct,i)\mathcal{ACC}.\mathsf{VerifyMem}(A^{i}_{u},ct,w^{ct,i}_{u})
;
14      
NjP\mathrm{N}^{P}_{j} : NjP\mathrm{N}^{P}_{j} record (ct,wuct,i)(ct,w^{ct,i}_{u}) into 𝐏j\mathbf{P}_{j}
;
15      
16       // (uu+2)-th round;
17      
NjR\mathrm{N}^{R\sim}_{j} : NjR\mathrm{N}^{R\sim}_{j} extract ctct from 𝐏j\mathbf{P}_{j}
;
18      
NjR\mathrm{N}^{R\sim}_{j} : 𝒜𝒞𝒞.𝖢𝗋𝖾𝖺𝗍𝖾𝖬𝖾𝗆𝖶𝗂𝗍(𝐏j,Au+1j,ct)wu+1ct,j\mathcal{ACC}.\mathsf{CreateMemWit}(\mathbf{P}_{j},A^{j}_{u+1},ct)\rightarrow w^{ct,j}_{u+1}
;
19      
NjR\mathrm{N}^{R\sim}_{j} : NjR\mathrm{N}^{R\sim}_{j} record wu+1ct,jw^{ct,j}_{u+1} into 𝐑\mathbf{R}
;
20      
NiP\mathrm{N}^{P}_{i} : NiP\mathrm{N}^{P}_{i} extract wu+1ct,jw^{ct,j}_{u+1} from 𝐑\mathbf{R}
;
21      
NiP\mathrm{N}^{P}_{i} : 𝒜𝒞𝒞.𝖵𝖾𝗋𝗂𝖿𝗒𝖬𝖾𝗆(Au+1j,ct,wu+1ct,j)\mathcal{ACC}.\mathsf{VerifyMem}(A^{j}_{u+1},ct,w^{ct,j}_{u+1})
;
22      
NiP\mathrm{N}^{P}_{i} : NiP\mathrm{N}^{P}_{i} record wu+1ct,jw^{ct,j}_{u+1} into 𝐏i\mathbf{P}_{i}
;
23      
24
25 JITS
26       // UlU^{l}\leftarrow Alice    // UrU^{r}\leftarrow Bob;
27       // vv-th round;
28      
UlU^{l} / UrU^{r} \Rightarrow NlP\mathrm{N}^{P}_{l} / NrP\mathrm{N}^{P}_{r} : UlU^{l} / UrU^{r} publish ctct to NlP\mathrm{N}^{P}_{l} / NrP\mathrm{N}^{P}_{r}
;
29      
NlP\mathrm{N}^{P}_{l} / NrP\mathrm{N}^{P}_{r} : NlP\mathrm{N}^{P}_{l} / NrP\mathrm{N}^{P}_{r} record ctct into 𝐏l\mathbf{P}_{l} / 𝐏r\mathbf{P}_{r}
;
30      
31       // (vv+1)-th round;
32      
UlU^{l} / UrU^{r} : 𝒜𝒞𝒞.𝖢𝗋𝖾𝖺𝗍𝖾𝖬𝖾𝗆𝖶𝗂𝗍(𝐏l,Avl,ct)wvct,l\mathcal{ACC}.\mathsf{CreateMemWit}(\mathbf{P}_{l},A^{l}_{v},ct)\rightarrow w^{ct,l}_{v} /
𝒜𝒞𝒞.𝖢𝗋𝖾𝖺𝗍𝖾𝖬𝖾𝗆𝖶𝗂𝗍(𝐏r,Avr,ct)wvct,r\mathcal{ACC}.\mathsf{CreateMemWit}(\mathbf{P}_{r},A^{r}_{v},ct)\rightarrow w^{ct,r}_{v}
;
33      
UlUrU^{l}\Leftrightarrow U^{r} : UlU^{l} and UrU^{r} exchange wvct,lw^{ct,l}_{v} and wvct,rw^{ct,r}_{v}
;
34      
UlU^{l} / UrU^{r} : UlU^{l} / UrU^{r} publish wvct,rw^{ct,r}_{v} / wvct,lw^{ct,l}_{v} to NlP\mathrm{N}^{P}_{l} / NrP\mathrm{N}^{P}_{r}
;
35      
NlP\mathrm{N}^{P}_{l} / NrP\mathrm{N}^{P}_{r} : 𝒜𝒞𝒞.𝖵𝖾𝗋𝗂𝖿𝗒𝖬𝖾𝗆(Avr,ct,wvct,r)\mathcal{ACC}.\mathsf{VerifyMem}(A^{r}_{v},ct,w^{ct,r}_{v}) /
𝒜𝒞𝒞.𝖵𝖾𝗋𝗂𝖿𝗒𝖬𝖾𝗆(Avl,ct,wvct,l)\mathcal{ACC}.\mathsf{VerifyMem}(A^{l}_{v},ct,w^{ct,l}_{v})
;
36      
NlP\mathrm{N}^{P}_{l} / NrP\mathrm{N}^{P}_{r} : NlP\mathrm{N}^{P}_{l} / NrP\mathrm{N}^{P}_{r} record wvct,rw^{ct,r}_{v} / wvct,lw^{ct,l}_{v} into 𝐏l\mathbf{P}_{l} / 𝐏r\mathbf{P}_{r}
;
37      
Prototol 2 Transaction Synchronization

UITS: UITS is initiated by any single party belonging to 𝐏l\mathbf{P}_{l} system or 𝐏r\mathbf{P}_{r} system. For example, if Bob in 𝐏r\mathbf{P}_{r} system wants to unilaterally record ctct into 𝐏l\mathbf{P}_{l} and 𝐏r\mathbf{P}_{r}, he needs to go through the following steps.

  1. 1.

    In the uu-th round of state synchronization, Bob attaches a UITS label to ctct, and publishes ctct to NrP\mathrm{N}^{P}_{r}. Then, NrP\mathrm{N}^{P}_{r} record ctct into 𝐏r\mathbf{P}_{r}. (see line 3-5 in Protocol 2)

  2. 2.

    In the (uu+1)-th round of state synchronization, NrR\mathrm{N}^{R\sim}_{r} additionally generate the membership witness wuct,rw^{ct,r}_{u} of ctct in 𝐏r\mathbf{P}_{r}. ctct and wuct,rw^{ct,r}_{u} will be recorded into 𝐑\mathbf{R}. Then, ctct and wuct,rw^{ct,r}_{u} are extracted by NlP\mathrm{N}^{P}_{l} to be recorded into 𝐏l\mathbf{P}_{l}. Subsequently, by verifying ctct, wuct,rw^{ct,r}_{u}, and (πur,Aur)(\pi^{r}_{u},A^{r}_{u}), 𝐏l\mathbf{P}_{l} system will confirm that ctct has been recorded in 𝐏r\mathbf{P}_{r}. (see line 6-12 in Protocol 2)

  3. 3.

    In the (uu+2)-th round of state synchronization, NlR\mathrm{N}^{R\sim}_{l} additionally generate the membership witness wu+1ct,lw^{ct,l}_{u+1} of ctct in 𝐏l\mathbf{P}_{l}. wu+1ct,lw^{ct,l}_{u+1} will be recorded into 𝐑\mathbf{R}, Then, wu+1ct,lw^{ct,l}_{u+1} is extracted by NrP\mathrm{N}^{P}_{r} to be recorded into 𝐏r\mathbf{P}_{r}. Subsequently, by verifying wu+1ct,lw^{ct,l}_{u+1} and (πu+1l,Au+1l)(\pi^{l}_{u+1},A^{l}_{u+1}), 𝐏r\mathbf{P}_{r} system will confirm that ctct has been recorded in 𝐏l\mathbf{P}_{l}. (see line 13-19 in Protocol 2)

It is worth noting that Alice does not participate in UITS with Bob, but she can monitor that ctct is recorded in 𝐏l\mathbf{P}_{l}, as 𝐏l\mathbf{P}_{l} is public to the members in 𝐏l\mathbf{P}_{l} system. The monitoring will enable Alice to learn the malicious behavior of Bob when he publishes an outdated transaction by UITS. This feature will be applied in the disputing operation to cross-chain state channel (see Section VI-B).

JITS: If Alice and Bob intend to jointly record ctct into 𝐏l\mathbf{P}_{l} and 𝐏r\mathbf{P}_{r} by using JITS, they need to go through the following steps. To facilitate the description, the roles on both sides of the slash “/” will perform the operation simultaneously in the following content.

  1. 1.

    In the vv-th round of state synchronization, Alice / Bob attaches a JITS label to ctct, and publishes ctct to NlP\mathrm{N}^{P}_{l} / NrP\mathrm{N}^{P}_{r}. Then, NlP\mathrm{N}^{P}_{l} / NrP\mathrm{N}^{P}_{r} records ctct into 𝐏l\mathbf{P}_{l} / 𝐏r\mathbf{P}_{r}. (see line 22-24 in Protocol 2)

  2. 2.

    In the (vv+1)-th round of state synchronization, Alice / Bob generates the membership witness wvct,lw^{ct,l}_{v} / wvct,rw^{ct,r}_{v} of ctct in 𝐏l\mathbf{P}_{l} / 𝐏r\mathbf{P}_{r}, and sends the membership witness to Bob / Alice. Then, Alice / Bob publishes wvct,rw^{ct,r}_{v} / wvct,lw^{ct,l}_{v} to NlP\mathrm{N}^{P}_{l} / NrP\mathrm{N}^{P}_{r}. NlP\mathrm{N}^{P}_{l} / NrP\mathrm{N}^{P}_{r} verify the correctness of wvct,rw^{ct,r}_{v} / wvct,lw^{ct,l}_{v}, and record it into 𝐏l\mathbf{P}_{l} / 𝐏r\mathbf{P}_{r}. 𝐏l\mathbf{P}_{l} system / 𝐏r\mathbf{P}_{r} system will confirm that ctct has been recorded in 𝐏r\mathbf{P}_{r} / 𝐏l\mathbf{P}_{l}. (see line 25-30 in Protocol 2)

Fig. 6 shows the process of UITS and JITS.

Comparison: We have a comparison between UITS and JITS. For the same points, UITS and JITS have the same result. Specifically, one cross-chain transaction ctct is recorded into two parachains 𝐏l\mathbf{P}_{l} and 𝐏r\mathbf{P}_{r}, and 𝐏l\mathbf{P}_{l} and 𝐏r\mathbf{P}_{r} confirm the recording of ctct in each other.

For the different points, JITS does not need relay chain 𝐑\mathbf{R} to record ctct, wct,lw^{ct,l}, and wct,rw^{ct,r}. For a cross-chain platform with numerous users, there will be a mass of ctct, wct,lw^{ct,l}, and wct,rw^{ct,r} generated per day, which may occupy the throughput of 𝐑\mathbf{R}. If the users use JITS to have transaction synchronization, JITS will greatly reduce the throughput pressure of 𝐑\mathbf{R}, which is more efficient than UITS.

However, compared with UITS, the prerequisite of JITS is more stringent. JITS requires Alice and Bob to cooperate to publish ctct, wct,lw^{ct,l} and wct,rw^{ct,r}. If one of Alice and Bob refuses to cooperate, 𝐏l\mathbf{P}_{l} and 𝐏r\mathbf{P}_{r} have to enable 𝐑\mathbf{R} again to accomplish transaction synchronization, in which JITS degrades to UITS. (see Section VII-G)

VI-B Cross-chain State Channel

1
2Opening
3       // UlU^{l}\leftarrow Alice    // UrU^{r}\leftarrow Bob;
4      
UlUrU^{l}\Leftrightarrow U^{r} : 𝖢𝗈𝗌𝗂𝗀𝗇ctopen\mathsf{Cosign}\rightarrow ct^{open}
;
5      
UlUrU^{l}\Leftrightarrow U^{r} : JITS(ctopen)\emph{JITS}(ct^{open})
;
6      
7
8 Updating
9       // UlU^{l}\leftarrow Alice    // UrU^{r}\leftarrow Bob;
10      
UlUrU^{l}\Leftrightarrow U^{r} : UlU^{l} and UrU^{r} exchange signatures of ctmupdatect^{update}_{m}
;
11      
UlUrU^{l}\Leftrightarrow U^{r} : UlU^{l} and UrU^{r} exchange signatures of pctm1updatepct^{update}_{m-1}
;
12      
13
14 Closing
15       if Joint closing then
16             // UlU^{l}\leftarrow Alice    // UrU^{r}\leftarrow Bob;
17            
UlUrU^{l}\Leftrightarrow U^{r} : 𝖢𝗈𝗌𝗂𝗀𝗇ctclose\mathsf{Cosign}\rightarrow ct^{close}
;
18            
UlUrU^{l}\Leftrightarrow U^{r} : JITS(ctclose)\emph{JITS}(ct^{close})
;
19            
20       else
21             // UiU^{i}\leftarrow Alice or Bob;
22            
UiU^{i} : UITS(ctmupdate)\emph{UITS}(ct^{update}_{m})
;
23            
UiU^{i} : UiU^{i} waits for Δt\Delta t
;
24            
UiU^{i} : UITS(cctmupdate)\emph{UITS}(cct^{update}_{m})
;
25            
26      
27
28 Disputing
29       // UjU^{j}\leftarrow Bob or Alice;
30       repeat
31            
UjU^{j} : UjU^{j} monitors 𝐏j\mathbf{P}_{j}
;
32            
33      until ctxupdatect^{update}_{x} (0<x<m)(0<x<m) is recorded in 𝐏j\mathbf{P}_{j};
34      
UjU^{j} : UITS(pctxupdate)\emph{UITS}(pct^{update}_{x})
;
35      
Prototol 3 Channel Operation

VI-B1 Opening operation

By using JITS, Alice and Bob jointly publish an opening transaction ctopenct^{open} to 𝐏l\mathbf{P}_{l} and 𝐏r\mathbf{P}_{r} to achieve an opening operation. ctopenct^{open} will lock a part of Alice’s and Bob’s data in 𝐏l\mathbf{P}_{l} and 𝐏r\mathbf{P}_{r}, and move the data into the cross-chain state channel as its initial state. The data can be tokens, assets, or private records of Alice and Bob. Then, the data can be processed in the channel without touching blockchains. Technically, it is also feasible to record ctopenct^{open} to 𝐏l\mathbf{P}_{l} and 𝐏r\mathbf{P}_{r} by using UITS. However, we suppose that Alice and Bob are cooperative at the beginning of the cross-chain state channel. Therefore, only the ctopenct^{open} published by JITS can open a cross-chain state channel. (see line 1-4 in Protocol 3)

VI-B2 Updating operation

Updating operation includes two steps. Alice and Bob first draft an updating transaction ctmupdatect^{update}_{m}, and exchange the signatures of ctmupdatect^{update}_{m}. Second, Alice and Bob draft a punishment transaction pctm1updatepct^{update}_{m-1} to invalidate ctm1updatect^{update}_{m-1}, and exchange the signatures of pctm1updatepct^{update}_{m-1} (see line 5-8 in Protocol 3). The two steps are consistent with the existing intra-chain state channel [19]. We do not have further illustrations.

VI-B3 Closing operation

There are two categories of closing operations, which are joint closing and unilateral closing. In joint closing, Alice and Bob will publish closing transaction ctclosect^{close} to 𝐏l\mathbf{P}_{l} and 𝐏r\mathbf{P}_{r} by using JITS. According to the state in ctclosect^{close}, Alice’s and Bob’s data in the channel will be returned back to their accounts in 𝐏l\mathbf{P}_{l} and 𝐏r\mathbf{P}_{r}. Then, the cross-chain state channel is closed.

In unilateral closing, we assume that Bob attempts to unilaterally close the channel. He will publish the latest updating transaction ctmupdatect^{update}_{m} to 𝐏l\mathbf{P}_{l} and 𝐏r\mathbf{P}_{r} by using UITS. After a waiting time of Δt\Delta t, Bob will publish the confirmation transaction cctmupdatecct^{update}_{m} of ctmupdatect^{update}_{m} to 𝐏l\mathbf{P}_{l} and 𝐏r\mathbf{P}_{r} by using UITS. cctmupdatecct^{update}_{m} will return the data of Alice and Bob in ctmupdatect^{update}_{m} back to their accounts in 𝐏l\mathbf{P}_{l} and 𝐏r\mathbf{P}_{r}. Then, the cross-chain state channel is closed. (see line 9-18 in Protocol 3)

Noted, if Bob publish cctmupdatecct^{update}_{m} within the waiting time of Δt\Delta t, cctmupdatecct^{update}_{m} is invalid. Besides, if Alice notices that Bob has published ctmupdatect^{update}_{m} by UITS, she can also publish cctmupdatecct^{update}_{m} by using UITS, and cctmupdatecct^{update}_{m} takes effect immediately without waiting a time of Δt\Delta t.

VI-B4 Disputing operation

In the process that Bob unilaterally closes the cross-chain state channel, there may be a malicious behavior that Bob publishes outdated transaction ctxupdatect^{update}_{x} (0<x<m)(0<x<m) to 𝐏l\mathbf{P}_{l} and 𝐏r\mathbf{P}_{r}, attempting to deny the latest transaction ctmupdatect^{update}_{m}. For example, when ctxupdatect^{update}_{x} contains more tokens for Bob, compared with ctmupdatect^{update}_{m}, Bob may choose to close the channel by ctxupdatect^{update}_{x} instead of ctmupdatect^{update}_{m}, attempting to get more tokens back to his account. In this condition, a dispute occurs.

If Bob has the malicious behavior, ctxupdatect^{update}_{x} will be cross-chain transferred within a certain number of state synchronization rounds by UITS. Alice needs to remain online in 𝐏l\mathbf{P}_{l} system to monitor whether a ctxupdatect^{update}_{x} is recorded into 𝐏l\mathbf{P}_{l}. If yes, Alice will have UITS to publish pctxupdatepct^{update}_{x} to 𝐏l\mathbf{P}_{l} and 𝐏r\mathbf{P}_{r} within the time of Δt\Delta t. pctxupdatepct^{update}_{x} rejects ctxupdatect^{update}_{x} in 𝐏l\mathbf{P}_{l} and 𝐏r\mathbf{P}_{r}, and closes the channel in the most favorable channel state for Alice, such as returning all the tokens in the channel to Alice’s account, as a punishment to Bob. (see line 19-24 in Protocol 3)

VII Security Analysis

This section offers an informal security analysis to support the designs presented in Sections VI and V. We will explore attack vectors, potential impacts, and ways to mitigate them.

VII-A Hard Fork

A hard fork is a non-backward-compatible upgrade to a blockchain network that fundamentally changes its protocol, resulting in a split from the original chain and the creation of a new separate chain.

VII-A1 Hard fork in parachain

When a hard fork occurs in left parachain 𝐏l\mathbf{P}_{l} to create two separate parachains 𝐏l\mathbf{P}_{l}^{*} and 𝐏l\mathbf{P}_{l}^{**}. Bob in the 𝐏r\mathbf{P}_{r} system may attempt to establish two cross-chain state channels to 𝐏l\mathbf{P}_{l}^{*} and 𝐏l\mathbf{P}_{l}^{**} by only publishing one cross-chain transaction ctct. Consequently, Bob’s data in 𝐏r\mathbf{P}_{r} can be used twice. (Alice may also have the same attempt when 𝐏r\mathbf{P}_{r} has a hard fork.) To solve the problem, NR\mathrm{N}^{R} need to select the main chain in 𝐏l\mathbf{P}_{l}^{*} and 𝐏l\mathbf{P}_{l}^{**}. For example, it follows the chain with the most accumulated proof-of-work. Relay chain 𝐑\mathbf{R} only has cross-chain synchronization with the main chain. Subsequently, Bob can only establish a cross-chain state channel with Alice’s account in one of 𝐏l\mathbf{P}_{l}^{*} and 𝐏l\mathbf{P}_{l}^{**}.

VII-A2 Hard fork in relay chain

There is another possibility that a hard fork occurs in relay chain 𝐑\mathbf{R} to create 𝐑\mathbf{R}^{*} and 𝐑\mathbf{R}^{**}. The original cross-chain platform maintained by NR\mathrm{N}^{R} is divided into two platforms respectively maintained by NR\mathrm{N}^{*R} and NR\mathrm{N}^{**R}. Surprisingly, the relay chain hard fork has little impact on cross-chain state channel. Because relay chain is only an intermediary to transfer parachain state information, and it does not generate new information. If NR\mathrm{N}^{*R} or NR\mathrm{N}^{**R} have sufficiently large scale to ensure the security of 𝐑\mathbf{R}^{*} system or 𝐑\mathbf{R}^{**} system with α<1/3\alpha<1/3, the cross-chain synchronization can continue to support the operations in cross-chain state channel.

VII-B Denial-of-service Attack

The existing cross-chain platform divides the relay node cluster NR\mathrm{N}^{R} into nn relay node groups NiR\mathrm{N}^{R\sim}_{i}. This division was intended to reduce communication and calculation overhead, as NiR\mathrm{N}^{R\sim}_{i} only needs to process information from one parachain. However, this design also reduces the number of nodes in each NiR\mathrm{N}^{R\sim}_{i}, making it vulnerable to potential attacks. An adversary may attempt to take control of every node in NiR\mathrm{N}^{R\sim}_{i}. The corrupted nodes may deny to pull the parachain state or generate state proof. Consequently, relay chain 𝐑\mathbf{R} cannot receive the real-time state information of a parachain 𝐏i\mathbf{P}_{i}, which in turn affects the other parachains, causing a synchronization interruption.

To address the denial-of-service attack, NR\mathrm{N}^{R} adopt the random scheduling mechanism in XPull [17] (see Section III-B) to randomly select a new group NiR\mathrm{N}^{*R\sim}_{i} to replace NiR\mathrm{N}^{R\sim}_{i}. There is a high possibility that NiR\mathrm{N}^{*R\sim}_{i} contains a portion of normal nodes to continue the cross-chain synchronization. To break the random scheduling mechanism, the adversary needs to control the majority of relay nodes NR\mathrm{N}^{R}. We assume it is hard to achieve. Moreover, if the adversary attempts to regain control of NiR\mathrm{N}^{*R\sim}_{i}, another random scheduling can be executed to respond to it. We assume that the adversary is mildly adaptive [44], i.e. the adversary cannot instantly corrupt every node in NiR\mathrm{N}^{*R\sim}_{i}, and the corruption may only succeed after a sufficiently long period of time. Therefore, between each random scheduling, there is a time interval in which NiR\mathrm{N}^{*R\sim}_{i} includes at least one normal relay node to have cross-chain synchronization. Therefore, the interruption is only temporary, and the cross-chain synchronization can continue.

VII-C Replay Attack

Without adequate protection, a malicious party may attempt to replay cross-chain transactions. Specifically, the party publishes duplicate opening transaction ctopenct^{open} to open two cross-chain state channels without permission; the party publishes duplicate updating transaction ctmupdatect^{update}_{m} or closing transaction ctclosect^{close} to close the channel, attempting to return duplicate data to its account. A simple method to solve the problem is to add a unique identifier to each cross-chain transaction to prevent duplication.

VII-D Counterfeiting

A node in NiP\mathrm{N}^{P}_{i} may submit tampered parachain blocks to NiR\mathrm{N}^{R\sim}_{i}, and a corrupted NiR\mathrm{N}^{R\sim}_{i} may generate counterfeit zero-knowledge proofs of the parachain state, attempting to synchronize the false state proofs into other blockchains. However, when 𝐏i\mathbf{P}_{i} first established a cross-chain connection with relay chain 𝐑\mathbf{R}, the parachain protocols and parachain node identities were made public to the cross-chain platform. Based on the tamper-proof property of blockchain, the tampered blocks or state proofs violate the parachain protocol or parachain node signature, which can be easily detected. Moreover, we assume the proportion of corrupted parachain nodes have α<1/3\alpha<1/3. Therefore, the adversary does not process enough hash rate (in PoW) or stake (in PoS) to create a replica of parachain, and consequently, the counterfeiting is hard to achieve.

VII-E Eclipse Attack

Bob may unilaterally close the cross-chain state channel by publishing an outdated updating transaction ctxupdatect^{update}_{x}, attempting to deny the latest updating transaction ctmupdatect^{update}_{m} (0<x<m)(0<x<m) (see Section VI-B). At the same time, an adversary may create a fake network environment around Alice to prevent her from learning the publication of ctxupdatect^{update}_{x} through accessing 𝐏l\mathbf{P}_{l}, attempting to let Alice miss the opportunity to solve the dispute. For this problem, Alice needs to keep updating her local state of 𝐏l\mathbf{P}_{l} by receiving new 𝐏l\mathbf{P}_{l} blocks. If the new blocks cannot be received, she needs to find new P2P connections to ensure that at least one honest node of 𝐏l\mathbf{P}_{l} can provide the service to prevent eclipse attacks.

VII-F Conspiracy Attack

Alice and Bob having a cross-chain state channel may attempt to collude to create blockchain data out of thin air. For example, between parachain 𝐏l\mathbf{P}_{l} and 𝐏r\mathbf{P}_{r}, Alice and Bob each contribute 50 tokens to open a cross-chain state channel, noted (50,50)(50,50), which includes 100 tokens in total. Next, Alice and Bob attempt to publish ctxupdatect^{update}_{x} to 𝐏l\mathbf{P}_{l} to close the channel in a state of (100,0)(100,0), by which Alice has 100 tokens returned to her account in 𝐏l\mathbf{P}_{l}. Then, Alice and Bob attempt to publish ctyupdatect^{update}_{y} to 𝐏r\mathbf{P}_{r} to close the channel in a state of (0,100)(0,100), by which Bob has 100 tokens returned to his account in 𝐏r\mathbf{P}_{r}. Finally, Alice and Bob have 200 tokens in total, with 100 tokens created out of thin air. The timeliness of cross-chain synchronization ensures that 𝐏l\mathbf{P}_{l} and 𝐏r\mathbf{P}_{r} learn the real-time states of each other. When a cross-chain transaction ctct is recorded in one of 𝐏l\mathbf{P}_{l} and 𝐏r\mathbf{P}_{r}, ctct will be definitely recorded in the other one. Therefore, the ctxupdatect^{update}_{x} and ctyupdatect^{update}_{y} closing the same channel can be detected to conflict, and they will be refused by both 𝐏l\mathbf{P}_{l} and 𝐏r\mathbf{P}_{r}, in which the conspiracy attack is hard to succeed.

VII-G Noncooperation

The noncooperation may occur during JITS, in which one of Alice and Bob refuses to cooperate with the other one. For example, Alice may refuse to publish ctct to 𝐏l\mathbf{P}_{l}, send the membership witness wct,lw^{ct,l} to Bob, nor publish wct,rw^{ct,r} to 𝐏l\mathbf{P}_{l}. In these conditions, NlR\mathrm{N}^{R\sim}_{l} or NrR\mathrm{N}^{R\sim}_{r} will detect that 𝐏l\mathbf{P}_{l} or 𝐏r\mathbf{P}_{r} has only recorded ctct without recording ctct membership witness in the other parachain. If the problem persists for a long enough time, NlR\mathrm{N}^{R\sim}_{l} or NrR\mathrm{N}^{R\sim}_{r} will switch to UITS to have the synchronization of ctct, using relay chain 𝐑\mathbf{R} to transfer ctct and its membership witnesses. Therefore, the noncooperation can only degrade JITS to UITS. The transaction synchronization can still be finished.

VIII Experiment and Evaluation

VIII-A Implementation

We develop a prototype implementation of Interpipe. The main process is written in Golang, Rust, and C++. In addition, the recursive proof algorithm utilizes Nova [42], and the hash algorithm adopts SHA-256. The blockchains, including a relay chain and two parachains, are based on Ouroboros consensus protocol [44]. We adjust the consensus slot to keep the block generation rate at 18 seconds per block. The system of relay chain 𝐑\mathbf{R} includes 120 relay nodes, denoted as NR\mathrm{N}^{R}. They are implemented with Intel Xeon Platinum 8280 @2.7GHz, 256GB DDR4 ECC DIMMs, and Windows Server operation system. In the initialization phase of relay chain system, two groups NlR\mathrm{N}^{R\sim}_{l} and NrR\mathrm{N}^{R\sim}_{r}, each including 8 nodes, are randomly selected from NR\mathrm{N}^{R} using a distributed randomness beacon based on Drand [47]. The system of two parachains 𝐏l\mathbf{P}_{l} and 𝐏r\mathbf{P}_{r} respectively include 100 parachain nodes, denoted as NlP\mathrm{N}^{P}_{l} and NrP\mathrm{N}^{P}_{r}. They are deployed on two hosts with Intel Core i9-13900K @3.0GHz, 64G DDRS 5200MHz XMP, and Windows operation system. Then, we deploy Protocol 1, 2, and 3 to Interpipe.

In each round of state synchronization, the state proofs of 𝐏l\mathbf{P}_{l} and 𝐏r\mathbf{P}_{r} are generated and transferred by relay nodes. The individuals within Interpipe will not have direct operations to state synchronization, as it automatically continues in the background to keep the consistency between parachains. We evaluate the proof generation efficiency in this process, and compare it with the existing work zkBridge [14], which is illustrated in Section VIII-B. In the next process, two operators, respectively situated in 𝐏l\mathbf{P}_{l} and 𝐏r\mathbf{P}_{r} systems, first achieve the synchronization of a blank cross-chain transaction ctct by using UITS and JITS. Then, ctct is replaced by ctopenct^{open}, ctupdatect^{update}, ctclosect^{close}, and pctupdatepct^{update} to achieve the opening, updating, closing, and disputing operations to cross-chain state channel. We evaluate the throughput occupancy and time cost with different round duration, and compare the performance between Interpipe and the previous intra-chain state channel, which is illustrated in Section VIII-C.

VIII-B Proof Generation Efficiency

We compare the proof generation time cost of Interpipe with the most recent work zkBridge [14] by the blockchain length as a variable. Based on the strategy of zkBridge, we divide the arithmetic circuits in the parachain into MM copies, and distribute the MM copies to MM relay nodes for calculation, thereby increasing the proof generation speed by MM times. In our experiment (see Fig. 7), we set the value of MM to be 8 and 4, although this value can be larger in practical situations. However, zkBridge is only designed for one-round proof and does not make use of the proof generated in the previous round. Consequently, the arithmetic circuits in old blocks have to be recalculated in every round. It results in an increase in proving time as the blockchain length grows. In contrast, we use recursive SNARK to generate the state proof in Interpipe. To facilitate proof generation, the cross-chain transactions are included in a subtree of the Merkle tree in each parachain block. It takes about 7 seconds to finish the calculation of the arithmetic circuits in one block. The processes of proof generation and proof transfer can be carried out in parallel, with minimal impact on the time costs of each other. The experiment result shows that Interpipe’s proving time remains relatively constant, as it does not require the recalculation of old blocks, and the number of new blocks generated in each round is almost constant.

We also evaluate the proof generation time cost with different cross-chain transaction proportions qq (see Fig. 8). For a parachain, each parachain block includes about 55 transactions, with a proportion of cross-chain transactions denoted as qq where (0<q<1)(0<q<1). In a practical situation, the value of qq depends on the preferences of all users in a parachain system. Considering most of the transactions in existing blockchains, such as Bitcoin and Ethereum, primarily focus on the internal affairs within the system, we set a relatively small value for qq, in which 0<q<0.10<q<0.1. The result shows that the time cost of Interpipe increases with qq. Because batch transaction proof needs to prove every cross-chain transaction in the new block, leading to increased computation with a higher number of cross-chain transactions. In comparison, the time cost of zkBridge does not exhibit significant changes, as zkBridge is designed to prove individual cross-chain transactions. However, the time cost of Interpipe is still lower than the time cost of zkBridge, as the scale of cross-chain transactions in new blocks is much smaller than the scale of old blocks.

Refer to caption
Figure 7: Proof generation time cost with different blockchain length
Refer to caption
Figure 8: Proof generation time cost with different cross-chain transaction proportion

VIII-C Comparison to Intra-chain State Channel

We begin by evaluating the performance of state synchronization. The duration of each round of state synchronization can be adjusted. Its value must be sufficiently large to prevent an excessively high frequency of state synchronization, which could lead to an accumulation of redundant state proofs in 𝐑\mathbf{R}, thereby occupying its throughput (see Fig. 9). Conversely, a longer round duration results in increased wait times for users (see Fig. 10). The time costs associated with opening, closing, and disputing operations all rise with longer durations, while the time cost of updating operations remains constant, given that updates are executed off-chain. Consequently, there exists a trade-off between minimizing throughput occupancy and ensuring better service quality. The maintainers of a cross-chain platform need to find an appropriate balance in practical situations.

Adhering to our threat model, we maintain that a transaction within a blockchain achieves persistence when it reaches a depth of kk blocks, where k=9k=9. Concerning the trade-off in round duration, we have selected 240 seconds as the suitable duration for state synchronization. To compare the performance of the cross-chain state channel (CCSC) in Interpipe with the existing intra-chain state channel (ICSC) operating within a blockchain system, we deploy the ICSC protocol [19] to a parachain system. The comparison of their performance is outlined in Table II. The opening, closing, and disputing operations to CCSC indeed have a larger time cost than the same operations to ICSC. Because each operation to CCSC needs to have a transaction synchronization including 2 or more steps. A step refers to a cross-chain transaction or membership witness being recorded into a blockchain and becoming stable over time, with StepsJITS=2Steps^{\emph{JITS}}=2 and StepsUITS=5Steps^{\emph{UITS}}=5. Moreover, each transaction synchronization needs to wait for the state synchronization to enable cross-chain verification to the cross-chain transaction or membership witness, thereby incurring additional time costs. However, in updating operation, CCSC and ICSC exhibit similar time costs with relatively small values. As the updating operations play the main roles in off-chain interactions, if there are no urgent needs or malicious behaviors to close the channel, CCSC can be nearly as efficient as ICSC in most cases.

Refer to caption
Figure 9: Throughput occupancy with different round duration
Refer to caption
Figure 10: Operation time cost with different round duration
TABLE II: Comparison between ICSC and CCSC
Operation Steps Time Cost
ICSC Opening 1 3.6 min
Updating 0 62 ms
Closing (Joint) 1 3.7 min
Closing (Unilateral) 1 3.7 min
Disputing 1 5.5 min
CCSC Opening 2 12.5 min
Updating 0 105 ms
Closing (JITS) 2 13.4 min
Closing (UITS) 5 29.5 min
Disputing 5 36.9 min

IX Conclusion

In this paper, we present a distributed cross-chain state channel scheme, called Interpipe. To meet the cross-chain verification needs of large-scale users, we propose a batch transaction proof scheme based on recursive SNARK. To achieve consistent operations between two blockchains, we propose a real-time cross-chain synchronization scheme. Based on the above designs, Interpipe offers protocols for opening, updating, closing, and disputing to cross-chain state channels. We have a security analysis of Interpipe, in which Interpipe can keep consistency, and withstand various existing attacks. The experimental results show that cross-chain state channels can be nearly as efficient as existing intra-chain state channels.

References

  • [1] S. Nakamoto, “Bitcoin: A peer-to-peer electronic cash system,” Decentralized business review, 2008.
  • [2] D. D. F. Maesa and P. Mori, “Blockchain 3.0 applications survey,” Journal of Parallel and Distributed Computing (JPDC), vol. 138, pp. 99–114, 2020.
  • [3] G. Wood et al., “Ethereum: A secure decentralised generalised transaction ledger,” Ethereum project yellow paper, vol. 151, pp. 1–32, 2014.
  • [4] M. Mettler, “Blockchain technology in healthcare: The revolution starts here,” in Proceedings of the 18th international conference on e-health networking, applications and services (Healthcom), 2016, pp. 1–3.
  • [5] M. M. Queiroz, R. Telles, and S. H. Bonilla, “Blockchain and supply chain management integration: a systematic review of the literature,” Supply chain management: An international journal, vol. 25, pp. 241–254, 2020.
  • [6] M. Taghavi, J. Bentahar, H. Otrok, and K. Bakhtiyari, “A blockchain-based model for cloud service quality monitoring,” IEEE Transactions on Services Computing (TSC), vol. 13, pp. 276–288, 2019.
  • [7] V. Buterin, “Chain interoperability,” R3 Research, Tech. Rep., 2016. [Online]. Available: https://allquantor.at/blockchainbib/pdf/buterin2016chain.pdf
  • [8] A. Aspris, S. Foley, J. Svec, and L. Wang, “Decentralized exchanges: The “wild west” of cryptocurrency trading,” International Review of Financial Analysis, vol. 77, p. 101845, 2021.
  • [9] M. Herlihy, “Atomic cross-chain swaps,” in Proceedings of the 2018 ACM symposium on principles of distributed computing (PODC), 2018, pp. 245–254.
  • [10] I. Tsabary, M. Yechieli, A. Manuskin, and I. Eyal, “Mad-htlc: because htlc is crazy-cheap to attack,” in Proceedings of the 2021 IEEE Symposium on Security and Privacy (SP), 2021, pp. 1230–1248.
  • [11] A. Back, M. Corallo, L. Dashjr, M. Friedenbach, G. Maxwell, A. Miller, A. Poelstra, J. Timón, and P. Wuille, “Enabling blockchain innovations with pegged sidechains,” Blockstream, Tech. Rep., 2014. [Online]. Available: http://kevinriggen.com/files/sidechains.pdf
  • [12] “Btc relay,” Github, Tech. Rep., 2017. [Online]. Available: https://github.com/ethereum/btcrelay
  • [13] A. Zamyatin, D. Harz, J. Lind, P. Panayiotou, A. Gervais, and W. Knottenbelt, “Xclaim: Trustless, interoperable, cryptocurrency-backed assets,” in Proceedings of the 2019 IEEE Symposium on Security and Privacy (SP), 2019, pp. 193–210.
  • [14] T. Xie, J. Zhang, Z. Cheng, F. Zhang, Y. Zhang, Y. Jia, D. Boneh, and D. Song, “zkbridge: Trustless cross-chain bridges made practical,” in Proceedings of the 2022 ACM SIGSAC Conference on Computer and Communications Security (CCS), 2022, pp. 3003–3017.
  • [15] J. Burdges, A. Cevallos, P. Czaban, R. Habermeier, S. Hosseini, F. Lama, H. K. Alper, X. Luo, F. Shirazi, A. Stewart et al., “Overview of polkadot and its design considerations,” arXiv preprint, 2020.
  • [16] J. Kwon and E. Buchman, “Cosmos whitepaper,” Cosmos Network, Tech. Rep., 2020. [Online]. Available: https://v1.cosmos.network/resources/whitepaper
  • [17] X. Liang, J. Chen, and D. Ruiying, “Xpull: A relay-based blockchain intercommunication framework achieving cross-chain state pulling,” Chinese Journal of Electronics, vol. 33, pp. 1–14, 2023.
  • [18] F. Li, S. Wei, B. Jiang, N. Liu, J. Louey, S. Chen, A. Hoo, M. Zheng, J. Qi, and L. Lyu, “Global crypto industry overview and trends,” Huobi Research, Tech. Rep., 2022. [Online]. Available: https://research.huobi.com/#/ArticleDetails?id=356
  • [19] J. Poon and T. Dryja, “The bitcoin lightning network: Scalable off-chain instant payments,” Lightning Network, Tech. Rep., 2016. [Online]. Available: https://lightning.network/lightning-network-paper.pdf
  • [20] G. Malavolta, P. Moreno-Sanchez, A. Kate, M. Maffei, and S. Ravi, “Concurrency and privacy with payment-channel networks,” in Proceedings of the 2017 ACM SIGSAC Conference on Computer and Communications Security (CCS), 2017, pp. 455–471.
  • [21] C. Egger, P. Moreno-Sanchez, and M. Maffei, “Atomic multi-channel updates with constant collateral in bitcoin-compatible payment-channel networks,” in Proceedings of the 2019 ACM SIGSAC Conference on Computer and Communications Security (CCS), 2019, pp. 801–815.
  • [22] L. Aumayr, K. Abbaszadeh, and M. Maffei, “Thora: Atomic and privacy-preserving multi-channel updates,” in Proceedings of the 2022 ACM SIGSAC Conference on Computer and Communications Security (CCS), 2022, pp. 165–178.
  • [23] L. Aumayr, S. A. Thyagarajan, G. Malavolta, P. Moreno-Sanchez, and M. Maffei, “Sleepy channels: Bi-directional payment channels without watchtowers,” in Proceedings of the 2022 ACM SIGSAC Conference on Computer and Communications Security (CCS), 2022, pp. 179–192.
  • [24] N. Papadis and L. Tassiulas, “Payment channel networks: Single-hop scheduling for throughput maximization,” in Proceedings of the 2022 IEEE Conference on Computer Communications (INFOCOM), 2022, pp. 900–909.
  • [25] S. Dziembowski, L. Eckey, S. Faust, and D. Malinowski, “Perun: Virtual payment hubs over cryptocurrencies,” in Proceedings of the 2019 IEEE Symposium on Security and Privacy (SP), 2019, pp. 106–123.
  • [26] S. Dziembowski, L. Eckey, S. Faust, J. Hesse, and K. Hostáková, “Multi-party virtual state channels,” in Proceedings of the Annual International Conference on the Theory and Application of Cryptographic Techniques (EUROCRYPT), 2019, pp. 625–656.
  • [27] L. Aumayr, M. Maffei, O. Ersoy, A. Erwig, S. Faust, S. Riahi, K. Hostáková, and P. Moreno-Sanchez, “Bitcoin-compatible virtual channels,” in Proceedings of the 2021 IEEE Symposium on Security and Privacy (SP), 2021, pp. 901–918.
  • [28] X. Jia, Z. Yu, J. Shao, R. Lu, G. Wei, and Z. Liu, “Cross-chain virtual payment channels,” IEEE Transactions on Information Forensics and Security (TIFS), vol. 18, pp. 3401–3413, 2023.
  • [29] Y. Guo, M. Xu, D. Yu, Y. Yu, R. Ranjan, and X. Cheng, “Cross-channel: Scalable off-chain channels supporting fair and atomic cross-chain operations,” IEEE Transactions on Computers (TC), vol. 72, pp. 3231–3244, 2023.
  • [30] S. Dziembowski, S. Faust, and K. Hostáková, “General state channel networks,” in Proceedings of the 2018 ACM SIGSAC Conference on Computer and Communications Security (CCS), 2018, pp. 949–966.
  • [31] J. Chen, X. Chen, K. He, R. Du, W. Chen, and Y. Xiang, “Delia: Distributed efficient log integrity audit based on hierarchal multi-party state channel,” IEEE Transactions on Dependable and Secure Computing (TDSC), vol. 19, pp. 3286–3300, 2021.
  • [32] F. Zhang, S. Guo, X. Qiu, S. Xu, F. Qi, and Z. Wang, “Federated learning meets blockchain: State channel based distributed data sharing trust supervision mechanism,” IEEE Internet of Things Journal (IOT), vol. 10, pp. 12 066–12 076, 2021.
  • [33] M.-H. Jeong and S.-K. Kim, “Video streaming based on blockchain state channel with iot camera,” Journal of Web Engineering (JWE), vol. 21, pp. 661–676, 2022.
  • [34] R. C. Merkle, “A digital signature based on a conventional encryption function,” in Proceedings of the Conference on the theory and application of cryptographic techniques (CRYPTO), 1987, pp. 369–378.
  • [35] J. Benaloh and M. De Mare, “One-way accumulators: A decentralized alternative to digital signatures,” in Proceedings of the Workshop on the Theory and Application of of Cryptographic Techniques (EUROCRYPT), 1993, pp. 274–285.
  • [36] N. Barić and B. Pfitzmann, “Collision-free accumulators and fail-stop signature schemes without trees,” in Proceedings of the International Conference on the Theory and Applications of Cryptographic Techniques (EUROCRYPT), 1997, pp. 480–494.
  • [37] J. Camenisch and A. Lysyanskaya, “Dynamic accumulators and application to efficient revocation of anonymous credentials,” in Proceedings of the Annual International Cryptology Conference (CRYPTO), 2002, pp. 61–76.
  • [38] D. Boneh, B. Bünz, and B. Fisch, “Batching techniques for accumulators with applications to iops and stateless blockchains,” in Proceedings of the Annual International Cryptology Conference (CRYPTO), 2019, pp. 561–586.
  • [39] I. Miers, C. Garman, M. Green, and A. D. Rubin, “Zerocoin: Anonymous distributed e-cash from bitcoin,” in Proceedings of the 2013 IEEE Symposium on Security and Privacy (SP), 2013, pp. 397–411.
  • [40] E. B. Sasson, A. Chiesa, C. Garman, M. Green, I. Miers, E. Tromer, and M. Virza, “Zerocash: Decentralized anonymous payments from bitcoin,” in Proceedings of the 2014 IEEE Symposium on Security and Privacy (SP), 2014, pp. 459–474.
  • [41] A. Bhat, N. Shrestha, Z. Luo, A. Kate, and K. Nayak, “Randpiper–reconfiguration-friendly random beacons with quadratic communication,” in Proceedings of the 2021 ACM SIGSAC Conference on Computer and Communications Security (CCS), 2021, pp. 3502–3524.
  • [42] A. Kothapalli, S. Setty, and I. Tzialla, “Nova: Recursive zero-knowledge arguments from folding schemes,” in Proceedings of the Annual International Cryptology Conference (CRYPTO), 2022, pp. 359–388.
  • [43] A. Gervais, G. O. Karame, K. Wüst, V. Glykantzis, H. Ritzdorf, and S. Capkun, “On the security and performance of proof of work blockchains,” in Proceedings of the 2016 ACM SIGSAC Conference on Computer and Communications Security (CCS), 2016, pp. 3–16.
  • [44] A. Kiayias, A. Russell, B. David, and R. Oliynykov, “Ouroboros: A provably secure proof-of-stake blockchain protocol,” in Proceedings of the Annual International Cryptology Conference (CRYPTO), 2017, pp. 357–388.
  • [45] J. Garay, A. Kiayias, and N. Leonardos, “The bitcoin backbone protocol: Analysis and applications,” in Proceedings of the Annual International Conference on the Theory and Applications of Cryptographic Techniques (EUROCRYPT), 2015, pp. 281–310.
  • [46] D. Kraft, “Difficulty control for blockchain-based consensus systems,” Peer-to-peer Networking and Applications (PPNA), vol. 9, pp. 397–413, 2016.
  • [47] “Drand-a distributed randomness beacon daemon,” DEDIS organization, Tech. Rep., 2023. [Online]. Available: https://github.com/drand/drand

X Biography Section

[Uncaptioned image] Xinyu Liang received the master’s degree in Computer Science from Central China Normal University in 2018. He is currently working toward the Ph.D. degree in information security, Wuhan University, Wuhan. His research interests include blockchain and computer network.
[Uncaptioned image] Ruiying Du received the BS, MS, PH. D degrees in computer science in 1987, 1994 and 2008, from Wuhan University, Wuhan, China. She is a professor at School of Cyber Science and Engineering, Wuhan University. Her research interests include network security, wireless network, cloud computing and mobile computing. She has published more than 80 research papers in many international journals and conferences, such as IEEE Transactions on Parallel and Distributed System, International Journal of Parallel and Distributed System, INFOCOM, SECON, TrustCom, NSS.
[Uncaptioned image] Jing Chen received the Ph.D. degree in computer science from Huazhong University of Science and Technology, Wuhan. He worked as a full professor in Wuhan University from 2015. His research interests in computer science are in the areas of network security, cloud security. He has published more than 100 research papers in many international journals and conferences, such as TDSC, TIFS, TMC, INFOCOM, TC, TPDS, et al. He acts as a reviewer for many journals and conferences, such as IEEE Transactions on Information Forensics, IEEE Transactions on Computers, IEEE/ACM Transactions on Networking.
[Uncaptioned image] Yu Zhang was born in Shandong Province, China, in 1984. He received the Ph.D. degree from Wuhan University, China, in 2015. He is an engineer in Beijing Infosec Technologies Co., LTD. . His main research direction is network security.
[Uncaptioned image] Meng Jia received the B.S. degree in computer science and technology from Wuhan University, Wuhan, China, in 2018. She is currently pursuing the Ph.D. degree with the School of Cyber Science and Engineering, Wuhan University, Wuhan, China. Her research interests include blockchain and applied cryptography.
[Uncaptioned image] Shixiong Yao received the Ph.D. degree in information security in the School of Cyber Science and Engineering in Wuhan University. He is currently a lecturer with the school of computer, Central China Normal University, Wuhan. He has published papers in many international journals and conferences, such as the INFOCOM, TrustCom, the International Symposium on Emerging Information Security and Applications (EISA), the International Journal of Network Management (IJNM). His research interests are in the areas of Blockchain and Identity Management.