I met Mikael and Eric last weekend at Scaling Bitcoin, and they took a liking to
the idea I presented there. Mikael asked me to introduce it to this list. I'm
unsure how this fits into libbitcoin, but I'll try to play with it this week.
You can find the presentation here:
https://scalingbitcoin.org/hongkong2015/presentations/DAY2/2_breaking_the_chain_1_mcelrath.pdf
The basic idea is that the phenomena of orphans in bitcoin can be eliminated by
replacing the blockchain with a Directed Acyclic Graph, or a small restriction
on one that I'm calling a "Braid". The requirements are (1) blocks reference
multiple parents, (2) blocks can contain duplicate transactions and (3) blocks
combined into a single Braid cannot contain double-spends. This proposal has
some very nice other properties in terms of decentralizing mining, and
increasing the transaction rate by removing arbitrary parameters like the block
time and block size.
I'd like to consider testing this idea in libbitcoin, running in full-node mode.
In some ways one might consider such a modification to be an unholy marriage
between p2pool and bitcoin.
I'm running some simulations on this idea and when they're done I'll write a
blog post about this and I will submit it to the Ledger journal
(ledgerjournal.org).
--
Cheers, Bob McElrath
"For every complex problem, there is a solution that is simple, neat, and wrong."
-- H. L. Mencken