Published January 16, 2025 | Version v1
Software Open

Voting Block Entropy (VBE) Repository

  • 1. ROR icon Cornell University
  • 2. Initiative for Cryptocurrencies and Contracts (IC3)
  • 3. ROR icon Stanford University
  • 4. Cornell Tech
  • 5. Flashbots

Description

This repository contains two toolkits that analyze Decentralized Autonomous Organization (DAO) decentralization, VBE-library and VBE-dashboard. Simply, we wish to showcase how decentralized voting blocs are in an organization, and higher VBE means greater decentralization. This artifact can be used to reproduce the numbers under the “oVBE validation” paragraph of Section 5.2, and the numbers in Figure 1 of the paper Voting-Bloc Entropy: A New Metric for DAO Decentralization.

  • VBE-library: Enables reading VBE data from our relational database, and easy calculations of the Voting-Bloc Entropy (VBE) metric on governance data.
  • VBE-dashboard: Contains code to pull voting data from Tally and Snapshot (governance voting platforms), and generate analytics for the DAO VBE Dashboard. 
 

Below is an outline of the key steps in VBE-library:

  1. rds_readonly.py: loads data from relational database given the variables in the .env file. Query can be changed to retrieve DAO, proposal, voter, and other data tables.
  2. load_data.py: loads and formats the data from voting or governance sources. Cleans data, removes duplicates, and flags issues.
  3. calculate_vbe.py: performs clustering for voter feature data, and computes VBE as a function on the size of the largest cluster.
  4. utils.py: used for supporting functions in loading data, calculating optimal model parameters, and saving data.
  5. results/: saves report for VBE and model parameters, as well as clustering data.
  6. data/: where to drop csv file for data loading
  7. .env: pre-populated read-only user to view the VBE relational database

Below is an outline of the key steps in VBE-dashboard:

  1. DAO data retrieval from open source APIs such as Snapshot, Tally, Boardroom
  2. Data standardization across different APIs, including significant cleaning and cross-referencing of data
  3. Manually augmenting dataset according to expert consultation, and aggregating this data in a PostgreSQL database.
  4. Data filtering to identify valid data for clustering and analysis, such as only counting voters that have voted on at least one proposal.
  5. Calculating VBE across different organizations and within a signle organization.
  6. Visualizing results.

Files

VBE.zip

Files (129.1 kB)

Name Size Download all
md5:59f4872663240020c2af14851e910741
129.1 kB Preview Download

Additional details

Dates

Created
2025-01-16

Software

Repository URL
https://github.com/DAO-Decentralization/VBE
Programming language
Python