Increase Transaction Size #226
Replies: 6 comments 4 replies
-
Honestly, the most useful way to think about this is comparing it to Jito, and the biggest thing to consider in terms of impact on the network is probably how it would affect Jito bundles, and downstream effects on products and libraries.
|
Beta Was this translation helpful? Give feedback.
-
1372 is common in many enterprises using mesh VPN, MPLS and variable other solutions in a limited environment with unknown 3rd parties. You can't always know what header space you'll need, so even with a year of SIMD in-view its difficult to anticipate precisely to the byte what is desirable vs needed. I assume it's out of scope for this discussion, but jumbo frames (9000) in a modern cluster for local traffic and anything below 1372 MTU for the public interface should be part of spec/testing. If it's not, I hope somebody is ready to dump/capture the cluster traffic while testing this to avoid scope-limited visibility to stack stability issues.
|
Beta Was this translation helpful? Give feedback.
-
Atomic liquidations or one-click DeFi operations would benefit a lot from this - things where you have one token but the operation requires a different token input, swap + deposit (single-sided liquidity deposit), swap + leverage (sol long with usdc deposits), flash loan + swap + deposit (one click leverage or atomic liquidation). Usually it works but requires extremely tight lookup table management with very low margin of error, there are usually 100 bytes left and therefore 3 unknown accounts that are not part of preexisting lookup tables, growing this would allow a higher margin of error and better UX and fewer errors. |
Beta Was this translation helpful? Give feedback.
-
If we increase the max size substantially it probably makes sense to have a seperate fee market for transaction size. |
Beta Was this translation helpful? Give feedback.
-
Right now a txn fits into a shred which maps cleanly onto a UDP packet or a single TCP packet inside quic. Would we change this so txn's span multiple shreds? What would we do signature verification on? If we increase the size of a txn, we create message fragmentation on the network. I agree completely there are many benifits to increasing the txn size but there are huge costs at the network layer we would need to address first |
Beta Was this translation helpful? Give feedback.
-
with the tpu using quic now, mtu is mostly irrelevant for solana application level packet sizes. if we're changing the tx limit, it should be bound by memory preallocation parameters. something like 4kB (one memory page) would make sense the critical part of the discussion is if/how economics should change to account for additional load downstream tl;dr: this is NOT a simple constant change |
Beta Was this translation helpful? Give feedback.
-
Summary
Currently transaction size is capped at 1280 bytes, or 1232 bytes available for developers to use while building their applications. This is limiting for a bunch of usecases, some of them being the following:
The current transaction cap was originally limited by the maximum IPv6 MTU size, but that is not longer a restriction. Increasing this cap would both enable new usecases like above for developers, as well as allow potential apps that were previous limited to be built.
What needs to be discussed/researched?
In SIMD-108, instead of having a separate fee, it was decided to pull the transaction size increase into the CU model.
Very old research, but when testing average increased transaction sizes, it was found that as the transaction size went up, max TPS on the cluster went down exponentially. This test is likely not valid anymore and would need a retest before any consideration of writing a SIMD.
What should be the new max transaction size? Should we test a smaller increase followed by a later larger increase like is potentially being done with CU?
What is the effort to include this change?
Beta Was this translation helpful? Give feedback.
All reactions