Adjoint News

Extending zkLedger with private swaps

Written by: Alberto Centelles and Gabe Dijkstra


In a distributed ledger with privacy features, it is important to strike a balance between public verifiability and privacy. If transaction data is public, anyone can verify whether the ledger satisfies certain properties. However, public transaction data may leak sensitive trading information or violate data privacy regulations. With encrypted transaction data, public verifiability may be lost, as well as the possibility for thirdparty auditing, hindering compliance with regulations. By employing homomorphic commitment schemes and non-interactive zero-knowledge proofs, Narula et al. managed to achieve transaction privacy while retaining public verifiability and auditability with zkLedger [12]. This paper extends the zkLedger design to support the asynchronous submission of transfers and thereby avoids the race condition that required parties to recompute and resubmit private transfers. The new design enables complex multiparty workflows to be built on the zkLedger platform. As an example of such a workflow, we present a protocol to atomically and privately swap assets.


Read Publication