1,204
Views
0
CrossRef citations to date
0
Altmetric
Articles

A blockchain-based transaction system with payment statistics and supervision

, &
Pages 1751-1771 | Received 13 Dec 2021, Accepted 17 May 2022, Published online: 14 Jun 2022

Abstract

Due to existing blockchain systems concentrate mainly on privacy protection but lack payment statistics and supervision, we propose a blockchain-based transaction system with payment statistics and supervision. In the system, a payer uses a homomorphic encryption scheme to protect payment amounts. After the transaction is recorded in the blockchain, not only the payee can decrypt the payment amounts and use for future payment, but also the payer can even decrypt it and use for payment statistics. Besides, two supervisors can independently decrypt all users' payment amounts to master the whole economic dynamism and detect illegal transactions. Comparing with existing schemes, our homomorphic scheme only increases a little length of ciphertext, but supports payment amounts decryption by the payer, an additional two receivers. Finally, analyses show that our system is extremely efficient.

1. Introduction

Blockchain (Nakamoto, Citation2019) has attracted great attention due to its characteristic of transparency, immutability and distribution, etc. It has a wide range of application prospects. In financial markets, the transparency of blockchain enables any user to conduct relatively fair transactions on the blockchain, which can reduce economic losses caused by the information asymmetry between buyers and sellers. In control and information systems, the immutability of blockchain permanently records data accesses or modifications by any user. Therefore the responsibility of each user is straightforward. In the military, the distributed blockchain can hide the command centre, and any damage to the partial system will not affect the stable operation of the whole systemThe Russian State Tretyakov Art Museum has established “My Triakov” as a fundraising initiative, utilising blockchain technology to allow “the entire globe” to get to be a supporter of the museum’s digital building and a collection of the gallery’s works. In September 2021, the State Hermitage Museum, one of the world’s four largest institutions, will organise an NFTs sale of five world-famous artworks, alongside the Louvre in Paris, the British Museums in London and the Museum of art in New York. This greatly improves the extent to which museums, especially digital collections, can make money from work of art (Wang, Li, et al., Citation2021). Blockchain is typically used to allow actual members of a certain group to share and trade sensitive information. Permissioned blockchains are referred to as such because exterior users can view or engage in private blockchains unless they have been given the authority. When users adopt a commercial blockchain network, they help to maintain the network’s decentralised nature by storing a shared ledger and collaborating to reach a consensus on modifications. Besides, blockchain technology has been widely applied to the Internet of Things, the medical, intellectual property, logistics, etc.

The Bitcoin (Nakamoto, Citation2019) and Ethereum (Wood, Citation2014) blockchain systems are the most successful application. In financial systems, privacy protection is very crucial. Plaintext transaction has many disadvantages. The difference among Ethereum and Bitcoin would be that Bitcoin is merely a currency, but Ethereum is a digital ledger that is being used by businesses to create new initiatives. Both Bitcoin and Ethereum are based on “blockchain” technologies, but Ethereum’s is significantly more reliable. For example, the disclosure of a user’s wealth will endanger his life and property safety; disclosure of the company’s economic status will lead to malicious competition; leakage of the country’s economic strength, will lead to a financial crisis. For museums, digital cultural relics exhibition lacks a complete authorisation verification mechanism, and these digital materials will be arbitrarily spread or even forged (Wang, Chen, et al., Citation2021; Zhaofeng et al., Citation2019). Therefore, it is necessary to protect transaction privacy. Monero (Noether, Citation2015; Noether & Mackenzie, Citation2016), Zerocoin (Miers et al., Citation2013) and Zerocash (Ben-Sasson et al., Citation2014) are typical blockchain systems with good privacy protection. The Monero system was originally built on CryptoNote, which hides the target and source of payment interactions via ring signatures and single-time keys. The strategy is dependent on confidential exchanges which are utilised on Bitcoin’s Elements side-chain, but it also enables their own use in ring signatures. Zerocoin is a Bitcoin-based cryptography option that allows for entirely anonymous monetary transactions. This approach is based on normal cryptography principles and therefore does not make any new providing valuable and otherwise alter Bitcoin’s security architecture. Zerocash is a derivative of Bitcoin that can be used at an equal scale. As a basis of its enhanced performance and efficiency, Zerocash allows for the complete replacement of standard Bitcoin transactions with untraceable equivalents.

However, privacy protection in financial transactions is not enough for economic development, as privacy protection creates a living space for corruption, illegal financing and illegal transfer abroad. Therefore, it is necessary to supervise each transaction under the premise of privacy protection. All transactions are recorded in the immutable blockchain, allowing regulators to check each transaction for discovering illegal transactions and other financial activities. In addition, the blockchain system can directly reject illegal transfers abroad, which is conducive to improving the stability of finances.

By embedding trapdoors to the Monero, Zerocoin and Zerocash systems, the purpose of supervisory can be fulfilled. For example, traceable ring signatures (Feng et al., Citation2020; Fujisaki & Suzuki, Citation2007) enabled the supervisor to trace the true signer. All payers need to count the payment amounts, which is a huge application demand in financial activities. For example, individuals, all companies, need to make periodical financial statistics of payment amounts and use them to plan their future payment activities; The state also needs to count every financial activity and plan its development direction. However, existing privacy-protected transaction systems, such as Monero, Zerocoin and Zerocash, only enabled the payee to decrypt his denomination, not the payer. As a result, neither individual users nor companies can decrypt payment amounts from the blockchain and conduct financial statistics, but only a plaintext backup of the transaction locally. However, this kind of plaintext backup has a high risk of data theft and tampering.

Therefore, according to existing blockchain systems only concentrate on privacy protection but lack payment statistics and supervision, we propose a transaction system with payment statistics and supervision based on blockchain.

Contributions: We first contribute a transaction system model. Then, we present efficient concrete construction. In the concrete construction, a special homomorphic encryption scheme is the main innovation of this paper. It enabled a payer, a payee and two supervisors to decrypt payment amounts independently. Finally, we prove strictly the security of the homomorphic encryption scheme and compare it with related schemes. The homomorphic encryption architecture reduces the computational cost, allowing it to function with smart appliances with limited processing capacity. It guarantees that information will never ever be relocated or exposed in cleartext. Analyses show that our transaction system and homomorphic encryption scheme are efficient.

2. Related work

Bitcoin (Nakamoto, Citation2019) is a peer-to-peer electronic cash that enables internet operations would be sent immediately between parties without the need of a bureaucratic commercial bank. By using the proof-of-work consensus mechanism and network timestamps, it prevents double-spending without using a trusted third party. Etherum (Wood, Citation2014) has demonstrated its strong practicality through a larger quantity of work. Each work can be seen as a simple application on a decentralised, but singleton, compute resource. However, Bitcoin and Ethereum use plaintext to transact, which reveal the private information of each user and lead hackers to conduct statistical analysis attacks on it.

Maxwell (Citation2013) introduced Coinjoin, a numerous input and multiple-output transaction mechanism, to handle the issue of anonymity. However, it requires interaction between the various participants, which increases the probability of information leakage. Besides, each user does not trust each other, and the interaction is extremely difficult. Coinjoin is a form of bitcoin exchange that improves anonymity by eliminating the presumption of common-input ownership. CoinShuffle is a distributed Bitcoin blending system described by Ruffing et al. (Citation2014), which enables payers and payees to conduct Bitcoin transactions in a fully anonymied fashion. CoinShuffle is based on the Dissent accountability anonymised group communication system and has numerous benefits over the Bitcoin blending techniques that came before it. It does not require any trusted third party and it is perfectly compatible with the current Bitcoin blockchain system. However, it is vulnerable to a variety of denial of service attacks as it needs all participants online all the time.

Bissias et al. (Citation2014) developed Xim, a two-party blending system that works with Bitcoin and other virtual payments. This can withstand a variety of assaults, including Sybil, DOS, man-in-the-middle and length of time inferences assaults. It’s the first decentralised network to combat several attacks and timing-based inferences assault all at the same time. It offers a decentralised method for discreetly locating mixing mates through blockchain marketing. Furthermore, it’s trying to obfuscate method of blending decreases the consequences of Sybil-based denial-of-service assaults, and it raises attackers expenses directly proportional to the number of participation. CoinParty is a distributed mixing system for Bitcoin suggested by Ziegeldorf et al. (Citation2015), which is built on a mixture of decryption mixnets and threshold cryptosystems. Monero (Noether, Citation2015; Noether & Mackenzie, Citation2016) uses ring signature scheme to hide the payer, and uses one-time keys to hide the payee in transactions. Besides, it uses the technique of a commitment scheme or homomorphic encryption scheme to rawhide the amount of a transaction. Zerocoin (Miers et al., Citation2013)/Zerocash (Ben-Sasson et al., Citation2014) are full-featured ledger-based cryptocurrencies that provide high privacy protections. It hides the sender, beneficiary and value in an online transaction using zero-knowledge Succinct Non-interactive ARguments of Knowledge (zk-SNARKs) (Ben-Sasson et al., Citation2014; Groth, Citation2016).

However, all the above schemes only consider privacy protection. The supervision of the blockchain system includes transaction traceability mechanisms (Koshy et al., Citation2014 Reid & Harrigan, Citation2013;), address clustering mechanisms (Meiklejohn et al., Citation2013; Zhao, Citation2014), certificate management mechanisms (Androulaki et al., Citation2018; Moser & Narayanan, Citation2019; Wust et al., Citation2018) and trapdoor technologies. We think that trapdoor is a good technology to achieve fine-grained supervision as it can trace each transaction in the system. Therefore, we will embed some trapdoors in our homomorphic encryption scheme to achieve fine-grained supervision. Besides, our homomorphic encryption scheme supports the sender/payer to decrypt his payment amounts, which is a main and special innovation of this paper.

3. Transaction system

As shown in Figure , there are four kinds of participants, i.e. a payer, a payee, consensus nodes (or miners) and two independent supervisors, in the blockchain-based transaction system. In generic construction, we will employ a homomorphic encryption scheme, a non-interactive zero-knowledge proof protocol and a digital signature. The main innovation of our transaction system is a homomorphic encryption scheme, which enables the payer, the payee and two supervisors to decrypt the ciphertext payment amounts independently. The transaction system consists of eight procedures, Init, KeyGen, Pay, Ver, PayeeDec, PayerDec, Supervisor1Dec, Supervisor2Dec, for initialising the system, generating keys, paying, verifying, decrypting by the payee, payer and two supervisors, respectively. Private keys are often used to validate transactions and show that a blockchain address belongs to the owner. You can handle cryptocurrency transactions using a public key. It’s a private key that’s linked with a cryptography algorithm. While anybody can submit transaction to the public key, you’ll need to have the secret key to unlock them and show because you own the bitcoin that was acquired. Ciphertext is information that has been encoded using a data encryption. Moreover, a zero-knowledge proof, also known as a zero-knowledge protocol, is a methodology in cryptography through which one participant can establish to some other entity that a particular statement is accurate without providing any further information other than the premise that the argument is correct.

Figure 1. The transaction system architecture.

Figure 1. The transaction system architecture.

Formally, for a fixed security parameter, these procedures work as follows:

Init: The Init procedure is run by one of the supervisors. It takes as input a security parameter 1λ. It returns the system parameters SP. SPInit(1λ).

KeyGen: The KeyGen procedure is run by the payer, the payee and two supervisors. It takes as input the system parameters SP. It returns a private key and a public key (sk,PK)KeyGen(SP).Thus the key pairs of the payer, the payee and two supervisors are (sk1,PK1), (sk2,PK2), (sk3,PK3), (sk4,PK4), respectively.

Pay: The payment procedure includes three steps, i.e. the homomorphic encryption scheme HEnc, the non-interactive zero-knowledge proof NIZK, and the digital signature Sign. This procedure is run by the payer.

  • HEnc: It takes as input the system parameters SP, payment amounts v1, his private key sk1, the public keys PK2,PK3,PK4 of the payee and two supervisors. It outputs a homomorphic ciphertext C1 C1HEnc(SP,sk1,PK2,PK3,PK4,v1).

