I am going to enumerate what I believe to be the ‘First Principles’ of a trustless 2 way peg for a sidechain. If you want to read about current proposals for pegs in sidechains please see my prior blog post.

The goal of this blog post is to create a simple reference for other sidechain developers to reason from when creating their own 2 way peg. I believe these principles hold true for anyone building a ‘trustless’ 2WP.

It is trivial to transfer bitcoin into a sidechain Merkle proofs must be used for a 2 way peg (OP_WITHDRAWPROOFVERIFY or OP_MERKLEBRANCHVERIFY) Bitcoin cannot fully validate the sidechain’s consensus rules Therefore the sidechain to bitcoin peg relies heavily on game theory

Thoughts?