A blockchain-based transaction system with payment statistics and supervision

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.


Introduction
Blockchain (Nakamoto, 2019) 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., 2021). 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, 2019) and Ethereum (Wood, 2014) 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 Zhaofeng et al., 2019). Therefore, it is necessary to protect transaction privacy. Monero (Noether, 2015;Noether & Mackenzie, 2016), Zerocoin (Miers et al., 2013) and Zerocash (Ben-Sasson et al., 2014) 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., 2020;Fujisaki & Suzuki, 2007) 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.

Related work
Bitcoin (Nakamoto, 2019) 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, 2014) 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 (2013) 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 commoninput ownership. CoinShuffle is a distributed Bitcoin blending system described by Ruffing et al. (2014), 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. (2014) 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. (2015), which is built on a mixture of decryption mixnets and threshold cryptosystems. Monero (Noether, 2015;Noether & Mackenzie, 2016) 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., 2013)/Zerocash (Ben-Sasson et al., 2014 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., 2014;Groth, 2016).
However, all the above schemes only consider privacy protection. The supervision of the blockchain system includes transaction traceability mechanisms (Koshy et al., 2014Reid & Harrigan, 2013), address clustering mechanisms (Meiklejohn et al., 2013;Zhao, 2014), certificate management mechanisms (Androulaki et al., 2018;Moser & Narayanan, 2019;Wust et al., 2018) 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.

Transaction system
As shown in Figure 1, 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 noninteractive 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. 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.
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).

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.
Note that in the above homomorphic encryption, we embedded the private key sk 1 of the payer and the public keys PK 2 , PK 3 , PK 4 of the payee and two supervisors, so that all of them can decrypt the homomorphic ciphertext C 1 independently to get the same payment amounts v 1 . This procedure does not need a zero-knowledge proof protocol to prove that the payment amounts v 1 decrypted by multiple different participants are the same.
In the same way, it takes as input the system parameters SP, payment amounts v 2 , his private key sk 1 , the public keys PK 1 , PK 3 , PK 4 of himself and two supervisors. It outputs a homomorphic ciphertext C 2 C 2 ← HEnc(SP, sk 1 , PK 1 , PK 3 , PK 4 , v 2 ).
The payment amount v 2 is the change for the payer. Note that as the change v 2 is the payer pay to himself, so both his private key sk 1 and public key PK 1 are embedded in the ciphertext.
Obviously, one can encrypt multiple payment amounts v 3 , . . . v n for other payees as follows Similarly, the unspent amounts of the payer read from the blockchain has the following two kinds of expressions The amount v 0 spent by user 0 whose private key is sk 0 , and v 0 is a change that the payer spends to himself. As PK 1 is in both ciphertexts C 0 , C 0 , the payer can spend v 0 , v 0 validly by using his corresponding private key sk 1 .
• NIZK: The non-interactive zero-knowledge proof NIZK includes two protocols, i.e. the Sigma protocol (Damgård, 2000) and the Bulletproofs (Bünz et al., 2018). 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 v 0 + v 0 is equal to the sum of the ciphertext amounts v 1 + v 2 that need to be paid. The Sigma protocol takes as input C 0 , C 0 , C 1 , C 2 , and returns proof data, This equation is a complete expression, which includes the following two subcases. If v 0 = 0 or v 0 = 0, then the above equation can be reduced as follows It means the payer only intends to spend the unspent amounts v 0 or v 0 .
The Bulletproofs protocol is used to prove that all ciphertext amounts v 1 , v 2 that need to be paid are positive • Sign: It takes as input all the above data data and his private key sk 1 , and returns a signature σ σ ← Sign(sk 1 , data).
Ver: The verification procedure includes signature verification Ver sign , Sigma verification Ver Sigma , and Bulletproofs verification Ver Bulletproofs . This procedure is run by consensus nodes (or miners) of the blockchain system. Ver sign takes as input the system parameters SP, all the above data data, the signature σ , the corresponding public key PK 1 , and returns a judgment True/False ← Ver sign (SP, PK 1 , data, σ ).
Ver Sigma and Ver Bulletproofs take as input the proof data and returns a judgment respectively 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., 2016), 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 sk 2 , the public keys of the payee and two supervisors PK 1 , PK 3 , PK 4 , the homomorphic ciphertext C 1 . It outputs an amount v 1 v 1 ← PayeeDec(SP, PK 1 , PK 3 , PK 4 , sk 2 , C 1 ).

PayerDec:
The PayerDec procedure is run by the payer. It takes as input the system parameters SP, his private key sk 1 , the public keys of the payer and two supervisors PK 2 , PK 3 , PK 4 , the homomorphic ciphertext C 1 . It outputs an amount v 1 v 1 ← PayerDec(SP, PK 2 , PK 3 , PK 4 , sk 1 , C 1 ).
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 sk 3 , the public key of the other supervisor PK 4 , the homomorphic ciphertext C 1 . It outputs an amount v 1 v 1 ← Superviser1Dec(SP, PK 4 , sk 3 , C 1 ).