Note that in the above homomorphic encryption, we embedded the private key sk1 of the payer and the public keys PK2,PK3,PK4 of the payee and two supervisors, so that all of them can decrypt the homomorphic ciphertext C1 independently to get the same payment amounts v1. This procedure does not need a zero-knowledge proof protocol to prove that the payment amounts v1 decrypted by multiple different participants are the same.

In the same way, it takes as input the system parameters SP, payment amounts v2, his private key sk1, the public keys PK1,PK3,PK4 of himself and two supervisors. It outputs a homomorphic ciphertext C2 C2HEnc(SP,sk1,PK1,PK3,PK4,v2).The payment amount v2 is the change for the payer. Note that as the change v2 is the payer pay to himself, so both his private key sk1 and public key PK1 are embedded in the ciphertext.

Obviously, one can encrypt multiple payment amounts v3,vn for other payees as follows CiHEnc(SP,sk1,PKi,PK3,PK4,vi),i=3,4,n.PKi,i=3,4,n, are public keys of other payees.

Similarly, the unspent amounts of the payer read from the blockchain has the following two kinds of expressions C0=HEnc(SP,sk0,PK1,PK3,PK4,v0),C0=HEnc(SP,sk1,PK1,PK3,PK4,v0).The amount v0 spent by user 0 whose private key is sk0, and v0 is a change that the payer spends to himself. As PK1 is in both ciphertexts C0,C0, the payer can spend v0,v0 validly by using his corresponding private key sk1.

  • NIZK: The non-interactive zero-knowledge proof NIZK includes two protocols, i.e. the Sigma protocol (Damgård, Citation2000) and the Bulletproofs (Bünz et al., Citation2018). The use of the customised dedicated hash algorithm and the sigma protocol to conceal the transactions by observing it from the public in the system tends to provide the rigid distance of deterministic public random value to determine the classified information transaction of this Non-Interactive Zero Knowledge (NIZK) confirmation. In the bulletproofs protocol, it was utilised to create a linear logarithmic trustless configuration with a small proofing dimension. Using the ZKP argument, it creates a proof that is monotonically continuous and has a rapid confirmation time period to speed up the process for different proof systems.

The Sigma protocol is used to prove that the sum of the unspent ciphertext amounts v0+v0 is equal to the sum of the ciphertext amounts v1+v2 that need to be paid. The Sigma protocol takes as input C0,C0,C1,C2, and returns proof data, ZKSigma{v0+v0=v1+v2|C0,C0,C1,C2}. This equation is a complete expression, which includes the following two subcases. If v0=0 or v0=0, then the above equation can be reduced as follows ZKSigma{v0=v1+v2|C0,C1,C2},ZKSigma{v0=v1+v2|C0,C1,C2}.It means the payer only intends to spend the unspent amounts v0 or v0.

The Bulletproofs protocol is used to prove that all ciphertext amounts v1,v2 that need to be paid are positive ZKBulletproofs{v10,v20|C1,C2}.

  • Sign: It takes as input all the above data data and his private key sk1, and returns a signature σ σSign(sk1,data).

Let data=(C0,C0,C1,C2,ZKSigma,ZKBulletproofs).

Ver: The verification procedure includes signature verification Versign, Sigma verification VerSigma, and Bulletproofs verification VerBulletproofs. This procedure is run by consensus nodes (or miners) of the blockchain system. Versign takes as input the system parameters SP, all the above data data, the signature σ, the corresponding public key PK1, and returns a judgment True/FalseVersign(SP,PK1,data,σ).VerSigma and VerBulletproofs take as input the proof data and returns a judgment respectively True/FalseVerSigma(ZKSigma),True/FalseVerBulletproofs(ZKBulletproofs).If all output is True and no double-spending, then accept and record in the blockchain using a consensus mechanism, such as Byzantine fault-tolerant (Miller et al., Citation2016), etc. Deficiency of the Byzantine Tolerance refers to a decentralised channel’s potential to access consensus on the same quantity although some participating nodes refuse to reply or answer with inaccurate information.

PayeeDec: The PayeeDec procedure is run by the payee. It takes as input the system parameters SP, his private key sk2, the public keys of the payee and two supervisors PK1, PK3, PK4, the homomorphic ciphertext C1. It outputs an amount v1 v1PayeeDec(SP,PK1,PK3,PK4,sk2,C1).Similarly, the payer can decrypt his change v2 v2PayerDec(SP,PK1,PK3,PK4,sk1,C2).

PayerDec: The PayerDec procedure is run by the payer. It takes as input the system parameters SP, his private key sk1, the public keys of the payer and two supervisors PK2, PK3, PK4, the homomorphic ciphertext C1. It outputs an amount v1 v1PayerDec(SP,PK2,PK3,PK4,sk1,C1).Similarly, the payer can decrypt the other amounts v2 v2PayerDec(SP,PK1,PK3,PK4,sk1,C2).We believe that the payer can decrypt his payment ciphertext is one of the main contributions of this paper. Payment statistics are one of the most important functions in financial activities, as each individual, our society and our country need to record payment amounts, summarise payment activities and use them for planning future payment activities.

Supervisor1Dec: The Superviser1Dec procedure is run by the first supervisor. It takes as input the system parameters SP, his private key sk3, the public key of the other supervisor PK4, the homomorphic ciphertext C1. It outputs an amount v1 v1Superviser1Dec(SP,PK4,sk3,C1).Similarly, he can decrypt the other amounts v2 v2Superviser1Dec(SP,PK4,sk3,C2).

Supervisor2Dec: The Superviser2Dec procedure is run by the second supervisor. It takes as input the system parameters SP, his private key sk4, the public key of the other supervisor PK3, the homomorphic ciphertext C1. It outputs an amount v1 v1Superviser2Dec(SP,PK3,sk4,C1).Similarly, he can decrypt the other amounts v2 v2Superviser2Dec(SP,PK3,sk4,C2).Therefore, these two supervisors can independently decrypt all users’ payments to master the whole economic dynamism and detect illegal transactions.

4. Concrete construction

4.1. Preliminaries

