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...
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