Solana Tech Roundup
Versioned transactions and address lookup tables are now live! You can test them out on mainnet today. With address lookup tables, you can now use up to 255 accounts in a single transaction. Be sure to check out the integration guide if you have questions.
As a reminder, if you're a developer going to Breakpoint November 4-7, make sure you apply for a discounted developer ticket.
Timely Vote Credits
The proposal is to award a variable number of vote credits per voted on slot, with more credits given for votes with "less latency". This is to avoid the known issue where validators are modifying their clients to delay voting until they can make votes that are less likely to expire, causing issues on the network. Credits reward schedule will have a built in "grace period" to avoid encouraging tight geographical concentration.
This proposal is still being discussed! If you want to add to the discussion, be sure to check out the Timely Vote Credits draft on Github.
Compute costs are significantly lowering related to curve25519 operations to be more realistic!
List of Changes
- Add compute costs for curve25519 operations
- Add TpuConnectionCache and begin disentangling quic and udp
- The caller has to pull in all the dependencies for both protocols, even though a caller will only ever want a client that uses one of quic or udp.
- UDP will be made obsolete on the cluster, but there is no backward compatible way to remove udp client support
- Allow validators to reset to the slot which matches their last voted slot
- Validators are unable to reset back to the heaviest bank on the fork that includes their last vote if the heaviest bank's slot matches their last voted slot
- Allow resetting to a slot which matches the last vote slot
- Disallow resetting to a slot which is part of an invalid fork
- Update last_full_snapshot_slot before calling clean_accounts()
- zero-lamport accounts will be kept based on the previous full snapshot slot, instead of this current slot
- 25,000 slots-worth of zero-lamport accounts that are not getting cleaned up when they could be