Block Composition
Return to: Insightful Comments
Question: Is there a limit per bundle?
2021-09-01 "efishcent" said the following on Keybase channel chialisp:
Answers from dev on your question: technically, a block is a single spend bundle (with a single aggregate signature). Right now our farmer limits the cost of included transactions to 0.5 of max (called limit_factor in the code). Presumably more to your question though, the mempool also accepts spend bundles of the same 50% of the max block cost. So, today you cannot make a single spend bundle/transaction that has a higher cost than 50% of the max block cost As we get more comfortable with the performance of block validation, I imagine we'll crank up the limit_factor to get close to 1 (another issue at that point is that we don't have a closed-form formula to predict the exact cost, so if we set it to exactly 1, we may sometimes create blocks that exceed the max cost) However, even in that case, I would think it's reasonable to have a smaller limit of what we accept into the mempool. The mempool is a bit sensitive to DoS, since anyone can ask to add spend bundles to it, so having a lower limit protects us from certain kinds of attacks
Also, since cost is determined as a combination of size in bytes, number of output coins, number of aggsig keys and the operations executed in the chialisp program, it's possible to create a very small program that has a very high cost, and vice versa