In the concrete construction of the transaction system, we will use the Bulletproofs, and the digital signature scheme in the black-box model, and we omit their introduction. The employment of a black box approach in the cryptanalysis of homomorphic encryption algorithms might be beneficial. Bijective morphisms can indeed be expected to be isotropic instantly, which is a major feature of black box algebra. In computational theory, it’s an ideal context for randomised algorithms are used to solve permutations and matrices group problems. We briefly review some related important cryptography concepts including bilinear groups (Boneh & Boyen, Citation2008) and difficult problems. In recent times, bilinear groups of composite order have been employed to tackle a variety of cryptographic challenges. While the minority choice hypothesis is a valuable tool for creating secure protocols, it poses considerable challenges when it comes to putting them into reality.

4.1.1. Bilinear groups

The payer, the payee and two supervisors need to decrypt the payment amounts in the system, which can be implemented using a bilinear map. The discrete logarithm issue on that category of elliptic curve cryptography over a discrete space can be transported to the discrete logarithm on a narrower sample space, where a sub-exponential index math approach can be utilised. We briefly review the bilinear maps and groups, in the notation of (Boneh & Boyen, Citation2008):

  • Let λZ+ be a security parameter of our encryption system, and n,2λ1<n<2λ is a large prime. (G1,), (G2,) and (GT,) are three cyclic groups of prime order n.

  • G is a generator of G1 and H is a generator of G2;

  • eˆ is a bilinear pairing eˆ:G1×G2GT, i.e. a map satisfying the following properties:

    • − Bilinearity: GG1, HG2, x,yZn, eˆ(xG,yH)=eˆ(G,H)xy;

    • − Non-degeneracy: eˆ(G,H)1 and is thus a generator of GT.

All operations on groups and bilinear maps can be achieved in polynomial-time. Formally, one defines a bilinear group generation algorithm G that takes as input a security parameter λZ+ and outputs the description of groups G1,G2,GT and a bilinear map eˆ:G1×G2GT. We then require the existence of probabilistic polynomial-time algorithms (in λ) for computing the group operation in G1,G2,GT and the bilinear map eˆ. If G1=G2, we call the bilinear map is a symmetry bilinear map. If G1G2, we call it asymmetric bilinear maps. In this paper, our scheme rely on the symmetrical bilinear group.

4.1.2. Difficult problems

The complexity of the Bilinear Diffie-Hellman Problem, that is an augmentation of the three challenges outlined below for a multiplicative group G1, provides the basis for our homomorphic encryption approach. To establish an effective cryptographic algorithm, a variety of Diffie-Hellman-type complexity considerations in bilinear groups were applied. The security of newer Weil-pairing-based crypto algorithms must be established.

Computational Diffie-Hellman (CDH) Problem: Given three group elements G,aG,bGG1, where a,bZn, find an element HG1 such that the following equation holds H=abG

Bilinear Diffie-Hellman (BDH) Problem: Given four group elements G,aG,bG,cGG1, where a,b,cZn, find an element GGT such that the following equation holds G=eˆ(G,G)abc

Decision Bilinear Diffie-Hellman (DBDH) Problem: Given four group elements G,aG,bG,cGG1, where a,b,cZn, and an element GGT decide whether or not the following equation holds G=eˆ(G,G)abcIf it holds, then the quintuple (G,aG,bG,cG,G) is a valid DBDH tuple.

Gap Bilinear Diffie-Hellman (GBDH)Problem: Solve a given instance, (G,aG,bG,cG), of the BDH problem with the help of a DBDH oracle that is able to decide whether or not a tuple (G,aG,bG,cG,G) is a valid DBDH tuple. A DBDH group is one in which group elements are difficult to analyse but simple to confirm. It is clearly possible to create a group in which Decision Diffie-Hellman is manifestly simple, but really what evidence do we have indicating Computational Diffie-Hellman is difficult in these kinds of groups.

4.2. Concrete scheme

Formally, a concrete construction of the transaction system is as follows:

Init: Let eˆ be symmetric bilinear maps, eˆ:G1×G1GT. G is a generator of G1, and eˆ(G,G) is a generator of GT. The prime order of G1,GT is n. A hash function hash maps a data of any length to {0,,n1}, hash:{0,1}Zn. The system parameters are SP=(eˆ,G1,GT,hash).

KeyGen: The private keys and public keys of the payer, the payee and two supervisors are as follows, sk1=(ska1,ska2)=(a1,a2)Zn2,PK1=(PKa1,PKa2)=(a1G,a2G)G12;sk2=(skb1,skb2)=(b1,b2)Zn2,PK2=(PKb1,PKb2)=(b1G,b2G)G12;sk3=c1Zn,PK3=c1GG1;sk4=d1Zn,PK4=d1GG1.

Pay: The payment procedure includes three steps, i.e. the homomorphic encryption scheme HEnc, the non-interactive zero-knowledge proof NIZK, and the digital signature Sign.

  • HEnc: It takes as input the system parameters SP, a random element x1Zn, payment amounts v1, his private key sk1, the public keys PK2,PK3,PK4 of the payee and two supervisors, and computes as follows: y1:=hash(x1||ska1PKb1||ska2PKb2)C1:=(C1,1,C1,2,C1,3):=(x1,y1G,eˆ(G,G)v1eˆ(PK3,PK4)y1)

In the same way, it takes as input the system parameters SP, a random element x2Zn, payment amounts v2, his private key sk1, the public keys PK1,PK3,PK4 of himself and two supervisors, and computes as follows: y2:=hash(x2||ska1PKa1||ska2PKa2)C2:=(C2,1,C2,2,C2,3):=(x2,y2G,eˆ(G,G)v2eˆ(PK3,PK4)y2)Obviously, he can encrypt multiple payment amounts vi,i3 for other payees as follows yi:=hash(xi||ska1PKi1||ska2PKi2),Ci:=(Ci,1,Ci,2,Ci,3):=(xi,yiG,eˆ(G,G)vieˆ(PK3,PK4)yi),where PKi=(PKi1,PKi2) are the other payees’ public keys.

