Published 2025 | Version v1

The source code of the paper "BulletCT: Towards More Scalable Ring Confidential Transactions With Transparent Setup"

  • 1. EDMO icon CSIRO's Data61
  • 2. ROR icon University of Cambridge

Contributors

  • 1. EDMO icon CSIRO's Data61
  • 2. ROR icon University of Cambridge

Description

BulletCT


This repository contains the source code of the paper BulletCT: Towards More Scalable Ring Confidential Transactions With Transparent Setup, accepted to 34th USENIX Security Symposium. Note that the code is for research only. Please reference our paper and follow the attached license when you use our code.

The code is a Java implementation and has been tested on JRE 11. It is associated with our experimental results and was developed to evaluate the prover and verifier runtime of the RingCT signatures,  BulletCT and ZGSX23 described in the paper. Note that the transaction sizes are directly computed based on the protocols without the need for the code.

The repository contains a maven project, where the associated libraries are listed below. Please see more details in the pom.xml file:

  • junit, 4.12
  • guava, 23.0
  • bouncycastle, 1.56
  • cothority, 3.3.1
  • apache commons, 3.6.1

The implementations of BulletCT and ZGSX23 are in the two files, respectively:

  • src/main/java/ringct/BulletCT.java
  • src/main/java/ringct/ZGSX23.java

Please execute the JUnit test cases to evaluate the prover and verifier runtime in the file:

  • src/test/java/ZKP/RingCTTest.java

Note: we executed a total of 15 instances and calculated the average runtime using only 10 instances for stable performance in our experiments, excluding the initial default 5 runs to account for Java's slow warm-up period. To measure the runtime, you may set the value to anything greater than 5.

Files

BulletCTCode.zip

Files (47.1 kB)

Name Size Download all
md5:8ff0229f863946ce43f762daddeaf6f7
47.1 kB Preview Download

Additional details

Dates

Accepted
2024-12
34th USENIX Security Symposium

Software

Programming language
Java