Supervisor2Dec:
The Superviser2Dec procedure is run by the second supervisor. It takes as input the system parameters SP, his private key sk 4 , the public key of the other supervisor PK 3 , the homomorphic ciphertext C 1 . It outputs an amount v 1 v 1 ← Superviser2Dec(SP, PK 3 , sk 4 , C 1 ).
Therefore, these two supervisors can independently decrypt all users' payments to master the whole economic dynamism and detect illegal transactions.

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, 2008) 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.

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, 2008): • Let λ ∈ Z + be a security parameter of our encryption system, and n, 2 λ−1 < n < 2 λ is a large prime. (G 1 ,  * ), (G 2 , * ) and (G T , * ) are three cyclic groups of prime order n. • G is a generator of G 1 and H is a generator of G 2 ; •ê is a bilinear pairingê : G 1 × G 2 → G T , i.e. a map satisfying the following properties: − Bilinearity: ∀G ∈ G 1 , ∀H ∈ G 2 , ∀x, y ∈ Z n , e(x · G, y · H) =ê(G, H) xy ; − Non-degeneracy:ê(G, H) = 1 and is thus a generator of G T .
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 G 1 , G 2 , G T and a bilinear map e : G 1 × G 2 → G T . We then require the existence of probabilistic polynomial-time algorithms (in λ) for computing the group operation in G 1 , G 2 , G T and the bilinear mapê. If G 1 = G 2 , we call the bilinear map is a symmetry bilinear map. If G 1 = G 2 , we call it asymmetric bilinear maps. In this paper, our scheme rely on the symmetrical bilinear group.

Difficult problems
The complexity of the Bilinear Diffie-Hellman Problem, that is an augmentation of the three challenges outlined below for a multiplicative group G 1 , 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, a · G, b · G ∈ G 1 , where a, b ∈ Z n , find an element H ∈ G 1 such that the following equation holds H = ab · G Bilinear Diffie-Hellman (BDH) Problem: Given four group elements G, a · G, b · G, c · G ∈ G 1 , where a, b, c ∈ Z n , find an element G ∈ G T such that the following equation holds G =ê(G, G) abc Decision Bilinear Diffie-Hellman (DBDH) Problem: Given four group elements G, a · G, b · G, c · G ∈ G 1 , where a, b, c ∈ Z n , and an element G ∈ G T decide whether or not the following equation holds

G =ê(G, G) abc
If it holds, then the quintuple (G, a · G, b · G, c · G, G ) is a valid DBDH tuple. : Solve a given instance, (G, a · G, b · G, c · G), of the BDH problem with the help of a DBDH oracle that is able to decide whether or not a tuple (G, a · G, b · G, c · G, 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.

Concrete scheme
Formally, a concrete construction of the transaction system is as follows: Init: Letê be symmetric bilinear maps,ê : G is a generator of G 1 , andê(G, G) is a generator of G T . The prime order of G 1 , G T is n. A hash function hash maps a data of any length to {0, . . . , n − 1}, hash : {0, 1} * → Z n . The system parameters are SP = (ê, G 1 , G T , hash).

KeyGen:
The private keys and public keys of the payer, the payee and two supervisors are as follows,

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 x 1 ∈ Z n , payment amounts v 1 , his private key sk 1 , the public keys PK 2 , PK 3 , PK 4 of the payee and two supervisors, and computes as follows: In the same way, it takes as input the system parameters SP, a random element x 2 ∈ Z n , payment amounts v 2 , his private key sk 1 , the public keys PK 1 , PK 3 , PK 4 of himself and two supervisors, and computes as follows: y 2 := hash(x 2 ||sk a 1 · PK a 1 ||sk a 2 · PK a 2 ) C 2 := (C 2,1 , C 2,2 , C 2,3 ) := (x 2 , y 2 · G,ê(G, G) v 2 ·ê(PK 3 , PK 4 ) y 2 ) Obviously, he can encrypt multiple payment amounts v i , i ≥ 3 for other payees as follows y i := hash(x i ||sk a 1 · PK i 1 ||sk a 2 · PK i 2 ), where PK i = (PK i 1 , PK i 2 ) are the other payees' public keys. The unspent amounts of the payer read from the blockchain has the following two expressions y 0 : = hash(x 0 ||sk 0 0,1 · PK a 1 ||sk 0 0,2 · PK a 2 ) The unspent amounts v 0 spent by user 0 whose private key is sk 0 = (sk 0 0,1 , sk 0 0,2 ), and the unspent amount v 0 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.
• Sign: The signature scheme can use any secure scheme such as ECDSA (Johnson et al., 2001), BLS scheme (Boneh et al., 2001), etc. It takes as input all the above data data and his private key sk 1 , and returns a signature σ σ ← Sign(sk 1 , data) Let data = (C 0 , C 0 , C 1 , C 2 , ZK Sigma , ZK Bulletproofs ).

Ver:
The verification procedure includes signature verification Ver sign , Sigma verification Ver Sigma and Bulletproofs verification Ver Bulletproofs . 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.
Supervisor1Dec: It takes as input the system parameters SP, his private key sk 3 , the public key of the other supervisor PK 4 , the homomorphic ciphertext C 1,2 , C 1,3 , and computes as follows:ê Similarly, he can decrypt the other amounts v 2 e(G, G) v 2 := C 2,3 /ê(C 2,2 , PK 4 ) sk 3 Supervisor2Dec: It takes as input the system parameters SP, his private key sk 4 , the public key of the other supervisor PK 3 , the homomorphic ciphertext C 1,2 , C 1,3 , and computes as follows:ê Similarly, he can decrypt the other amounts v 2 e(G, G) v 2 := C 2,3 /ê(C 2,2 , PK 3 ) sk 4 Therefore, these two supervisors can independently decrypt all users' payments to master the whole economic dynamism and detect illegal transactions.

Security
For the ciphertext C 1 = (C 1,1 , C 1,2 , C 1,3 ), where 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 C 1,1 is useless, and the y 1 is a random element in Z n . Therefore, the ciphertext can be reduced as follows C 1 = (C 1,2 , C 1,3 ) = (y 1 · G,ê(G, G) v 1 ·ê(PK 3 , PK 4 ) y 1 ) 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.

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, a · G, b · G, c · G, Z), the simulator B controls the random oracle Hash, runs the algebra adversary A, and computes as follows.

Setup.
Let system parameter be SP = G 1 , G, n, G T ,ê and Hash be the random oracle controlled by the simulator B. The simulator B sets the public key as The public key is available from the problem instance.
Challenge. The algebra adversary A outputs two amounts v 0 , v 1 to be challenged. The simulator B chooses a random coin ξ ∈ {0, 1}, a random element R * ∈ G T , and sets the challenge ciphertext CT * as where a · G and Z is from the problem instance. Let y 1 = a. If Then, the challenge ciphertext CT * is 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 The reduction loss is 2. Let T s denote the time cost of the simulation. We have T s = O(1). Therefore, simulator B will solve the DBDH problem with (t + T s , ε/2). This completes the proof of the theorem 6. As shown in Table 1, 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  (Diament et al., 2004) Payer Diament et al., 2004) Payee Diament et al., 2004) Supervisor advantage ε. We can construct a simulator B to solve the CDH problem. Given as input a problem instance (G, a · G, b · G), the simulator B controls the random oracle Hash, runs the algebra adversary A, and works as follows.
Setup. Let the system parameter be SP = G 1 , G, n, G T ,ê and Hash be the random oracle controlled by the simulator B. The simulator B randomly chooses z 1 , z 2 ∈ R Z p and sets the public key as where α = a and β = z 1 + z 2 a. The public key can be computed from the problem instance (G, a · G, b · G) and the chosen parameters z 1 , z 2 .
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 If γ i is a new hash query, then the simulator B randomly chooses y i ∈ Z n and sets Hash(γ i ) = y i . The simulator B responds to this query with Hash(γ i ) and adds (γ i , y i ) 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 v 0 , v 1 to be challenged. The simulator B randomly chooses a random element x * ∈ R Z n , five group elements G * , G 3 , G 4 ∈ G 1 , and a random element R * ∈ G T . He sets the challenge ciphertext CT * as The challenge ciphertext can be seen as an encryption of the message v ξ ∈ {v 0 , v 1 } using the random coin ξ if y * = hash(x * ||b · G 1 ||b · G 2 ), Then, the challenge ciphertext CT * is Therefore, if there is no hash query on γ * = (x * ||b · G 1 ||b · G 2 ) 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.
As (γ 1 , y 1 ), (γ 2 , y 2 ), . . . , (γ q H , y q H ) are all in the Hash-Query list, where each query γ i = (x i ||b i · G 1 ||b i · G 2 ). If x i does not satisfy this structure, we can delete it. As the following equation holds Then, the following equation holds It is equivalent to the following equation Therefore, the simulator B can find the query γ * = (x * ||b * · G 1 ||b * · G 2 ) 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 + T s with the same probability ε, where T s is the time cost of the simulation. This completes the proof of the theorem 5.

Performance and comparison
Our homomorphic encryption scheme is extending from Diament et al.'s (2004) 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 (2004) 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ê, exponent operation and additive operation on group G 1 , G T denotes as G e 1 , G + 1 , G e T , G + T , 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 q H /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 q H /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 q H /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 y 2 = x 3 + 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 2, 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.

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).