Matt Corallo [ARCHIVE] on Nostr: 📅 Original date posted:2022-04-22 📝 Original message:On 4/21/22 6:20 PM, David ...
📅 Original date posted:2022-04-22
📝 Original message:On 4/21/22 6:20 PM, David A. Harding wrote:
> [Rearranging Matt's text in my reply so my nitpicks come last.]
>
> On 21.04.2022 13:02, Matt Corallo wrote:
>> I agree, there is no universal best, probably. But is there a concrete
>> listing of a number of use-cases and the different weights of things,
>> plus flexibility especially around forward-looking designs?
>
> I'm sure we could make a nice list of covenant usecases, but I don't know how we would assign
> reasonable objective weights to the different things purely through group foresight. I know I'm
> skeptical about congestion control and enthusiastic about joinpools---but I've talked to developers
> I respect who've had the opposite opinions from me about those things. The best way I know of to
> reconcile our differing opinions is to see what real Bitcoin users actually pay for. But to do
> that, I think they must have a way to use covenants in something like the production environment.
To get good data for this kind of question you'd need much longer than five years, sadly. As we've
seen over and over again in Bitcoin deploying very nontrivial things takes at least five years,
often more. While vaults may be deployed relatively more quickly, the fact that we haven't seen
(AFAIK) *anyone* deploy some of the key-deletion-based vault designs that have been floating around
for some time is indication that even that probably wouldn't be deployed quickly.
>> You're also writing off [...] a community of
>> independent contributors who care about Bitcoin working together to
>> make decisions on what is or isn't the "right way to go" [...]. Why are you
>> suggesting its something that you "don't know how to do"?
>
> You said we should use the best design. I said the different designs optimize for different things,
> so it's unlikely that there's an objective best. That implies to me that we either need to choose a
> winner (yuck) or we need to implement more than one of the designs. In either of those cases,
> choosing what to implement would benefit from data about how much the thing will be used and how
> much users will pay for it in fees.
I agree, there is no objective "best" design. But we can sill explore design tradeoffs and utility
for different classes of covenants. I've seen relatively little of this so far, and from what I have
seen its not been clear that CTV is really a good option, sadly.
>> Again, you're writing off the real and nontrivial risk of doing a fork
>> to begin with.
>
> I agree this risk exists and it isn't my intention to write it off---my OP did say "we [must be]
> absolutely convinced CTV will have no negative effects on the holders or receivers of non-CTV
> coins." I haven't been focusing on this in my replies because I think the other issues we've been
> discussing are more significant. If we were to get everyone to agree to do a transitory soft fork,
> I think the safety concerns related to a CTV soft fork could be mitigated the same way we've
> mitigated them for previous soft forks: heaps of code review/testing and making sure a large part of
> the active community supports the change.
I'm not sure I made my point here clear - the nontrivial and real risk I was referring to was not
avoidable with "moar code review" or "careful analysis to make sure the proposed fork doesn't cause
damage". I mean issues that keep cropping up in many changes like "people start threatening to run a
fork-causing client" or "some miners aren't validating blocks and end up creating a fork" or "some
people forget to upgrade and follow such a fork" or..... there's lots and lots of risks to a doing a
fork that come from the process and nature of forks, that have nothing to do with the actual details
of the fork itself.
Matt
Published at
2023-06-07 23:07:38Event JSON
{
"id": "85953592ff16b7eb1834092df07d8128474854d4168469e26ac40cb05caa8bed",
"pubkey": "cd753aa8fbc112e14ffe9fe09d3630f0eff76ca68e376e004b8e77b687adddba",
"created_at": 1686179258,
"kind": 1,
"tags": [
[
"e",
"3199d7e373413debbd60986222963e0a7995231a8bea9719310656b98185e004",
"",
"root"
],
[
"e",
"386ec7ab4846f0d1de49d370f611bc9cd6881d5ce717609c1b25efc6a5db51a7",
"",
"reply"
],
[
"p",
"d3574a24208f4e3d0821bb4a69a0c3ae842043d444fa5c4a8c49c369918a6fb2"
]
],
"content": "📅 Original date posted:2022-04-22\n📝 Original message:On 4/21/22 6:20 PM, David A. Harding wrote:\n\u003e [Rearranging Matt's text in my reply so my nitpicks come last.]\n\u003e \n\u003e On 21.04.2022 13:02, Matt Corallo wrote:\n\u003e\u003e I agree, there is no universal best, probably. But is there a concrete\n\u003e\u003e listing of a number of use-cases and the different weights of things,\n\u003e\u003e plus flexibility especially around forward-looking designs?\n\u003e \n\u003e I'm sure we could make a nice list of covenant usecases, but I don't know how we would assign \n\u003e reasonable objective weights to the different things purely through group foresight. I know I'm \n\u003e skeptical about congestion control and enthusiastic about joinpools---but I've talked to developers \n\u003e I respect who've had the opposite opinions from me about those things. The best way I know of to \n\u003e reconcile our differing opinions is to see what real Bitcoin users actually pay for. But to do \n\u003e that, I think they must have a way to use covenants in something like the production environment.\n\nTo get good data for this kind of question you'd need much longer than five years, sadly. As we've \nseen over and over again in Bitcoin deploying very nontrivial things takes at least five years, \noften more. While vaults may be deployed relatively more quickly, the fact that we haven't seen \n(AFAIK) *anyone* deploy some of the key-deletion-based vault designs that have been floating around \nfor some time is indication that even that probably wouldn't be deployed quickly.\n\n\u003e\u003e You're also writing off [...] a community of\n\u003e\u003e independent contributors who care about Bitcoin working together to\n\u003e\u003e make decisions on what is or isn't the \"right way to go\" [...]. Why are you\n\u003e\u003e suggesting its something that you \"don't know how to do\"?\n\u003e \n\u003e You said we should use the best design. I said the different designs optimize for different things, \n\u003e so it's unlikely that there's an objective best. That implies to me that we either need to choose a \n\u003e winner (yuck) or we need to implement more than one of the designs. In either of those cases, \n\u003e choosing what to implement would benefit from data about how much the thing will be used and how \n\u003e much users will pay for it in fees.\n\nI agree, there is no objective \"best\" design. But we can sill explore design tradeoffs and utility \nfor different classes of covenants. I've seen relatively little of this so far, and from what I have \nseen its not been clear that CTV is really a good option, sadly.\n\n\n\u003e\u003e Again, you're writing off the real and nontrivial risk of doing a fork\n\u003e\u003e to begin with.\n\u003e \n\u003e I agree this risk exists and it isn't my intention to write it off---my OP did say \"we [must be] \n\u003e absolutely convinced CTV will have no negative effects on the holders or receivers of non-CTV \n\u003e coins.\" I haven't been focusing on this in my replies because I think the other issues we've been \n\u003e discussing are more significant. If we were to get everyone to agree to do a transitory soft fork, \n\u003e I think the safety concerns related to a CTV soft fork could be mitigated the same way we've \n\u003e mitigated them for previous soft forks: heaps of code review/testing and making sure a large part of \n\u003e the active community supports the change.\n\nI'm not sure I made my point here clear - the nontrivial and real risk I was referring to was not \navoidable with \"moar code review\" or \"careful analysis to make sure the proposed fork doesn't cause \ndamage\". I mean issues that keep cropping up in many changes like \"people start threatening to run a \nfork-causing client\" or \"some miners aren't validating blocks and end up creating a fork\" or \"some \npeople forget to upgrade and follow such a fork\" or..... there's lots and lots of risks to a doing a \nfork that come from the process and nature of forks, that have nothing to do with the actual details \nof the fork itself.\n\nMatt",
"sig": "534fe6a44b2a1a634bebbefed703aff169c6c43727d573818be5955648cd52b3a07b41541a3d934c65acb0af514d9b2cb04d4243a20e1c75d3fbe190b5cd8408"
}