SybilShield is an open-source project built for the StarkNet ecosystem that utilizes blockchain data to detect Sybil attack behaviors.
A Sybil attack is a type of attack where an attacker creates multiple fake identities (also known as Sybil nodes) in a network in order to gain control or disrupt the network's operation.
SybilShield is implemented using Apibara technology to explore on-chain data, allowing it to detect and mitigate Sybil attacks by identifying and isolating fake identities.
- Install Python version management tool: pyenv or asdf
- Install
Python 3.9.14
using the Python version management tool and activate that version - Clone this repository
- Verify the active Python version:
python -V
- Install Poetry — a dependency manager
- Create Python virtual environment in the project directory:
poetry env use 3.9
- Activate environment:
poetry shell
- Upgrade pip:
pip install --upgrade pip
- Install project dependencies:
poetry install
- MacBook M1/M2:
To define
- MacBook M1/M2:
- Verify the setup by running tests:
poetry run test
- Export entrypoint:
export FLASK_APP=app
- Run the server:
poetry run flask run
See the open issues for a list of proposed features (and known issues).
Reach out to the maintainer at one of the following places:
If you want to say thank you or/and support active development:
- Add a GitHub Star to the project.
- Write interesting articles about the project on Dev.to, Medium or your personal blog.
Together, we can make SybilShield better!
First off, thanks for taking the time to contribute! Contributions are what make the open-source community such an amazing place to learn, inspire, and create. Any contributions you make will benefit everybody else and are greatly appreciated.
Please read our contribution guidelines, and thank you for being involved!
For a full list of all authors and contributors, see the contributors page.
SybilShield follows good practices of security, but 100% security cannot be assured. SybilShield is provided "as is" without any warranty. Use at your own risk.
For more information and to report security issues, please refer to our security documentation.
This project is licensed under the MIT license.
See LICENSE for more information.
Here are some interesting resources about detection and mitigation of Sybil attacks:
Note: This list is not exhaustive, and is not intended to be.
Thanks goes to these wonderful people (emoji key):
This project follows the all-contributors specification. Contributions of any kind welcome!