Skip to content

Instantly share code, notes, and snippets.


RubenSomsen/ Secret

Last active Jul 6, 2021
What would you like to do?
Links to my work, accessible via


I'm Ruben Somsen, Bitcoin Sorcerer. I do protocol design in order to enhance Bitcoin. I also help maintain the bitcoin-dev mailing list, am co-host of the Unhashed Podcast , and I’m organizer/founder of the Seoul Bitcoin Meetup.

You can find me on Twitter, Mastodon, and Telegram. You can also join this Telegram group chat to discuss my work. Feel free to ask questions, I want people to understand it.

Bitcoin Sorcery


Trustless two-way pegged sidechains that need to be enabled via a soft fork. Mainchain users verify each softchain via a novel and succinct consensus validation method (~100MB per chain per year) thanks to Proof-of-Work Fraud Proofs (PoW FP), which ensures users can (slowly) come to consensus by only validating blocks which are disputed/forked via Proof-of-Work.



Swap UTXOs off-chain with the absolute minimal trust in a federation (permissionless peg-out). Can interoperate with Lightning for off-chain channel opening and closing.



A permissionless method to create trustless blockchains that improve the Bitcoin ecosystem by explicitly not competing as a store of value. It's a combination of two separate concepts: Blind Merged Mining (BMM) – An auction-based method of mining blocks of other chains by paying BTC miners in bitcoin. The Perpetual One-way Peg (P1WP) – Creating a new token without speculative future value (can't act as store of value).


Succinct Atomic Swaps

Allows you to perform an atomic swap in merely two (or three) transactions, instead of four. Can work on chains that have no scripting and don't support timelocks.


Trustless P2P Lending

A trustless contract to borrow one asset, using another asset as collateral. No oracle or arbitrator is required. Works on any blockchain that has multiple assets and sufficient smart contracting capabilities.


Other posts

Miscellaneous videos

Recommended podcasts

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment