Solana Tech Roundup
This week testing in Testnet for QUIC has ramped up. The latest release 1.10.32 contains QUIC servers automatically enabled and is currently rolling out on mainnet-beta. Following successful testing, client activation will go forward to more testnet validators.
Proposal Highlight
Vote Subcommittees
With each additional validator more votes get added to the network, further increasing the compute load on the cluster.
Vote subcommittees is a proposal to change this. This proposal breaks down how we can have a subcommittee voting on the block without breaking consensus through a voting epoch and rotation throughout a normal epoch. Ultimately if at least 1/3+ honest nodes are present in the subcommittee the faulty nodes cannot reach finality.
This proposal is still be discussed. Join the discussion on Github!
Commit Highlight
- Loosen CPI restrictions and charge compute for ix data length
- Max accounts in single CPI is now 64, max CPI instruction accounts is 255, and max CPI instruction data length is 10 KiB
List of Changes
July 22
- Web3.js: Add maxSupportedTransactionVersion to getTransaction
- Web3.js: Add get minimum stake delegation support
- QUIC: Fix transaction chunking on batch send
- Creates more chunks for batching transactions so transactions can be streamed in parallel
- Remove unnecessary poh_recorder read lock acquire
- QUIC: Enable QUIC servers on mainnet-beta
- QUIC: Enable QUIC servers by default
July 23
July 24
- Loosen CPI restrictions and charge compute for ix data length
- Max accounts in single CPI is now 64, max CPI instruction accounts is 255, and max CPI instruction data length is 10 KiB
- Outbound repair is capped at 12MB limit
July 25
- Support token2022 properly with pre/postTokenBalances
- Separate remapping append_vecs into functions for snapshots
- Bigtable: Set nodelay for http connector
July 26
- Add sending all unpacked entries over crossbeam channel
- Only take latest vote for each validator in gossip
- No value in storing intermediate votes anymore
- Explorer: Allow updating legacy token-list metadata with metaplex metadata
July 27
- Allow caching on ancient append vecs for accounts hash calc
- Compact vote state updates to reduce block size
- Big for reducing overall size of vote state
- Add StakeInstruction::Redelegate
- Allows you to re-delegate your stake more cleanly. Previously you had to deactivate your stake and then activate it afterwards. Now both can be done in parallel
July 28
- Concurrent Slot Replay
- Replaying from blockstore into bank can happen concurrently for slots on different forks, vastly decreasing replay time
- Parse Confidential Transaction Extensions
- Confidential Transactions can now be decoded correctly via RPC