Skip to content

Instantly share code, notes, and snippets.

@MrHash
Last active January 7, 2020 12:58
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save MrHash/35bf4859eb3d90d5d79a7ca592ce3da0 to your computer and use it in GitHub Desktop.
Save MrHash/35bf4859eb3d90d5d79a7ca592ce3da0 to your computer and use it in GitHub Desktop.

Solid Federation

Mission

To establish and secure a strong, reliable, and independent geographically dispersed verified Bitcoiner federation using Elements pegged to Bitcoin.

Goals

  • To have up to 300 federation members.
  • Federation members be keybase triple+ verified anonymous, pseudonymous or publicly known Bitcoiners (TBD).
  • To secure an Elements sidechain bitcoin pegged base asset for anyone to use.
  • To encourage more Bitcoin nodes to support the Bitcoin network.
  • To demonstrate commitment to building on Bitcoin for the future.
  • To share technical knowledge and experience.
  • To present a case study for other independent federations to learn from.

Features

  • An Elements sidechain with a 1:1 BTC pegged base asset
  • Permissionless peg-in and out
  • Geographically dispersed
  • All nodes running on Tor only
  • 51% hard consensus
  • 2 min block finality
  • minimal fees
  • Decentralized atomic swap services between mainchain and sidechain Lightning Network with HTLC swaps onto LN mainnet (ie. LN on-ramp)
  • The same BTC security considerations as Liquid such as 101 block peg-in time, block size limit (can go smaller), and timelocks.

Functionaries

Functionaries will be a collective of 100-300 block signers. The selection process is not determined but could be as follows:

  • Open telegram/irc/riot channel
  • All available functionaries will be required to run the same elements version on a solidv1 chain
  • Functionaries will require PGP, Github, Twitter, Reddit etc. verification on Keybase
  • Functionaries will require endorsement from at least 10 other functionaries
  • A DNS seed signatory/key list will be issued and updated regularly
  • Changes to status will be reflected in the status list
  • A basic cloneable website will present status and progress

Risks

  • Size. Too few functionaries means the network the not secure or reliable, but we can go public once we reach a reliable threshold.
  • 51% attack. Very difficult to 51% attack 300 plebs, that's the point of the federation.
  • Regulation. I don't think so.
  • Reliability. Members need to keep running an elements node alongside their bitcoind node. the expectation is that disk space will not be an issue since we do not expect much activity for some time so we can have time to upgrade. If an active federation ultimately fails then bitcoin timelocks should release pegged funds, this is the same as Liquid.
  • Protocol updates. This is tricky since we would need to coordinate updates across the whole network. This might be possible gradually but there may come a time when the network needs to switch. In this case it might make sense to just start to a new chain and move funds across.

Process

  1. Decide project name
  2. Technical support to help functionaries do block signing
  3. Start a prototype standalone unpegged chain so we can build a reliable federation
  4. Deploy a pegged chain
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment