Jorge,

separating script engine into libconsensus was very helpful, since wrapped the 
piece of consensus
that would least likely to be captured exactly with an implementation from 
scratch. Thank you for your
effort there.  Bits of Proof now uses its own or alternatively libconsensus for 
full validation.

I am sceptical however that a “full” consensus lib extracted from satoshi’s 
code is worth trying.
Not because it was impossible, but because the result would not be higher 
quality, if measured on agreement
with satoshi, than other re-implementations. It would actually be lower quality 
because of the antique tool set.

The rules outside script engine are simpler, therefore much easier to capture 
exactly. They are however
scattered around in the spaghetti and are often just a single if statement, 
also repeated elsewhere.

You would either have to very extensively refactor the code, that unlikely goes 
through as a PR, or
do what me and others did. Read satoshi code and rewrite the same. You have
a slight advantage of copy-paste small fragments, but I doubt the consensus 
relevant advantage of that.

Tamas Blummer

> On Aug 20, 2015, at 02:53, Jorge Timón via bitcoin-dev 
> <bitcoin-dev@lists.linuxfoundation.org> wrote:
> 
> 
> 1) Finish the libconsensus separation in an independent branch on top
> of a given version, for example 0.11.
> 2) Separate a repository from that. Alternative implementations can
> start using a full libconsensus
> 3) Rebase that branch on top of bitcoin/master and start to PR small
> groups of commits. Once the whole branch has been merged, Bitcoin Core
> can replace the consensus folder with the libconsensus subtree, so
> that Bitcoin Core itself can start using a full libconsensus.
> 
> Ironically with this plan Bitcoin Core may not be the full node first
> implementation to use a full libconsensus.
> There will be some consensus fork bug risks during 3 (which at the
> current speed I estimate it could easily take 3 or 4 years) and there
> would be some redundant work (replicating every consensus change in
> both Bitcoin Core and libconsensus).
> On the bright side, we may be able to have a full libconsensus this
> year (which was my goal after we exposed VerifyScript in the first
> libconsensus).
> 
> Thoughts?
> _______________________________________________
> bitcoin-dev mailing list
> bitcoin-dev@lists.linuxfoundation.org
> https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev

Attachment: signature.asc
Description: Message signed with OpenPGP using GPGMail

_______________________________________________
bitcoin-dev mailing list
bitcoin-dev@lists.linuxfoundation.org
https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev

Reply via email to