Coder Social home page Coder Social logo

ferencberes / ethereum-privacy Goto Github PK

View Code? Open in Web Editor NEW
67.0 8.0 12.0 70 KB

Profiling and Deanonymizing Ethereum Users

Home Page: https://arxiv.org/abs/2005.14051

Python 73.66% Jupyter Notebook 23.71% Shell 2.62%
ethereum deanonymization privacy node-embeddings representation-learning research cryptocurrency graph-analysis network-embedding

ethereum-privacy's Introduction

ethereum-privacy (ethprivacy package)

build PyPI - Python Version

Latest joint work of Ferenc Béres, István András Seres, András A. Benczúr and Mikerah Quintyne-Collins on Ethereum user profiling and deanonymization.

Introduction

In this work we assess the privacy shortcomings of Ethereum's account-based model. We collect and analyze a wide source of Etherum related data, including Ethereum name service, Etherscan blockchain explorer, Tornado Cash mixer contracts, and Twitter. To the best of our knowledge, we are the first to propose and implement Ethereum user profiling techniques based on user quasi-identifiers. By learning Ethereum address representations we deanonymize accounts that belong to the same user.

In this repository we publish our data and code for further research, in the from of a Python package (ethprivacy).

Cite

You can find our pre-print paper on arXiv. Please cite our work if you use our code or the related data set.

@misc{beres2020blockchain,
    title={Blockchain is Watching You: Profiling and Deanonymizing Ethereum Users},
    author={Ferenc Béres and István András Seres and András A. Benczúr and Mikerah Quintyne-Collins},
    year={2020},
    eprint={2005.14051},
    archivePrefix={arXiv},
    primaryClass={cs.CR}
}

Requirements

  • UNIX environment
  • This package was developed in Python 3.6 (conda environment)

Installation

After cloning the repository you can install the ethprivacy package with pip.

git clone https://github.com/ferencberes/ethereum-privacy.git
cd ethereum-privacy
python setup.py install
pip install karateclub

Data

You must download our Ethereum data in order to use our code!

You can choose to use our download script below or just simply use this link.

bash download_data.sh
ls data

Experiments

  • By running the following script you can check your setup.
bash -e run_tests.sh
  • We also provide a script to run every experiment from our paper. We recommend you to parallelize the tasks as it could take days to execute them on a single thread.

Acknowledgements

We thank Daniel A. Nagy, David Hai Gootvilig, Domokos M. Kelen and Kobi Gurkan for conversations and useful suggestions. Support from Project 2018-1.2.1-NKP-00008: Exploring the Mathematical Foundations of Artificial Intelligence and the “Big Data–Momentum” grant of the Hungarian Academy of Sciences.

ethereum-privacy's People

Contributors

ferencberes avatar seresistvanandras avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ethereum-privacy's Issues

ci setup

Setup continuous integration properly:

  • write tests for pytest
  • enable codecov for the project
  • write some documentation

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.