The unspent amounts of the payer read from the blockchain has the following two expressions y0:=hash(x0||sk00,1PKa1||sk00,2PKa2)C0:=(C0,1,C0,2,C0,3):=(x0,y0G,eˆ(G,G)v0eˆ(PK3,PK4)y0)y0:=hash(x0||ska1PKa1||ska2PKa2)C0:=(C0,1,C0,2,C0,3):=(x0,y0G,eˆ(G,G)v0eˆ(PK3,PK4)y0)The unspent amounts v0 spent by user 0 whose private key is sk0=(sk00,1,sk00,2), and the unspent amount v0 is a change that the payer spends to himself.

  • NIZK: The non-interactive zero-knowledge proof NIZK includes two protocols, i.e. the Sigma protocol and the Bulletproofs.

The Sigma protocol is used to prove that the sum of the unspent ciphertext amounts v0+v0 is equal to the sum of the ciphertext amounts v1+v2 that need to be paid. More specifically, the payer needs to prove that ZKSigma{v0+v0=v1+v2|C0,C0,C1,C2},so he needs to prove that he knows a witness ω=(y0+y0)(y1+y2), where y0=hash(x0||sk00,1PKa1||sk00,2PKa2),y0=hash(x0||ska1PKa1||ska2PKa2),y1=hash(x1||ska1PKb1||ska2PKb2),y2=hash(x2||ska1PKa1||ska2PKa2).The value y0 is equivalent to the following equation due to the Diffie-Hellman key exchange method y~0=hash(x0||ska1PK00,1||ska2PK00,2)=hash(x0||ska1sk00,1G||ska2sk00,2G)=hash(x0||sk00,1PKa1||sk00,2PKa2)=y0As the payer knows y~, x0, x0, x1, x2, ska1, ska2, PKa1, PKa2, PK00,1, PK00,2, so he really knows the witness ω=(y0+y0)(y1+y2). Therefore, the payer can prove the following discrete logarithm equation by using the Sigma protocol (C0,3C0,3)/(C1,3C2,3)=eˆ(PK3,PK4)ω.The Bulletproofs protocol is used to prove that all ciphertext amounts v1,v2 that need to be paid are positive. ZKBulletproofs{v10,v20|C1,C2}

  • Sign: The signature scheme can use any secure scheme such as ECDSA (Johnson et al., Citation2001), BLS scheme (Boneh et al., Citation2001), etc. It takes as input all the above data data and his private key sk1, and returns a signature σ σSign(sk1,data)

Let data=(C0,C0,C1,C2,ZKSigma,ZKBulletproofs).

Ver: The verification procedure includes signature verification Versign, Sigma verification VerSigma and Bulletproofs verification VerBulletproofs. They are the same as in the system model and can be used in the black-box model. If all procedures, i.e. signature verification, Sigma verification and Bulletproofs verification, output valid and no double-spending, then accept and record in the blockchain, else reject.

PayeeDec: It takes as input the system parameters SP, his private key sk2, the public keys of the payer and two supervisors PK1,PK3,PK4, the homomorphic ciphertext C1,1,C1,3, and computes as follows: y1:=hash(C1,1||skb1PKa1||skb2PKa2)eˆ(G,G)v1:=C1,3/eˆ(PK3,PK4)y1As the payee knows the payment amounts v1, he can verify eˆ(G,G)v1=eˆ(G,G)v1. If holds, then accept, else reject. Besides, as v1 is not a big random element in Zn, he can search a value v1 such that eˆ(G,G)v1=eˆ(G,G)v1 to find it. In subsequent description, these two methods will be used frequently and we will omit them.

Similarly, the payer can decrypt his change v2 y2:=hash(C2,1||ska1PKb1||ska2PKb2)eˆ(G,G)v2:=C2,3/eˆ(PK3,PK4)y2

PayerDec: It takes as input the system parameters SP, his private key sk1, the public keys of the payee and two supervisors PK2,PK3,PK4, the homomorphic ciphertext C1,1,C1,3, and computes as follows: y1:=hash(C1,1||ska1PKb1||ska2PKb2)eˆ(G,G)v1:=C1,3/eˆ(PK3,PK4)y1Similarly, the payer can decrypt the other amounts v2 y2:=hash(C2,1||ska1PKb1||ska2PKb2)eˆ(G,G)v2:=C2,3/eˆ(PK3,PK4)y2Therefore, the payer can decrypt his payment to summarise payment activities and use them for planning future payment activities.

Supervisor1Dec: It takes as input the system parameters SP, his private key sk3, the public key of the other supervisor PK4, the homomorphic ciphertext C1,2,C1,3, and computes as follows: eˆ(G,G)v1:=C1,3/eˆ(C1,2,PK4)sk3Similarly, he can decrypt the other amounts v2 eˆ(G,G)v2:=C2,3/eˆ(C2,2,PK4)sk3

Supervisor2Dec: It takes as input the system parameters SP, his private key sk4, the public key of the other supervisor PK3, the homomorphic ciphertext C1,2,C1,3, and computes as follows: eˆ(G,G)v1:=C1,3/eˆ(C1,2,PK3)sk4Similarly, he can decrypt the other amounts v2 eˆ(G,G)v2:=C2,3/eˆ(C2,2,PK3)sk4Therefore, these two supervisors can independently decrypt all users’ payments to master the whole economic dynamism and detect illegal transactions.

Theorem 1.

In the PayeeDec procedure, the payee’s and the payer’s decryption is consistent.

The payee’s decryption is as follows y1=hash(C1,1||skb1PKa1||skb2PKa2)=hash(x1||skb1ska1G||skb2ska2G)=hash(x1||ska1PKb1||ska2PKb2)=y1eˆ(G,G)v1=C1,3/eˆ(PK3,PK4)y1=eˆ(G,G)v1eˆ(PK3,PK4)y1/eˆ(PK3,PK4)y1=eˆ(G,G)v1The payer’s decryption is as follows y2=hash(C2,1||ska1PKb1||ska2PKb2)=hash(x2||ska1PKb1||ska2PKb2)=y2eˆ(G,G)v2=C2,3/eˆ(PK3,PK4)y2=eˆ(G,G)v2eˆ(PK3,PK4)y2/eˆ(PK3,PK4)y2=eˆ(G,G)v2 y2=hash(C2,1||ska1PKb1||ska2PKb2)=hash(x2||ska1PKb1||ska2PKb2)=y2eˆ(G,G)v2=C2,3/eˆ(PK3,PK4)y2=eˆ(G,G)v2eˆ(PK3,PK4)y2/eˆ(PK3,PK4)y2=eˆ(G,G)v2

