pull down to refresh

How do you determine who the real 2PM is? What happens if at time=0 miner A has the best 2nd place block, but then at time=1 miner B shows up with a better 2nd place block? It should go to miner B, perhaps, but what's stopping miner C from continuing to mine a better 2nd place block and so on? Bitcoin solves this by choosing the chain tip with the most cumulative work. It seems like your scheme lacks this accumulation aspect though and I think the devil is ultimately in this paragraph:
Since there are “disputes” (multiple versions of the blockchain when two blocks are created at about the same time) in which the network isn’t 100% decided which chain wins (the “playoff” event), it may be necessary to wait for this to resolve. Therefore we use n-blocks-ago blocks. Say current blockheight B, anyone who has made a valid block from the mempool at B-n, which is not part of the valid Bitcoin blockchain (a “late” block), is given L2S status. There could be a dynamic time window, depending on the need in the L2. So maybe any valid block from B-n up to time duration T.
Rather than solving the dispute, I think this might create a more complicated dispute resolution process that similarly doesn't resolve. If we have a dispute at blockheight B, what's special about B-n such that it doesn't have suffer from disputes? Also, this implies the use of an agreed clock time which is not something available in a decentralized system (it's a consensus problem itself).

While what you're proposing is quite different, it's reminiscent of merged mining in that it's another revenue stream to miners for work they'd perform regardless. I've seen people (try to) make the argument that such revenue streams adversely affect bitcoin's mining incentives and undermine its security. Also that these side chains are insecure given that side miners have more incentive to act maliciously given the revenue is a bonus on work they're already doing, ie they might gamble their free dessert to earn another entre.
470 sats \ 3 replies \ @joda OP 3 Feb
In terms of the timing, I think there is no "best" 2nd place block, just a "first" "2nd place block"-- and in the case where you would assume a runoff between them, the protocol could just give the L2S status to BOTH. It's probably not tragic, since they both did (very nearly) the same work. We could assume there are many, many L2Ss operating on the L2. Or they could "split" the status, with each being allowed half the time as an L2S, or given a lower priority or volume.
Likewise with "disputes"-- it just isn't that imperative that there "can be only one". What I was considering with the "B-n" idea is that we could wait 6 blocks (or whatever), to be sure of the "real" blockchain, then if someone can show that 6 blocks ago they created a valid block in some given period of time, they are given L2S status. Depending on the needs of the L2, it could be that anyone who completes a valid block with the mempool from 6 blocks ago, within (say) 15 minutes, can be an L2S. If the first valid block is added to the blockchain, many/most miners will not keep mining to get the L2S status; they will just give up their block and start fresh from the mempool.
I don't know how exactly the clock time issue would be dealt with, but I think you can prove you built a block an hour ago because you pushed it to the network then (an hour ago), and it contains the mempool from an hour (plus 10 minutes) ago. I don't know if that answers your question, or if it even works.
I would want to be careful of dramatic changes to mining, since it is now an expensive affair. But given how low the interest is in L2s, and that the software would have to be changed, I would anticipate nothing but a very gradual transition to adoption, with only marginal incentive changes. The fallback protocol is obvious, so the risk seems low.
I agree about the insecurity of side chains-- that's precisely why I've been thinking about this stuff. It's so frustrating to hear and read about the various accessory chains to Bitcoin, only to find out they are a shitcoin, with a pre-mine, and shills in the Youtube comments. Or that they are run by a federation of US-based corporations, or only have a one-way peg, or require compounding liquidity for every transaction. Or, or, or...
reply
10 sats \ 2 replies \ @k00b 3 Feb
Depending on the needs of the L2, it could be that anyone who completes a valid block with the mempool from 6 blocks ago, within (say) 15 minutes, can be an L2S.
I can construct a valid block with no work, so I think you'd need to figure out how to create PoW threshold on L2S blocks.
If the first valid block is added to the blockchain, many/most miners will not keep mining to get the L2S status; they will just give up their block and start fresh from the mempool.
If earning L2S status is desirable, many miners will do it. If it isn't desirable, why would anyone? I think you want to design such a system with incentives for participation.
I think you can prove you built a block an hour ago because you pushed it to the network then (an hour ago).
Anyone that received the block an hour ago knows it's at least an hour old, but anyone who didn't receive the block an hour ago can't prove it's an hour old regardless of the transactions it contains.
reply
195 sats \ 1 reply \ @joda OP 3 Feb
threshold-- yes.
I think any non-tokenized L2 will be fee-based, so the fees will incentivize participation. But only progressive miners will run such software in the beginning, and fees will be need to be balanced such that they are as low as possible for the users while still incentivizing participation among miners. If the fees start low, then few miners will care; if fees start high, then users won't care. So I imagine dynamic fees controlled by the market will be appropriate. And with good network effects, even low fees can be profitable if there is enough volume. Right now, Lightning is practically unprofitable, right? I don't know anyone running a node who makes any real money from it; it's always a passion project. But a miner could subsidize their costs and diversify (and possibly stabilize) their income by participating in L2.
I think you are probably right about the clock time issue; I was imagining looking at the transactions in the block to compare to ones that were in the mempool at each of the following blocks, but that is misguided because in the adversarial condition, the cheater would just use the old mempool to create a block. Perhaps instead of sending the block to other miners, the block could be sent to all L2Ss, at the time of creation. Barring that, maybe we would have to use the current/recent block, and just deal with the conflict in a different way.
reply
Actually, with regards to the timing issue, maybe the miner could publish a hash of their block inside a transaction. Then it is at least in the mempool if not a block (and "everyone" would know when it entered "the" mempool). I don't actually know how many transactions are in any given mempool...
reply