Eric Voskuil [ARCHIVE] on Nostr: đź“… Original date posted:2015-08-19 đź“ť Original message:On 08/19/2015 04:27 PM, ...
đź“… Original date posted:2015-08-19
đź“ť Original message:On 08/19/2015 04:27 PM, Jorge TimĂłn wrote:
> On Thu, Aug 20, 2015 at 1:07 AM, Eric Voskuil <eric at voskuil.org> wrote:
>> [cross-posted to libbitcoin]
>>
>> On 08/19/2015 03:00 PM, Jorge TimĂłn via bitcoin-dev wrote:> On Wed, Aug
>> 19, 2015 at 10:04 PM, Eric Lombrozo <elombrozo at gmail.com> wrote:
>>>> But the consensus code should NOT be subject to the same commit
>> policies…and we should make an effort to separate the two clearly. And
>> we should find a way to communicate the difference succinctly and
>> clearly to laypeople (which is something I think the XT opponents have
>> been horrible at doing so far).
>>>
>>> I think that effort is in progress (again, much slower that I would
>>> like it to be) and it's called libconsensus.
>>> Once we have libconsensus Bitcoin Core it's just another
>>> implementation (even if it is the reference one) and it's not "the
>>> specification of the consensus rules" which is a "privileged" position
>>> that brings all sorts of misunderstandings and problems (the block
>>> size debate is just one example).
>>
>> Jorge,
>>
>> I applaud your efforts and objectives WRT libconsensus independence. But
>> as you know I differ with you on this point:
>>
>>> Once we have libconsensus Bitcoin Core it's just another
>>> implementation
>>
>> I do not consider Bitcoin Core just another implementation as long as
>> libconsensus is built directly out of the bitcoind repository. It's a
>> finer point, but an important one. Eric makes this point emphatically as
>> well:
>>
>>>> But the consensus code should NOT be subject to the same commit
>> policies...and we should make an effort to separate the two clearly.
>>
>> As you have implied, it's not likely to happen in the Bitcoin Core repo.
>> Taking a dependency on Bitcoin Core is a metaphorical deal with the
>> devil from our perspective. So my question is, how do you expect other
>> implementations to transition off of that repository (and commit
>> policies)? Or do you expect the dependency to be perpetual?
>
> No, as previously explained, once libconsensus is complete it can be
> moved to a separate repository like libsecp256k1.
I don't see this happening any time soon, and I'm not sure why we should
wait for it.
> At first it will need to be a subtree/subrepository of Bitcoin Core
> (like libsecp256k1 currently is), but I still don't undesrtand how
> that can possibly be a problem for alternative implementations (they
> can use a subtree as well if they want to). Depending on a separated
> libconsensus doesn't "make Bitcoin Core a dependency" more than
> depending on libsecp256k1 currently does.
>
>> In our discussion leading up to libbitcoin building libbitcoin-consensus
>> we disagreed on whether intentional hard forks would (or even could)
>> happen. I think that issue is now settled. So my question remains how do
>> stakeholders (users/miners) maintain consensus when it's their
>> individual intent (the first objective of libconsensus), and diverge
>> when intended (which a direct dependency on libconsensus makes harder)?
>> IMO it's unreasonable to operate as if this won't happen, given that it has.
>
> I believe the simplest option...
You might consider this as feedback from your customer base.
> would be to fork the libconsensus
> project and do the schism/controversial/contentious hardfork there.
> But of course modifying libconsensus will be much easier than
> modifying Bitcoin Core (if anything, because the amount of code is
> much smaller).
That's a false dichotomy. We never would have considered forking Bitcoin
Core, and still wouldn't. Why would we set ourselves up for this
disruption, which would inevitably lead to us factoring the consensus
portions of libconsensus out of /bitcoin at the 11th hour?
We have to operate as if it can happen at any time. Otherwise we have
relinquished control of this vote and failed our users. Given that
operating assumption, it is much safer for us to have already done this
work (which we did). [It also provides a forcing function for us to
review in detail any consensus changes that get pushed out.]
My question is why you would not embrace an independent consensus
repository? Your work to evolve it doesn't change.
>> There are a very small number of implementations that rely on consensus
>> (fewer that aren't also forks of Bitcoin Core). I think it's time we
>> discuss how to work together to achieve our mutual goal. I assume you
>> have been in contact with all of us. If you would like to facilitate
>> this I'd be happy to join in an offline discussion.
>
> Unfortunately I only directly contacted libbitcoin because I was
> subscribed to the list at the time (maybe I'm still subscribed, not
> really sure).
> The other attempts to get feedback from other alternative
> implementations have been just mostly-ignored threads in bitcoin-dev.
> So, no, I cannot facilitate such a discussion, but I'm more than happy
> to collaborate to achieve our mutual goal.
OK
e
Published at
2023-06-07 15:47:35Event JSON
{
"id": "c1f357631ae3f7f709e03cc5823b6c40debf4c9cce35f125f8f132db6825b880",
"pubkey": "82205f272f995d9be742779a3c19a2ae08522ca14824c3a3b01525fb5459161e",
"created_at": 1686152855,
"kind": 1,
"tags": [
[
"e",
"c2ea875b0594d5635a2a5ab9721c10059f40c62d11975dcc679e649aa5cf3f34",
"",
"root"
],
[
"e",
"33095a745eaf871baa13279a1ad9e4d0f3151cee13ea9609c7f1d675691dd9ad",
"",
"reply"
],
[
"p",
"498a711971f8a0194289aee037a4c481a99e731b5151724064973cc0e0b27c84"
]
],
"content": "📅 Original date posted:2015-08-19\n📝 Original message:On 08/19/2015 04:27 PM, Jorge Timón wrote:\n\u003e On Thu, Aug 20, 2015 at 1:07 AM, Eric Voskuil \u003ceric at voskuil.org\u003e wrote:\n\u003e\u003e [cross-posted to libbitcoin]\n\u003e\u003e\n\u003e\u003e On 08/19/2015 03:00 PM, Jorge Timón via bitcoin-dev wrote:\u003e On Wed, Aug\n\u003e\u003e 19, 2015 at 10:04 PM, Eric Lombrozo \u003celombrozo at gmail.com\u003e wrote:\n\u003e\u003e\u003e\u003e But the consensus code should NOT be subject to the same commit\n\u003e\u003e policies…and we should make an effort to separate the two clearly. And\n\u003e\u003e we should find a way to communicate the difference succinctly and\n\u003e\u003e clearly to laypeople (which is something I think the XT opponents have\n\u003e\u003e been horrible at doing so far).\n\u003e\u003e\u003e\n\u003e\u003e\u003e I think that effort is in progress (again, much slower that I would\n\u003e\u003e\u003e like it to be) and it's called libconsensus.\n\u003e\u003e\u003e Once we have libconsensus Bitcoin Core it's just another\n\u003e\u003e\u003e implementation (even if it is the reference one) and it's not \"the\n\u003e\u003e\u003e specification of the consensus rules\" which is a \"privileged\" position\n\u003e\u003e\u003e that brings all sorts of misunderstandings and problems (the block\n\u003e\u003e\u003e size debate is just one example).\n\u003e\u003e\n\u003e\u003e Jorge,\n\u003e\u003e\n\u003e\u003e I applaud your efforts and objectives WRT libconsensus independence. But\n\u003e\u003e as you know I differ with you on this point:\n\u003e\u003e\n\u003e\u003e\u003e Once we have libconsensus Bitcoin Core it's just another\n\u003e\u003e\u003e implementation\n\u003e\u003e\n\u003e\u003e I do not consider Bitcoin Core just another implementation as long as\n\u003e\u003e libconsensus is built directly out of the bitcoind repository. It's a\n\u003e\u003e finer point, but an important one. Eric makes this point emphatically as\n\u003e\u003e well:\n\u003e\u003e\n\u003e\u003e\u003e\u003e But the consensus code should NOT be subject to the same commit\n\u003e\u003e policies...and we should make an effort to separate the two clearly.\n\u003e\u003e\n\u003e\u003e As you have implied, it's not likely to happen in the Bitcoin Core repo.\n\u003e\u003e Taking a dependency on Bitcoin Core is a metaphorical deal with the\n\u003e\u003e devil from our perspective. So my question is, how do you expect other\n\u003e\u003e implementations to transition off of that repository (and commit\n\u003e\u003e policies)? Or do you expect the dependency to be perpetual?\n\u003e \n\u003e No, as previously explained, once libconsensus is complete it can be\n\u003e moved to a separate repository like libsecp256k1.\n\nI don't see this happening any time soon, and I'm not sure why we should\nwait for it.\n\n\u003e At first it will need to be a subtree/subrepository of Bitcoin Core\n\u003e (like libsecp256k1 currently is), but I still don't undesrtand how\n\u003e that can possibly be a problem for alternative implementations (they\n\u003e can use a subtree as well if they want to). Depending on a separated\n\u003e libconsensus doesn't \"make Bitcoin Core a dependency\" more than\n\u003e depending on libsecp256k1 currently does.\n\u003e\n\u003e\u003e In our discussion leading up to libbitcoin building libbitcoin-consensus\n\u003e\u003e we disagreed on whether intentional hard forks would (or even could)\n\u003e\u003e happen. I think that issue is now settled. So my question remains how do\n\u003e\u003e stakeholders (users/miners) maintain consensus when it's their\n\u003e\u003e individual intent (the first objective of libconsensus), and diverge\n\u003e\u003e when intended (which a direct dependency on libconsensus makes harder)?\n\u003e\u003e IMO it's unreasonable to operate as if this won't happen, given that it has.\n\u003e \n\u003e I believe the simplest option...\n\nYou might consider this as feedback from your customer base.\n\n\u003e would be to fork the libconsensus\n\u003e project and do the schism/controversial/contentious hardfork there.\n\u003e But of course modifying libconsensus will be much easier than\n\u003e modifying Bitcoin Core (if anything, because the amount of code is\n\u003e much smaller).\n\nThat's a false dichotomy. We never would have considered forking Bitcoin\nCore, and still wouldn't. Why would we set ourselves up for this\ndisruption, which would inevitably lead to us factoring the consensus\nportions of libconsensus out of /bitcoin at the 11th hour?\n\nWe have to operate as if it can happen at any time. Otherwise we have\nrelinquished control of this vote and failed our users. Given that\noperating assumption, it is much safer for us to have already done this\nwork (which we did). [It also provides a forcing function for us to\nreview in detail any consensus changes that get pushed out.]\n\nMy question is why you would not embrace an independent consensus\nrepository? Your work to evolve it doesn't change.\n\n\u003e\u003e There are a very small number of implementations that rely on consensus\n\u003e\u003e (fewer that aren't also forks of Bitcoin Core). I think it's time we\n\u003e\u003e discuss how to work together to achieve our mutual goal. I assume you\n\u003e\u003e have been in contact with all of us. If you would like to facilitate\n\u003e\u003e this I'd be happy to join in an offline discussion.\n\u003e \n\u003e Unfortunately I only directly contacted libbitcoin because I was\n\u003e subscribed to the list at the time (maybe I'm still subscribed, not\n\u003e really sure).\n\u003e The other attempts to get feedback from other alternative\n\u003e implementations have been just mostly-ignored threads in bitcoin-dev.\n\u003e So, no, I cannot facilitate such a discussion, but I'm more than happy\n\u003e to collaborate to achieve our mutual goal.\n\nOK\n\ne",
"sig": "06228818f762d5a67831bbd684f0d061ba57f7f10d0fa7fed67baaa00ae9711f3e67db6d4dd6e78a541773960964ea5de4c99ed207d141643066b0fdec5a07e3"
}