Welcome to the ETH Inequality Demo @ DevCon 2024. Join us in the Telegram to stay tuned for more updates!
This guide will help you participate in our survey of ETH distribution across Binance users at DevCon 2024. Don't worry - your data stays private and secure through MPCStats and TLSNotary. You'll be eligible for an NFT from us and a chance to win $100 only if you complete the share your balance step successfully.
- Participants prove their ETH balance on Binance using TLSNotary.
- Participants share their masked balance to computation parties. People can query statistical results from the computation parties.
- Your exact balance remains private throughout the whole data sharing process.
- The computing parties MAY learn the number of digits of your balance, but not the exact balance
- Security relies on the assumption that our 3 computing parties do not collude
- Your API keys are only used once to fetch your balance and only stay in your laptop.
You'll need:
- Docker installed and running on your computer (Get Docker here)
- A Binance account with some ETH holdings
-
Log into Binance.com and navigate to:
- Click "Account"
- Select "API Management"
- Direct link to API Management
-
Create a new API key:
-
Important Security Settings:
🔒 Security Note: Keep your Secret Key private! Our demo only needs read-only access to check your ETH balance, and it's only kept
First, make sure Docker is running on your computer!
Open a terminal/command prompt and get the docker image from the docker hub.
git clone https://github.com/ZKStats/mpc-demo-infra.git
cd mpc-demo-infra/mpc_demo_infra/client_cli/docker
./build.sh
Run the script with your details. The ETH address is the one you want to receive the NFT and the lottery if you win (not the one you use for Binance), so please double check if it's correct. It might take several minutes to run.
./share-data.sh <eth-address> <binance-api-key> <binance-api-secret>
# Example (DO NOT COPY, USE YOUR OWN VALUES):
# ./share-data.sh 0x123...abc aBc1234... xYz5678...
You'll see the following output:
Binance ETH balance data has been shared secretly to MPC parties.
If it took too much time because of the network to download the images, you can try build it locally instead.
docker build -t client_cli .
docker run -it client_cli client-share-data <eth-address> <binance-api-key> <binance-api-secret>
⚠️ Warning
- Only 'Free' ETH in your spot account will be counted. This excludes:
- ETH in open orders
- ETH in locked staking
- ETH in savings products
- ETH used as collateral
- ETH in futures/margin accounts
- If you have exact 0 ETH it will fail due to the limitation of our implementation. You need to have at least some dust ETH (e.g. 0.00001 ETH) in your spot account.
- We have only two decimals of precision. If you have less than 0.01 ETH, it will be rounded to 0.00 ETH.
Visit https://demo.mpcstats.org/. It might take 5~10 minutes for results to be updated.
Common issues:
- Docker not running → Start Docker Desktop or Docker daemon
- Script fails → Check your API key and secret are copied correctly. → Check if your ETH balance on Binance is not 0. → If it's timeout, try it again. If it didn't
- Having trouble? Contact us on Telegram