Wladimir J. van der Laan [ARCHIVE] on Nostr: 📅 Original date posted:2015-07-28 📝 Original message:On Thu, Jul 23, 2015 at ...
📅 Original date posted:2015-07-28
📝 Original message:On Thu, Jul 23, 2015 at 04:30:06PM +0200, Jorge Timón via bitcoin-dev wrote:
> I think there were some misunderstandings in our previous conversation
> about this topic.
> I completely agree with having a separated repository for libconsensus
> (that's the whole point, alternative implementations can be
> consensus-safe by using it, and in the event of a schism fork[1], they
> can fork just that smaller project without having to relay on Bitcoin
> Core [satoshi] at all).
Indeed.
> But I thought you also wanted Bitcoin Core to use libconsensus instead
> of just having a subtree/subrepository like it currently does with
> libsecp256k1.
> I'm not sure if that would ever be accepted, but in any case we're
> certainly far away from that goal. Here are some things that need to
> happen first:
I don't see any reason why Bitcoin Core would not use the consensus library. Eating our own dogfood and such.
Biggest risk, as I've said before, is that the refactoring loading to a (more complete) consensus library will result in code that is no longer bug-for-bug compatible with previous versions, thus defeating its entire purpose and introducing fork risk.
If that can be avoided - for example by going from here to there using pure code moves, as you're trying to do - I'm all for it.
> 2) Finish libconsensus's API: expose more things than VerifyScript, at
> the very least, also expose VerifyTx, VerifyHeader and VerifyBlock.
> Feedback from alternative implementations like libbitcoin is extremely
> valuable here. Some related closed-for-now PRs:
Agreed.
> 3) Move libconsensus to a separate repository as a
> subtree/subrepository of Bitcoin Core.
If the rest is done, this is the easy part :)
> Unfortunately and ironically again, safer, small and incremental
> changes are less interesting for reviewers.
> For example, I've been trying to move consensus code to the consensus
> folder for a long time. The correctness of a MOVEONLY change is
> trivial to review for anyone who knows how to copy/paste in its
> favorite editor and how to use git diff, but will I ever get answers
> to my questions in [1]?
Code review capacity is still our greatest bottleneck.
And I don't see any way out of that, unfortunately.
> I know there's many people who really care about this, Cory Fields,
> Wladimir and Pieter Wuille to name a few have reviewed many of this
> changes (I've just got used to publicly whine about lack of review on
> this front and policy encapsulation [very related fronts] as an
> attempt to get some attention: not always, but begging for review
> actually works some times).
I do really care about this.
Wladimir
Published at
2023-06-07 15:43:26Event JSON
{
"id": "42ebb9f184650770445e674688cbf33906dbdb279a97ab740a21dadb3e49e3e2",
"pubkey": "5c0b7fca51fd4830b4d9f840de063faebeeabd3bb5dd118de9cdf50a6feaaf98",
"created_at": 1686152606,
"kind": 1,
"tags": [
[
"e",
"1febfeda69afc07e7e5db16220ff2d4dbff0520606cec7df380d246d8de16f3f",
"",
"root"
],
[
"e",
"477000e19e9cff6accc0f36407ff0904492ca0cc6810eda612de856412a73697",
"",
"reply"
],
[
"p",
"498a711971f8a0194289aee037a4c481a99e731b5151724064973cc0e0b27c84"
]
],
"content": "📅 Original date posted:2015-07-28\n📝 Original message:On Thu, Jul 23, 2015 at 04:30:06PM +0200, Jorge Timón via bitcoin-dev wrote:\n\n\u003e I think there were some misunderstandings in our previous conversation\n\u003e about this topic.\n\u003e I completely agree with having a separated repository for libconsensus\n\u003e (that's the whole point, alternative implementations can be\n\u003e consensus-safe by using it, and in the event of a schism fork[1], they\n\u003e can fork just that smaller project without having to relay on Bitcoin\n\u003e Core [satoshi] at all).\n\nIndeed.\n\n\u003e But I thought you also wanted Bitcoin Core to use libconsensus instead\n\u003e of just having a subtree/subrepository like it currently does with\n\u003e libsecp256k1.\n\u003e I'm not sure if that would ever be accepted, but in any case we're\n\u003e certainly far away from that goal. Here are some things that need to\n\u003e happen first:\n\nI don't see any reason why Bitcoin Core would not use the consensus library. Eating our own dogfood and such.\n\nBiggest risk, as I've said before, is that the refactoring loading to a (more complete) consensus library will result in code that is no longer bug-for-bug compatible with previous versions, thus defeating its entire purpose and introducing fork risk.\n\nIf that can be avoided - for example by going from here to there using pure code moves, as you're trying to do - I'm all for it.\n\n\u003e 2) Finish libconsensus's API: expose more things than VerifyScript, at\n\u003e the very least, also expose VerifyTx, VerifyHeader and VerifyBlock.\n\u003e Feedback from alternative implementations like libbitcoin is extremely\n\u003e valuable here. Some related closed-for-now PRs:\n\nAgreed.\n\n\u003e 3) Move libconsensus to a separate repository as a\n\u003e subtree/subrepository of Bitcoin Core.\n\nIf the rest is done, this is the easy part :)\n\n\u003e Unfortunately and ironically again, safer, small and incremental\n\u003e changes are less interesting for reviewers.\n\u003e For example, I've been trying to move consensus code to the consensus\n\u003e folder for a long time. The correctness of a MOVEONLY change is\n\u003e trivial to review for anyone who knows how to copy/paste in its\n\u003e favorite editor and how to use git diff, but will I ever get answers\n\u003e to my questions in [1]?\n\nCode review capacity is still our greatest bottleneck.\nAnd I don't see any way out of that, unfortunately.\n\n\u003e I know there's many people who really care about this, Cory Fields,\n\u003e Wladimir and Pieter Wuille to name a few have reviewed many of this\n\u003e changes (I've just got used to publicly whine about lack of review on\n\u003e this front and policy encapsulation [very related fronts] as an\n\u003e attempt to get some attention: not always, but begging for review\n\u003e actually works some times).\n\nI do really care about this.\n\nWladimir",
"sig": "bceda4189098c7b8d4249eb6078715d74dce035ea379f419b172b89521808568fce5c7cb7ee235de0fe33b2e57d7dd2fa2913708f6d34d6f2fd6bd81062528e1"
}