Skip to content

Instantly share code, notes, and snippets.

@JeremyRubin
Created April 14, 2021 22:42
Show Gist options
  • Save JeremyRubin/8ed094993bc95ddd387ad0954e9f1adf to your computer and use it in GitHub Desktop.
Save JeremyRubin/8ed094993bc95ddd387ad0954e9f1adf to your computer and use it in GitHub Desktop.
[Monday, July 13, 2020] [10:11:01 AM PDT] <jeremyrubin> So I have a talk from a while ago. https://www.youtube.com/watch?v=J1CP7qbnpqA It's worth watching for the analysis part. I think that things like "Modern Soft Fork Activation" which introduce more time/latency and signaling period without honesty end up just taking more time. I'm not sure that the product of taking more time is a better outcome, though.
[Monday, July 13, 2020] [10:11:05 AM PDT] <harding> zmnscpxj__: I think that would be sufficient, but I already know about many previous soft forks so I'm might not be the best judge of what knowledge people need.
[Monday, July 13, 2020] [10:11:27 AM PDT] <zmnscpxj__> the BIP8 text lists lockinontimeout together with name, bit, startheight etc. which are params we do not expect users to override
[Monday, July 13, 2020] [10:11:43 AM PDT] <jeremyrubin> Transcript http://diyhpl.us/wiki/transcripts/stanford-blockchain-conference/2019/spork-probabilistic-bitcoin-soft-forks/
[Monday, July 13, 2020] [10:12:10 AM PDT] <jeremyrubin> I'm generally more favorable to single deployment BIP-8 for this reason.
[Monday, July 13, 2020] [10:12:35 AM PDT] <zmnscpxj__> jeremyrubin: so full UASF? not modern softfork activation?
[Monday, July 13, 2020] [10:12:55 AM PDT] <harding> Optech's summary of jeremyrubin's spork: https://bitcoinops.org/en/newsletters/2019/02/05/#probabilistic-bitcoin-soft-forks-sporks
[Monday, July 13, 2020] [10:13:07 AM PDT] <jeremyrubin> I think the issue is with Modern Softfork Activation is if you look at from a game theoretic perspective, you always end up going to the second timeout
[Monday, July 13, 2020] [10:13:17 AM PDT] <jeremyrubin> So the value of the first period is questionable IMO
[Monday, July 13, 2020] [10:13:36 AM PDT] <jeremyrubin> Miners have incentive to withhold to gain more influence/request favors
[Monday, July 13, 2020] [10:13:50 AM PDT] <harding> jeremyrubin: how is that game theoretic if >95% of hash rate wants the fork?
[Monday, July 13, 2020] [10:14:02 AM PDT] <harding> Ah.
[Monday, July 13, 2020] [10:14:08 AM PDT] <jeremyrubin> Even if you want it
[Monday, July 13, 2020] [10:14:14 AM PDT] <zmnscpxj__> ah
[Monday, July 13, 2020] [10:14:15 AM PDT] <jeremyrubin> you can fake saying "I don't want it"
[Monday, July 13, 2020] [10:14:18 AM PDT] <harding> (I don't believe that, but it's plausable.)
[Monday, July 13, 2020] [10:14:28 AM PDT] <zmnscpxj__> so taking the new feature hostage, something like that?
[Monday, July 13, 2020] [10:14:35 AM PDT] <jeremyrubin> And then say "here's what I need to see from {core, the community, etc}"
[Monday, July 13, 2020] [10:14:48 AM PDT] <jeremyrubin> And if you're the one hold out, then you're going to have more voice in the timeout period
[Monday, July 13, 2020] [10:15:00 AM PDT] <jeremyrubin> Exactly
[Monday, July 13, 2020] [10:15:16 AM PDT] <jeremyrubin> It may not happen for Taproot. But if it's in the mechanism, it will happen at some point
[Monday, July 13, 2020] [10:15:24 AM PDT] Quit AaronvanW (~AaronvanW@unaffiliated/aaronvanw) has left this server (Remote host closed the connection).
[Monday, July 13, 2020] [10:15:42 AM PDT] <jeremyrubin> Now I'm not saying spork is the answer, but it's at least a *type* of answer if you're trying to be concious of competing activation incentives
[Monday, July 13, 2020] [10:15:43 AM PDT] Join AaronvanW (~AaronvanW@unaffiliated/aaronvanw) has joined this channel.
[Monday, July 13, 2020] [10:16:08 AM PDT] <jeremyrubin> But it's what biases me towards single period shorter activation cycles.
[Monday, July 13, 2020] [10:16:12 AM PDT] <zmnscpxj__> on the other hand, with BIP8 definitely-upgraded-at-timeout, miners might argue that developers are taking their hardware hostage, requiring upgrades etc
[Monday, July 13, 2020] [10:16:36 AM PDT] <jeremyrubin> I think you can make it so that there's no default arg
[Monday, July 13, 2020] [10:16:44 AM PDT] <jeremyrubin> Node won't start without a decision maybe?
[Monday, July 13, 2020] [10:16:48 AM PDT] <roconnor> zmnscpxj__: I somewhat wish we used a term like, Activate-On-Timeout or something instead of UASF, which seems to have become a politcally charged term (for no good reason).
[Monday, July 13, 2020] [10:16:49 AM PDT] <jeremyrubin> So users are really in control
[Monday, July 13, 2020] [10:17:08 AM PDT] <zmnscpxj__> BIP8?
[Monday, July 13, 2020] [10:17:38 AM PDT] <jeremyrubin> harding: thanks for the summary it's probably sufficient for people to just read that :)
[Monday, July 13, 2020] [10:17:42 AM PDT] <zmnscpxj__> jeremyrubin: some users might have set up some kind of automatic update
[Monday, July 13, 2020] [10:18:36 AM PDT] <michaelfolkson> So spork forces skin in the game if you oppose right? You forsake block reward if you oppose. But why not force any kind of signal? Positive or negative. The problem is there is no signal at all right?
[Monday, July 13, 2020] [10:19:05 AM PDT] <jeremyrubin> Well interestingly you forsake a block reward but it difficulty adjusts out over time
[Monday, July 13, 2020] [10:19:29 AM PDT] <jeremyrubin> And if it's e.g. 1 block in a year, then it is very low negative EV overall
[Monday, July 13, 2020] [10:19:29 AM PDT] <michaelfolkson> Or in other words indifference is more of a problem than opposition. Opposition (with explanation) should be encouraged
[Monday, July 13, 2020] [10:20:12 AM PDT] <jeremyrubin> michaelfolkson: I can understand that too. If you want people to express an opinion, tell them it's activating in 1 month better update now ;)
[Monday, July 13, 2020] [10:20:23 AM PDT] <zmnscpxj__> so in theory: spork ensures that indifference is counted as support?
[Monday, July 13, 2020] [10:20:37 AM PDT] <michaelfolkson> Yup that is my understanding
[Monday, July 13, 2020] [10:20:40 AM PDT] <jeremyrubin> I think that's what we want generally.
[Monday, July 13, 2020] [10:20:56 AM PDT] <zmnscpxj__> "silence means approval"
[Monday, July 13, 2020] [10:20:59 AM PDT] <jeremyrubin> Miners should be indifferent to what my txns are doing, it's not their business, right?
[Monday, July 13, 2020] [10:21:43 AM PDT] <jeremyrubin> And for a large scope of soft forks (maybe not all, segwit was big), if I want to do something, and a miner doesn't care for the feature, but isn't harmed, i should be able to
[Monday, July 13, 2020] [10:21:58 AM PDT] <michaelfolkson> I want to know if miners have opposition. I'd rather find that out than threaten them with economic loss if they oppose
[Monday, July 13, 2020] [10:22:19 AM PDT] <jeremyrubin> michaelfolkson: I think you're mixing indifference with having opposition but not voicing it
[Monday, July 13, 2020] [10:23:05 AM PDT] <zmnscpxj__> how can you make them voice their opposition unless you threaten economic loss?
[Monday, July 13, 2020] [10:23:31 AM PDT] <jeremyrubin> zmnscpxj__: I think fundamentally, and what we learned with segwit, is you can't
[Monday, July 13, 2020] [10:23:44 AM PDT] <harding> zmnscpxj__: miners are paid in Bitcoin and are forced to hold it (albeit only for 17 hours on average), so they have at least some stake in the system.
[Monday, July 13, 2020] [10:23:54 AM PDT] <michaelfolkson> I am saying why not threaten them with economic loss if they refuse to signal at all. Don't threaten them if they oppose
[Monday, July 13, 2020] [10:24:06 AM PDT] <jeremyrubin> harding: miners can mine into lightning channels though harding
[Monday, July 13, 2020] [10:24:13 AM PDT] <harding> (In practice, their stake is much longer---the duration their equipment is profitable to operate.)
[Monday, July 13, 2020] [10:24:35 AM PDT] <zmnscpxj__> I think the covert Asicboost was instructive: it was an opposition to SegWit that was unvoiced because of its covertness
[Monday, July 13, 2020] [10:24:35 AM PDT] <harding> jeremyrubin: ok, so they have to hold for one hour. :-)
[Monday, July 13, 2020] [10:24:46 AM PDT] <jeremyrubin> maybe I should write a spec for that :)
[Monday, July 13, 2020] [10:25:20 AM PDT] <zmnscpxj__> jeremyrubin: does it not need a less than operation to be activated?
[Monday, July 13, 2020] [10:26:33 AM PDT] <jeremyrubin> zmnscpxj__: moved to #lightning-dev
[Monday, July 13, 2020] [10:27:41 AM PDT] <michaelfolkson> My understanding of Modern Soft Activation posts are it is in phases. First phase is ask miners initially with no gun to their head or otherwise threat of economic loss whether they support proposal.
[Monday, July 13, 2020] [10:28:01 AM PDT] <ja> michaelfolkson: the bitmex timeline is missing the 2018 CVE, which is also a fork, depending on your definition
[Monday, July 13, 2020] [10:28:41 AM PDT] <michaelfolkson> You want to know either way yes or no whether they do support it or not. You want forced signaling, not forced acceptance in that first phase
[Monday, July 13, 2020] [10:30:30 AM PDT] <harding> michaelfolkson: I don't know what you mean by "forced signaling"?
[Monday, July 13, 2020] [10:30:33 AM PDT] <luke-jr> zmnscpxj__: miners and devs have no say/decision in protocol changes; it's up to the entire community
[Monday, July 13, 2020] [10:30:36 AM PDT] <harding> (in that context)
[Monday, July 13, 2020] [10:30:41 AM PDT] * jeremyrubin mild dyslexia really triggered with ja and aj
[Monday, July 13, 2020] [10:30:45 AM PDT] <michaelfolkson> My (limited) understanding is that some people think miners shouldn't be asked at all because they don't matter and some of them didn't cover themselves in glory with SegWit soft fork
[Monday, July 13, 2020] [10:31:36 AM PDT] <luke-jr> jeremyrubin: IMO BIP9 died with BIP148. Not only did it prove the game theory was broken, it also revealed problems with using MTP (which forced the UASF to be rushed)
[Monday, July 13, 2020] [10:31:44 AM PDT] <harding> michaelfolkson: miners qua miners should implement the policy decided on by the users, but miners are also often Bitcoin users and so they can act as rough proxies for the community.
[Monday, July 13, 2020] [10:31:45 AM PDT] <jeremyrubin> Yeah my point is not that people shouldn't have a say, it's that people have incentive to use any time offered to them.
[Monday, July 13, 2020] [10:32:04 AM PDT] <jeremyrubin> So if we're offering time, we should make sure that time is used well
[Monday, July 13, 2020] [10:32:09 AM PDT] <jeremyrubin> BIP-9 fails this test
[Monday, July 13, 2020] [10:32:17 AM PDT] <jeremyrubin> I think Modern SF fails too
[Monday, July 13, 2020] [10:32:36 AM PDT] <luke-jr> currently we have a precedent that is effectively BIP 8; it worked
[Monday, July 13, 2020] [10:32:47 AM PDT] <harding> I'm +1 on modern SF. I think that time is wisely allocated to letting the whole community---not just the miners---make sure we're really ok with the fork.
[Monday, July 13, 2020] [10:32:51 AM PDT] <michaelfolkson> harding: Blocks included in the chain have to have a positive or negative signal to gauge whether there is miner support or not. Rather than just not signaling at all and their blocks being included in the chain
[Monday, July 13, 2020] [10:33:11 AM PDT] <luke-jr> harding: that needs to happen before ANY deployment
[Monday, July 13, 2020] [10:33:18 AM PDT] <luke-jr> of activation params*
[Monday, July 13, 2020] [10:33:19 AM PDT] <zmnscpxj__> harding: I think what michaelfolkson is referring to is the spork thing, where miners that do not signal for activation have to sacrifice value
[Monday, July 13, 2020] [10:33:25 AM PDT] <harding> michaelfolkson: not signaling is a fine negative signal.
[Monday, July 13, 2020] [10:33:31 AM PDT] <jeremyrubin> I agree strongly with luke-jr on that.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment