Skip to content

Boomerang is a Bitcoin cold-storage protocol that introduces strong duress protection without requiring any changes to Bitcoin consensus.

License

Notifications You must be signed in to change notification settings

bitryonix/boomerang

Repository files navigation

Proof of Concept Implementation for Boomerang: Bitcoin Cold Storage Meets Integrated Duress Protection

Boomerang is a bitcoin cold storage protocol that provides duress protection via a non-deterministic withdrawal mechanism, interweaved with duress checks. This is the proof-of-concept (POC) implementation of boomerang protocol. All entities are written in rust. For more info on the design please refer to boomerang design repo.

Table of Contents

Setup and withdrawal steps

All steps are laid out clearly in setup.rs and withdrawal.rs files, exactly following the design message diagrams of setup, initiator withdrawal and non-initiator withdrawal design files.

Run

We have tested and ran this code on linux and mac.

cargo run --bin poc

Architecture

Decisions on the architecture of the POC, are documented in the Architecture.md file.

Roadmap

  • Writing the POC in rust.
  • Dynamic simulation of the protocol to optimize parameters, given delays and non-linearity.
  • Implementing the java card applet (Boomlet).
  • Observing and deciding if java card can handle the expectations.
  • Implementing the ST software and hardware.
  • Implementing ancillaries.
  • Implementing network layer.
  • Implementing proper error handling and fallback scenarios.
  • Adding networking and CLI to the code.
  • Adding GUI.

About

Boomerang is a Bitcoin cold-storage protocol that introduces strong duress protection without requiring any changes to Bitcoin consensus.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages