Warnet War 🧨
Inspiration
The rise of vulnerabilities in older versions of Bitcoin Core presented a unique opportunity to simulate, study, and develop attack strategies in a controlled, large-scale environment. We wanted to explore how legacy software behaves under adversarial conditions, especially when deployed in a dynamic peer-to-peer (P2P) network. Warnet provided the perfect battlefield for this exploration.
What it does
Our project uses the Warnet package to simulate, deploy, and interact with a realistic Bitcoin P2P network inside a Kubernetes cluster. It allows us to conduct both reconnaissance and attack scenarios against nodes running outdated or intentionally flawed versions of Bitcoin Core. Through a smaller 12-node "scrimmage" setup, we could iterate and test strategies locally before executing them in a remote 100+ node battlefield.
How we built it
- Installed Warnet in a Python virtual environment using this guide.
- Set up a local Kubernetes cluster using Docker Desktop to run the 12-node scrimmage network.
- Used the
warnet deploycommand to spin up the test environment andwarnet dashboardto monitor the network. - Wrote attack scenarios in Python using Warnet’s
test_framework, allowing us to simulate real P2P behavior and RPC interactions. - Accessed tanks using
self.tanks["armada-0"]and ran targeted RPC and P2P commands to probe vulnerabilities. - Used
k9sandkubectlfor cluster management and monitoring.
Challenges we ran into
- Managing Docker Desktop's resource limitations when running a full Kubernetes cluster.
- Understanding the deep internals of legacy Bitcoin Core and the RPC interface.
- Creating stable and reproducible scenarios that work across different flawed Bitcoin Core versions.
- Debugging malformed P2P behavior in nodes with fake disclosures or intentional flaws.
Accomplishments that we're proud of
- Successfully deployed Warnet locally and executed multiple scenarios in the scrimmage setup.
- Created custom Python scripts that simulate real-world attacks using Bitcoin Core's RPC and P2P interfaces.
- Identified vulnerabilities in older versions and observed unexpected network behavior in forks.
- Improved our understanding of decentralized systems security and Bitcoin Core internals.
What we learned
- Kubernetes is a powerful platform for simulating decentralized, adversarial networks.
- Legacy Bitcoin Core versions exhibit a variety of unexpected behaviors when stressed.
- The Warnet test framework makes it easy to interact with containerized Bitcoin nodes.
- Crafting effective attack scenarios requires understanding both network topology and protocol internals.
What's next for Warnet War
- Develop more sophisticated attack scripts like eclipse and consensus-splitting attacks.
- Share our scenarios and test cases with the broader Bitcoin dev community.
- Extend Warnet to simulate Layer 2 systems like the Lightning Network.
- Explore visualization tools to map out attack propagation and node behavior in real time.
Built with ❤️ and Python using Warnet
Built With
- python
- warnet


Log in or sign up for Devpost to join the conversation.