Abstract
A “confidential monetary value” carries information about the real monetary value but does not disclose it. Post-quantum private blockchains with confidential monetary values—large-sized blockchains with large verification times—have the least scalability because they need to save and verify more information than those with “plain-text monetary values”. High scalability is an essential security requirement for decentralized blockchain payment systems because the more honest peers who can afford to verify the blockchain copies are, the higher the security. We propose a quantum-safe transaction protocol for confidential monetary blockchains, LACT+ (Lattice-based Aggregable Confidential Transactions), which is more scalable than previous post-quantum confidential blockchains, i.e., many input/output transactions with logarithmic sized complexity.
1. Introduction
Blockchain-based cryptocurrencies have become popular due to the security of decentralization, i.e., there is no single point of failure and no single authority in control. However, decentralization has a downside because it requires many honest peers to keep a copy of the blockchain and constantly verify it. Otherwise, malicious peers can alter the cash system for their gain. The number of honest peers mainly depends on the system’s scalability (size and verification time) because peers have to spend their resources like space and computational power to save and verify blockchains. Despite the security and privacy, “quantum-safe” and “confidential” cryptocurrencies have the least scalability because they need special computations and algorithms that require more space and more computational power. This paper introduces a more scalable quantum-safe confidential blockchain transaction method, LACT+, where we only need 5.7 KB to store a confidential monetary value, whereas refs. [1,2] need >30 KB and 9.6 KB, respectively.
Confidential Transactions. Cryptocurrencies are public records accessible by anyone. Even though pseudonyms are commonly used, refs. [3,4,5,6,7,8,9] show that these identities can be linked to real identities. Therefore, maintaining monetary amounts in “plain text” is a major privacy concern. Confidential transactions (CT) solve this problem by keeping monetary values confidential yet providing tools to verify that hidden coin amounts are not negative, stolen, or double spent. However, this enhanced privacy comes at the cost of scalability because these tools generate proofs that should be stored in the blockchain, and verification of these proofs takes more computational power than simply checking plain-text numbers.
Aggregable Transactions. A transaction takes a set of current coins, changes their ownership, and updates the blockchain with that information. Hence, blockchain verifiers need to know “who has coins? Furthermore, are they only spending what they have?”. Hence, they mainly need to know about current coins and who has them, not who had them. As the name implies, aggregable transactions aggregate multiple transactions into a smaller transaction, and this aggregated transaction shows “who has coins after those transactions”. For example, if sends coins to and , and sends their coins to , the aggregated transaction shows that and have coins, and forgets that and had coins. Hence, an aggregable blockchain is a single aggregated transaction of all previous transactions. This forgotten information reduces the size and verification time and improves scalability significantly. However, previous aggregable blockchains refs. [1,2,10,11,12,13,14] cannot prove that the aggregated blockchain is the aggregated version of the “right” or the consensus accepted blockchain (more theoretically, previous aggregated blockchains are not “immutable”). Hence, despite the high scalability, “peers” have to download and verify the complete blockchain.
Quantum Safety. Recent developments in quantum computing, e.g., IBM’s roadmap ref. [15], show that quantum adversaries can be a real threat even to the current standardized security level in the near future. Post-quantum (we use “post-quantum”, “quantum-safe”, or “quantum-resistant” to describe plausibly quantum-secure protocols) payments started receiving attention because many established decentralized payments are based on the discrete-logarithmic problem (DLP), which is vulnerable to quantum adversaries. Not only transparent payments, but many aggregable confidential transactions refs. [10,11,12,13,14] are also based on DLP and equally vulnerable to quantum adversaries. Ref. [1,2] introduced two quantum-safe aggregable confidential transactions that are based on the short integer solution problem (SIS) and the modular SIS. However, ref. [1] has an inefficient proof system and the transactions of ref. [2] are limited to a maximum two inputs and two outputs.
This paper proposes an immutable aggregable confidential transaction protocol, LACT+ (Lattice-based Aggregable Confidential Transactions), based on approximate modular SIS (approximate SIS), to provide post-quantum security with practical scalability.
1.1. Related Work
Let us explain the key components of decentralized aggregable payments that lead to LACT+. Note that here, we sketch a common protocol that describes refs. [1,2,10,11,12,13,14] generally regardless of their “hardness assumption”, e.g., they can be based on DLP or SIS.
Digital Coins from Cryptographic View. Decentralized payment systems store monetary values as digital coins where each coin represents some amount of the smallest unit (e.g., the number of cents). These digital coins are stored in the public domain, where anyone has access. Therefore, coins need a security mechanism to prevent theft. Let there be a digital signature scheme that signs messages when its key card (secret signing key) is presented and the public key of the key card tells anyone whether it produced the signed message or not. Users attach these public keys to their digital coin(s) and securely keep the key card(s) with them. Wherever they want to spend the coins, they create a signed receipt, and they send the signed receipt to the network. Because the public key verifies the signed receipts without key cards, the whole network can verify that the legitimate owner is spending the coin. However, once the coins are sent, the new owner attaches a new public key to the coins where only he/she has a key card to it. In that way, after sending the coins, previous owners cannot take coins back because they do not have new key cards. The signed receipts are known as digital signatures.
Transparent Digital Coin Transactions. Users create transactions when they want to send digital coins or receive them. A transaction turns a set of current unspent coins (inputs) into spent coins and produces new unspent coins (outputs). However, a transaction should not illegally generate coins—the input coins should be equal to the output coins—or allow coins to be stolen. Therefore, each transaction has a header that proves the total coin amount summation (1. summation proof) and the digital signatures of coins (2. ownership proofs). In transparent coin transactions, the summation proof is simple and only contains the number of supplied coins (e.g., mining reward) and transaction fee because the verifiers can add the numbers and can check that input coins and the supplied coins are equal to the output coins and the transaction fee. However, the ownership proof is linear in the number of unique public keys of inputs, i.e., the ownership proof of the transaction is the set of signatures of all unique input public keys refs. [16,17].
Confidential Digital Coins. Instead of plain-text coins, confidential payment systems keep coins’ value hidden. We call them “confidential coins”. A confidential coin is a commitment for the coin amount and a range proof to prove that the hidden coin amount is in the accepted range, e.g., . A commitment can be viewed as a safe box that hides coins and is locked with a secret key (a.k.a., blinding key or the masking key). Yet, anyone can verify that the hidden coin amount is in the accepted range using the cryptographic range proof (even though proving the range of physical coins is impossible without opening the safe-box, it is actually possible with digital coin commitments!). These range proofs are called “zero-knowledge proofs” because they do not reveal anything other than the designated knowledge statement. In this case, the proofs only show that values are in the accepted range.
Confidential Transactions (CT). There are two categories of CTs; (1) Ring CTs which obfuscate the senders and receivers with shadow participants refs. [18,19,20,21,22] and (2) Aggregable CTs which allow aggregating multiple transactions into one transaction by removing spent coin records refs. [1,2,10,11,12,13,14]. In general, confidential transactions are similar to the transparent transactions but with the following main differences,
- they transact confidential coins, and
- their headers contain zero-knowledge summation proofs to show that hidden input coins are equal to hidden output coins, along with plain-text supplied coins and fees.
However, Ring CTs and aggregable CTs have different ownership proofs. Ring CTs’ ownership proofs are threshold signatures or one/many-out-of-many proofs that are either linear or logarithmic in the number of unique participants, whereas, aggregable CTs’ reuse their summation proofs as ownership proofs ref. [10]. Due to this reuse and removing spent coin records, aggregable CTs provide better scalability than Ring CTs. From now on, we use CT for aggregable CTs.
Ownership + Summation Proofs. Let there be an additively homomorphic commitment that hides and binds when v is the coin amount and k is the secret masking key. Here, “binding” means that it is computationally impossible to find another pair for the same u, and “additively homomorphic” denotes that . A confidential coin is a commitment and a range proof of that commitment. For example, , and verifies that u’s hidden coin amount is in .
Assume that a set of participants want to spend confidential coins and create new confidential coins for the supplied coins s and the transaction fee f. Then they compute a public key out of commitments such that
because if the owners do not illegally generate coins.
Aggregable CTs’ digital signature schemes use commitments as their public keys. However, a valid signature can be created if and only if the commitments’ value is zero refs. [1,10,11,12,13,14]. In the previous equation, if participants do not generate coins illegally, they can create digital signatures for using the aggregated secret key . Hence a signature of can prove (1) the summation and (2) the ownership because a digital signature can only be created if all the secret keys are known.
Lattice-based Ownership+Summation Proofs. Ref. [1] introduced the first quantum-safe aggregable CT protocol. However, ref. [1] is inefficient leading to KB commitments. Ref. [2] proposed the first practical aggregable post-quantum CT protocol, LACT, based on the Module-Ring Short Integer Problem (MSIS). LACT significantly improves efficiency by storing coins in their binary forms such that instead of the full integer, when . LACT’s confidential integers are binary commitments and a range proof for all bits, i.e., when verifies that the bits of u’s hidden coin amount are in . More concretely, LACT’s commitments are only 9.6 KB long for coins in .
However, summation does not work anymore because adding two binary commitments does not output a binary commitment due to carries. Therefore, LACT use carry proofs to fix the summation. Each carry proof has a commitment of carries and a range proof to show that each carry is either 0 or 1. Therefore, a LACT header contains supplied coins, transaction fee, a digital signature and a carry proof to prove the ownership and the summation of hidden coins.
Unprovable Immutability. In blockchains refs. [16,17], transaction headers are securely stored with consensus proofs to show that the community has accepted the that version of the blockchain, which is the “right blockchain”. If somebody changes the right blockchain, the consensus proofs will indicate that there was an altercation, i.e., immutability. However, current aggregable CT protocols refs. [2,10,11,12,13,14] do not provide proper immutability proofs for aggregated blockchains, only for complete blockchains. Therefore, despite the aggregation, peers have to keep all coin records for the verification, e.g., Grin ref. [23] and Beam ref. [24]—which use Mimblewimble aggregable transactions refs. [10,11,12,13] keep all transactions to provide immutability. Therefore, aggregable CTs do not reduce the overall blockchain size nor provide trustless verification for aggregable CTs in current settings.
1.2. Our Contribution
We introduce LACT+, a more efficient Lattice-based Aggregable Confidential Transaction protocol with provable immutability. Furthermore, we implement a public LACT+ C library ref. [25] and provide formal security proofs.
Approx-SIS. LACT+ uses the Approximate Module Short Integer Problem (Approx-SIS) ref. [26] which can be tightly reduced to LWE (Learning with Errors ref. [27]) or SIS ref. [28]. Approx-SIS creates shorter proofs by dropping low bits of each polynomial coefficient without affecting security when the dropped bits are smaller than some norm, e.g., each LACT+ commitment drops 14 bits from coefficients and reduces the size from 8.4 KB to 5.7 KB.
More than 2 inputs/outputs. LACT’s main constraint was that a maximum of two inputs or outputs could be included in a transaction because the carries must be in [0, 1]. If there are more than two inputs/outputs, they had to be separated into multiple transactions, and each transaction includes an additional carry proof. LACT+ transactions allow having more than two inputs or outputs at a logarithmic cost, i.e., for x number of in/outputs. Hence, LACT+ does not unnecessarily increase the size of the header.
Trustless Immutability. Previous aggregable CTs’ headers are malleable, or the owners of the transactions can use the same header set for different unspent coins. This allows the owners to forge many chains for the same header with different unspent coins or spent coins refs. [10,13]. Hence, preserving headers is not sufficient to provide immutability, and block creators hash the whole transaction and save the transaction hash through the consensus mechanism. Therefore, the peers must download the complete chain (note that we do not consider users who depend on “trusted” peers without verifying the blockchain as peers because they are replicas of the those “trusted” peers). Hence, except for the efficient ownership + summation proofs, the aggregation has no use to the peers who do not blindly trust other peers.
As a solution, LACT+ headers contain aggregable activity proofs ref. [29] to prevent the forging of different blockchains for the consensus accepted headers, i.e., each transaction header contains an activity proof for that transaction, and by giving the same input and output coin records, the activity proof verifies that they existed. More importantly, an aggregated activity proof can verify the activities of an aggregated CT; hence, chains’ unspent coin records cannot be forged. Not only that, activity proofs are constant sizes for any number of inputs and outputs, e.g., 49 bytes in LACT+. Hence, activity proofs do not break transaction aggregation, but at a tiny cost, peers can download a small aggregated chain and verify the existence of coins without blindly trusting other peers.
Table 1 compares LACT+ with other CT protocols.
Table 1.
Comparison of Confidential Transactions.
2. Preliminary
An integer ring is which has integers in for an odd prime q. A polynomial ring is with for some integer . A fully splitting ring is where each polynomial coefficient is in for a prime . A polynomial is denoted with an upper arrow, e.g., that is in or . We denote vectors of n elements in bold letters () and matrices of m vectors in capital bold letters (). Similarly, polynomial vectors are denoted as , and matrices are denoted as . denotes the polynomial multiplication of and . is a scalar multiplication where each coefficient is multiplied by scalar x.
Uniform sampling of some set S is denoted as . A negligible function of security parameter is denoted as for some natural number c. The security parameter and public parameters are commonly referred as and . We only use the following norms: the infinity norm and the level 1 norm . and are a vector of all zero values and a zero polynomial of all zero coefficients, respectively. either outputs of L elements or such that according to the context. outputs polynomial such that the coefficient of is , and other coefficients are zeros s.t. . and denote high bits and low bits of such that . Furthermore, . We use these functions for polynomial vectors in an element-wise manner, e.g., to denote high-bit polynomial vectors. Note that we use polynomial rotations to change the locations of bits. For example,
2.1. Common Security Properties
First, we start with the common security definitions of confidential coins, carry proofs, and transactions, i.e., the hiding property, zero-knowledge, and knowledge soundness.
Confidential coins and carry proofs should be hiding, i.e., they should not reveal the committed coin value or the carry vector. We define hiding or indistinguishability of a generic protocol ’s outputs below.
Definition 1
(Statistical Hiding). Let be the output distribution of protocol , and be the simulated distribution created by a simulator with a trapdoor of public parameter . For any , ’s outputs are hiding if
Coin and carry proofs contain range proofs. A range proof should not reveal anything about the committed value other than the range. Similarly, summation proofs of transactions should not disclose anything about the coin values other than that input coins are equal to output coins. We define these requirements for a generic protocol and statement(s) . For example, in range proofs, outputs 1 if all of . The statement of a range proof is “ is 1 for hidden ”. Assume the generic protocol reveals a statement about the outputs but nothing else. Then, ’s outputs are zero-knowledge except for . We state the zero-knowledge of below.
Definition 2
(Zero-Knowledge Argument). Let be the simulated distribution of a simulator with a trapdoor of public parameter for , and be the real output distribution of protocol for statements . For any p.p.t. , ’s outputs are zero-knowledge if
Even though coins, carry proofs, and transactions are hiding and zero-knowledge, they should be knowledge sound such that no adversary can create valid proofs for invalid hidden coin amounts or invalid carry vectors. We capture this property by using a simulator with a trapdoor who extracts hidden values from the proofs. This is a stronger version of knowledge soundness, called simulated witness extractability. If a generic protocol is simulated witness extractable, the simulator can always extract valid hidden amounts and carries that satisfy the required statement(s). We state the simulated witness extraction of a generic protocol for statement(s) below.
Definition 3
(Simulated Witness Extractability). Let be a generic zero-knowledge protocol for statement such that verifies whether hidden values of Π satisfies or not. is simulated witness extractable if
Technically, these extractors do not exist outside the simulated world because public parameters are securely generated to avoid unintentional trapdoors.
2.2. Hardness Assumption
LACT+ depends on the approximate SIS problem ref. [26].
Definition 4
(Approximate Inhomogeneous Module Short Integer Solution Problem (Approx-SIS)). The advantage of an algorithm solving Approx-SIS of after one execution is given by,
2.3. Activity Proofs
Let be a multiplicative group of prime order and be a secure collision-resistant hash function family. Casually, we use for one randomly chosen but commonly known member of a collision-resistant hash function family for a given where the key of is random, fixed, and publicly known.
Let there be a non-empty set of data entries that will be updated into a new set . The proof of this activity is,
Definition 5
(Immutability). An activity proof of is immutable if the following is less than or equal to .
2.4. Hints
We frequently multiply high-bit polynomials with short challenge polynomials and check equality. Because the multiplication creates large errors that may propagate into higher bits, we use “hints”, a polynomial vector that holds at most recovery bits. The way of creating and using hints is stated below.
2.5. Public Parameters
We use the following public parameters (Algorithm 1) throughout the remainder of the paper.
| Algorithm 1 Public Parameter Generation |
|
2.6. Fiat–Shamir Signatures
We define a digital signature scheme based on Fiat–Shamir challenges similar to refs. [32,33,34,35,36] in Algorithm 2. This signature scheme is the Approx-SIS version of ref. [36] with (1) a varying key space to allow aggregate keys and (2) beginning zero polynomials to align with commitments.
provides completeness and strong EUF-CMA (Existential Unforgeability under Chosen Message Attack) due to the security of ref. [36] and the hardness of Approx-SIS.
We define the security properties below.
Definition 6.
is complete and strong EUF-CMA if
- ; if : return ⊥
- ;
- return
- ; return
Theorem 1.
is complete and EUF-CMA when ref. [36] is complete and EUF-CMA, and solving Approx-SIS of is hard.
| Algorithm 2 Digital Signatures |
|
3. LACT+ Protocol
A LACT+ transaction has input confidential coins, output confidential coins, and a header (signature, carry proof, and activity proof), as shown in Figure 1. The input confidential coins are in the blockchain’s set of unspent coins. During the aggregation, they will be removed from the unspent coin set, and output confidential coins will be added to the unspent coin set (see Figure 2) where was removed). Therefore, an aggregated blockchain can be seen as a big transaction that contains all unspent coins. In this section, we explain confidential coins, carry proofs of the headers, and finally the complete aggregable transactions.
Figure 1.
LACT+ transaction structure.
Figure 2.
Transaction aggregation.
3.1. Confidential Coins
We begin by building confidential coin records where we can hide coin values but can also verify that the hidden coin amounts are in some range .
Let there be a confidential coin scheme that supports the following functionalities.
- returns if v is in ; otherwise returns ⊥. Here, k is a secret key, a.k.a., blinding key, and L is defined in .
- returns 1 if is generated for ; otherwise, returns 0.
- returns 1 if the hidden coin amount is in otherwise, returns 0.
Protocol Sketch
First, we sketch an interactive version of a 1-bit range proof. Let there be a value b which should be either 0 or 1. For some mask and random challenge , take if . Otherwise, the process is repeated until a valid z is found. Then because should be zero. We use this method to prove the range of a bit.
Let be a prover and be a verifier. has a commitment , and who knows wants to show that the bit b is either 1 or 0 without revealing it. The prover uses commitments to prove the range of b. First, creates commitment and sends it to . After receiving a challenge from , replies with . Then, sends the second challenge . After that, computes and . If z is in and r is in , they statistically hide , and . Hence, sends z and r to . If z and r are not in the secure ranges, rejects them and restarts the protocol. Finally, the verifier checks that . accepts that b is either 0 or 1 if they are equal.
We use this technique to prove the range of the coin by repeating it for all bits. Furthermore, we increase the range of challenges into so that cannot cheat. The complete non-interactive protocol is given in Algorithm 3, and a graphical overview is provided in Figure 3. Note that all LACT+ commitments have the form of , not . Hence, the verifier will check with a fixed 0 value. This extra value space is used for carry proofs which will be explained in the next section.
Figure 3.
A graphical overview of confidential coins (Algorithm 3).
| One-bit Range Proof Sketch (Interactive) | ||
| Algorithm 3 New Confidential Coins |
|
We want to be complete, hiding, binding, zero-knowledge, and knowledge sound. Here, we state the undefined security properties of ; completeness and binding. Other properties, namely, hiding, zero-knowledge, and knowledge soundness, defined in Section 2.1 are valid for as well when the statement is
Definition 7
(Completeness). is complete if honestly generated proofs can be verified for the correct range, or the following is greater than or equal to .
Once a coin record has been published, no one, including the creator who knows the secret key, should be able to claim another coin value for the same coin record. Otherwise, after sending a transaction, owners can illegally generate coins. We capture this security property below.
Definition 8
(Binding). is binding if
Theorem 2.
is complete, computationally binding, and computational knowledge sound, and zero-knowledge if approx-SIS of is hard (see the security proof in Appendix A).
3.2. Logarithmic-Sized Carry Proofs
Binary commitments are smaller than full integer commitments. However, we cannot directly check summations of transactions’ in/outputs and chains’ total unspent coin amount when they are in binary forms. Therefore, LACT ref. [2] uses static carries with maximum two inputs and two outputs and a static supply.
Unlike traditional blockchains, LACT maintains an unspent coin record (with a zero key) for the coinbase (coin supplier) where the coinbase holds future supply, and those coins do not belong to anyone until they are awarded. The idea is to maintain a constant coin amount on the blockchain all the time. For instance, the coinbase holds the maximum at the beginning and keeps reducing the amount with each rewarded coin of transaction t. Therefore, the blockchain always has S coins. When the coin amount is constant, the following equations can be used to check the summation of individual transactions and the blockchain.
Let the maximum coin amount be in . For transaction t, let the inputs be with coins such that and outputs be with coins such that . Then, the input carries are computed as
where and are zeros, and other s are either 0 or 1. Similarly, the output carries are
such that and are zeros, and s are 0 or 1. Note that ÷ is the integer division and is the size of a set/vector.
Then, these binary vectors satisfy Equation (1) if inputs coins are equal to output coins.
Furthermore, due to the constant coin amount, Equation (2) can be used to verify that unspent coins () are equal to the total supply S of headers () .
Therefore, LACT headers contain carry
and range proofs of in/output carries (we call them carry proofs) when in/output size is 2. Note that when there is only one in/output, the carries are always zero, in which case no carry proofs are needed. These carries’ range proofs are similar to coins’ carry proofs even though a functional output of the carries is committed. However, a normal transaction has to be separated into multiple LACT transactions if there are more than two inputs or outputs. For example, a transaction of can be separated into two transactions; and with two carry proofs.
We generalize this concept of static carry proofs for more than two input and output transactions at a logarithmic cost to reduce the size impact of carry proofs in LACT+.
Let there be a carry proof protocol, that commits and provides range proofs for maximum number of inputs or outputs.
- returns if all and are in ; otherwise returns ⊥. Here, k is the secret key of carry commitment, and . At this point, we do not check , which will be performed in transaction creation. Here, and are the input and output sizes.
- returns one if the hidden carries are in and the carries are committed according to Equation (1); otherwise, it returns zero.
Protocol Sketch
Carry proofs contain a commitment and a range proof to show that each carry is in a proper range, which is for maximum inputs and outputs. Let there be number of inputs and number of outputs. A LACT+ carry commitment is when and are input and output carries. Here, except for the 0th and carries, the output carries are in , and other input carries are in . Hence, LACT+ creates range proofs for the following vectors
We define the new carry proof protocol in Algorithm 4. Furthermore, we provide a graphical view of the carry proofs in Figure 4 using the same notation as Algorithm 4.
| Algorithm 4 New Confidential Carry Proofs | |
|
|
Figure 4.
Graphical overview of carry proofs (Algorithm 4).
New carry proofs provide the following properties; completeness, knowledge soundness, and zero-knowledge argument. Zero-knowledge and knowledge soundness are defined for a statement ,
according to Definitions 2 and 3.
Definition 9
(Completeness). is complete if honestly generated proofs are always valid such that the following is greater than or equal to .
Theorem 3.
is complete, zero-knowledge, and witness extractable if Approx-SIS of is hard (see the security proof in Appendix B).
3.3. Aggregable Confidential Transactions with Activity Proofs
In this section, we describe LACT+ transactions, , with new confidential coins, carry proofs, and activity proofs.
A transaction converts a set of existing coin records (inputs) into new coins (outputs). First, users agree on the inputs and outputs. Then they create a carry proof to show the summation. Finally, they create the transaction by computing a signature to prove the ownership. Let , , , and be the binary inputs, binary outputs, input carries, and output carries accordingly. If the input coins are equal to output coins, they satisfy Equation (1) and a zero-coefficient vector is output. Therefore, the summed commitment is,
when , and are the keys of the carry commitment, input coin commitments, and output coin commitments. Therefore, asks the users to use as the secret–public key pair and create a signature. First, the users picks a random and computes . Then, users’ computers receive the challenge by hashing and y, and compute . The signature is . If the input coins are equals to output coins, verifiers can recompute and check . When the challenge is large enough, users cannot cheat and create valid signatures if they illegally generate coins or steal coins.
LACT+ transactions contain activity proofs to enable complete aggregation. Activity proofs are immutable, or it is computationally impossible to find two different input and output sets for the same activity proof. Hence, preserving activity proofs is sufficient to provide immutability to the whole blockchain, including the removed spent coins.
The transaction generation is a multi-party protocol where each sender or receiver keeps their secret keys without sharing and computes a secure partial signature. At the end, those partial signatures are aggregated into a single signature used as the transaction’s signature. Therefore, the senders do not learn the secret keys of other inputs and outputs, and cannot take back the sent coins. We use “green color” to denote the secret computations of each individual.
Before aggregating a transaction into the chain, verifiers check whether the inputs are in the chain or not. If they are in the chain, verifiers check the summation, ownership, and activity of the transaction. When the transaction has valid proofs, the verifiers remove the inputs from the chain, add outputs into the unspent coin set, and preserve the header. The complete protocol of is stated in Algorithm 5 and an example of transaction aggregation is stated in Figure 2.
| Algorithm 5 LACT+ Transactions and Chains | |
|
|
is expected to have the following security properties: completeness, zero-knowledge, knowledge soundness, theft resistance, and immutability. We reuse zero-knowledge and knowledge soundness from Definitions 2 and 3 when the statements of are:
Definition 10
(Completeness). is complete if the honestly generated transactions are always valid, and aggregating a valid transaction into a valid chain always produces a correct chain with the unspent coins of that transaction. Let be an arbitrary chain generator.
- For any and
- such that :
- return
- Get any such that
- and
- for :
- s.t.
- if : continue
- if
- : return 0
- return
Even after aggregation, ensures that unspent coins cannot be spent without their secret keys. We consider strong theft resistance where the adversary has control over everything except an honest user’s secret key. Here, the adversarial algorithm generates a chain (an aggregated CT). In the first step, the algorithm sends some coins to the honest user, where the user locks those coins with a new key. Then, the algorithm tries to spend those coins without obtaining the new secret key. In other words, the network is set to have only one honest user, simulating a real-world decentralized network where everyone can be malicious except the honest user.
Definition 11
(Theft Resistance). is theft resistant if
- if : return ⊥
- ⊳ Receive from s.t. does not know the key of .
- ⊳ Check whether the coin has been spent or not
- return
Informally, blockchains’ immutability states that generating two different input and output sets for the same consensus data should be computationally infeasible. Because we build for a generic consensus mechanism, we capture the immutability such that finding two different input and output sets for the same header(s) is computationally difficult. Therefore, preserving headers is sufficient to provide immutability to the whole blockchain, including removed spent coin records.
Definition 12
(Immutability). ensures immutability if
- return
Theorem 4.
is complete, computationally theft-resistant, zero-knowledge, and immutable if Approx-SISs of and are hard (see the security proofs in Appendix C).
4. Implementation
We implement a C library ref. [25] for LACT+ aiming to achieve 128-bit security. Therefore, a root-Hermite factor was used for lattices implementations allowing a gap for future attacks ref. [37]. A prime-order multiplicative group with at least multiplicative elements was used for membership proofs. The prime order of is such that is also prime ( 3a2c6ad1f4ef4084fbf76e7c6201b32850c57c408a6e0c4a6cda6c290c61e6dadd4e6b7312dd3aa6bd610a917c1d42f03). The concrete parameters used for tests are defined in Table 2. According to the parameters, a coin record is 29.9 KB (a commitment and a range proof), and a public key is 5760 Bytes.
Table 2.
Concrete Parameters and Variables.
We use two multiplications: number theoretic transform (NTT) for regular polynomials and an easy multiplication when one of the polynomials is a (see below). The C library uses 64-bit integers except for the NTT, which uses 128-bit integers. In NTT multiplication, we convert polynomials to NTT space using Cooley–Tukey butterflies ref. [39], point-wise multiply them using Montgomery point-wise multiplications ref. [40], and then convert them back using inverse-transform from Gentleman–Sande butterflies ref. [41].
Recall that is a polynomial where coefficient i is , and all other coefficients are zero. Therefore, a multiplication of is computed as follows: convert coefficients in into their negative values, rotate all coefficients by i, and multiply all coefficients by . Because this is faster than NTT multiplication, we use this easy multiplication whenever possible, e.g., most of the short-norm vectors in .
We chose bits’ masking keys from such that some functional polynomials like Step 29 in and Step 53 in can be larger than . However, there is a high probability that they will be in the accepted range due to centrally reduced numbers. Therefore, we perform norm checks during the generation of and to ensure completeness.
All the benchmarks were configured as follows: The maximum coin amount and the initial coinbase value are . Here, we use “aggregated size” to denote the database size, which is slightly larger than theoretical sizes due to indexing and identifiers. “Deleted size” means the exact size of deleted coin records as explained in Section 3.1. Therefore, “unaggregated size” is computed as the summation of the aggregated and deleted sizes. The verification times are measured on an i7-1065G7 CPU at 1.30GHz. Furthermore, denotes that the number of inputs and outputs are randomly chosen from and .
Efficiency of New Carry Proofs. First, we run benchmarks to get the sizes of new carry proofs and LACT carry proofs. Recall that LACT creates multiple LACT transactions if the numbers of input coins and out coins are larger than two. Therefore, the size impact of carry proofs to the total blockchain is proportional to the number of transactions, whereas in LACT+, this impact is now logarithmic. We simulate carry proof benchmarks to see this size and verification time impact for normal transactions where the input size can be larger than two. Figure 5 and Figure 6 show the accumulated sizes and total verification times for carry proof(s) of LACT and LACT+. From the graphs, we conclude that new LACT+ carry proofs are more efficient than LACT carry proofs. Therefore, the whole system is more efficient than prior post-quantum CT schemes, from unaggregated ones to aggregated ones like LACT, in spite of its other added benefits such as fully trustless verifiable immutability.
Figure 5.
Carry proof sizes.
Figure 6.
Carry proof verification times.
Impact of Aggregation. The main efficiency mechanism of LACT+ is transaction aggregation. The impact of the transaction aggregation changes according to input/output rates because more unspent outputs lead to larger blockchains. We ran benchmarks for different input/output rates, and we show the results in Figure 7. From the graph, we see that even if the output rate is higher than the input rate, aggregation achieves significant reductions in size. Verification times for these benchmarks are shown in Figure 8.
Figure 7.
Aggregated sizes and unaggregated sizes vs. transactions.
Figure 8.
Verification times vs. transactions for different input and output rates.
A Theoretical Comparison with MatRiCT+ Esgin et al. proposed ref. [22], an efficient lattice-based Ring CT protocol that uses the Chinese Remainder Theorem (CRT) packing, e.g., packing all L number of into a single polynomial. Even without CRT packing, LACT+ is more efficient than MatRiCT+ as illustrated in Figure 9.
Figure 9.
LACT+ and MatRiCT+: For MatRiCT, Coins are 4.48 KB, public keys are 3.4 KB, and () proofs are 47 KB at 1/11 anonymity.
5. Conclusions
Aggregable confidential transactions are more private and scalable than typical transactions. However, the scalability of previous aggregable transactions does not provide trustless verification at the consensus level because real-world transactions should be immutable. LACT+ post-quantum aggregable confidential transactions solve this problem by adding aggregable activity proofs. Equally importantly, LACT+ is more efficient and faster than existing post-quantum aggregable transactions due to our use of approximate SIS and logarithmic carry proofs. LACT+ is the first practical post-quantum aggregable confidential transaction protocol that provides consensus-level aggregation and fully trustless verification.
Author Contributions
Conceptualization, J.A.; Writing-original draft, J.A.; Writing—review, editing, X.B. and M.M.; Supervision, X.B. and M.M. All authors have read and agreed to the published version of the manuscript.
Funding
This research received no external funding.
Data Availability Statement
Not applicable.
Conflicts of Interest
The authors declare no conflict of interest.
Appendix A. Security Proofs of Confidential Coins
- Binding. We claim is binding because finding two openings for the same coin record means the adversary finds a solution to the Approx-SIS problem such that
- Knowledge Soundness. Let there be a p.p.t. algorithm that breaks the knowledge soundness such that the extractor outputs of number not in for a valid proof. According to the verification in Step 44, the algorithm finds for such that is not 0 or 1, but
Because is not 0 or 1, the following is true,
Here, is a solution to the Approx-SIS problem. Therefore, we claim range proofs are knowledge sound.
- Zero-Knowledge Argument of Range Proofs. statistically hides because when the range of is . We claim the computational hiding for commitments () of due to dropped bits of Approx-SIS and sufficient randomness of (see ref. [26]). If there is a p.p.t. algorithm that breaks the zero-knowledge argument by successfully distinguishing the generated proofs over the simulated proofs, then the algorithm can be used to break the hiding property of the commitments; in other words, solving the Approx-SIS problem. Therefore, we claim that the range proofs satisfy the zero-knowledge argument.
Finally, we prove that Theorem 2 is true because is complete (Figure 3), binding, knowledge-sound, and zero-knowledge.
Appendix B. Security Proofs of Carry Proofs
- Knowledge Soundness If there is an algorithm that breaks the knowledge soundness of then it createsfor invalid binary vectors of carries; and which are not 0 nor 1 (see Step 22).
Here, is a solution to Approx-SIS problem. Therefore, we conclude that is knowledge sound.
- Zero-Knowledge Argument. Due to the rejection sampling, and statistically hide bits of both input carries and output carries. Furthermore, commitments , and hide their short vectors due to the Approx-SIS problem. Therefore, we claim holds the zero-knowledge argument property.
Finally, we conclude Theorem 3 is accurate due to the above proofs. Or is complete (Figure 4), computationally knowledge sound, and holds the zero-knowledge argument property.
Appendix C. Security Proofs of Aggregable CT
- Theft Resistance. If a p.p.t. algorithm wins the game of theft resistance, then the algorithm creates a transaction with a valid signature unknowing the secret key. In other words, the algorithm breaks EUF-CMA of defined in Section 2.6, knowledge soundness of , or knowledge soundness of . Therefore, if , , and are secure, then is theft resistant.
- Zero-Knowledge and Knowledge Soundness. Suppose a p.p.t. algorithm creates a chain with more or less unspent coins than the supplied coins. In that case, the algorithm either breaks ’s knowledge soundness, ’s knowledge soundness, or forges a signature for a public key with non-zero beginning polynomials. Therefore, we conclude that is knowledge soundness when , , and are secure. We directly claim the zero-knowledge of because , , and are zero-knowledge.
- Immutability. ’ immutability states that no p.p.t algorithm can find two different valid transactions with the same membership proof but with different in/out commitment sets. If an algorithm wins the game of immutability, then the algorithm solves the group collision resistance problem (GCR). Therefore, if GCR is computationally hard, is computationally immutable.
Therefore, we claim Theorem 4 is true or is complete, computationally theft-resistant, zero-coin generating, and immutable.
References
- Zhang, H.; Zhang, F.; Wei, B.; Du, Y. Implementing confidential transactions with lattice techniques. IET Inf. Secur. 2019, 14, 30–38. [Google Scholar] [CrossRef]
- Alupotha, J.; Boyen, X.; Mckague, M. Aggregable Confidential Transactions for Efficient Quantum-Safe Cryptocurrencies. IEEE Access 2022, 10, 17722–17747. [Google Scholar] [CrossRef]
- Androulaki, E.; Karame, G.O.; Roeschlin, M.; Scherer, T.; Capkun, S. Evaluating User Privacy in Bitcoin. In Proceedings of the Financial Cryptography and Data Security, Okinawa, Japan, 1–5 April 2013; Sadeghi, A.R., Ed.; Springer: Berlin/Heidelberg, Germany, 2013; pp. 34–51. [Google Scholar]
- Spagnuolo, M.; Maggi, F.; Zanero, S. BitIodine: Extracting Intelligence from the Bitcoin Network. In Proceedings of the Financial Cryptography and Data Security, Okinawa, Japan, 1–5 April 2013; Christin, N., Safavi-Naini, R., Eds.; Springer: Berlin/Heidelberg, Germany, 2014; pp. 457–468. [Google Scholar]
- Fleder, M.; Kester, M.S.; Pillai, S. Bitcoin transaction graph analysis. arXiv 2015, arXiv:1502.01657. [Google Scholar]
- Reid, F.; Harrigan, M. An Analysis of Anonymity in the Bitcoin System. In Proceedings of the 2011 IEEE Third International Conference on Privacy, Security, Risk and Trust and 2011 IEEE Third International Conference on Social Computing, Boston, MA, USA, 9–11 October 2011; pp. 1318–1326. [Google Scholar] [CrossRef]
- Herrera-Joancomartí, J. Research and Challenges on Bitcoin Anonymity. In Data Privacy Management, Autonomous Spontaneous Security, and Security Assurance; Garcia-Alfaro, J., Herrera-Joancomartí, J., Lupu, E., Posegga, J., Aldini, A., Martinelli, F., Suri, N., Eds.; Springer International Publishing: Cham, Switzerland, 2015; pp. 3–16. [Google Scholar]
- Khalilov, M.C.K.; Levi, A. A survey on anonymity and privacy in bitcoin-like digital cash systems. IEEE Commun. Surv. Tutor. 2018, 20, 2543–2585. [Google Scholar] [CrossRef]
- Morris, L. Anonymity Analysis of Cryptocurrencies. Master’s Thesis, Rochester Institute of Technology, Rochester, NY, USA, 2015. Available online: https://scholarworks.rit.edu/theses/8616/ (accessed on 10 January 2023).
- Jedusor, T.E. Mimblewimble. 2016. Available online: https://docs.beam.mw/Mimblewimble.pdf (accessed on 10 January 2023).
- Poelstra, A. Mimblewimble. 2016. Available online: https://download.wpsoftware.net/bitcoin/wizardry/mimblewimble.pdf (accessed on 10 January 2023).
- Poelstra, A.; Back, A.; Friedenbach, M.; Maxwell, G.; Wuille, P. Confidential assets. In Proceedings of the International Conference on Financial Cryptography and Data Security, Nieuwpoort, Curaçao, 26 February–2 March 2018; Springer: Berlin/Heidelberg, Germany, 2018; pp. 43–63. [Google Scholar]
- Fuchsbauer, G.; Orrù, M.; Seurin, Y. Aggregate Cash Systems: A Cryptographic Investigation of Mimblewimble. In Proceedings of the Advances in Cryptology—EUROCRYPT 2019, Darmstadt, Germany, 19–23 May 2019; Ishai, Y., Rijmen, V., Eds.; Springer: Cham, Switzerland, 2019; pp. 657–689. [Google Scholar]
- Alupotha, J.; Boyen, X.; Foo, E. Compact Multi-Party Confidential Transactions. In Proceedings of the Cryptology and Network Security, Vienna, Austria, 14–16 December 2020; Krenn, S., Shulman, H., Vaudenay, S., Eds.; Springer: Cham, Switzerland, 2020; pp. 430–452. [Google Scholar]
- IBM-Research. IBM’s Roadmap for Scaling Quantum Technology. Available online: https://research.ibm.com/blog/ibm-quantum-roadmap (accessed on 21 March 2022).
- Nakamoto, S. Bitcoin: A Peer-to-Peer Electronic Cash System. 2008. Available online: https://bitcoin.org/bitcoin.pdf (accessed on 10 January 2023).
- Wood, G. Ethereum: A Secure Decentralised Generalised Transaction Ledger; Ethereum project yellow paper; Ethereum: Zug, Switzerland, 2014; Volume 151, pp. 1–32. [Google Scholar]
- Noether, S.; Mackenzie, A.; the Monero Research Lab. Ring confidential transactions. Ledger 2016, 1, 1–18. [Google Scholar] [CrossRef]
- Sun, S.F.; Au, M.H.; Liu, J.K.; Yuen, T.H. RingCT 2.0: A Compact Accumulator-Based (Linkable Ring Signature) Protocol for Blockchain Cryptocurrency Monero. In Proceedings of the Computer Security—ESORICS 2017, Oslo, Norway, 11–15 September 2017; Foley, S.N., Gollmann, D., Snekkenes, E., Eds.; Springer: Cham, Switzerland, 2017; pp. 456–474. [Google Scholar]
- Esgin, M.F.; Zhao, R.K.; Steinfeld, R.; Liu, J.K.; Liu, D. MatRiCT: Efficient, scalable and post-quantum blockchain confidential transactions protocol. In Proceedings of the 2019 ACM SIGSAC Conference on Computer and Communications Security, London, UK, 11–15 November 2019; pp. 567–584. [Google Scholar]
- Alberto Torres, W.; Kuchta, V.; Steinfeld, R.; Sakzad, A.; Liu, J.K.; Cheng, J. Lattice RingCT V2.0 with Multiple Input and Multiple Output Wallets. In Proceedings of the Information Security and Privacy, Prague, Czech Republic, 23–25 February 2019; Jang-Jaccard, J., Guo, F., Eds.; Springer: Cham, Switzerland, 2019; pp. 156–175. [Google Scholar]
- Esgin, M.F.; Steinfeld, R.; Zhao, R.K. MatRiCT+: More Efficient Post-Quantum Private Blockchain Payments. Cryptol. ePrint Arch. 2021, 545, 1–21. [Google Scholar]
- Grin tech.org. Minimal Implementation of the MimbleWimble Protocol. Available online: https://github.com/mimblewimble/grin (accessed on 27 January 2021).
- Scalable Confidential Cryptocurrency—MimbleWimble Implementation. Available online: https://www.beam.mw/ (accessed on 27 January 2021).
- Alupotha, J. LACT+: Post-Quantum Aggregable Confidential Transactions. 2022. Available online: https://github.com/jaymine/LACTv2 (accessed on 11 January 2023).
- Chen, Y.; Genise, N.; Mukherjee, P. Approximate trapdoors for lattices and smaller hash-and-sign signatures. In Proceedings of the International Conference on the Theory and Application of Cryptology and Information Security, Kobe, Japan, 8–12 December 2019; Springer: Berlin/Heidelberg, Germany, 2019; pp. 3–32. [Google Scholar]
- Regev, O. On lattices, learning with errors, random linear codes, and cryptography. J. ACM 2009, 56, 34. [Google Scholar] [CrossRef]
- Ajtai, M. Generating hard instances of lattice problems. In Proceedings of the Twenty-Eighth Annual ACM Symposium on Theory of Computing, Philadelphia, PA, USA, 22–24 May 1996; ACM: New York, NY, USA, 1996; pp. 99–108. [Google Scholar]
- Alupotha, J.; Boyen, X. Origami Store: UC-Secure Foldable Datachains for The Quantum Era. IEEE Access 2021, 9, 81454–81484. [Google Scholar] [CrossRef]
- Noether, S.; Noether, S. Monero Is Not That Mysterious. Technical Report. 2014. Available online: https://web.getmonero.org/ru/resources/research-lab/pubs/MRL-0003.pdf (accessed on 11 January 2023).
- Maxwell, G. Confidential Transactions. 2015. Available online: https://people.xiph.org/greg/confidential_values.txt (accessed on 11 January 2023).
- Fiat, A.; Shamir, A. How To Prove Yourself: Practical Solutions to Identification and Signature Problems. In Proceedings of the Advances in Cryptology—CRYPTO’ 86, Santa Barbara, CA, USA, 1 January 1987; Odlyzko, A.M., Ed.; Springer: Berlin/Heidelberg, Germany, 1987; pp. 186–194. [Google Scholar]
- Pointcheval, D.; Stern, J. Security arguments for digital signatures and blind signatures. J. Cryptol. 2000, 13, 361–396. [Google Scholar] [CrossRef]
- Abdalla, M.; An, J.H.; Bellare, M.; Namprempre, C. From Identification to Signatures via the Fiat-Shamir Transform: Minimizing Assumptions for Security and Forward-Security. In Proceedings of the Advances in Cryptology—EUROCRYPT 2002, Amsterdam, The Netherlands, 28 April–2 May 2002; Knudsen, L.R., Ed.; Springer: Berlin/Heidelberg, Germany, 2002; pp. 418–433. [Google Scholar]
- Lyubashevsky, V. Lattice-Based Identification Schemes Secure Under Active Attacks. In Proceedings of the Public Key Cryptography—PKC 2008, Barcelona, Spain, 9–12 March 2008; Cramer, R., Ed.; Springer: Berlin/Heidelberg, Germany, 2008; pp. 162–179. [Google Scholar]
- Lyubashevsky, V. Fiat-Shamir with Aborts: Applications to Lattice and Factoring-Based Signatures. In Proceedings of the Advances in Cryptology—ASIACRYPT 2009, Tokyo, Japan, 6–10 December 2009; Matsui, M., Ed.; Springer: Berlin/Heidelberg, Germany, 2009; pp. 598–616. [Google Scholar]
- Albrecht, M.R. LWE Estimator. Available online: https://lwe-estimator.readthedocs.io/en/latest/readme_link.html (accessed on 22 October 2021).
- Gleen, M.L. Device for and Method of One-Way Cryptographic Hashing. U.S. Patent 6829355, 12 July 2004. [Google Scholar]
- Gauss, C.F. Nachlass: Theoria interpolationis methodo nova tractata. Carl Friedrich Gauss Werke 1866, 3, 265–327. [Google Scholar]
- Montgomery, P.L. Modular multiplication without trial division. Math. Comput. 1985, 44, 519–521. [Google Scholar] [CrossRef]
- Gentleman, W.M.; Sande, G. Fast Fourier transforms: For fun and profit. In Proceedings of the Fall Joint Computer Conference, San Francisco, CA, USA, 7–10 November 1966; pp. 563–578. [Google Scholar]
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content. |
© 2023 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https://creativecommons.org/licenses/by/4.0/).








