Performance Trade-offs in Design of MimbleWimble Proofs of Reserves
Suyash Bagad, Saravanan Vijayakumaran
Department of Electrical Engineering, IIT Bombay
IEEE Security & Privacy on the Blockchain, 2020
September 7, 2020
Outline
What is a proof of reserves? Why is it necessary?
Revelio - current state-of-the-art for MimbleWimble
RevelioBP - a Bulletproofs based proof of reserves for MimbleWimble
Performance comparison of RevelioBP and Revelio
Future scope
Proof of Reserves
Proof of ownership of a certain amount of assets
For crypto exchanges, challenge is proving this without revealing any sensitive information


Exchanges
UTXO Set

a1
a2
a3
a4
We own some addresses
which contain a total of
an amount hidden in a
Pedersen commitment Cres.

Reserves: Cres=gr1⋅h∑iai,
Proof of solvency: Cres⋅Cliab−1 commits to an integer in range [0,M],M>0
Liabilities: Cliab=gr2⋅h∑ili
Revelio
Each output in MimbleWimble is a Pedersen Commitment
Pedersen Commitments are homomorphic, perfectly hiding and computationally binding
For an amount a∈{0,1,…,264−1} and blinding factor k∈Zq
Let G be a prime ordered group (∣G∣=q) with generators g,h∈G such that DL relation between them is unknown
Revelio
Proves that each Ci∈Canon, is either owned OR not owned by exchange
σi are NIZK proofs of representation of discrete log
Proof size linear in anonymity set size: (n+1)∈G, 5n∈Zq
Free choice of Canon; Can we have Canon=UTXO?
RevelioBP!
RevelioBP!
More on RevelioBP
We then use the inner product argument of the form
RevelioBP proof size | Revelio proof size |
To build ΠIP, we combine the constraints using a scalar u←Zq
Proof Sizes
We implemented RevelioBP in Rust over G=secp256k1 elliptic curve


Note: All plots are in log-log scale.
RevelioBP proofs are ≥10X shorter that that of Revelio
Running Times
RevelioBP proof generation is 2X slower that of Revelio


Note: All plots are in log-log scale.
RevelioBP ver. is 4X faster than its gen. due to multi-exponentiation
Performance Trade-offs
RevelioBP | Revelio | |
---|---|---|
Proof size | ||
Scalability | ||
Blockchain state | ||
Output privacy | ||
Inflation resistance | ||
Own set size | ||
Running times | ||
Parallelizable |









For UTXO set size n=1.6×105 and s=50







100


Future Scope
Proof of reserves using other proof systems: zk-SNARKs like PLONK, Sonic for O(1)-time verification - will require additional assumptions
Extend it to other cryptocurrencies - work in progress for Monero
References
- [This work] S. Bagad and S. Vijayakumaran, "Performance Trade-offs in Design of MimbleWimble Proofs of Reserves," In 2020 Cryptology ePrint Archive, Report 2020/938.
- A. Dutta and S. Vijayakumaran, "Revelio: A MimbleWimble Proof of Reserves Protocol," 2019 Crypto Valley Conference on Blockchain Technology (CVCBT), Rotkreuz, Switzerland, 2019, pp. 7-11, doi: 10.1109/CVCBT.2019.000-5.
-
B. Bünz et al., "Bulletproofs: Short Proofs for Confidential Transactions and More," 2018 IEEE Symposium on Security and Privacy (SP), San Francisco, CA, 2018, pp. 315-334, doi: 10.1109/SP.2018.00020.
-
Russell W. F. Lai et al., "Omniring: Scaling Private Payments Without Trusted Setup". In Proceedings of the 2019 ACM SIGSAC Conference on Computer and Communications Security (CCS '19). ACM, New York, NY, USA, 31–48. DOI: 10.1145/3319535.3345655
-
G. Dagher et al. "Provisions: Privacy-preserving Proofs of Solvency for Bitcoin Exchanges". In Proceedings of the 2015 ACM SIGSAC Conference on Computer and Communications Security. ACM, New York, NY, USA, 720–731. DOI: 10.1145/2810103.2813674
RevelioBP at IEEE S&B 2020 v2
By Suyash Bagad
RevelioBP at IEEE S&B 2020 v2
Interactive presentation of the paper "Performance Trade-offs in Design of MimbleWimble Proofs of Reserves" at IEEE S&B 2020.
- 132