On the Confidentiality of Amounts in Grin
Suyash Bagad, Saravanan Vijayakumaran
Indian Institute of Technology, Bombay
Crypto Valley Conference on Blockchain Technology, 2020
MimbleWimble
No addresses, No amounts!

Provides Privacy, Scalability and Fungibility

First implementation by



A Blockchain protocol relying on Homomorphic Commitments

Hides amounts using Pedersen Commitments

Outputs in Grin
Each output on Grin blockchain 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∈Fq

where G,H∈G such that DL relation between them is unknown
Given an output P∈G it is infeasible to find the amount it commits to

Each output comes with a range proof proving a∈{0,1,…,264−1}

A Grin Block
Block height Kernel offset |
Inputs | Outputs |
Reg. Transaction #2 |
Inputs | Outputs |
Reg. Transaction #1 |
Inputs | Outputs |
- |
Coinbase Transaction |
Dandelion
Block height Kernel offset |
Inputs | Outputs |
|
Cut-through
Block height Kernel offset |
Inputs | Outputs |
|


Block added to Blockchain!
More on a Grin Block
Block height Kernel offset |
Inputs | Outputs |
|
Fees |
Kernel Excesses |

RTO
i=1,2,4∑Oi+(i=1,2∑fi)H−i=1∑4Ii=i=1,2∑Xi+koffG
A block contains n kernels, n= #Transactions

Each kernel contains fee and a kernel excess

Coinbase fee fcb=0, mining reward r=60 grin

Each kernel also contains a Schnorr signature proving that Xi=xiG for some xi∈Fq

Block validation check:

Main Idea
Block height |
Inputs | Outputs |
|
Fees |
Block height |
Inputs | Outputs |
|
Fees |
Block height |
Inputs | Outputs |
|
Fees |
General strategy: Compute number of donor coinbase outputs!

Grin Blockchain as a DiGraph
We define a directed graph G=(V,E) such that

Nodes V=Vbl∪Vcb, where Vbl are blocks and Vcb are coinbase outputs
Edges E=E1∪E2 where
E1=(v1,v2)∈Vcb×Vbl if coinbase output v1 is spent in block v2
E2=(v1,v2)∈Vbl2 if at least one RTO in block v1 is spent in block v2
16
1493
18
1489
1514
1504
h1
h1
h2
h2
h3
h3
Flow Upper Bounds
A vertex c∈Vcb in G is called a donor of a block b∈Vbl if there is a directed path from c to b in G.

1499
16
1482
1469
1458
1481
1489
1495
1493
18
1479
38
33
9
5
7
Subgraph for h=1499, G(h)=(V(h),E(h)) where V(h)=Vbl(h)∪Vcb(h)

∴ A(Oh)≤ 7r+b∈Vcb(h)∑fb−b∈Vbl(h)∑fb
Results
Analysis for RTOs in 612,102 blocks (till March 17th, 2020)

Flow ratio of RTO (FR)=Trivial upper bound of RTOFlow upper bound of RTO
For gauging effectiveness of flow upper bounds, we compute and plot


Block height
Flow ratio
88% blocks have FR>0.9,

6.6% blocks with h>105 have FR<0.5
Results
Unspent RTOs depict the current state of the Blockchain (Fig. 2)


Block height
Flow ratio
Jagged pattern in Flow ratio is observed in Fig. 1, Why?

983 URTOs have upper bound less that 1800
Flow ratio
% of URTO set


95% of 110,149 URTOs have FR>0.9

Figure 1
Figure 2
Conclusion
Amounts in very few RTOs found to be in a narrow range

Confidentiality of most URTOs is preserved, however...

Transaction structure could reveal some information about amounts inspite of perfectly hiding commitments

Transaction volume increase might strengthen amount confidentiality
Linkability in inputs and outputs could be leveraged for tighter bounds
Would be interesting to design such analysis for Beam, Monero,...



Related Work
Listening to ~600 peer nodes, transactions could be traced to their origin before they are aggregated

Ivan Bogatty claimed to have traced 96% of all Grin transactions


Image credits: https://github.com/bogatyy/grin-linkability
Related Work
A. Kumar et al. demonstrated 3 attacks on traceability of inputs in Monero transactions, showing that In 87% of cases, the real output being redeemed can be identified!

Idea#1: 65% transactions have 0 mix-ins as of Feb, 2017!

Idea#2: An input being spent in a ring is the one with the highest block height, where it appeared as a TXO.


Image credits: https://eprint.iacr.org/2017/338.pdf
Related Work
Mo¨ser et al. presented traceability analysis of Monero similar and concurrent to that of Kumar et al's work

Proposed a novel Binned Mixin Sampling strategy as a counter-measure

Characterised Monero usage based on user-behaviour


https://arxiv.org/pdf/1704.04299.pdf
References
A. Poelstra, "MimbleWimble" [Online], Available:
T. P. Pedersen, "Non-Interactive and Information-Theoretic Secure Verifiable Secret Sharing", in Advances in Cryptology - CRYPTO '91, Springer, 1992, pp. 129-140.
M. Möser, et al. “An Empirical Analysis of Traceability in the Monero Blockchain”. Proceedings on Privacy Enhancing Technologies (2018)
"Linking 96% of Grin transactions" [Online], Available:
A. Kumar, C. Fischer, S. Tople and P. Saxena, "A traceability analysis of Monero’s blockchain", European Symposium on Research in Computer Security – ESORICS 2017, pp. 153-173, 2017.
Thank you!
Happy to answer any questions!
On the Confidentiality of Amounts in Grin
By Suyash Bagad
On the Confidentiality of Amounts in Grin
This is an example.
- 635