Confidential assets on Aptos

 

tl;dr: Confidential assets are in town! But first, a moment of silence for veiled coins.

$ $

Introduction

We chose 16-bit chunks to ensure that the max pending balance chunks never exceed $2^{32}$ after around $2^{16}$ incoming transfers. This, in turn, ensures fast decryption times.

Why so many incoming transfers? There could be use cases, such as payment processors, where seamlessly receiving many transfers is necessary.

Resources

Appendix

BL DL benchmarks for Ristretto255

These were run on a Macbook M3.

Chunk size Algorithm Lowest time Average time Highest time
16-bit Bernstein-Lange1 1.67 ms 2.01 ms 2.96 ms
32-bit Bernstein-Lange1 7.38 ms 30.86 ms 77.00 ms
48-bit Bernstein-Lange1 0.72 s 4.03 s 12.78 s

Something is off here: BL should be faster than baby-step giant-step (BSGS), which would take $2^{16}$ group operations for a 32-bit DL $\Rightarrow$ 0.5 microseconds $2^{16} \approx 32$ ms.

References

For cited works, see below 👇👇

  1. Computing small discrete logarithms faster, by Daniel Bernstein and Tanja Lange, 2012, [URL]  2 3