algorand / algorand/go-algorand

Allow transactions to use larger notes, args, programs.

Aperta
#6,388 6 commenti 0 reazioni 1 assegnatario Rivendicata da @jannotti Vedi su GitHub
Enhancement
Lingua principale
Go
Stelle
1.4k
Fork
537
Merge medio
1g 7h
PR unite (30g)
18

Descrizione

## 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.

## Solution

## Dependencies

## Urgency

Guida per i contributori

Apri la guida per i contributori

Valutazione

Questa issue non è ancora stata valutata.

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.