Liquid Stake with compassSOL for an 9.66% APY from staking, MEV + fees

Enjoy the freedom of liquid staking in Solana Defi while delegating your stake to the high performance Solana Compass validator. Stake or unstake at any time here, or with a Jupiter swap.

Benefit from our high staking returns and over 2 years experience operating a Solana validator, and receive additional yield from priority fees + MEV tips

Earn 6.9% APY staking with Solana Compass

Help decentralize and secure the Solana network delegating your stake to us and earn an impressive 6.9% APY yield on your SOL, while supporting us to create new guides and tools. Learn more

Stake your SOL

  1. Click to connect your wallet
  2. Enter the amount you wish to stake
  3. Kick back and enjoy your returns
  4. Unstake from your wallet or our staking dashboard

Earn 6.9% APY staking with Solana Compass

Help decentralize and secure the Solana network delegating your stake to us and earn an impressive 6.9% APY yield on your SOL, while supporting us to create new guides and tools.

Learn more

Solana Changelog Apr 16 - Vote Instructions, Bank forwarding, QOS

By Changelog

Published on 2024-04-16

Explore the latest Solana updates including SIMD-138, bank forwarding filters, and stake-weighted QoS enhancements for improved network efficiency and developer experience.

The notes below are AI generated and may not be 100% accurate. Watch the video to be sure!

Solana Changelog: Vote Instruction Deprecation, Bank Forwarding, and QoS Improvements

In the latest episode of the Solana Changelog, hosts Bri and Jacob delve into significant updates and improvements to the Solana blockchain. This week's changes focus on enhancing network efficiency, improving the developer experience, and refining quality of service (QoS) mechanisms. Let's explore these updates in detail and understand their implications for the Solana ecosystem.

SIMD-138: Deprecating Legacy Vote Instructions

The first major update discussed in the changelog is SIMD-138, which involves deprecating the legacy vote instruction. This change is a significant step towards streamlining the Solana codebase and improving interoperability with various client implementations.

Simplifying Client Development

By removing the legacy vote instruction, Solana is making it easier for other client developers to implement the vote program. As Jacob explains:

"Part of this is that it makes it easier for other client developers to implement the vote program because they have to implement it the exact same way. And so this is very helpful to Fire Dancer, to SIG, to any other client coming in the future."

This change is particularly beneficial for alternative client implementations like Fire Dancer and SIG, as well as any future clients that may be developed. By standardizing the vote instruction implementation, Solana is fostering a more inclusive and diverse ecosystem of client software.

Enhancing Protocol Consistency

The deprecation of the legacy vote instruction also contributes to greater consistency across the Solana network. With all clients implementing the vote program in the same manner, there's less room for discrepancies or compatibility issues. This uniformity is crucial for maintaining the integrity and reliability of the Solana blockchain as it continues to grow and evolve.

Banking Stage Forwarding Filter

The next significant update is the introduction of a banking stage forwarding filter. This enhancement aims to optimize packet forwarding between validators, ultimately reducing network congestion and improving overall efficiency.

Prioritizing Staked Connections

The new forwarding filter is based on staked connections, as Bri explains:

"So this was a filter that is added based off of the staked connections. So today, whenever you're forwarding packets from one validator to the next, I think it's like four hops for all packets. This one will prioritize forwarding the packets that are from staked connections versus unstaked."

By prioritizing packets from staked connections, the Solana network can more effectively manage traffic and reduce unnecessary data transmission. This targeted approach to packet forwarding helps to minimize network "noise" and ensures that important transactions are processed more efficiently.

Improving Network Efficiency

The banking stage forwarding filter is a key optimization that addresses one of the challenges faced by high-performance blockchains like Solana. As the network grows and transaction volume increases, efficient packet routing becomes increasingly important. This update demonstrates Solana's commitment to continually refining its infrastructure to maintain its position as a leading high-throughput blockchain.

Updating Connection Counts for Geo-Relayers

A minor but noteworthy change mentioned in the changelog is the update to remove hard-coded connection counts. This modification is specifically relevant to geo-relayers, which play a crucial role in Solana's global network infrastructure.

Flexible Connection Management

By moving away from hard-coded connection counts, Solana is introducing more flexibility into its network topology. This change allows for dynamic adjustment of connections based on network conditions and requirements, potentially leading to more efficient resource allocation and improved network performance.

Enhancing Geo-Relayer Functionality

Geo-relayers are an essential component of Solana's global reach, helping to maintain low latency and high throughput across different geographical regions. By optimizing how these relayers manage connections, Solana is further strengthening its ability to provide a consistent and reliable service to users worldwide.

Stake-Weighted Quality of Service (QoS) Improvements

The changelog also highlights important updates to Solana's stake-weighted Quality of Service (QoS) system. These changes aim to address potential imbalances in network resource allocation and ensure fair bandwidth distribution among validators.

Addressing Low-Stake Node Bandwidth Issues

Bri outlines the problem that this update seeks to solve:

"The stake nodes with low stakes are trying to get a disproportional amount of bandwidth on the network. To avoid that, the change, what it does is it makes it to where there's a threshold on the amount of stake that you can have to be treated as unstaked, or unstaked, or staked in streamer QoS."

This update introduces a threshold for stake amounts, below which nodes are treated as unstaked for QoS purposes. The proposed threshold is set at 1/25,000th of the total SOL stake on the network, although this value is subject to adjustment based on real-world performance and community feedback.

Balancing Network Resources

By implementing this threshold, Solana aims to prevent nodes with minimal stake from consuming disproportionate amounts of network bandwidth. This ensures that network resources are allocated more fairly, with priority given to nodes that have a more significant stake in the network's success.

Incentive-Driven QoS

It's important to note that stake-weighted QoS in Solana is not governed by consensus but rather by incentives. Jacob clarifies:

"And also, if you are not aware, stake-weighted QoS is not to govern by consensus, but it is governed by incentives. So it is all the validators in the network are incentivized to have some form of stake-weighted QoS."

This incentive-based approach encourages validators to participate in the network in a way that aligns with the overall health and efficiency of the Solana ecosystem.

Streamlining Transaction Simulation and Block Cache Retrieval

Another significant improvement discussed in the changelog relates to the process of simulating transactions and retrieving block cache information. This update simplifies the workflow for developers and potentially reduces the number of RPC calls required for certain operations.

Efficient Block Cache Retrieval

Previously, after simulating a transaction, clients were required to fetch the latest block cache separately. The new update introduces an additional field that returns the latest block cache information along with the transaction simulation results. Jacob explains the benefit:

"What's really cool about this one is that previously required two different RPC calls in order to make a new transaction with updated compute units, or the requested compute units. This is so that you can just simulate it, you already get the block cache, and then you move on with your life."

Improving Developer Experience

This change, contributed by community member Stegabog, represents a meaningful improvement in the developer experience. By reducing the number of RPC calls needed for common operations, Solana is making it easier and more efficient for developers to build and test applications on the network.

Optimizing Resource Usage

The streamlined process not only saves time for developers but also potentially reduces the load on RPC nodes. This optimization aligns with Solana's broader goals of maintaining high performance and scalability as the ecosystem continues to grow.

Optimizing Compute Budget for Better User Experience

The changelog highlights a valuable resource for developers looking to optimize their applications' performance on Solana. Sol Andi, a community member, has created a video guide on optimizing compute budgets.

Importance of Compute Budget Optimization

Bri emphasizes the significance of this resource:

"So on the compute budget stuff, he put about a video to talk about how you can optimize your compute budget to lower it overall for your users. Definitely check that out. It will help you overall make the better user experiences for user experience for your users using your app, and also make it easier for you to be included on the block."

Enhancing Transaction Inclusion and User Experience

By optimizing compute budgets, developers can achieve two crucial benefits:

  1. Improved user experience through faster and more efficient transactions
  2. Higher likelihood of transactions being included in blocks, leading to quicker confirmation times

This resource underscores the importance of fine-tuning applications to work optimally within Solana's high-performance environment.

Solana StackExchange: Fostering Community Knowledge

The changelog also draws attention to the Solana StackExchange, a valuable platform for developers to share knowledge and solve problems within the Solana ecosystem.

Encouraging Community Participation

Bri and Jacob highlight the importance of contributing to the Solana StackExchange:

"For those that want to contribute to the stack exchange, it helps that all future developers that are searching their problems on Google definitely try to help out. And we will look forward to shouting your name out on this in the future."

Building a Knowledge Base

By actively participating in the StackExchange, community members can help build a comprehensive knowledge base that benefits all Solana developers. This collaborative effort is crucial for maintaining Solana's position as a developer-friendly blockchain platform.

Recognition for Contributors

The hosts' commitment to shouting out top contributors in future changelogs serves as an additional incentive for community members to share their expertise and help others on the platform.

Conclusion: Solana's Continuous Evolution

The updates discussed in this changelog demonstrate Solana's commitment to continuous improvement and optimization. From deprecating legacy instructions to refining quality of service mechanisms and enhancing developer tools, these changes collectively contribute to a more efficient, scalable, and developer-friendly blockchain ecosystem.

As Solana continues to evolve, these incremental improvements play a crucial role in maintaining its position as a leading high-performance blockchain. By addressing both technical optimizations and developer experience enhancements, Solana is laying the groundwork for sustained growth and innovation in the blockchain space.

The engagement with the community, through resources like the StackExchange and developer guides, further reinforces Solana's collaborative approach to ecosystem development. As the platform continues to mature, this synergy between core development and community contribution will be instrumental in shaping the future of Solana and blockchain technology as a whole.

Facts + Figures

  • SIMD-138 is deprecating the legacy vote instruction to simplify client development and improve interoperability.
  • A new banking stage forwarding filter has been introduced to prioritize packets from staked connections.
  • The proposed threshold for stake-weighted QoS is 1/25,000th of the total SOL stake on the network.
  • Stake-weighted QoS in Solana is governed by incentives rather than consensus.
  • A new update allows retrieval of the latest block cache information along with transaction simulation results, reducing the number of required RPC calls.
  • Sol Andi has created a video guide on optimizing compute budgets for better user experience and transaction inclusion.
  • The Solana StackExchange is highlighted as a valuable resource for developers to share knowledge and solve problems.
  • Geo-relayers are receiving updates to remove hard-coded connection counts, allowing for more flexible network management.
  • The changelog emphasizes the importance of community contributions to the Solana ecosystem.
  • These updates collectively aim to improve Solana's efficiency, scalability, and developer-friendliness.

Questions Answered

What is SIMD-138 and why is it important?

SIMD-138 is a change that deprecates the legacy vote instruction in Solana. It's important because it simplifies client development and improves interoperability across different client implementations. By standardizing the vote program implementation, it makes it easier for alternative clients like Fire Dancer and SIG to integrate with the Solana network, fostering a more diverse and robust ecosystem.

How does the new banking stage forwarding filter work?

The new banking stage forwarding filter prioritizes packets from staked connections when forwarding between validators. Instead of forwarding all packets for a fixed number of hops (around four), this filter focuses on packets from staked connections. This approach helps reduce network congestion by minimizing unnecessary data transmission and ensures that transactions from staked validators are processed more efficiently.

What changes are being made to stake-weighted Quality of Service (QoS)?

Solana is introducing a threshold for stake amounts in its QoS system to prevent nodes with very low stakes from consuming disproportionate amounts of network bandwidth. Nodes below this threshold (proposed at 1/25,000th of the total SOL stake) will be treated as unstaked for QoS purposes. This change aims to ensure fairer resource allocation across the network, prioritizing nodes with more significant stakes.

How is transaction simulation being improved?

A new update allows clients to retrieve the latest block cache information along with transaction simulation results in a single operation. Previously, this required two separate RPC calls. This improvement streamlines the process of simulating transactions and updating compute units, making it more efficient for developers to build and test applications on Solana.

What resource is recommended for optimizing compute budgets?

Sol Andi has created a video guide on optimizing compute budgets for Solana applications. This resource is highly recommended for developers looking to improve their apps' performance and user experience. By optimizing compute budgets, developers can create more efficient transactions that are more likely to be included in blocks, leading to faster confirmation times and better overall user experience.

Related Content

Solana Changelog - April 16 - Vote Instructions, Bank Forwarding, QoS

Discover the latest Solana upgrades including vote instruction deprecation, bank forwarding filters, and QoS enhancements for improved network performance and developer experience.

Solana Changelog - April 16 - Vote Instructions, Bank Forwarding, QoS

Explore the latest Solana updates including deprecated vote instructions, improved bank forwarding, and stake-weighted QoS enhancements for better network performance and developer experience.

Solana Changelog July 6 - Cubik, SPL-token, and Solana-Tools

Explore the latest Solana updates including Cardinal Labs shutdown, Jupiter's Token 2022 support, Cubik's tooling round, and new developer resources

Solana Changelog Aug 14

Discover the latest Solana updates including SIMD-0164, Web3.js 2.0 Release Candidate, and improved developer tools for enhanced testing and deployment.

Solana Changelog Oct 16

Explore Solana's latest updates including SIMD-0180, SVM standalone applications, and assembly optimizations for improved performance and developer experience.

Solana Changelog - August 1 - Gamejam, RWA, Quick Program Deploys

Discover the latest Solana updates including the exciting Game Jam, new RWA security token standard, and improvements in program deployment speed.

Solana Changelog - August 15 - Bankrun JS, Bubblegum, and Radiance

Discover the latest Solana updates including Game Jam results, light client developments, and new tools like Bankrun and Radiance enhancing the developer experience.

Solana Changelog November 6th

Get the latest Solana updates including SIMD 189 for stricter ELF headers, Agave 2.1 pre-release, Web3.js 2.0 launch, and crucial developer insights.

Solana Changelog Aug 21 - SIMD Updates, Commits, and Developer Resources

Discover the latest Solana updates, including SIMD-0163, new commits, and exciting developer resources like Luzid in this week's Solana Changelog.

Solana Changelog - April 9 - Flare and GetEpochStake

Discover the latest Solana upgrades including GetEpochStake, improved indexing, and the Flare CLI tool. Learn how these changes enhance performance and developer experience on Solana.

Solana Changelog March 7 - Verifiable Builds, Admin RPC, and Geyser

Explore the latest Solana developments including verifiable builds, admin RPC improvements, and Geyser interface updates for enhanced performance and security.

Solana Changelog - August 15 - Bankrun JS, Bubblegum, and Radiance

Explore the latest Solana updates including game jam success, new developer tools, light client progress, and innovative local testing solutions

Solana Changelog - July 25 - Events, Pyre, and Anchor

Discover the latest Solana updates including the upcoming Game Jam, SIMD57 proposal for on-chain events, and exciting ecosystem developments in this week's Solana Changelog.

Solana Changelog - August 1 - Gamejam, RWA, Quick Program Deploys

Explore the latest Solana developments including the Game Jam, RWA security token standards, and improved program deployment speeds in this week's Changelog.

Solana Changelog Jun 12 - Optional Borsh, Precompiles, and new Web3.js

Dive into Solana's latest developments including optional Borsh, precompiles, core BPF migration, and exciting Web3.js updates for enhanced developer experience.