-
Notifications
You must be signed in to change notification settings - Fork 518
Description
Status
Today, notes are limited to 1k. Args are limited to 2k. Programs are limited to sum to 8k.
Expected
Several different improvements might be made. We might pool that space, as we often do, so you can use 11k across all three things. But the reality is that using these fields consumes a lot of space compared to normal transactions, and perhaps we should charge appropriately, even for modest usage. People sometimes get the idea to use huge transactions to store data, thinking - wow it's nice that archival nodes and indexers are paid for by someone else!
We should charge for this space, but probably should not change the cost for transactions that are legal today. There's no existing model for charging for block (not ledger) space, so we need one. Here's a proposal.
If a transaction exceeds any of the the above limits, its entire group enters "pay by the byte territory". Let's call such transactions Modern. We add up those three things and there is an extra fee per byte. So if you use a 2k note, and a 10k program, you will be paying some factor times 12k.
How much? I don't know, but for future compatibility with a changing MinFee, I would propose it is described as "X MinFees per Y Bytes". And I would start with "1 MinFee per 10,000 bytes" (which reduces to 1uA per 10 bytes.
The txn above would pay about 1200uA extra. That means it pays about double what a simple pay costs. That feels ok to me, but should be discussed.
Modernity infects inner groups. If your parent is modern, so are you.
There will need to be some limits, regardless of how much a txn is willing to pay. Very large transactions make block packing harder.