Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
merged-mined parallel chains without native currency
+------+ +-------+ +---------+
+-------> | | +-------------------------> | | - - - - - - - - - - - - - - -> |potential|
| BMM | | BMM | | BMM |
|block | | block | | block |
| | | | - - - - - -> | | +---- - - -
+------+ +-------+ | +---------+ |
tx A
| |
v
| BMM miner
gets 600 in return
| 200 profit
lightning transactions 200 paid in tx fees
each with the same PTLC |
that when fulfilled reveal
the signature for tx B |
BMM transactor +----100-------> +----------------------------+ +-------------------+-------------------+
| locked funds: 800 = | |nTimelock: current + 10 |
BMM transactor +----100-------> BMM miner +--> | (100 * 4) from transactors | - - - -> |paid to no one, just donate |
| 400 from the miner himself | |fees to miners. |
BMM transactor +----100-------> | multisig between all BMM | |or paid to some nonprofit organization.|
| transactors and the BMM | +---------------------------------------+
BMM transactor +----100-------> | miner. | tx B
+----------------------------+
tx 0
protocol steps:
1. BMM transactors find coordinator
2. they all agree on tx 0 and miner puts some of his funds just to keep him honest
3. they all agree on tx A, the transaction that will attach itself to the BMM string
transactors can see the block produced by miner and check its hash
they all get a copy of tx A they can publish if miner doesn't
4. miner builds tx B and shares with transactors, that is the transaction that makes them all lose money
transactors sign that, but miner doesn't sign, his signature is "sold" as the fulfillment value
for the lightning payments
5. transactors all send lightning payments to BMM miner, he waits until they all arrive, fulfill them and
publishes tx A
6. if tx A goes through, fine. if not, miner and transactors must agree on a new block and a new tx,
if they don't agree, after 10 blocks tx B may get published and they all lose their money
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment