Replies: 3 comments 16 replies
-
That's my understanding, and the Rust simulation is simulating that. |
Beta Was this translation helpful? Give feedback.
-
Yes, this is something I raised fairly early on; We've toyed with the idea of having input blocks be the "unit of diffusion", but haven't written down a concrete proposal as of yet. The leading candidate at the Leios workshop was something like:
This would help avoid honest duplicate transactions (since txs aren't propagating to multiple mempools before the IBs are produced in parallel), but wouldn't protect the network from maliciously conflicting transactions. A user could submit two conflicting txs, one to blockfrost and one to maestro, and they would have no way of knowing not to include those txs. |
Beta Was this translation helpful? Give feedback.
-
[The higher-level concern of this Discussion might supersede the rest of this comment. But I wanted to point out the similar area of concern.] The Consensus Team has also been wondering about how today's Mempool would need to change for Leios.
If there's no restriction (for security and/or performance reasons) on how young that RB reference can be, then I suppose the only change necessary for today's Mempool is that it'd be flushed into a fresh IB instead of being flushed into a fresh RB (assuming for now each RB only contains EBs). But if there is a restriction on its age, then the Mempool's current dynamics would need a related adjustment. Also, Leios requires some "mempools" within the sequence of IBs -> EBs -> RBs. But those don't seem drastically different than today's Mempool other than which objects they contain. They'd still need to be updated as the local selection advances, eg. Although maybe their (multi-dimensional) size limits could be simpler? Edit: and of course, sharding seems like it might require significant alterations. |
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 paper(s) and all write-ups of Leios I have encountered so far (while catching up) are all starting from IBs. That is, transactions are put into IBs and those would be diffused across the network.
However, on a real system transactions would need to be diffused through the network such that block producing nodes have them ready to put them into blocks - this would be true for Praos (normal blocks) and Leios (input blocks).
Does this mean that transactions would be sent twice across the network still in Leios?
Beta Was this translation helpful? Give feedback.
All reactions