Liquid Stake with compassSOL for an 7.46% 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 7.0% APY staking with Solana Compass

Help decentralize and secure the Solana network delegating your stake to us and earn an impressive 7.0% 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 7.0% APY staking with Solana Compass

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

Learn more

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

By Changelog

Published on 2023-03-07

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

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

Solana Changelog: Verifiable Builds, Admin RPC, and Geyser Enhancements

In the ever-evolving world of blockchain technology, Solana continues to make strides in improving its ecosystem. This week's Solana Changelog, featuring Jacob and Nick from the Solana DevRel team, brings us exciting updates on verifiable builds, admin RPC enhancements, and Geyser interface improvements. These developments are set to boost Solana's performance, security, and developer experience.

Recent Network Outage and Recovery

The Solana network recently experienced an outage that resulted in a significant slowdown of slot confirmations. At one point, only nine slots were confirmed in a 30-minute window, prompting a network restart to resolve the issue. The network transitioned from version 1.13 to 1.14 and then back to 1.13 during the recovery process.

This incident has sparked a renewed focus on network stability and performance improvements. The Solana Labs team and other contributors are now planning a series of changes and tests to prevent similar issues in the future.

Upcoming Changes and Testing

Testnet Downgrade and Upgrade Process

The Solana Labs team has outlined a new approach to testing network upgrades:

  1. Downgrade the testnet to match the current mainnet beta version and feature set.
  2. Upgrade the testnet to the next release candidate version.
  3. Conduct stress tests during the upgrade process.
  4. Repeat this cycle to ensure stability and performance.

This methodical approach will help identify potential issues before they reach the mainnet, enhancing the overall reliability of Solana's network upgrades.

SIMD 16: Application Fees for Write Locks

One of the most intriguing proposals discussed in this changelog is SIMD 16, which introduces application fees for write locks. This proposal aims to address network congestion issues that occur during periods of high activity, particularly when popular programs like OpenBook or Mango Markets experience heavy usage.

How SIMD 16 Works

The proposal suggests implementing an additional fee that users would pay to validators for holding an account write lock. This mechanism serves two primary purposes:

  1. Reduce spam transactions and network congestion.
  2. Prioritize legitimate transactions during high-traffic periods.

Nick, the new developer relations person on the Solana Foundation's DevRel team, expressed enthusiasm for this proposal: "I'm pretty partial to SIMD 16, the application fees specifically for write lock fees on applications. During high periods of network congestion, if there's a popular program on the chain that a lot of applications and dApps are trying to use like OpenBook or Mango Markets or anything, those applications all get write locked as all of the dApps try to interact with them and the wallets and users try to interact with them."

Potential Benefits of SIMD 16

The implementation of SIMD 16 could bring several advantages to the Solana ecosystem:

  1. Improved network efficiency by discouraging unnecessary write locks.
  2. Enhanced user experience for legitimate transactions during peak usage.
  3. Potential for applications to offer fee rebates to good users, encouraging positive network behavior.

Jacob added, "Yeah, I remember reading about this and when it was discussed on the core community call, the last one, they were kind of thinking of a separate new program for this, and they're still figuring out the implementation details of whether or not it uses a PDA for this and how an application can manage write fees."

While the exact implementation details are still being worked out, the potential for SIMD 16 to improve Solana's performance and user experience is significant.

Solana Verifiable Builds: Enhancing Trust and Security

One of the standout resources highlighted in this changelog is the Solana Verifiable Builds CLI tool, recently released by the Ellipsis Labs team. This tool represents a significant step forward in improving transparency and security within the Solana ecosystem.

What are Solana Verifiable Builds?

Solana Verifiable Builds is a CLI tool that allows developers and users to verify that the deployed on-chain code matches the source code. This process is similar to the existing "anchor verify" functionality but offers additional features and flexibility.

Jacob explained the importance of this tool: "What you can do with this, it's very similar to like anchor verify, to where you can create a way for anybody to verify that what the code is equals to what you've deployed on chain, and then people can host this information. Say it's Ellipsis Labs or anybody else can host this information so that anybody can check does the code match what I believe is on chain."

Benefits of Verifiable Builds

The introduction of Solana Verifiable Builds brings several advantages to the ecosystem:

  1. Enhanced transparency: Users can independently verify the code running on-chain.
  2. Improved security: Easier detection of potential vulnerabilities or malicious code.
  3. Greater trust: Users can make informed decisions about which programs to interact with.
  4. Decentralized verification: Multiple parties can host verification information, reducing reliance on a single source.

Nick emphasized the importance of this development: "I'm really excited about this. First of all, additional developer tooling and whatnot is always good for the ecosystem as a whole, but having an additional way as an external company, it kind of helps diversify and decentralize all of the verification process that can happen with programs, so I think it's really cool."

Geyser Interface Improvements

A significant commit highlighted in this changelog is the update to the Geyser interface, which removes the requirement for write locks. This change, implemented by a contributor at the recent Mountain Dew event, promises to substantially improve the performance of nodes running Geyser plugins.

What is the Geyser Interface?

The Geyser interface is a crucial component of Solana's infrastructure, primarily used by indexers to efficiently access and store account data. It allows for real-time updates and querying of on-chain information.

Key Improvements to the Geyser Interface

The latest update to the Geyser interface brings several important enhancements:

  1. Removal of write lock requirements: This change allows for faster updates and reduced latency.
  2. Improved node performance: Nodes running Geyser plugins will experience a significant speed boost.
  3. Enhanced data availability: Indexers can access the latest state more quickly and efficiently.

Jacob highlighted the significance of this update: "This is a change that will be done in a future version but is kind of a breaking change on Geyser plugins, and what it does is it allows the Geyser interface to be extremely fast or much faster than the current version because it's not requiring specific write locks anymore that would slow down the nodes that are running your Geyser plugin."

Nick added, "That one's a really good one, like another boost to speed and performance, especially with Geyser, which is being used to basically, you know, all the indexers are using it. So it's gonna make all those easier and or it's gonna make all those faster and more efficient, so props to that."

It's important to note that this change will be a breaking change for existing Geyser plugins. Developers will need to update their plugins to be compatible with the new interface when it becomes available in a future release.

Account Information Restructuring

Another notable commit discussed in the changelog is the restructuring of account information into two separate structs. This change aims to optimize validator performance and reduce hardware requirements.

How Account Information is Being Split

The account information is now being divided into two main components:

  1. Data persisted on disk
  2. Data stored in RAM

Benefits of Account Information Restructuring

This restructuring offers several advantages for Solana validators:

  1. Reduced RAM requirements: Validators can operate with less high-speed memory.
  2. Improved data access: Quicker retrieval of essential account information for runtime execution.
  3. Enhanced scalability: Allows for more efficient handling of a growing number of accounts on the network.

Jacob explained the rationale behind this change: "It kind of allows the validators to have less like large RAM requirements as well as be able to quicker get the or quickly get the accounts that they need for executing things on the runtime or anything else that needs to be done on accounts."

Admin RPC Service Enhancements

The Solana team has implemented important changes to the Admin RPC service, addressing issues that became apparent during the recent network restart.

What is the Admin RPC Service?

The Admin RPC service provides specific endpoints for administrative functions on Solana validators. These functions include critical operations like setting validator identity and handling errors.

Key Improvements to Admin RPC

The main enhancement to the Admin RPC service is:

  • Allowing access to admin functions before gossip reaches a supermajority during a restart.

Jacob highlighted the significance of this change: "What we found during the restart was that you actually can't access this until gossip has reached supermajority during a restart, which is kind of problematic... So what they've done is they've allowed it to where you can access it before the wait for supermajority so that you can do some of the admin RPC functions on it."

This improvement will greatly enhance the ability of validator operators to manage their nodes during critical periods, such as network restarts or upgrades.

Prioritization Fee Cache Optimization

A small but impactful commit mentioned in the changelog relates to the optimization of the prioritization fee cache.

What is the Prioritization Fee Cache?

The prioritization fee cache is a mechanism used by Solana to efficiently manage and process transaction fees, especially during periods of high network activity.

Key Optimization

The main change implemented is:

  • Transactions requesting zero compute units will no longer be added to the prioritization fee cache.

Nick explained the impact of this change: "Basically it makes it so for the prioritization fee cache that transactions that request zero compute units, so if you don't like set a prioritization fee, it doesn't add that data into the cache. So it's going to make the caching process a little bit faster again for prioritization fees."

This optimization will lead to improved efficiency in fee processing and potentially contribute to overall network performance improvements.

Solana Test Validator Updates

The Solana test validator, a crucial tool for developers working on the platform, has received an important update to enhance its functionality and align it more closely with mainnet behavior.

Key Update to Solana Test Validator

The main change implemented is:

  • Upgradeable programs are now used by default when initializing the test validator.

Nick highlighted this update: "The Solana test validator got updated a little bit so it uses upgradeable programs by default. So anytime you initiate the test validator, it's going to automatically initiate with the upgradeable program flag automatically."

Benefits of the Test Validator Update

This change brings several advantages for Solana developers:

  1. Closer alignment with mainnet behavior: Developers can test their applications in an environment that more closely resembles the live network.
  2. Simplified workflow: No need to manually specify the upgradeable program flag during development.
  3. Reduced risk of errors: Helps prevent accidental creation of immutable programs in local development environments.

Jacob added context to the importance of this change: "That would be very useful for those that are kind of using the latest loader, and they don't have to, especially on the Solana test validator, they don't have to worry about accidentally creating mutable program which makes less sense on a local development environment."

Conclusion

The latest Solana changelog brings a wealth of improvements and optimizations to the ecosystem. From the introduction of verifiable builds to enhance trust and security, to the restructuring of account information for improved validator performance, these updates demonstrate Solana's commitment to continuous improvement.

The proposed SIMD 16 application fees for write locks show promise in addressing network congestion issues, while enhancements to the Geyser interface and Admin RPC service will contribute to improved performance and easier management of the network.

As Solana continues to evolve and refine its technology, these changes collectively work towards creating a more efficient, secure, and developer-friendly blockchain platform. The Solana community can look forward to experiencing the benefits of these improvements in upcoming releases.

Facts + Figures

  • Solana recently experienced a network outage, with only nine slots confirmed in a 30-minute window at one point.
  • The network transitioned from version 1.13 to 1.14 and then back to 1.13 during the recovery process.
  • SIMD 16 proposes implementing additional fees for holding account write locks to reduce network congestion.
  • The Ellipsis Labs team released a new Solana Verifiable Builds CLI tool for code verification.
  • The Geyser interface update removes write lock requirements, promising significant performance improvements.
  • Account information is being restructured into two separate structs: one for disk-persisted data and one for RAM-stored data.
  • Admin RPC service now allows access to admin functions before gossip reaches a supermajority during a restart.
  • Transactions requesting zero compute units will no longer be added to the prioritization fee cache.
  • The Solana test validator now uses upgradeable programs by default.
  • These updates collectively aim to improve Solana's performance, security, and developer experience.

Questions Answered

What caused the recent Solana network outage?

The recent Solana network outage was caused by a significant slowdown in slot confirmations. At one point, only nine slots were confirmed in a 30-minute window, which is far below the normal rate. This slowdown led to a network restart to resolve the issue, during which the network transitioned between different versions (1.13 to 1.14 and back to 1.13) as part of the recovery process.

What is SIMD 16 and how does it aim to improve Solana?

SIMD 16 is a proposal to implement application fees for write locks on Solana. It aims to reduce network congestion during high-traffic periods by introducing an additional fee that users would pay to validators for holding an account write lock. This mechanism is designed to discourage spam transactions and prioritize legitimate ones, potentially improving overall network efficiency and user experience during peak usage times.

What is the Solana Verifiable Builds CLI tool?

The Solana Verifiable Builds CLI tool, released by Ellipsis Labs, is a new utility that allows developers and users to verify that the deployed on-chain code matches the source code. It provides a way for anyone to check if the code they believe is on-chain actually matches what's deployed, enhancing transparency and security in the Solana ecosystem. This tool helps users make informed decisions about which programs to interact with and reduces reliance on trusting program deployers.

How is the Geyser interface being improved?