Theorem 2.

The payer’s decryption is consistent. y1=hash(C1,1||ska1PKb1||ska2PKb2)=hash(x1||ska1PKb1||ska2PKb2)=y1eˆ(G,G)v1=C1,3/eˆ(PK3,PK4)y1=eˆ(G,G)v1eˆ(PK3,PK4)y1/eˆ(PK3,PK4)y1=eˆ(G,G)v1 y2=hash(C2,1||ska1PKb1||ska2PKb2)=hash(x2||ska1PKb1||ska2PKb2)=y2eˆ(G,G)v2=C2,3/eˆ(PK3,PK4)y2=eˆ(G,G)v2eˆ(PK3,PK4)y2/eˆ(PK3,PK4)y2=eˆ(G,G)v2

Theorem 3.

The first supervisor’s decryption is consistent. eˆ(G,G)v1=C1,3/eˆ(C1,2,PK4)sk3=eˆ(G,G)v1eˆ(PK3,PK4)y1/eˆ(y1G,PK4)sk3=eˆ(G,G)v1eˆ(G,G)sk3sk4y1/eˆ(G,G)y1sk4sk3=eˆ(G,G)v1eˆ(G,G)v2=C2,3/eˆ(C2,2,PK4)sk3=eˆ(G,G)v2eˆ(PK3,PK4)y2eˆ(y2G,PK4)sk3=eˆ(G,G)v2eˆ(G,G)sk3sk4y2/eˆ(G,G)y2sk4sk3=eˆ(G,G)v2

Theorem 4.

The second supervisor’s decryption is consistent. eˆ(G,G)v1=C1,3/eˆ(C1,2,PK3)sk4=eˆ(G,G)v1eˆ(PK3,PK4)y1/eˆ(y1G,PK3)sk4=eˆ(G,G)v1eˆ(G,G)sk3sk4y1/eˆ(G,G)y1sk4sk3=eˆ(G,G)v1eˆ(G,G)v2=C2,3/eˆ(C2,2,PK3)sk4=eˆ(G,G)v2eˆ(PK3,PK4)y2eˆ(y2G,PK3)sk4=eˆ(G,G)v2eˆ(G,G)sk3sk4y2/eˆ(G,G)y2sk4sk3=eˆ(G,G)v2

5 Security

For the ciphertext C1=(C1,1,C1,2,C1,3), where C1=(C1,1,C1,2,C1,3)=(x1,y1G,eˆ(G,G)v1eˆ(PK3,PK4)y1),y1=hash(x1||ska1PKb1||ska2PKb2),an adversary can launch an attack from the angle of the payer, the payee and the two supervisors. However, the decryption operations of the payer and the payee are equivalent, and the decryption operations of the two supervisors are also equivalent. Therefore, we need to prove the following two theorems.

Theorem 5.

Suppose the hash function hash is a random oracle. From the angle of the payer or the payee, if the CDH problem is hard, then our homomorphic encryption scheme is provably secure in the classic IND-CPA security model with reduction loss L=1.

Theorem 6.

Suppose the hash function hash is a random oracle. From the angle of one of the two supervisors, if the DBDH problem is hard, then our homomorphic encryption scheme is provably secure in the classic IND-CPA security model with reduction loss L=2.

If the adversary attack from the angle of one of the two supervisors, then C1,1 is useless, and the y1 is a random element in Zn. Therefore, the ciphertext can be reduced as follows C1=(C1,2,C1,3)=(y1G,eˆ(G,G)v1eˆ(PK3,PK4)y1)Therefore, theorem 6 is a bit easier than theorem 5, so we prove theorem 6 first in the classic security model, and prove theorem 5 s.

5.1. Security proof

Suppose there exists an algebra adversary A who can break the above homomorphic encryption scheme from the angle of one of the two supervisors in the IND-CPA security model, in time t with non-negligible advantage ϵ. We can construct a simulator B to solve the DBDH problem. Given as input a problem instance (G,aG,bG,cG,Z), the simulator B controls the random oracle Hash, runs the algebra adversary A, and computes as follows.

Setup. Let system parameter be SP=G1,G,n,GT, eˆ and Hash be the random oracle controlled by the simulator B. The simulator B sets the public key as PK3=bG,cGThe public key is available from the problem instance.

Challenge. The algebra adversary A outputs two amounts v0,v1 to be challenged. The simulator B chooses a random coin ξ{0,1}, a random element RGT, and sets the challenge ciphertext CT as CT=(aG,eˆ(G,G)vξZ),where aG and Z is from the problem instance. Let y1=a. If Z=eˆ(bG,cG)y1.Then, the challenge ciphertext CT is CT=(y1G,eˆ(G,G)v1eˆ(bG,cG)y1)Therefore, the challenge ciphertext CT is a correct ciphertext from the point of view of the adversary.

Guess. The algebra adversary A outputs a guess ξ of ξ. The simulator outputs true if ξ=ξ. Otherwise, false.

This completes the simulation and the solution. The advantage of solving the DBDH problem is PrAdv=(12+ξ2)12=ξ2.The reduction loss is 2. Let Ts denote the time cost of the simulation. We have Ts=O(1). Therefore, simulator B will solve the DBDH problem with (t+Ts,ϵ/2). This completes the proof of the theorem 6.

As shown in Table , Suppose there exists an algebra adversary A who can break the above encryption scheme in the IND-CPA security model, in time t with non-negligible advantage ϵ. We can construct a simulator B to solve the CDH problem. Given as input a problem instance (G,aG,bG), the simulator B controls the random oracle Hash, runs the algebra adversary A, and works as follows.

Table 1. Theoretical comparison.

Setup. Let the system parameter be SP=G1,G,n,GT, eˆ and Hash be the random oracle controlled by the simulator B. The simulator B randomly chooses z1,z2RZp and sets the public key as PK=(G1,G2)=(aG,z1G+z2aG)where α=a and β=z1+z2a. The public key can be computed from the problem instance (G,aG,bG) and the chosen parameters z1,z2.

