Published December 17, 2025 | Version v2
Software Open

b-privacy (Usenix security 26' cycle 1 828 artifact evaluation)

Description

This is the artifact associated with the USENIX '26 paper "B-Privacy: Defining and Enforcing Privacy in Weighted Voting". It consists of the code used to generate the results of the paper, as well as the dataset of votes from the Snapshot voting platform used by experiments throughout the paper. The repository is structured as follows, with more detail to be found in the README:

  • attack: guess_voters.cc contains the raw tally attack from Section 4 and the adapted version for noised tallies described in Appendix C. Compiling and running the program outputs CSV-formatted result files that are processed by the scripts in the same directory to generate plots. plot_dao_aggregate_analysis.py generates Figure 1, plot_dao_analysis.py generates Figure 2 and plot_noise_comparison.py generates Figure 7.
  • bribery_resistance: core.py contains the code used to compute B-privacy as described in Section 6 and Appendix B. The other scripts make use of the methods defined in this file to generate the plots from Section 8. batch_bribery_analysis.py generates Figure 4, bribery_cost_against_noise.py generates Figure 5 and bribe_distribution_proposal.py generates Figure 6.
  • data_input: all_snapshot.zip is a zipped CSV file, referenced by the code in the other directories, that contains the Snapshot voting data used by experiments throughout.

Files

b-privacy.zip

Files (464.8 MB)

Name Size Download all
md5:064425ed2cc071dadcab35441dcb2088
464.8 MB Preview Download