The Geyser interface is being updated to remove the requirement for write locks. This change allows for faster updates and reduced latency, significantly improving the performance of nodes running Geyser plugins. It enables indexers to access and store account data more efficiently, providing quicker access to the latest state of the blockchain. This update is expected to be a breaking change for existing Geyser plugins and will be implemented in a future version.

What changes are being made to account information storage?

Account information in Solana is being restructured into two separate structs: one for data persisted on disk and another for data stored in RAM. This change aims to optimize validator performance by reducing RAM requirements and allowing for quicker retrieval of essential account information for runtime execution. It enhances scalability by enabling more efficient handling of a growing number of accounts on the network.

How is the Admin RPC service being enhanced?

The Admin RPC service is being improved to allow access to admin functions before gossip reaches a supermajority during a network restart. This change addresses issues discovered during recent network restarts where admin functions were inaccessible until gossip reached a supermajority. The enhancement will enable validator operators to perform critical administrative tasks more efficiently during network restarts or upgrades.

What update has been made to the Solana test validator?

The Solana test validator has been updated to use upgradeable programs by default when initialized. This change aligns the test environment more closely with mainnet behavior, simplifying the development workflow for Solana developers. It eliminates the need to manually specify the upgradeable program flag during development and helps prevent accidental creation of immutable programs in local development environments.

How is the prioritization fee cache being optimized?

The prioritization fee cache is being optimized by no longer adding transactions that request zero compute units to the cache. This change aims to make the caching process faster for prioritization fees, potentially contributing to overall network performance improvements. It streamlines the fee processing mechanism, especially during periods of high network activity.

Related Content

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

Discover the latest Solana developments including verifiable builds, admin RPC upgrades, and Geyser interface optimizations. Learn about SIMD 16 proposal and recent commits enhancing Solana's performance.

Solana Changelog May 31: Interfaces, Solang, and Solana ChatGPT

Explore the latest Solana developments including interfaces, Solang Compiler v0.3.0, and the new Solana ChatGPT plugin in this comprehensive changelog.

Solana Changelog - MoveStake, Core Concepts, and Bigtable Support

Explore the latest Solana developments including MoveStake proposal, CLI improvements, and revamped core concept documentation. Learn how these changes enhance the Solana ecosystem.

Solana Changelog - April 9 - Flare and GetEpochStake

Discover the latest Solana developments including the Flare CLI for smart contract interaction, GetEpochStake proposal, and crucial performance enhancements for validators.

Solana Changelog July 18 - Active Stake Sysvar and Generating IDLs

Explore the latest Solana developments, including a new SYSVAR for active stake, improvements to Anchor IDL generation, and Switchboard's innovative off-chain functions.

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 March 14 - Tiered Account Storage, Debugging Programs, and Anchor

Explore Solana's latest developments including tiered account storage, program debugging, and major Anchor updates in this comprehensive changelog.

Solana Changelog - Apr 2 - CLI Explorer, Priority Fees When Deploying, and More

Explore the latest Solana developments including dynamic block limits, CLI explorer tool, priority fees for program deployment, and key ecosystem improvements.

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

Explore the latest Solana developments including Cardinal Labs shutdown, Jupiter's Token 2022 adoption, Cubik's tooling round, and proposed SPL-token improvements.

Solana Changelog Jul 3 - RPC Deprecations, Actions, and Blinks

Explore Solana's latest developments including RPC method deprecations, new Actions and Blinks features, and upcoming changes to compute unit charging.

Solana Changelog - Bridge Comparator, Program Loader v4, Feature Gates, and More

Discover the latest Solana developments including Jupiter's bridge comparator, Program Loader v4, feature gates, and more in this comprehensive changelog.

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 23 - Migrating BPF Programs, Priority Fees on the CLI, and More

Explore the latest Solana developments including BPF program migration, CLI priority fee updates, the upcoming Bonkathon, and major Anchor 0.30 release changes.

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: August 8th, 2022 - Offline Signing, QUIC & APR.dev

Discover the latest Solana updates including offline message signing, QUIC implementation progress, and new developer tools like APR.dev and Svelte Scaffold.