Thinking out loud here : would it make sense to separate the consensus code into some kind of "Bitcoin Kernel" (similar to the Linux Kernel) project that could be used by anyone ?

Bitcoin Core (and any other application wishing to do so) could be based on it. 

The kernel would just contain the absolute minimum code for reaching consensus, leaving every other aspects of the implementation to the applications built with it.

It would be stateless : it would provide an interface to submit a block/transaction to be validated, including the context needed to validate it (the previously validated blocks referenced by this block/transaction).

What do you think ?

Clément

Le Fri Nov 07 2014 at 9:49:05 AM, Peter Todd <pete@petertodd.org> a écrit :

On Fri, Nov 07, 2014 at 09:07:47AM +0100, Tamas Blummer wrote:
> Peter,
>
> forking would work best with a freeze of the consensus code. Do you see any chance for that?

To a first approximation the consensus code *is* frozen; if we introduce
any consensus changes into it at this point it's due to a mistake, not
intentionally.

Of course, that's not including the two serious soft-fork proposals in
the air right now, Pieter Wuille's BIP62 and my CHECKLOCKTIMEVERIFY.
However dealing with proposed changes like those in an environment where
the competing implementations all use essentially the same
consensus-critical code is much easier than in an environment where they
don't; I say this on both a technical and political level.

--
'peter'[:-1]@petertodd.org
00000000000000000c901eb1b6b765519b99c3afd7a9062ff4cfa29666ce140d
------------------------------------------------------------------------------
_______________________________________________
Bitcoin-development mailing list
Bitcoin-development@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bitcoin-development