The Amazonian catfish, Panaque nigrolineatus have several physiological adaptions enabling the scraping and consumption of wood (xylivory), facilitating a detritivorous dietary strategy. Composed of lignocellulose, wood is a difficult substrate to degrade and as yet, it is unclear whether the fish obtains any direct nutritional benefits from wood ingestion and degradation. However, there are numerous systems that rely on microbial symbioses to provide energy and other nutritional benefits for host organisms via lignocellulose decomposition. While previous studies on the microbial community of P. nigrolineatus have focused upon the bacterial population, the role of fungi in lignocellulose degradation in the fish has not yet been examined. This study describes the detection of fungi within the fish gastrointestinal tract. Using next generation sequencing, the effects of diet on enteric fungal populations were examined in each gastrointestinal tract region. Fungal species were found to vary in different regions of the gastrointestinal tract as a function of diet. This study is the first to examine the fungal community in a xylivorous fish and results support the hypothesis that diet influences fungal distribution and diversity within the gastrointestinal tract of P. nigrolineatus.
Citation: Caroline L. Marden, Ryan McDonald, Harold J. Schreier, Joy E.M. Watts. Investigation into the fungal diversity within different regions of the gastrointestinal tract of Panaque nigrolineatus, a wood-eating fish[J]. AIMS Microbiology, 2017, 3(4): 749-761. doi: 10.3934/microbiol.2017.4.749
Related Papers:
[1]
Mohammed Alshehri .
Blockchain-assisted cyber security in medical things using artificial intelligence. Electronic Research Archive, 2023, 31(2): 708-728.
doi: 10.3934/era.2023035
[2]
Ge Wu, Longlong Cao, Hua Shen, Liquan Chen, Xitong Tan, Jinguang Han .
Cloud auditing for outsourced storage service in healthcare systems with static data transfer. Electronic Research Archive, 2025, 33(4): 2577-2600.
doi: 10.3934/era.2025115
[3]
Yunfei Tan, Shuyu Li, Zehua Li .
A privacy preserving recommendation and fraud detection method based on graph convolution. Electronic Research Archive, 2023, 31(12): 7559-7577.
doi: 10.3934/era.2023382
[4]
Youqun Long, Jianhui Zhang, Gaoli Wang, Jie Fu .
Hierarchical federated learning with global differential privacy. Electronic Research Archive, 2023, 31(7): 3741-3758.
doi: 10.3934/era.2023190
[5]
Seyha Ros, Prohim Tam, Inseok Song, Seungwoo Kang, Seokhoon Kim .
A survey on state-of-the-art experimental simulations for privacy-preserving federated learning in intelligent networking. Electronic Research Archive, 2024, 32(2): 1333-1364.
doi: 10.3934/era.2024062
[6]
Bochen Li, Ting Wang .
Identification of a FIR system with binary-valued observation under data tampering attack and differential privacy preservation. Electronic Research Archive, 2025, 33(6): 3989-4013.
doi: 10.3934/era.2025177
[7]
Qingjie Tan, Xujun Che, Shuhui Wu, Yaguan Qian, Yuanhong Tao .
Privacy amplification for wireless federated learning with Rényi differential privacy and subsampling. Electronic Research Archive, 2023, 31(11): 7021-7039.
doi: 10.3934/era.2023356
[8]
Sahar Badri .
HO-CER: Hybrid-optimization-based convolutional ensemble random forest for data security in healthcare applications using blockchain technology. Electronic Research Archive, 2023, 31(9): 5466-5484.
doi: 10.3934/era.2023278
[9]
Zhuang Wang, Renting Liu, Jie Xu, Yusheng Fu .
FedSC: A federated learning algorithm based on client-side clustering. Electronic Research Archive, 2023, 31(9): 5226-5249.
doi: 10.3934/era.2023266
[10]
Mengjie Xu, Nuerken Saireke, Jimin Wang .
Privacy-preserving distributed optimization algorithm for directed networks via state decomposition and external input. Electronic Research Archive, 2025, 33(3): 1429-1445.
doi: 10.3934/era.2025067
Abstract
The Amazonian catfish, Panaque nigrolineatus have several physiological adaptions enabling the scraping and consumption of wood (xylivory), facilitating a detritivorous dietary strategy. Composed of lignocellulose, wood is a difficult substrate to degrade and as yet, it is unclear whether the fish obtains any direct nutritional benefits from wood ingestion and degradation. However, there are numerous systems that rely on microbial symbioses to provide energy and other nutritional benefits for host organisms via lignocellulose decomposition. While previous studies on the microbial community of P. nigrolineatus have focused upon the bacterial population, the role of fungi in lignocellulose degradation in the fish has not yet been examined. This study describes the detection of fungi within the fish gastrointestinal tract. Using next generation sequencing, the effects of diet on enteric fungal populations were examined in each gastrointestinal tract region. Fungal species were found to vary in different regions of the gastrointestinal tract as a function of diet. This study is the first to examine the fungal community in a xylivorous fish and results support the hypothesis that diet influences fungal distribution and diversity within the gastrointestinal tract of P. nigrolineatus.
1.
Introduction
Blockchain, as a type of decentralized and public computational paradigm using multi-party consensus, provides new solutions for data security and information sharing in many scenarios. Increasingly numerous assets have gradually appeared in the blockchain amid blockchain's wide application in various field such as the Internet of Things, smart grids and so on [1,2]. For example, many products' information is processed by blockchain for product traceability in the Internet of Things. Some blockchain-based data sharing schemes are also designed for sensitive information such as medical data and so on, that needs both privacy and some levels of data sharing[3,4,5]. Effective evaluation of privacy risk and ensuring privacy have always attracted broad attention[6,7,8,9]. In addition, many blockchain-based privacy preserving payment mechanisms for the Internet of Things have also been constructed to provide efficient and decentralized transactions[10,11]. Therefore, how to achieve privacy of transaction contents, making monetary assets and data assets hidden from observers, and how to achieve public verification of transactions to ensure monetary assets and data assets satisfy transaction rules are crucial and have been focused on.
Traditional ledger-based transaction schemes in blockchain, such as Bitcoin, etc., lack of privacy. All transaction information, including transaction values that are permanently recorded on the blockchain is public, and it can be obtained by attackers for malicious using and spreading. Therefore, in order to hide transaction contents to make blockchain-based transactions more reliable, many cryptographic solutions have been used to offer privacy enhancing schemes in cryptocurrency which is based on the public blockchain. For example, Monero achieves hiding of transaction amounts by using Pedersen commitments. It also uses the homomorphic property of commitments and Bulletproofs to verify transactions. Zcash introduces one time encryption to protect transaction contents privacy and uses zero-knowledge Succinct Non-interactive ARgument of Knowledge (zk-SNARK) to ensure the transaction compliance. However, these solutions provide strong privacy guarantees that give users potential to circumvent regulatory controls, such as money laundering without authorities, evasion, fraud and many illicit activities that create many regulatory concerns. Enforcing reliable auditing in a blockchain-based transaction system is crucial[12], and especially in a system that offers privacy protection of transaction information, it is more challenging and essential.
Therefore, there are many challenging concerns about blockchain transaction privacy, effective auditing and public verification, as we mentioned above. More concretely, in terms of data assets such as the quantity of goods in supply chains, and sensitive information of patients in medical data sharing, many schemes do not pay attention to the public verification for data compliance while preserving privacy. For monetary assets in the unspent transaction output (UTXO) model, there is a lack of flexible transaction schemes that can both preserve privacy and achieve auditing of a transaction amount for a single transaction. How to simultaneously preserve privacy, keep a public ledger and reliably audit is challenging. Also, as there are extra leger space requirements in the UTXO model with the generation of transaction outputs and deletion of transaction inputs, how to save storage space of ledger and achieve efficiency gains for the user should be taken into consideration. Aiming to address these challenges, we focus on designing and constructing an efficient blockchain-based privacy preserving transaction scheme with public verification and reliable auditing. The main contributions of our paper are summarized as follow shows:
● We propose a privacy-preserving transaction scheme in blockchain. Our scheme offers privacy preserving both for monetary assets and data assets based on homomorphic encryption. We decoupled transaction identity information from transaction contents for the convenience of combining with different blockchain identity privacy protection schemes, which is more flexible.
● We propose and design a multiplicative zero-knowledge proof to prove the encrypted values (C1,C2,C3) corresponding to (v1,v2,v3) satisfy multiplicative relationship v1⋅v2=v3. It can be widely used in blockchain based financial applications, blockchain based supply chains and many other scenarios to achieve data compliance and preserve privacy. We give formal security analysis of the proposed multiplicative zero-knowledge proof.
● We achieve public verification of hidden transaction contents based on zero-knowledge proof in our privacy preserving transaction scheme. We define several types of verification rules. For monetary assets, it achieves the balance verification relied on the signature of knowledge. For data assets, it achieves multiplicative verification by applying the proposed multiplicative zero-knowledge proof, which can also be used to save transaction computation and storage cost in the specific scenario in UTXO model.
● We also achieve reliable auditing of hidden transaction contents. In our scheme, we introduce the auditor. It can audit transaction values of each transaction instead of total transaction amounts, which is different from many existing schemes. There is also a verification of the audit zero-knowledge proof to ensure the audit reliability.
● We give formal security analysis of our blockchain-based privacy preserving transaction scheme. We also aggregate the balance proofs and audit proofs to save the ledger space. We implement the proposed scheme and evaluate its performance, and then we make a functional comparison between our scheme and others.
The rest of the paper is organized as follows. The related work is presented in Section 2. We give a brief introduction about background knowledge in Section 3. In Section 4, we present the proposed multiplicative zero-knowledge proof. We present our blockchain-based privacy-preserving transaction scheme in Section 5. Section 6 gives the security analysis of the proposed scheme. In Section 7, we give the performance analysis of the proposed scheme. Conclusions are drawn in Section 8.
2.
Related work
Blockchain is a new concept that involves a consensus mechanism and distributed data storage. It was put forward as Bitcoin[13] in 2008. All transactions in Bitcoin are public and transparent. It cannot satisfy the confidentiality requirement of some applications. In 2014, Monero[14], which is a cryptocurrency deriving from Bitcoin, was proposed. It uses linkable ring signature, stealth address and RingCT to hide sensitive information of transactions such as transaction contents and user identities. Other cryptocurrencies that focus on privacy protection are Zerocash[15] and Zerocoin[16]. Zerocash leverages encryption and zk-SNARKs[17] to achieve strong privacy guarantees of transactions. Zerocoin provides strong user anonymity and coin security based on RSA accumulators and non-interactive zero-knowledge proofs. Mimblewimble [18] is also a privacy-enhancing cryptocurrency using confidential transactions[19] which is based on the Pedersen commitments[20] to hide transaction amount. Though these solutions achieve privacy protection of blockchain, neither of them satisfies the auditability, which is not compatible with illegal behaviors and is essential in financial applications.
In [21], the first distributed ledger system with auditing is proposed. In this system, commitments are used to hide transaction amount. They also provide a rough audit about the sums of transaction values. However, it needs some auditors to keep online and make queries to the system users to achieve audit, which leads auditors and all users to communicate with each other sequentially and significantly reduces the efficiency. In [22], the authors achieve an advance zero-knowledge ledger by proposing an efficient range-proof technique based on the improved inner product based zero-knowledge proofs. The reducing of proof size greatly improves the system efficiency. In [23], a private, authenticated and auditable blockchain is proposed. It achieves privacy protection and auditability in terms of user identity and transaction contents based on additive homomorphic encryption and BBS group signature. In [24], the authors propose a decentralized system framework using the blockchain and IPFS system to provide high security for sharing and exchanging the multimedia file system. They use the secure authentication protocol which is based on zero-knowledge proofs to guarantee multimedia data user privacy. In [25], the authors achieve anonymity of users and privacy of transaction amount. As for regulation, the system can regulate the total amount of transactions in a certain time. Also, there are some auditable solutions based on the account model[26,27,28].
We give the analysis and functional comparison between our scheme and other comparable schemes in Table 1 in aspects of transaction model (TM), transaction confidentiality (TC), balance verification (BV), multiplicative verification decoupled user identity and transaction contents (DIC), audit reliability (AR) and audit of each transaction (AoET). In summary, as we can see in Table 1, the above papers provide various privacy protections in terms of both identity and transaction contents, and they rarely achieve precise auditing of transactions, which is essential in financial applications. In particular, they mainly focus on transfer transactions, as blockchain has been widely applied in supply chains, data sharing and many other fields; and it is also quite necessary to provide efficient verifications for those scenarios with both monetary assets and data assets, which has been ignored.
Table 1.
Functional comparison between our scheme and others.
In this section, we introduce some related techniques that are used in this paper.
3.1. UTXO model
At present, there are many decentralized payment systems, such as Bitcoin, RSCoin[29], Fabcoin in Hyperledger fabric[30] and so on, that are based on the UTXO model, in which each transaction is formed by a set of inputs and a set of outputs. It is different from the traditional account model used by Ethereum, where the transaction value is specified and moved from one account to another. The UTXO model is shown in Figure 1. It represents some amount of monetary assets that have been authorized by one user to be spent by another. Details of monetary assets' flowS in transactions with the UTXO model are recorded in the blockchain ledger.
Pedersen commitment is used to achieve transaction confidentiality in Bitcoin. It can be described as follows.
● setup(1λ): This algorithm takes the security parameter λ as input, and it generates the cyclic group G with q order. G is the generator of group G. H is the random element of G. It outputs the public parameter pp={G,G,H,q}.
● Cm(pp,v): This algorithm takes the public parameter pp, commitment c, the value v and the blind element r as input. It computes c=rG+vH as the commitment of v.
● Open(pp,c,v,r): This algorithm takes the public parameter pp, commitment c, the value v and the blind element r as input. It checks whether c=rG+vH holds or not.
3.3. Hard problems and complexity assumptions
Definition 1.(Discrete logarithm (DL) problem). Let G be a cyclic group. Given a random instance (P,aP), where P∈G, and a∈Z∗p, computation of a is computationally hard by a polynomial time algorithm. The probability that a polynomial time algorithm A can solve the DL problem is defined as AdvDLA(λ).
Definition 2.(Discrete logarithm assumption). For any probabilistic polynomial time algorithm A, AdvDLA(λ) is negligible; that is, AdvDLA(λ)≤ϵ, for some negligible function ϵ.
3.4. A variant of ElGamal encryption
There is a homomorphic encryption based on ElGamal encryption called twisted ElGamal[28], which is zero-knowledge friendly. Given a cyclic group G with order q, let P and H be two random generators of G. So, pp={G,P,H,q}. Then, it consists of the following algorithms:
keygen: It takes pp as input and randomly chooses x∈Z∗q as secret key. It computes public key Y=xP, and then it outputs (X,Y).
enc: It takes the public key Y and message m as input. It randomly chooses s∈Z∗q, computes C1=sP, C2=mH+sP and outputs C={C1,C2}.
dec: It takes the ciphtertext C and secret key as input. It computes mH=C2−x−1⋅C1 to obtain m.
3.5. Non-interactive zero-knowledge proof
A non-interactive zero-knowledge (NIZK) proof[31] is a protocol that the prover can use to convince the verifier that it indeed has the knowledge of a secret value by some public information without revealing the secret value. The non-interactive zero-knowledge proof has properties of completeness, soundness, and zero-knowledge[32]. We introduce a non-interactive zero-knowledge proof that is the signature of knowledge of the discrete logarithm (SKDL)[33,34]. Let G be a cyclic group. P,G∈G. A pair (c,s)∈{0,1}k×Z∗n satisfying c=H0(P,Y,sP+cY) is a signature of the knowledge of the discrete logarithm of Y∈G to the base P. It is denoted as SKDL{(a)∣Y=aP}. It is as follows:
(1) The prover randomly chooses r∈Z∗q, then it computes T=rP, c=H0(P,Y,T) and s=r−ca. The prover sends (c,s) to the verifier.
(2) The verifier verifies whether c=H0(P,Y,sP+cY) holds. If the equation holds, it means that the prover knows the knowledge of the discrete logarithm of Y to the base P.
4.
Proposed multiplicative zero-knowledge proof
Our proposed multiplicative zero-knowledge proof aims to convince the verifier that v3 encrypted in C3 is actually the product of v1 and v2, encrypted respectively in C1 and C2, i.e., v1⋅v2=v3. It mainly contains three steps that are as follows:
setup: Let G be a cyclic group with q order, where q is λ bits. P and H are two random generators of G. Then, the public parameter is pp={G,P,H,q}.
prove: The prover randomly chooses s1,s2,s3∈Z∗q, and then it computes C1=v1H+s1P, C2=v2H+s2P and C3=v3H+s3P. The prover randomly chooses y1,y2,y3,s′1,s′2,s′3∈Z∗q, and then it computes d1=y1H+s′1P, d2=y2H+s′2P, d3=y3H+s′3P and d4=y2C21+s′4P. The prover sends the generated C1, C2, C3, d1, d2, d3, d4 to the verifier. The verifier randomly chooses a challenge c∈Z∗q and returns it to the prover. Then, the prover computes u1=y1+v1c, u2=y2+v2c, u3=y3+v3c, θ1=s′1+s1c, θ2=s′2+s2c, θ3=s′3+s3c and θ4=s′4+(s3−s1v2)c. The prover sends the generated u1, u2, u3, θ1, θ2, θ3, θ4 to the verifier.
verify: The verifier computes d′1=θ1P+u1H−cC1, d′2=θ2P+u2H−cC2, d′3=θ3P+u3H−cC3, d′4=θ4P+u2C1−cC3, and then it checks whether d′1=d1, d′2=d2, d′3=d3 and d′4=d4 holds. If the above equations hold, it outputs 1. Otherwise, it outputs 0.
According to the above steps, the prover proves that C1,C2,C3 are encrypted values of v1,v2,v3 satisfying v1⋅v2=v3. In addition, the above proof can turn to be non-interactive by applying the Fiat-Shamir heuristic[35]. Particularly, there are some applications in blockchain for the proposed multiplicative zero-knowledge proof to be used in variants of scenarios, no matter for monetary assets and data assets. We give explanations about it in Section 7.
Theorem 1.The proposed multiplicative proof is a zero-knowledge proof under the Discrete logarithm assumption, which means that it satisfies correctness, zero knowledge (can be simulated) and a proof of knowledge (has an extractor).
As we can see from the above equations, Eqs (4.1)–(4.4) hold. Therefore, the verifier always accepts the proof, and then the proposed multiplicative zero-knowledge proof satisfies correctness.
Lemma 2.The proposed multiplicative zero-knowledge proof can be simulated under the Discrete logarithm assumption.
Proof of Lemma 2. We describe a simulator that can outputs the proof. It randomly chooses a set of values v1,v2,v3 and computes C1=v1H+s1P, C2=v2H+s2P, C3=v3H+s3P. The distribution of these values generated by the simulator is indistinguishable from the distribution output by the prover. In the remainder of the simulation, it does not assume knowledge of v1,v2,v3.
The simulator randomly chooses a challenge c∈Z∗q and u1, u2, u3, θ1, θ2, θ3, θ4. It computes d1=θ1P+u1H−cC1, d2=θ2P+u2H−cC2, d3=θ3P+u3H−cC3 and d4=u2C1+θ4P−cC3 that satisfy Eqs (4.1)–(4.4). Moreover, these values have the same distribution as those in the real proof. The simulator outputs c, u1, u2, u3, θ1, θ2, θ3, θ4, d1, d2, d3, d4 that are indistinguishable from the real proof in the multiplicative proof. Therefore, the proposed multiplicative zero-knowledge proof can be simulated under the Discrete logarithm assumption.
Lemma 3.The proposed multiplicative zero-knowledge proof has an extractor.
Proof of Lemma 3. Suppose there exits an extractor that enables one to rewind a prover in the multiplicative proof we proposed above to the point before it generates c. To the challenge value c, there is (u1,u2,u3,θ1,θ2,θ3,θ4). For challenge value c′≠c, the prover responds with (u′1,u′2,u′3,θ′1,θ′2,θ′3,θ′4). If the prover is convincing, then all Eqs (4.1)–(4.4) hold.
So, we have Δc=c−c′, Δu1=u1−u′1, and Δu2, Δu3, Δθ1, Δθ2, Δθ3, Δθ4 are similar with Δu1. Considering Eq (4.1), we have ΔcC1=Δθ1P+Δu1H, so let v∗1=Δu1/Δc and let s∗1=Δθ1/Δc. Similarly, from Eqs (4.2)–(4.4), we obtain v∗2, s∗2, v∗3, s∗3 and s∗=Δθ4/Δc. We have (v∗1v∗2−v∗3)H=(s∗3−s∗−v∗2s∗1)P. Therefore, the extractor obtains a Discrete logarithm problem solution logPH=(s∗3−s∗−v∗2s∗1)/(v∗1v∗2−v∗3). Therefore, the proposed multiplicative zero-knowledge proof has an extractor.
We propose a blockchain-based transaction scheme with privacy-preserving that enables reliable auditing and different verification rules. There are four roles in our scheme that are described as follows:
● Trusted Center: It initializes the whole scheme.
● Users: It includes payer and payee that involves in the blockchain based transactions. It also contains users that transact, share and store data assets through blockchain.
● Auditor: It audits encrypted transactions in the scheme.
As we can see in Figure 3, the transaction overflow of our privacy preserving transaction scheme is summarized as follows:
(1) Setup: The trusted center makes an initialization and generates an audit key pair for auditor.
(2) Transact: Users generate transactions, and they send transactions to validators.
(3) Verify: Validators receive transaction and verify whether it satisfies verification rules and audit reliability.
(4) Aggregate: Balance and audit zero-knowledge proofs in transaction are aggregated and sent to committing nodes.
(5) Chain: committing nodes make verifications of the aggregated information. If they pass verifications, transactions are committed to the blockchain.
(6) Audit: The auditor audit transaction contents. It does not need to be online all the time and can achieves audit transaction contents of each transaction.
Notations in our paper are summarized in Table 2. In our scheme, transaction tx is used to record the encrypted payment process between payers and payees for monetary assets, and it is used to record the encrypted data transaction for data assets. Transactions are finally recorded in the ledger of the blockchain. The structure of transaction tx is tx={tx.in,tx.out,tx.data,πbl,πrp,πpro,πau}. tx.in is the encrypted inputs of the transaction, and tx.out is the encrypted outputs of the transaction. tx.data is the encrypted data of data assets. πbl is the balance proof generated by users for balance verification. πrp is the range proof to prove the transaction value is in a certain range [0,vmax], where vmax is a system parameter. πpro is the multiplicative proof that can prove transaction values satisfy product relationship, and πau is the audit proof to prove the auditor can reliably audit the transaction.
More concretely, tx.in includes n inputs of a transaction such that tx.in={Cini∣Cini={Cin1i,Cin2i},i∈[1,n]}. The value of each input Cini is vini. tx.out includes n′ outputs of a transaction and the change Cc, which can be presented as tx.out={Coutj,Cc∣Coutj={Cout1j,Cout2j},j∈[1,n′],Cc={C1c,C2c}. The value of each output Coutj is voutj, and the change value is vc. tx.out includes encrypted data tx.data={C1={C11,C21},C2={C12,C22},C3={C13,C23},...}, where C1,C2,C3 are encrypted data of some values v1,v2,v3.
5.2. Security model
Our scheme is designed to satisfy the security requirements of transaction confidentiality, public verification and audit reliability.
Definition 3.(Transaction confidentiality). Transaction confidentiality means the plaintext of transaction contents such as payment value or data assets cannot be obtained by an attacker in our system.
We define the transaction confidentiality of our scheme by the following transaction confidentiality experiment. The adversary A is a user in the system, and it has the UTXO that belongs to him.
in which the definitions of the oracles Opre and OGenCT are as follows:
● Opre: On input ((Cini,vini,sini),vρ), run ptx←pretx(pp,Cini,vini,sini,vρ,Y) and store {(Cini,vini,sini),vρ,Y,ptx} into the list L.
● OGenCT: On input (ptx.rmdr), search L, run tx.out←tx(pp,ptx.rmdr,Y) and πau←au(pp,ptx.out,πpau,Y), and then return tx.out and πau.
Public verification means that transactions in our scheme can be publicly verified by validators to satisfy various verification rules. We design two types of verification rules, and they are transaction balance and transaction multiplicative relationship that are defined as follows.
Definition 4.(Transaction balance). For monetary assets, it satisfies balance verification such that the sum of inputs' values is equal to the sum of outputs' values.
We define the transaction balance of our scheme by the following transaction balance experiment. The adversary A is a user in the system, and it has the UTXO that belongs to him.
in which the definitions of the oracles Opre and Obal are as follows:
● Opre: On input ((Cini,vini,sini),vρ), run ptx←pretx(pp,Cini,vini,sini,vρ,Y) and store {(Cini,vini,sini),vρ,Y,ptx} into the list L.
● Obal: On input ptx.rmdr, run tx.out←tx(pp,ptx.rmdr,Y), search L to find the corresponding πpbp and Pb, then run πbl←bl(pp,πpbp,Pb), and return tx.out and πbl.
Definition 5.(Transaction multiplicative relationship). For data assets, the validator can publicly verify whether some values v1,v2,v3 satisfy multiplicative relationship such as v1⋅v2=v3.
We define the transaction multiplicative relationship of our scheme by the following transaction multiplicative relationship experiment. The adversary A is a user in the system.
in which the definitions of the oracles Opro are as follows:
● Opro: On input v1,v2,v3, run (C1,C2,C3)←tx(pp,v1,v2,v3,Y) and πpro←pro(pp,v1,v2,v3,C21,C22,C23), and return C1,C2,C3 and πpro.
Definition 6.(Audit reliability). Audit reliability means they can be reliably audited by the auditor.
We define the audit reliability of our scheme by the following audit reliability experiment. The adversary A is a user in the system and it has the UTXO that belongs to him.
It consists of six phases, including Setup, Transact, Verify, Aggregate, Chain and Audit.
Setup: In the setup phase, the trusted center generates public parameters and audit key pair. First, it executes the setup(1λ) algorithm, where λ is the security parameter. G is a cyclic group which is q order, where q is λ bits. P and H are two random generators of G. H0, H1, H2 and H3 are hash functions that satisfy H0:=G×G→Zq, H1:=G×G×G×G→Zq, H2:G×G×G×G×G×G×G→Zq, H3:=G×......2n′+2×G→Zq. Second, it executes the keygen(pp) algorithm. It randomly chooses x∈Zq as the audit secret key X, and then it computes the audit public key Y=x⋅P. At last, the trusted center outputs the audit public key Y and the public parameters pp={G,P,H,q,H0,H1,H2,H3}.
Transact: In the transact phase, the payee and the payer generate transaction that preserves privacy of the transaction contents that can be audited by the auditor. In addition, they also generate proofs to ensure the transaction satisfy verification rules and reliable audit. In this phase, they provide balance proof that ensures the sum of outputs is equal to the sum of inputs, range proof that ensures the transaction value is greater than zero, multiplicative proof that ensures that some transaction data satisfies the multiplicative relationship and audit proof that guarantees the audit reliability. In this phase, there are five algorithms that are described as follows:
(1) The pretx(pp,Cini, vini,sini,vρ,Y) algorithm is executed by the payer. It takes as input the public parameters pp, transaction inputs Cini, value vini, randomness sini, transfer value vρ and the audit public key Y. It outputs the pre-transaction ptx as the following shows:
● The payer selects n inputs Cini of total value v=∑ni=1vini≥vρ. Let pre-transaction input be ptx.in={Cini∣i∈[1,n]}. It generates n′ outputs of total value vρ=∑n′j=1voutj. Let the pre-transaction remainder be ptx.rmdr={voutj∣j∈[1,n′]}.
● The payer computes the change value voutc=v−vρ. Let the change value be ptx.chg=voutc. It randomly selects randomness of the change value soutc∈Zq. It computes Cout1c=soutcY and Cout2c=soutcP+voutcH. Let Coutc={Cout1c,Cout2c}, and it stores Coutc in tx.out.
● The payer generates the pre-transaction balance proof πpbp. It randomly chooses ra∈Zq and computes sins=−∑ni=1sini+soutc. It computes Xa=sinsP, Ra=raP, ea=H0(Ra,Xa) and σa=ra+esins. So, the pre-transaction balance proof πpbp={σa,ea,Ra,Xa}.
● The payer computes the pre-transaction audit proof πpau. The proof can be described as SKDL{(voutc,soutc):Cout1c=soutcY∧Cout2c=soutcP+voutcH}, which ensures that this transaction can be reliably audited. It randomly chooses sout′c∈Zq and vout′c∈Zq, then it computes R1c=sout′cY, R2c=sout′cP+vout′cH, ˜cp=H1(R1c,R2c,Coutc), σc,1=sout′c+˜cpsoutc and σc,2=vout′c+˜cpvoutc. So the pre-transaction audit proof is πpau={σc,1,σc,2,R1c,R2c,˜cp}.
The payer outputs the generated pre-transaction ptx={ptx.in,ptx.out,πpbp,πpau}, where ptx.out={ptx.chg,ptx.rmdr}.
(2) The tx(pp,ptx.rmdr,Y) algorithm is executed by the payee. It takes as input the public parameters pp, pre-transaction remainder ptx.rmdr and the audit public key Y. It generates the transaction outputs tx.out, balance randomness Pb and range proof πrp as the following shows: The payee checks whether ∑ni=1vini=∑n′j=1voutj+voutc holds. If it does not hold, it aborts. Otherwise, the payee executes the txenc(pp,vini,Y) algorithm, which is twisted ElGamal encryption. This algorithm randomly chooses soutj∈Zq and computes Cout1j=soutjY and Cout2j=soutjP+voutjH, and then it stores them to tx.out. The payee computes souts=∑n′j=1soutj and the balance randomness Pb=soutsP, and then the payee executes the Bulletproofs[36] to generate range proof πrp={πrpc,πrpj∣j∈[1,n′]}. For data assets such as v1,v2,v3(v3=v1v2), it generates C1,C2,C3 by txenc(pp,v1,v2,v3,Y) in the same way, and it stores them in tx.data={C1,C2,C3}.
(3) The bl(pp,πpbp,Pb) algorithm is executed by the payer and payee. It takes as input the public parameters pp, pre-transaction balance proof πpbp and balance randomness Pb. It generates balance proof πbl as the following shows:
● The payee computes e′a=H0(Ra,Xa), and then it verifies whether σaP=Ra+e′aXa holds. If it does not hold, the payee aborts. Otherwise, the payee randomly chooses rb∈Za, computes Rb=rbP, △R=Ra+Rb and ˉX=Xa+Pb. It calculates e=H0(△R,ˉX) and computes σB=rb+esouts. The payee sends these generated σB and Pb to the payer.
● The payer computes △R=Ra+Rb, ˉX=Xa+Pb=xsP, e=H0(△R,ˉX), σA=ra+esins and σ=σA+σB. Therefore, the generated balance proof is πbl={σ,e,△R,ˉX}.
(4) The pro(pp,v1,v2,v3,C21,C22,C23) algorithm is executed by the user. It proves that some encrypted transaction values v1,v2,v3 satisfy the product relationship v1v2=v3. It takes as input the public parameters pp, C21=v1H+s1P, C22=v2H+s2P and C23=v3H+s3P that are encrypted values of v1, v2, v3. It generates multiplicative proof πpro as the following shows:
● The user randomly chooses y1,y2,y3,s′1,s′2,s′3∈Zq, and then it computes d1=y1H+s′1P, d2=y2H+s′2P, d3=y3H+s′3P and d4=y2C21+s′3H. It computes c=H2(d1,d2,d3,d4,C21,C22,C23).
● It computes u1=y1+v1c, u2=y2+v2c, u3=y3+v3c, θ1=s′1+s1c, θ2=s′2+s2c, θ3=s′3+s3c and θ4=s′3+(s3−s1v2)c. So, the multiplicative proof πpro is πpro={c,u1,u2,u3,θ1,θ2,θ3,θ4}.
(5) The au(pp,ptx.out,πpau,Y) algorithm is run by the payee. It takes as input public parameters pp, a remainder ptx.rmdr, the pre-transaction audit proof πpau and the audit public key Y. It outputs the audit proof πau as the following shows:
● The payee randomly chooses sout′j∈Zq and computes R1=R1c+∑n′j=1R1j=R1c+∑n′1jsout′jY, and then it randomly selects vout′j∈Zq and computes R2=R2c+∑n′2jR2j=R2c+∑n′2j(sout′jP+vout′jH).
● It calculates ˜c=H3(R1,R2,tx.out) and σj,1=sout′j+˜csoutj, σj,2=vout′j+˜cvoutj, where voutj is the output value, and soutj is the random number.
● It computes ˉσ=σc,1+∑n′j=1σj,1 and σ′=σc,2+∑n′j=2σj,2. So, the audit proof πau is πau={ˉσ,σ′,R1,R2,˜c}.
Finally, the payee sends the transaction to the validating nodes.
Verify: In the verify phase, validating nodes are responsible for verifying whether the transaction meets some requirements that we defined. There are four verifying algorithms that are described as the following shows:
(1) The verirp(pp,tx.out,πrp) algorithm takes as input the public parameters pp, transaction output tx.out and the range proof πrp. It uses the Bulletproofs[36] to verify whether the transaction output is in a certain range [0,vmax]. The detailed Bulletproofs can be seen in [36].
(2) The veribl(pp,πbl) algorithm takes as input the public parameters pp and balance proof πbl. It verifies whether the transaction satisfies the balance property as the following shows: It computes e′=H0(△R,ˉX), and then it checks whether e′=e and σP=△R+eˉX hold. If they hold, it outputs true which means that the transaction satisfies balance property.
(3) The veripro(pp,πpro) algorithm takes as input the public parameters pp and the multiplicative proof πpro. It verifies whether these encrypted transaction values satisfy product relationship v1v2=v3. It computes d′1=θ1P+u1H−cC21, d′2=θ2P+u2H−cC22, d′3=θ3P+u3H−cC23, d′4=θ4P+u2C21−cC23 and c′=H2(d′1,d′2,d′3,d′4,C21,C22,C23), and then it checks whether c′=c holds. If it holds, it outputs true which means that these encrypted transaction values satisfy product relationship.
(4) The veriau(pp,πau) algorithm takes as input the public parameters pp and audit proof πau. It verifies whether the transaction can be reliably audited as the following shows: It computes R′1=ˉσY−˜cCout1c−∑n′j=1˜cCout1j, R′2=σ′H+ˉσP−˜cCout2c−∑n′j=1˜cCout2j and ˜c′=H3(R′1,R′2,tx.out). It checks whether ˜c=˜c′ holds. If this equation holds, it outputs true, which means that the transaction can be reliably audited.
Aggregate(σk,△R,σ′k,ˉσk,R1k,R2k): In the aggregate phase, the ordering nodes takes as input the balance signature σk, balance randomness △R, audit signature σ′k,ˉσk, and audit randomness R1k,R2k, it aggregates m transactions' balance signature and audit signature, where k∈m. The ordering nodes compute σAgg=∑m1σk, RAgg=∑m1△Rk, σ′Agg=∑m1σ′, ˉσAgg=∑m1ˉσk, R1Agg=∑m1R1k and R2Agg=∑m1R2k. Therefore, the aggregated message is infoAgg={σAgg,RAgg,σ′Agg,ˉσAgg,R1Agg,R2Agg}.
Chain(infoAgg,ˉXk,tx.outk,ek,˜ck): In the chain phase, the committing nodes take as input the aggregated message infoAgg, public randomness ˉXk, transaction outputs tx.outk, hash value ek corresponding to each transaction and balance challenge value ˜ck. They verify the correctness of the aggregated message infoAgg by checking whether σAggP=RAgg+∑kekˉXk, ˉσAggP=R1Agg+˜ckCout1c+∑n′j=1˜ckCout1j and σ′AggH+ˉσAggP=R2Agg+˜ckCout2c+∑n′j=1˜ckCout2j hold. If these two equations hold, it outputs true, then committing nodes add transactions that have been verified onto the ledger and the updated ledger is Λ.
Audit(pp,X,tx.out): In the audit phase, the auditor takes as input the public parameters pp, audit secret key X and transaction outputs tx.out, and it computes voutjH=Cout2j−X−1˙Cout1j and auditing transaction by comparing voutjH with the pre-computed bH, where b∈[0,vmax).
6.
Security analysis
6.1. Transaction confidentiality
Theorem 2 (Transaction confidentiality). Our scheme satisfies transaction confidentiality, if the twisted ElGamal algorithm is IND-CPA secure, and the audit proof πau is zero-knowledge.
Proof of Theorem 2. We prove it via the following games. Let Wini denote the probability that the adversary A wins the Gamei.
Game0: We proceed with the transaction confidentiality experiment defined in Section 5.2. The challenger C and the adversary A interact as the following shows:
(1)C computes pp←setup(λ) and (X,Y)←keygen. It returns the generated pp and Y to A.
(2)A queries OPre and OGenCT. C answers these queries. On input ((Cini,vini,sini),vρ), run ptx←pretx(pp,Cini,vini,sini,vρ,Y) and store {(Cini,vini,sini),vρ,Y,ptx} into the list L. On input (ptx.rmdr), search L, run tx.out←tx(pp,ptx.rmdr,Y) and πau←au(pp,ptx.out,πpau,Y), and then return tx.out and πau.
(3)A chooses {ptx.rmdr0,ptx.rmdr1}. C randomly selects b∈[0,1] and computes tx.out∗←tx(pp,ptx.rmdrb,Y), π∗au←au(pp,ptx.rmdrb,ptx.chg,πpau,Y). It returns the generated {tx.out∗,π∗au} to A.
(4)A generates the guess b′ of b. If b=b′, it wins the experiment.
Therefore, we have AdvA(λ)=Pr[Win0]−12.
Game1: Game1 is similar to Game0 except that the audit proof πau is generated by simulator S=(S1,S2). S1 generates the trapdoor τ, and then S2 takes τ as input without any proof. It outputs the simulated proof πau. Therefore, the proof generated by S2 is the same as the proof computed in Game1. The probability that A wins Game1 satisfies
|Pr[Win1]−Pr[Win0]|≤negl(λ).
(6.1)
As we can see in Lemma 1, we have Pr[Win1]≤negl(λ).
Lemma 4.If the twisted ElGamal algorithm is IND-CPA secure, then for all PPT adversary A, we have Pr[Win1]≤negl(λ).
Proof of Lemma 4. Suppose that there is a PPT adversary A that wins Game1 with non-negligible advantage, and then we can contruct algorithm B that can break the IND-CPA secure property of the twisted ElGamal algorithm. B simulates Game1 as the following shows:
(1)B computes pp←setup(λ) and (X,Y)←keygen(pp). It uses S1 to generate the trapdoor τ, and then it returns them to A.
(2)A queries the oracle OPre and the oracle OGenCT. The challenger C answers these queries.
OPre: A makes this query with (Cini,vini,sini,vρ). C receives this query, and then it executes ptx←pretx(Cini,vini,sini,vρ,Y). It stores (Cini,vini,sini,vρ,Y,ptx) in the list L.
OGenCT: A makes this query with (ptx.rmdr). C receives this query, and then it executes tx.out←tx(pp,ptx.rmdr,Y). It takes the trapdoor τ generated by S2, and it outputs simulated πtr. It returns tx.out and πtr to A.
(3)A selects two pre-transaction remainders {ptx.rmdr0,ptx.rmdr1}. B sends {ptx.rmdr0,ptx.rmdr1} to its challenger C. B receives Cout∗j={Cout∗1j,Cout∗1j}, where Cout∗j is the encrypted value that is obtained by encrypting ptx.rmdrb using audit public key Y. Let tx.out∗={Cout∗j}. B takes the trapdoor τ as input. It outputs the simulated audit proof π∗tr. B returns tx.out∗ and π∗tr to A as challenge.
(4)A generates b′ as the guess of b, then B returns the guess generated by A.
We can see that B successfully simulates the Game1, so it can break the IND-CPA secure property of twisted ElGamal algorithm with the same advantage. We prove the Lemma 4.
To sum up, we prove that if the twisted ElGamal algorithm is IND-CPA secure, and the audit proof πau is zero-knowledge, our scheme satisfies transaction confidentiality.
6.2. Public verification
6.2.1. Balance verification
Theorem 3 (Balance verification). Our scheme enables transaction balance verification, which means that outputs of the transaction and the inputs of the transaction are equal, if the Discrete logarithm assumption holds.
Proof of Theorem 3. Suppose that there is a PPT adversary A that wins the transaction balance experiment we defined in Section 3 with non-negligible advantage, and then we can construct algorithm B that can solve the Discrete logarithm problem with the same advantage. Let pp=(G,P,H,q,H0). (P,H) is the instance of B's Discrete logarithm problem, where P and H are two random generators of G. B simulates the experiment as the following shows:
(1)B computes pp←setup(λ) and (X,Y)←keygen(pp). It returns the generated public parameters pp and the public key Y to A.
(2)A queries oracles OPre and OGenBal. These oracles answer these queries.
OPre: A makes this query with (Cini,vini,sini,vρ). C computes (ptx)←pretx(pp,Cini,vini,sini,vρ,Y), and then it stores (Cini,vini,sini,vρ,Y,ptx) into the list L.
OGenBal: A makes this query with (ptx.rmdr). C receives this query and computes tx.out←tr(pp,ptx.rmdr,Y). It selects L to find the corresponding (πpbp,Pb), and then it computes πbp←bl(pp,πpbp,Pb). It returns tx.out and πbp to A.
(3)A obtains complete transaction information that includes transaction inputs tx.in={Cini|Cini={Cin1i,Cin2i,i∈[1,n]}}, transaction outputs tx.out={Coutj,Coutc|Coutj={Cout1j,Cout2j},j=[1,n′],Coutc={Cout1c,Cout2c}} and transaction balance information πbl={σ,e,△,ˉX}. B rewinds e2 and σ2. Therefore, we have:
So, we have (∑ni=1vini−voutc−∑n′j=1voutj)H=(souts−sins−x∗s)P. Therefore, B can take logPH=(souts−sins−x∗s)/(∑ni=1vini−voutc−∑n′j=1voutj) as the solution of the Discrete logarithm problem.
Thus, if the Discrete logarithm problem is hard to solve, our scheme satisfy the transaction balance property.
6.2.2. Multiplicative verification
Theorem 4 (Multiplicative verification). Our scheme enables multiplicative verification, which means that our scheme is able to prove and verify some encrypted values v1,v2,v3 satisfy product relationship v1⋅v2=v3, if the Discrete logarithm assumption holds.
Proof of Theorem 4. Suppose that there exists a PPT adversary A that can break the multiplicative verification property with non-negligible advantage, and then we can construct algorithm B that can solve the Discrete logarithm problem with the same advantage. Let pp=(G,P,H,q,H0). (P,H) is the instance of B's Discrete logarithm problem, where P and H are two random generators of G. B simulates the experiment as the following shows:
(1)B computes pp←setup(λ) and (X,Y)←keygen(pp). It returns the generated public parameters pp and the public key Y to A.
(2)A queries the Opro oracle with (v1,v2,v3,C21,C22,C23). C computes πpro←pro(pp,v1,v2,v3,C21,C22,C23). It returns πpro to the adversary A.
(3)A obtains the transaction information (C21,C22,C23) and multiplicative proofs πpro={c,u1,u2,u3,θ1,θ2,θ3,θ4}. B rewinds c′, u′1, u′2, u′3, θ′1, θ′2, θ′3 and θ′4. Therefore, we have
θ1P+u1H−cC21=θ′1P+u′1H−c′C21
(6.7)
θ2P+u2H−cC22=θ′2P+u′2H−c′C22
(6.8)
θ3P+u3H−cC23=θ′3P+u′3H−c′C23
(6.9)
u2C21+θ4P−cC23=u′2C21+θ′4P−c′C23
(6.10)
Let v∗1=(u1−u′1)/(c−c′), s∗1=(θ1−θ′1)/(c−c′), v∗2=(u2−u′2)/(c−c′), s∗2=(θ2−θ′2)/(c−c′), v∗3=(u3−u′3)/(c−c′), s∗3=(θ3−θ′3)/(c−c′) and s∗=(θ4−θ′4)/(c−c′). Then, we have v∗3H+s∗3P=v∗1v∗2H+(v∗2s∗1+s∗)P. If v∗1v∗2≠v∗3, we have (v∗1v∗2−v∗3)H=(s∗3−s∗−v∗2s∗1)P. B can take logPH=(s∗3−s∗−v∗2s∗1)/(v∗1v∗2−v∗3) as the solution of the Discrete logarithm problem.
Thus, if the Discrete logarithm problem is hard to solve, our scheme satisfies multiplicative verification.
6.3. Reliable audit
Theorem 5 (Reliable audit). Transactions in our privacy-preserving transaction scheme can be reliably audited.
Proof of Theorem 5. Suppose that trading parties (payee and payer) may construct a fake to escape audit. The adversary's malicious actions can be roughly summarized as the following two types:
(1) The adversary A randomly chooses Y′∈G,Y′≠Y to generate encrypted transaction outputs instead of using audit public key Y. It computes Cout′1j=soutjY′, Cout′j={Cout′1j,Cout2j}. Therefore, validating nodes can verify it as the following shows:
We can see that Y′≠Y, so R′1≠sout′cY+∑n′j=1sout′jY and R′1≠sout′cY+∑n′j=1sout′jY′. Therefore, we have R′1≠R1. Besides, hash functions are collision-resistant, so we get ˜c′≠˜c.
(2) The adversary A randomly chooses vout′j≠voutj to generate encrypted transaction outputs instead of using the real transaction value voutj. It computes Cout′2j=soutjP+vout′jH,Cout′j={Cout1j,Cout′2j}. Therefore, validating nodes can verify it as the following shows:
We can see that vout′j≠voutj, so R′2≠R2c+∑n′j=1vout′jH+∑n′j=1sout′jP that is R′2≠R2. Therefore, we get ˜c′≠˜c.
In summary, the probability of the audit proof information forged by the adversary A that can pass the verification is negligible. Therefore, our scheme satisfies transaction auditability.
7.
Performance analysis
In order to evaluate the performance of our proposed scheme, we implement the prototype of the proposed privacy preserving transaction scheme which mainly focuses on the transaction layer without considering the differences of consensus mechanisms. This makes our privacy preserving transaction scheme more feasible for different blockchain systems. Our implementation is in Golang language on a laptop with 8GB of RAM, an Intel Core i7-8500U 2.00GHz. The elliptic curve we used is secp256k1, and the hash function is sha256.
According to Table 3, we give an evaluation of the computation time about each step of the main phase in our proposed privacy preserving transaction scheme. We take the most frequently used 2 inputs-1 outputs as instance. As we can see from Table 3, computation times in each phase such as setup, transact, verify and audit are all in milliseconds. The total time is approximate 7.65 ms. It is practical and feasible for low frequency transaction scenarios.
Table 3.
Computation time of the main phase of our proposed scheme in milliseconds.
In Figures 3 and 4, we also evaluate our privacy preserving transaction scheme's time costs in transact, verify and audit phases with increasing inputs and outputs. According to Figure 3, as the number of inputs and outputs grows from 2-2 to 12-12 in one transaction, the balance zero-knowledge prove time and audit zero-knowledge prove time are approximately 0.9 and 1.0 ms with no obvious increasing. In Figure 4, the balance zero-knowledge proofs verification time requirements is kept approximate 0.4 ms as the number of inputs and outputs increasing from 2-2 to 12-12. Though the time of generating encrypted values grows from 0.8 to 4.9 ms in Figure 3, and the time of verifying audit zero-knowledge proofs and auditing time are increasing from 1.6 to 5.4 ms and 0.9 to 5.1 ms respectively in Figure 4, they are still within milliseconds.
Figure 5 presents the verification time comparison before and after aggregation, and Figure 6 presents the block size comparison before and after aggregation. According to Figure 5, the verification time linearly grows from 4.9 to 21.0 ms as the number of inputs and outputs is set to be 2-2, 4-4, 6-6, 8-8, 10-10, 12-12 respectively when there is no aggregation of balance proofs and audit proofs. However, in our proposed privacy preserving transaction scheme, we aggregate the balance proofs and audit proofs, which greatly shortens the verification time, as it approximately grows 3.8 to 7.5 ms when the number of inputs and outputs is set to be 2-2, 4-4, 6-6, 8-8, 10-10, 12-12, respectively. For the reason that we replace the multiplication operation with the faster add operation of group in our aggregation algorithm, the verification time has no obvious growth. Therefore, our aggregation algorithm makes the transaction verification more efficient. As we can see in Figure 6, the growth rate of block size has been significantly slowed as the number of transactions in a block after we make aggregation of the audit proofs and balance proofs. Thus, the aggregation technique reduces the storage size of proof at least 50% of the size before optimization. It effectively saves the ledger space.
Figure 4.
Computation time comparison in verify and audit phase with increasing inputs and outputs.
Our scheme has functional advantages. In particular, there are several applications in blockchain for the proposed multiplicative zero-knowledge proof to be used in some specific scenarios. For monetary assets in UTXO model, if there are k outputs with the same value v for a user and the total amount of them is sum=v⋅k, it needs to computes k encrypted values that C1={C11=s1Y,C21=vH+s1P},...,Ck={C1k=skY,C2k=vH+skP}, and it needs to store k encrypted values C1,C2,...,Ck in the leger. However, by using the proposed multiplicative zero-knowledge proof, it only needs to compute two encrypted values Cv,Ck and only stores these two ciphertexts in the leger without influencing the transaction balance and reliable audit. It is obvious that using the proposed multiplicative zero-knowledge proof achieves space savings of ledger and efficiency gains for the user. For data assets such as those in supply chain, suppose that the quantity of goods is r, the unit price of goods is v, and the total amount is t=v⋅r. r, v and tneed to record in chain with privacy preserving. We can compute Cv={C1v=svY,C2v=vH+svP}, Cr={C1r=srY,C2r=rH+srP}, and Ct={C1t=stY,C2t=tH+stP}. This hides the transaction information, and then the multiplicative zero-knowledge proof ensures t=v⋅r to be public verified by validators in blockchain without revealing t, r and v.
8.
Conclusions
In this paper, we propose a privacy preserving transaction scheme with public verification and reliable audit in blockchain. Our scheme not only provides confidentiality for transaction contents in a more flexible way by decoupling user identity and transaction contents, but also defines several verification rules that makes full use of validators in blockchain. It enables balance verification for monetary assets, and then we design a multiplicative zero-knowledge proof with security analysis, which can be potentially used in blockchain based financial applications, supply chains and so on. Then, validators can optionally multiplicative verification of data assets to ensure the data compliance by applying the proposed multiplicative proof. In addition, our proposal enables the auditor to make precise audit of each transaction which audit reliability is guaranteed by publicly verifying the audit proof. Security analysis shows that the proposed scheme satisfies the security requirements we defined. Performance analysis indicates that its computation cost is in milliseconds, and the aggregation effectively saves the storage space. Also, how to construct a more efficient range-proof is still to be taken into consideration.
Acknowledgments
This paper was supported by National Natural Science Foundation of China (Grant no. U21A20463).
Conflict of interest
The authors declare there is no conflicts of interest.
References
[1]
Boddy L, Watkinson SC (1995) Wood decomposition, higher fungi, and their role in nutrient redistribution. Can J Bot 73: 1377–1383. doi: 10.1139/b95-400
[2]
Worrall JJ, Anagnost SE, Zabel RA, et al. (1997) Comparison of wood decay among diverse lignicolous fungi. Mycologia 89: 199–219. doi: 10.2307/3761073
[3]
Schwarze FWMR (2007) Wood decay under the microscope. Fungal Biol Rev 2: 133–170.
[4]
Mohebby B (2005) Attenuated total reflection infrared spectroscopy of white-rot decayed beech wood. Int Biodeter Biodegr 55: 247–251. doi: 10.1016/j.ibiod.2005.01.003
[5]
Boer W, Folman LB, Summerbell RC, et al. (2005) Living in a fungal world: Impact of fungi on soil bacterial niche development. FEMS Microbiol Rev 29: 795–811. doi: 10.1016/j.femsre.2004.11.005
[6]
Ingham RE, Trofymow JA, Ingham ER, et al. (1985) Interactions of bacteria, fungi, and their nematode grazers : Effects on nutrient cycling and plant growth. Ecol Monogr 55: 119–140. doi: 10.2307/1942528
[7]
Frey-Klett P, Burlinson P, Deveau A, et al. (2011) Bacterial-fungal interactions: Hyphens between agricultural, clinical, environmental, and food microbiologists. Microbiol Mol Biol R 75: 583–609. doi: 10.1128/MMBR.00020-11
[8]
Benner R, Newell SY, Maccubbin AE, et al. (1984) Relative contributions of bacteria and fungi to rates of degradation of lignocellulosic detritus in salt-marsh sediments. Appl Environ Microbiol 48: 36–40.
[9]
Shortle WC, Menge JA, Cowling EB (1978) Interaction of bacteria, decay fungi, and live sapwood in discoloration and decay of trees. Eur J Forest Pathol 8: 293–300. doi: 10.1111/j.1439-0329.1978.tb00642.x
[10]
Lang E, Kleeberg I, Zadrazil F (2000) Extractable organic carbon and counts of bacteria near the lignocellulose-soil interface during the interaction of soil microbiota and white rot fungi. Bioresource Technol 75: 57–65. doi: 10.1016/S0960-8524(00)00031-6
[11]
Romaní AM, Fischer H, Mille-lindblom C, et al. (2006) Interactions of bacteria and fungi on decomposing litter : Differential extracellular enzyme activities. Ecology 87: 2559–2569. doi: 10.1890/0012-9658(2006)87[2559:IOBAFO]2.0.CO;2
[12]
Lugtenberg B, Kamilova F (2009) Plant-growth-promoting Rhizobacteria. Annu Rev Microbiol 63: 541–556.
[13]
Clausen CA (1996) Bacterial associations with decaying wood: A review. Int Biodeter Biodegr 37: 101–107. doi: 10.1016/0964-8305(95)00109-3
[14]
Seidler RJ, Aho PE, Evans HJ, et al. (1972) Nitrogen fixation by bacterial isolates from decay in living white fir trees [Abies concolor (Gord. and Glend.) Lindl.]. J Gen Microbiol 73: 413–416. doi: 10.1099/00221287-73-2-413
[15]
Aho PE (1974) Distribution, enumeration, and identification of nitrogen-fixing bacteria associated with decay in living white fir trees. Phytopathology 64: 1413. doi: 10.1094/Phyto-64-1413
Breznak J, Burne A (1994) Role of microorganisms in the digestion of lignocellulose by termites. Annu Rev Entomol 39: 453–487.
[19]
Hall JB, Silver S (2009) Digestive system of the cow. Sciences-New York: 1–4.
[20]
Jami E, Mizrahi I (2012) Composition and similarity of bovine rumen microbiota across individual animals. PLoS One 7: 1–8.
[21]
Clements KD, Angert ER, Montgomery W, et al. (2014) Intestinal microbiota in fishes: What's known and what's not. Mol Ecol 23: 1891–1898. doi: 10.1111/mec.12699
[22]
Isbrücker IJH (1980) Classification and catalogue of the mailed Loricariidae (Pisces, Siluriformes). Verslagen en Technische Gegevens 22: 1–181.
[23]
Eschmeyer WN, Fricke R, Lann RVD, Catalog of fishes: Genera, species, references. Institute for Biodiversity Science & Sustainability, California Academy of Sciences, 2017. Available from: http://researcharchive.calacademy.org/research/ichthyology/catalog/fishcatmain.asp.
[24]
German DP (2009) Inside the guts of wood-eating catfishes: Can they digest wood? J Comp Physiol B 179: 1011–1023. doi: 10.1007/s00360-009-0381-1
[25]
Lujan NK, German DP, Winemiller KO (2011) Do wood-grazing fishes partition their niche?: Morphological and isotopic evidence for trophic segregation in Neotropical Loricariidae. Funct Ecol 25: 1327–1338.
[26]
German DP, Bittong RA (2009) Digestive enzyme activities and gastrointestinal fermentation in wood-eating catfishes. J Comp Physiol B 179: 1025–1042. doi: 10.1007/s00360-009-0383-z
[27]
Araujo-Lima CA, Forsberg BR, Victoria R, et al. (1986) Energy sources for detritivorous fishes in the Amazon. Science 234: 1256–1258. doi: 10.1126/science.234.4781.1256
[28]
Nelson JA, Wubah DA, Whitmer ME, et al. (1999) Wood-eating catfishes of the genus Panaque: Gut microflora and cellulolytic enzyme activities. J Fish Biol 54: 1069–1082.
[29]
Di MN, Schwarzentruber P, Schenker M, et al. (2013) Microbial population dynamics in the faeces of wood-eating loricariid catfishes. Lett Appl Microbiol 56: 401–407. doi: 10.1111/lam.12061
[30]
McDonald R, Schreier HJ, Watts JEM (2012) Phylogenetic analysis of microbial communities in different regions of the gastrointestinal tract in Panaque nigrolineatus, a wood-eating fish. PLoS One 7: e48018. doi: 10.1371/journal.pone.0048018
[31]
Watts JEM, McDonald R, Daniel R, et al. (2013) Examination of a culturable microbial population from the gastrointestinal tract of the wood-eating loricariid catfish Panaque nigrolineatus. Diversity 5: 641–656. doi: 10.3390/d5030641
[32]
McDonald R, Zhang F, Watts JEM, et al. (2015) Nitrogenase diversity and activity in the gastrointestinal tract of the wood-eating catfish Panaque nigrolineatus. ISME J 9: 1–13. doi: 10.1038/ismej.2014.99
[33]
Yoshimizu M, Kimura T (1976) Study on the intestinal microflora of salmonids. Fish Pathol 10: 243–259. doi: 10.3147/jsfp.10.243
[34]
Ugajin M (1976) Studies on the taxonomy of major microflora on the intestinal contents of salmonoids. Bull Jpn Soc Sci Fish 45: 721–731.
[35]
Holben WE, Williams P, Saarinen M, et al. (2002) Phylogenetic analysis of intestinal microflora indicates a novel Mycoplasma phylotype in farmed and wild salmon. Microbial Ecol 44: 175–185. doi: 10.1007/s00248-002-1011-6
[36]
Desai AR, Links MG, Collins SA, et al. (2012) Effects of plant-based diets on the distal gut microbiome of rainbow trout (Oncorhynchus mykiss). Aquaculture 350: 134–142.
[37]
Kamei Y, Sakata T, Kakimoto D (1985) Microflora in the alimentary tract of tilapia: Characterization and distribution of anaerobic bacteria. J Gen Appl Microbiol 31: 115–124. doi: 10.2323/jgam.31.115
[38]
Wu S, Wang G, Angert ER, et al. (2012) Composition, diversity, and origin of the bacterial community in grass carp intestine. PLoS One 7: e30440. doi: 10.1371/journal.pone.0030440
[39]
Dİler Ö, Dİler A (1998) Quantitative and qualitative changes of the gastrointestinal microflora of Pike-perch (Stizostedion Lucioperca L. 1758) in Egirdir Lake. Turk J Vet Anim Sci 22: 325–328.
[40]
Roeselers G, Mittge EK, Stephens WZ, et al. (2011) Evidence for a core gut microbiota in the zebrafish. ISME J 5: 1595–1608. doi: 10.1038/ismej.2011.38
[41]
Wu S, Gao T, Zheng Y, et al. (2010) Microbial diversity of intestinal contents and mucus in yellow catfish (Pelteobagrus fulvidraco). Aquaculture 303: 1–7. doi: 10.1016/j.aquaculture.2009.12.025
[42]
Nieto TP, Toranzo AE, Barja JL (1984) Comparison between the bacterial flora associated with fingerling rainbow trout cultured in two different hatcheries in the North-West of Spain. Aquaculture 42: 193–206. doi: 10.1016/0044-8486(84)90100-5
[43]
Andlid T, Juárez RV, Gustafsson L (1995) Yeast colonizing the intestine of rainbow trout (Salmo gairdneri) and turbot (Scophtalmus maximus). Microbial Ecol 30: 321–334.
[44]
Andlid T, Vazquez-Juarez R, Gustafsson L (1998) Yeasts isolated from the intestine of rainbow trout adhere to and grow in intestinal mucus. Mol Mar Biol Biotechnol 7: 115–126.
[45]
Gatesoupe FJ (2007) Live yeasts in the gut: Natural occurrence, dietary introduction, and their effects on fish health and development. Aquaculture 267: 20–30. doi: 10.1016/j.aquaculture.2007.01.005
[46]
Laconi S, Pompei R, (2007) Study and characterization of intestinal yeasts of mullet (Mugil spp.) for potential probiotic use. J Food Agr Environ 5: 475–480.
[47]
Raggi P, Lopez P, Diaz A, et al. (2014) Debaryomyces hansenii and Rhodotorula mucilaginosa comprised the yeast core gut microbiota of wild and reared carnivorous salmonids, croaker and yellowtail. Environ Microbiol 16: 2791–2803. doi: 10.1111/1462-2920.12397
[48]
Gardes M, Bruns TD (1993) ITS primers with enhanced specificity for basidiomycetes-application to the identification of mycorrhizae and rusts. Mol Ecol 2: 113–118. doi: 10.1111/j.1365-294X.1993.tb00005.x
[49]
Ihrmark K, Bödeker ITM, Cruz-Martinez K, et al. (2012) New primers to amplify the fungal ITS2 region-evaluation by 454-sequencing of artificial and natural communities. FEMS Microbiol Ecol 82: 666–677. doi: 10.1111/j.1574-6941.2012.01437.x
[50]
Schloss PD, Westcott SL, Ryabin T, et al. (2009) Introducing mothur: Open-source, platform-independent, community-supported software for describing and comparing microbial communities. Appl Environ Microbiol 75: 7537–7541. doi: 10.1128/AEM.01541-09
[51]
Edgar RC (2010) Search and clustering orders of magnitude faster than BLAST. Bioinformatics 26: 2460–2461. doi: 10.1093/bioinformatics/btq461
[52]
Edgar RC, Haas BJ, Clemente JC, et al. (2011) UCHIME improves sensitivity and speed of chimera detection. Bioinformatics 27: 2194–2200. doi: 10.1093/bioinformatics/btr381
[53]
Fu L, Niu B, Zhu Z, et al. (2012) CD-HIT: Accelerated for clustering the next-generation sequencing data. Bioinformatics 28: 3150–3152. doi: 10.1093/bioinformatics/bts565
[54]
Koljalg U, Nilsson RH, Abarenkov K, et al. (2013) Towards a unified paradigm for sequence-based identification of fungi. Mol Ecol 22: 5271–5277. doi: 10.1111/mec.12481
[55]
Caporaso JG, Kuczynski J, Stombaugh J, et al. (2010) Qiime allows analysis of high-throughput community sequencing data. Nat Rev Microbiol 7: 335–336.
[56]
Chao A (1984) Nonparametric estimation of the number of classes in a population. Scand J Stat 11: 265–270.
Hiscox J, Savoury M, Müller CT, et al. (2015) Priority effects during fungal community establishment in beech wood. ISME J 9: 1–15. doi: 10.1038/ismej.2014.99
[59]
Purahong W, Wubet T, Lentendu G, et al. (2016) Life in leaf litter: novel insights into community dynamics of bacteria and fungi during litter decomposition. Mol Ecol 25: 4059–4074. doi: 10.1111/mec.13739
[60]
Hervé V, Le RX, Uroz S, et al. (2014) Diversity and structure of bacterial communities associated with Phanerochaete chrysosporium during wood decay. Environ Microbiol 16: 2238–2252. doi: 10.1111/1462-2920.12347
[61]
Bengtsson G (2012) International association for ecology interactions between fungi, bacteria and beech leaves in a stream microcosm. Oecologia 89: 542–549.
[62]
Lee SS, Ha JK, Cheng KJ (2000) Relative contributions of bacteria, protozoa, and fungi to in vitro degradation of orchard grass cell walls and their interactions. Appl Environ Microbiol 66: 3807–3813. doi: 10.1128/AEM.66.9.3807-3813.2000
[63]
Mouzouras R, Jones EBG, Venkatasamy R, et al. (1986) Decay of wood by micro-organisms in marine environments. BWPA Annual Convention.
[64]
Björdal CG (2012) Evaluation of microbial degradation of shipwrecks in the Baltic Sea. Int Biodeter Biodegr 70: 126–140. doi: 10.1016/j.ibiod.2012.01.012
[65]
Alconada TM, Martinez MJ (1996) Purification and characterization of a beta-glucosidase from the phytopathogenic fungus Fusarium oxysporum f. sp. melonis.Lett Appl Microbiol 22: 106–110. doi: 10.1111/j.1472-765X.1996.tb01120.x
[66]
Meyer V, Andersen MR, Brakhage AA, et al. (2016) Current challenges of research on filamentous fungi in relation to human welfare and a sustainable bio-economy: a white paper. Fungal Biol Biotechnol 3: 6. doi: 10.1186/s40694-016-0024-8
[67]
Wang XC, Liu C, Huang L, et al. (2015) ITS1: A DNA barcode better than ITS2 in eukaryotes? Mol Ecol Resour 15: 573–586. doi: 10.1111/1755-0998.12325
[68]
Nilsson RH, Ryberg M, Kristiansson E, et al. (2006) Taxonomic reliability of DNA sequences in public sequences databases: A fungal perspective. PLoS One 1: e59. doi: 10.1371/journal.pone.0000059
[69]
Huber JA, Morrison HG, Huse SM, et al. (2009) Effect of PCR amplicon size on assessments of clone library microbial diversity and community structure. Environ Microbiol 11: 1292–1302. doi: 10.1111/j.1462-2920.2008.01857.x
[70]
Fonseca VG, Nichols B, Lallias D, et al. (2012) Sample richness and genetic diversity as drivers of chimera formation in nSSU metagenetic analyses. Nucleic Acids Res 40: e66. doi: 10.1093/nar/gks002
[71]
Lindahl B, Nilsson RH, Tedersoo L, et al. (2013) Fungal community analysis by high-throughput sequencing of amplified markers-a user's guide. New Phytol 199: 288–299. doi: 10.1111/nph.12243
[72]
Lujan NK, Hidalgo M, Stewart DJ (2010) Revision of Panaque (Panaque), with descriptions of three new species from the Amazon Basin (Siluriformes, Loricariidae). Copeia 2010: 676–704. doi: 10.1643/CI-09-185
This article has been cited by:
1.
Yifan Wu, Xupeng Zhang,
2024,
Validity Verification of Encrypted Transaction Amounts in Blockchain,
979-8-3315-3981-8,
396,
10.1109/IIoTBDSC64371.2024.00078
2.
Mochamad Daffa Fahrezy, Rudy Tjahyadi, Heny Kurniawati,
2025,
Blockchain Adoption in Financial Audit: A Review,
979-8-3315-1332-0,
1,
10.1109/ICADEIS65852.2025.10933126
Caroline L. Marden, Ryan McDonald, Harold J. Schreier, Joy E.M. Watts. Investigation into the fungal diversity within different regions of the gastrointestinal tract of Panaque nigrolineatus, a wood-eating fish[J]. AIMS Microbiology, 2017, 3(4): 749-761. doi: 10.3934/microbiol.2017.4.749
Caroline L. Marden, Ryan McDonald, Harold J. Schreier, Joy E.M. Watts. Investigation into the fungal diversity within different regions of the gastrointestinal tract of Panaque nigrolineatus, a wood-eating fish[J]. AIMS Microbiology, 2017, 3(4): 749-761. doi: 10.3934/microbiol.2017.4.749
Figure 1. Rarefaction graphs with OTUs
derived from sequencing of the ITS2 region, binned to species. The data was
normalised on
the sample containing the lowest number of sequences, 28,090 sequences were
subsampled from the wood-fed fish and mixed-fed fish
Figure 2. Relative abundance of dominant
fungal classes (>1%) detected by sequencing the ITS2 region from the various
GI tract regions of P. nigrolineatus fed either a wood diet or a mixed
diet. Sequences were assigned to OTUs with over 97% sequence identity
Figure 3. OTU network showing distribution
of all OTUs identified to class detected via sequencing of the ITS2 region from
different regions of the GI tract of P. nigrolineatus fed either a wood
diet or a mixed diet. Node size indicates the number of reads assigned to an
OTU while node colour indicates consensus taxonomy