Multiple bundles per block vs one bundle per block

A few notes from our recent offline discussion.

Can also be done by intercepting consensus node gossip as well, but latency might be higher and construction will be less effective because of it.

This will not be a valid bundle, bundle can only include transactions that are legal as of the parent state of the consensus block. Can be fixed by introducing a chain of bundles within the same block as we discussed recently, where next bundle points to the previous, making it possible to include transactions with increasing nonces across a series of bundles.

It depends on the implementation. In case we have bundle headers with hashes of all transactions the cost is similarly trivial.

This is fine, transaction only has to be legal from the point of view of the parent state, no guarantees are made about the legality during execution and operation shouldn’t be slashed in that case.

During last discussion we decided to remove this limit for now, also On bundle weight limits sum has a follow-up discussion about defining bundle weight limit.

The other one is related to network saturation: instead of sending a few smaller bundles we send one large bundle. This can be significantly mitigated by the compact bundles implementation like the one we have for blocks already.

Similarly there is an issue in case bundles are duplicated because they are large and waste a lot of bandwidth, the mitigation is similar though.