Hash-Query. The simulator B prepares a Hash-Query list to record all queries and responses. In the beginning, the Hash-Query list is empty. Let the i-th hash query be γi=(xi||biG1||biG2).If γi is a new hash query, then the simulator B randomly chooses yiZn and sets Hash(γi)=yi. The simulator B responds to this query with Hash(γi) and adds (γi,yi) to the Hash-Query list. If γi is already in the Hash-Query list, the simulator B responds to this query with the existed random value in the Hash-Query list.

Challenge. The algebra adversary A outputs two amounts v0,v1 to be challenged. The simulator B randomly chooses a random element xRZn, five group elements G,G3,G4G1, and a random element RGT. He sets the challenge ciphertext CT as CT=(x,G,R).The challenge ciphertext can be seen as an encryption of the message vξ{v0,v1} using the random coin ξ if y=hash(x||bG1||bG2),G=yG,eˆ(G3,G4)y1=R/eˆ(G,G)vξThen, the challenge ciphertext CT is CT=(C1,1,C1,2,C1,3)=(x,yG,eˆ(G,G)v1eˆ(G3,G4)y),y=hash(x||bG1||bG2)Therefore, if there is no hash query on γ=(x||bG1||bG2) to the random oracle Hash, then the challenge ciphertext CT is a correct ciphertext from the point of view of the adversary.

Guess. The algebra adversary A outputs a guess or . In the above simulation, the challenge hash query is defined as. Q=(bG1||bG2)=(baG,b(z1+z2a)G)As (γ1,y1),(γ2,y2),,(γqH,yqH) are all in the Hash-Query list, where each query γi=(xi||biG1||biG2). If xi does not satisfy this structure, we can delete it. As the following equation holds z1b+z2ba=bz1+bz2aThen, the following equation holds (z1b+z2ba)G=(bz1+bz2a)Gz1(bG)+z2(baG)=b(z1G+z2aG).It is equivalent to the following equation z1(bG)+z2(bG1)=bG2.Therefore, the simulator B can find the query γ=(x||bG1||bG2) from the Hash-Query list satisfying the above equation. He uses it as the solution to the CDH problem instance. Therefore, there is no reduction loss in the above security simulation. In other words, if the algebra adversary A can break the encryption scheme in polynomial-time t with non-negligible probability ϵ, then we can construct a simulator B to break the CDH problem instance in polynomial-time t+Ts with the same probability ϵ, where Ts is the time cost of the simulation. This completes the proof of the theorem 5.

6. Performance and comparison

Our homomorphic encryption scheme is extending from Diament et al.’s (Citation2004) dual receiver public encryption scheme, which has dual receivers. We add an extra receiver in their scheme and achieve the property of homomorphism. Besides, our scheme has a special characteristic that it supports both the payer and the sender to decrypt a message.

The Diament et al.’s (Citation2004) scheme can be converted to a homomorphic encryption scheme easily, and we can make a detailed comparison with it. In this paper, the payer corresponds to the sender, the payee corresponds to the receiver 1, the supervisor 1 corresponds to the receiver 2, and the supervisor 2 corresponds to the receiver 3.

In table 5.1, the second to the fourth columns show the size of the private key, the public key and the ciphertext. The fifth to the sixth columns show the computation complexity of encryption and decryption algorithms. The seventh to the eighth columns show the computational hard problems and reduction loss respectively.

The bilinear maps computational complexity denotes as eˆ, exponent operation and additive operation on group G1,GT denotes as G1e,G1+,GTe,GT+, respectively. We omitted the computation complexity of the hash function.

For the receiver 3,4 the length of the private key and public key, and decryption complexity is the same. Although the length of the private key and public key of the sender and receiver 1 in our scheme is twice over Diament’s scheme, the sender can decrypt it in our scheme. Besides, computational hard problems of our scheme are CDH and DBDH, where the DBDH problem is a bit harder than the BDH problem, and the CDH problem is a standard and is one of the most widely accepted hard problems. Furthermore, the reduction loss of Diament’s scheme is qH/2 while the reduction loss of our scheme is only 1 and 2 respectively, which is very tight. More specially, with a fixed security level, the exponent of Diament’s scheme should qH/4 bits longer than our scheme. In other words, with a fixed exponent of the elliptic curve group, our scheme is more secure than Diament’s scheme for qH/4-bits. Fully homomorphic encryption is also too leisure to be practicable. Fully homomorphic encryption is still a relatively new technology for data protection and usefulness. However, it’s an intriguing idea, and that we’re sure to see quicker variants that may be used in a number of scenarios.

Platform: Centos7.7 with kernel 3.10.0-1062.el7, @2.50 GHz, x86_64, 192GB RAM. We use SHA256 as the concrete construction of the hash function, and select the Type A elliptic curve y2=x3+x in jpbc library. The exponent of the elliptic curve group in our encryption scheme is 160 bits, and the length of an elliptic curve group member is 512 bits. CentOS is a Linux distribution that offers a neighbourhood, open and free computing environment that is operationally consistent including its original source. Software archives contain latest version of the software than those included in the standard distribution.

As is shown in Table , the encryption time of the sender(payer) and the decryption time of the receiver 1 and 2 (payee and supervisor) are 30.61, 17.42 and 17.43 ms, respectively. The encryption time of the sender(payer) and the decryption time of the sender (payer), receiver 1,2,3 (payee, supervisor 1 and supervisor 2) is 57.05, 38.33, 38.34 ms, 24.85 and 24.83 ms, respectively. Although the encryption and decryption time of our scheme is a bit longer than Diament’s scheme, our scheme supports payment amounts decryption by the sender (payer), an additional receiver and tight security reduction loss.

Table 2. Performance comparison.

7. Conclusion

We propose a blockchain-based transaction system with payment statistics and supervision. We use a special homomorphic encryption scheme to protect the privacy of payment while the payer, the payee and two supervisors can decrypt it independently. We believe that the payer can decrypt it and use it for payment statistics is of great importance in financial statistics. Besides, the two supervisors can decrypt it independently so that they can master the whole economic dynamism and detect illegal transactions, which is also important in financial statistics.

