Replies: 3 comments 10 replies
-
Yes, this is intended. A while ago there was a nice animation that shows how RBs can fill in old "gaps" in adopted IBs, which was probably shown at some Leios Monthly, but I don't quite remember. Maybe one of @will-break-it @bwbush @SupernaviX remembers (trying to guess who could have produced it). We discussed this issue a bit at the Leios Workshop, and it seems we cannot "fix" the inclusion order later, because the state recomputation would be a nightmare. It also opens up all sorts of attacks forcing lots of expensive recomputations. That means inclusion order must most likely be the RB order. One implication here is that you have "time-traveling" transactions, where slot order of transactions can be opposite to their inclusion order. This might be weird for smart contracts that keep track of time, but it's unclear if it would cause any problems. I don't think we have a full picture of all of the implications here. |
Beta Was this translation helpful? Give feedback.
-
We need to forbid this. Otherwise, there is an opportunity for "retroactive front running". |
Beta Was this translation helpful? Give feedback.
-
Isn't the validity range of a transaction its complete "view" of time? i.e. there is no slot recorded in the tx and hence any slot within the validity range is valid and the actual sequence does not matter (as long as all inputs are available) Or are there things in a transaction which affect its validity (or change its effect on the ledger state) that only depend on its inclusion sequence with respect to other txs? i.e. account based ledger style. Edit: #372 (reply in thread) suggests that the latter is true.. which is worrying indeed! |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
The IBs included by an RB will likely lag behind it. For example, the RB in slot 200 will probably not have any IBs in slots 190..199.
Suppose X and Y are RBs such that Y extends X.
Especially with the "recursive EBs"/short-to-full spec, it's not obvious to me that the answer is No.
I ask because it seems very surprising if the IBs included by Y might "override/retcon" some of the IBs included by X (... conflicting txs is one example of this, but I'm not sure it's the only possible "override/retcon"). It'd resemble an "IB/EB" rollback without being an "RB rollback".
Remark. Txs directly contained in X is not a necessary condition for this topic, but it might make the question clearer: if X itself contains txs then they are presumably "in" the same slot as X. So the same surprise would be happening if Y's IBs have older slots than X itself.
Beta Was this translation helpful? Give feedback.
All reactions