ZIP: Reduce default Shielded Transaction fee to 1000 zats

That’s true. AFAIK, any deterministic function of publicly revealed data (e.g. size, num outputs) should work. One can even include blockchain data outside the transaction, e.g., how full were the past N blocks. (Note that this does not alter privacy re: eclipse attacks because shielded transactions already choose the Merkle tree anchor depending on public on-chain data.)

How about a concrete soft-fork proposal:

min_fee = 0.00001 + 0.00001 * max(0, #nullifiers + #shielded outputs - 3)

That is, the fee is fixed 0.00001 ZEC per transaction plus additional 0.00001 per each shielded input/output with first three being free. Thus, this proposal changes nothing for the common 1-in 1-out, 2-in 1-out, and 1-in 2-out transactions. If we want to make large # outputs cheaper we can adjust the second constant.

15 Likes