We show that if the DBDH issue is difficult, our homomorphic encryption technique is secure and efficient in the conventional IND-CPA security framework with reduction loss L = 2 from the perspective of one of the two supervisors. If the CDH problem is difficult, our homomorphic encryption approach is highly robust in the conventional IND-CPA security model without even any reduction loss in the view of payer or payee’s perspective. Finally, by comparing with Diament’s scheme, our homomorphic scheme only increases a little length of ciphertext, but supports payment amounts decryption by the payer, an additional receiver and tight security reduction loss.

Disclosure statement

No potential conflict of interest was reported by the author(s).

References

  • Androulaki, E., Barger, A., Bortnikov, V., Cachin, C., Christidis, K., De Caro, A., Enyeart, D., Ferris, C., Laventman, G., Manevich, Y., Muralidharan, S., Murthy, C., Nguyen, B., Sethi, M., Singh, G., Smith, K., Sorniotti, A., Stathakopoulou, C., Vukolic, M., Cocco, S. W., & Yellick, J. (2018). Hyperledger fabric: A distributed operating system for permissioned blockchains. EuroSys, 30, 1–30, 15.
  • Ben-Sasson, E., Chiesa, A., Tromer, E., & Virza, M. (2014). Succinct non-Interactive zero Knowledge for a von Neumann Architecture. USENIX Security Symposium (pp. 781–796).
  • Bissias, D. D., Ozisik, A. P., Levine, B. N., Liberatore, M. (2014). Sybil-resistant mixing for bitcoin. WPES (pp. 149–158).
  • Boneh, D., & Boyen, X. (2008). Short signatures without random oracles and the SDH assumption in bilinear groups. Journal of Cryptology, 21(2), 149–177. https://doi.org/10.1007/s00145-007-9005-7
  • Boneh, D., Lynn, B., & Shacham, H. (2001). Short signatures from the Weil pairing. ASIACRYPT (pp. 514–532).
  • Bünz, B., Bootle, J., Boneh, D., Poelstra, A., Wuille, P., & Maxwell, G. (2018). Bulletproofs: Short proofs for confidential transactions and more. IEEE Symposium on Security and Privacy (pp. 315–334).
  • Damgård, I. (2000). Efficient concurrent zero-knowledge in the auxiliary string model. EUROCRYPT (pp. 418–430).
  • Diament, T., Lee, H. K., Keromytis, A. D., & Yung, M. (2004). The dual receiver cryptosystem and its applications. CCS (pp. 330–343).
  • Feng, H., Liu, J., Wu, Q., & Li, Y. (2020). Traceable ring signatures with post-quantum Security. CT-RSA (pp. 442–468).
  • Fujisaki, E., & Suzuki, K. (2007). Traceable ring signature. Public Key Cryptography (pp. 181–200).
  • Groth, J. (2016). On the size of pairing-based non-interactive arguments. EUROCRYPT (2, pp. 305–326).
  • Johnson, D., Menezes, A., & Vanstone, S. (2001). The elliptic curve digital signature algorithm (ecdsa). International Journal of Information Security, 1(1), 36–63. https://doi.org/10.1007/s102070100002
  • Koshy, P., Koshy, D., & McDaniel, P. D. (2014). An analysis of anonymity in bitcoin using P2P network traffic. Financial Cryptography (pp. 469–485).
  • Maxwell G. (2013). Coinjoin: Bitcoin privacy for the real world. https://bitcointalk.org/index.php
  • Meiklejohn, S., Pomarole, M., Jordan, G., Levchenko, K., McCoy, D., Voelker, G. M., & Savage, S. (2013). A fistful of bitcoins: Characterizing payments among men with no names. Internet Measurement Conference (pp. 127–140).
  • Miers, I., Garman, C., Green, M., & Rubin, A. D. (2013). Zerocoin: Anonymous distributed e-cash from bitcoin. IEEE Symposium on Security and Privacy (pp. 397–411).
  • Miller, A., Xia, Y., Croman, K., Shi, E., & Song, D. (2016). The honey badger of BFT protocols. CCS (pp. 31–42).
  • Moser, M., & Narayanan, A. (2019). Effective cryptocurrency regulation through blacklisting. Preprint.
  • Nakamoto, S. (2019). “Bitcoin: A peer-to-peer electronic cash system”.
  • Noether, S. (2015). Ring signature confidential transactions for monero. IACR Cryptol. EPrint Arch, 2015, 1098.
  • Noether, S., & Mackenzie, A. (2016). Ring confidential transactions. Ledger, 1, 1–18. https://doi.org/10.5195/ledger.2016.34
  • Reid, F., & Harrigan, M. (2011). An analysis of anonymity in the bitcoin system. SocialCom/PASSAT (pp. 1318–1326).
  • Ruffing, T., Moreno-Sanchez, P., & Kate, A. (2014). CoinShuffle: Practical decentralized coin mixing for bitcoin. ESORICS (2, pp. 345–364).
  • Wang, Q., Li, R., Wang, Q., & Chen, S. (2021). “Non-fungible token (NFT): Overview, evaluation, opportunities and challenges,” arXiv preprint arXiv:2105.07447.
  • Wang, Y.-C., Chen, C.-L., & Deng, Y.-Y. (2021). Authorization mechanism based on blockchain technology for protecting museum-digital property rights. Applied Sciences, 11(3), 1085. https://doi.org/10.3390/app11031085
  • Wood, G. (2014). Ethereum: A secure decentralised generalised transaction ledger. Ethereum Project Yellow Paper, 151(2014), 1–32.
  • Wust, K., Kostiainen, K., Capkun, V., & Capkun, S. (2018). Prcash: Centrally-issued digital currency with privacy and regulation. IACR Cryptol. EPrint Arch, 2018, 412.
  • Zhao, C. (2014). Graph-based forensic investigation of bitcoin transactions.
  • Zhaofeng, M., Lingyun, W., Xiaochang, W., Zhen, W., & Weizhe, Z. (2019). Blockchain-enabled decentralized trust management and secure usage control of IoT big data. IEEE Internet of Things Journal, 7(5), 4000–4015. https://doi.org/10.1109/JIOT.2019.2960526
  • Ziegeldorf, J. H., Grossmann, F., Henze, M., Inden, N., & Wehrle, K. (2015). CoinParty: Secure multi-party mixing of bitcoins. CODASPY (pp. 75–86).