Liquid Stake with compassSOL for an 7.62% 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.1% APY staking with Solana Compass

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

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

Learn more

Solana Changelog - Jan 30: Transaction CU Cost, Simulation for Token Accounts, and Fee for Write Lock

By Changelog

Published on 2024-01-30

Discover Solana's latest improvements including transaction cost tracking, token account simulation, and a proposal for write lock fees to enhance network efficiency.

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

Solana's Ongoing Commitment to Network Improvement

Solana, the high-performance blockchain known for its speed and efficiency, continues to evolve with a series of updates aimed at enhancing its network capabilities. In the latest Solana Changelog, Jacob and Nick, two prominent figures in the Solana development community, discuss several key improvements and proposals that promise to refine the network's performance and user experience.

SIMD-110: Addressing the Write Lock Challenge

One of the most significant topics discussed in this changelog is the proposal outlined in SIMD-110, which addresses the issue of write locks on accounts. Write locks have been a persistent challenge for the Solana network, as they can significantly impact transaction throughput and overall network performance.

The Problem with Write Locks

Write locks occur when a transaction requires exclusive access to an account, preventing other transactions from modifying that account simultaneously. While this is necessary for maintaining data consistency, it can lead to bottlenecks in transaction processing, especially for popular programs or accounts that are frequently accessed.

Jacob explains the issue succinctly: "A lot of people are sending transactions that are locking accounts with the write lock, so they can't be parallelized in a block. This reduces the amount of transactions you can do over a specific program."

The Proposed Solution: Exponential Fees

To mitigate this problem, SIMD-110 proposes implementing an exponential fee structure for write-locked accounts. The basic premise is that if an account remains write-locked over a certain number of blocks, the fee for continuing to write-lock that account will increase exponentially.

This approach aims to discourage unnecessary or prolonged write locks, incentivizing developers and users to optimize their transactions and reduce the time accounts are locked. By doing so, the proposal seeks to increase the overall parallelization of transactions within blocks, potentially leading to higher transaction throughput and improved network performance.

Nick expresses his support for the idea, stating, "I think it's a really cool idea. I think I'm personally for something of this kind of vein of write locking or having a fee on write lock accounts because like you said, it definitely affects transaction speed and how many transactions can actually get put into a block in some ways."

Community Feedback and Alternative Approaches

While the proposal shows promise, Jacob notes that there are varying opinions within the community regarding the best approach to tackle this issue. He mentions alternative ideas being considered, such as implementing dynamic storage fees or improving the transaction scheduler to make it more predictable and less "jittery."

These discussions highlight Solana's commitment to collaborative problem-solving and its openness to exploring various solutions to enhance network performance. The Solana community is encouraged to provide feedback on SIMD-110 through the official repository, ensuring that the final implementation addresses the concerns and needs of all stakeholders.

Tracking Transaction Costs for Improved Scheduling

Another significant update discussed in the changelog is a commit that enhances the ability to track transaction costs and fees. This improvement is crucial for optimizing block composition and maximizing transaction throughput.

The Importance of Accurate Cost Tracking

Nick explains the significance of this update: "With this commit, it will allow transactions to actually track the cost and the fees that were put into them. So that way the scheduler can better detect how much compute usage is actually being used versus requested."

This enhancement is particularly important due to the compute unit usage caps on blocks in the Solana network. When a block reaches its compute unit cap, no more transactions can be included, even if there's still space available. By more accurately tracking the actual compute usage of transactions, the network can potentially include more transactions in each block, improving overall efficiency.

Jacob adds context to this improvement, stating, "If people request too much for their transaction and it hits that cap, it could have been a better block basically. So that's exactly what this commit's doing."

The Dubious Dependency Removal Project

In an effort to enhance security and reduce potential vulnerabilities, Solana Labs has initiated a project humorously named "Dubious Dependency Removal." This initiative aims to reduce the attack surface of the Solana validator client by removing or minimizing dependencies tied to the monorepo.

Enhancing Security Through Dependency Management

Jacob explains the project's goals: "What they're trying to do is they're trying to remove the different dependencies that are tied to the monorepo to have less kind of like a less attack surface of any of these dependencies have issues."

This approach contrasts with that of Firedancer, another Solana client implementation, which vendors all its dependencies. By reducing reliance on external dependencies, Solana Labs aims to mitigate potential risks associated with third-party libraries and improve the overall security posture of the validator client.

Potential Benefits

The Dubious Dependency Removal project is expected to yield several benefits:

  1. Reduced attack surface: By minimizing external dependencies, the project aims to reduce potential vulnerabilities that could be introduced through third-party code.
  2. Improved build times: Fewer dependencies often lead to faster compilation and build processes.
  3. Better dependency management: The project may help address issues related to runtime versus build dependencies, which can sometimes be a source of confusion and errors.

Nick expresses optimism about the project's potential outcomes: "Hopefully it'll both speed up build times, remove some surface area for attacks, and then hopefully help with some of the dependency issues that people have been having."

Enhancing Transaction Simulation Accuracy

A notable bug fix discussed in the changelog addresses an issue with JSON parsing during transaction simulations, particularly concerning token accounts.

Aligning Simulation Results with Actual Transactions

Nick explains the significance of this fix: "The JSON parse would actually not parse token accounts during simulate transactions. So the transaction simulation, vice the actual transaction that would get landed, those would actually differ a little bit because of this bug."

This improvement ensures that the data returned from RPC calls during transaction simulations more closely aligns with the actual transaction data when it's executed on the network. This enhanced accuracy is crucial for various ecosystem tools, particularly wallets that rely on transaction simulations for security checks and user protection.

Jacob emphasizes the importance of this fix: "Simulate transactions are super important. It's one of the ways that wallets do some security checks and integrity checks and try to protect their users. So this is going to be something that's going to be really, really useful for the ecosystem."

Solana Playground: A Powerful Development Resource

The changelog concludes with a spotlight on Solana Playground, a browser-based integrated development environment (IDE) for building and testing Solana programs.

Streamlining Solana Program Development

Solana Playground offers developers a quick and easy way to write, compile, and test Solana programs directly in their web browser. Jacob highlights a particularly useful feature that many developers might not be aware of: "You can actually test your instructions from your program directly from the browser without writing any code."

This feature significantly streamlines the testing process for Solana programs. Instead of writing extensive test scripts, developers can use the Playground's interface to initialize accounts, execute instructions, and verify program behavior with just a few clicks.

Enhancing Developer Productivity

The ease of use provided by Solana Playground can greatly enhance developer productivity. By reducing the overhead associated with setting up a local development environment and writing test scripts, developers can focus more on their program logic and functionality.

Jacob encourages developers to explore this resource: "Definitely try it out. Play around with the test if you don't, if you haven't already, because it might make your testing life cycle on Solana programs a lot better."

Conclusion: Solana's Continuous Evolution

The latest Solana Changelog demonstrates the blockchain's ongoing commitment to improvement and innovation. From addressing network-level challenges like write locks and transaction scheduling to enhancing developer tools and experiences, Solana continues to evolve in response to the needs of its growing ecosystem.

These updates and proposals reflect Solana's dedication to maintaining its position as a leading high-performance blockchain. By focusing on critical areas such as transaction efficiency, network security, and developer experience, Solana is laying the groundwork for sustained growth and adoption in the competitive world of blockchain technology.

As the Solana ecosystem continues to expand, these incremental improvements and community-driven initiatives will play a crucial role in shaping the network's future. Developers, users, and stakeholders alike can look forward to a more efficient, secure, and user-friendly Solana blockchain as these changes take effect and new proposals are implemented.

The Solana team's transparent approach to development, as evidenced by these regular changelogs and open discussions around improvement proposals, fosters a collaborative environment that is key to the network's success. As Solana moves forward, this commitment to continuous improvement and community engagement will undoubtedly be a driving force behind its growth and innovation in the blockchain space.

Facts + Figures

  • SIMD-110 proposes implementing exponential fees for write-locked accounts to improve transaction parallelization and network performance.
  • A new commit allows transactions to track costs and fees, enabling better detection of actual compute usage versus requested.
  • The Solana validator client is undergoing a "Dubious Dependency Removal" project to reduce potential vulnerabilities and improve security.
  • A bug fix has been implemented to improve JSON parsing of token accounts during transaction simulations, aligning simulation results more closely with actual transaction outcomes.
  • Solana Playground, a browser-based IDE for Solana development, now allows testing of program instructions without writing additional code.
  • Compute unit usage caps on blocks in the Solana network limit the number of transactions that can be included in a block.
  • The Solana community is actively discussing various approaches to improve transaction inclusion and network efficiency, including dynamic storage fees and scheduler improvements.
  • Firedancer, an alternative Solana client implementation, vendors all its dependencies as a security measure.
  • Simulate transactions play a crucial role in wallet security checks and user protection within the Solana ecosystem.
  • The Solana development team is committed to collaborative problem-solving and open to community feedback on improvement proposals.

Questions Answered

What is SIMD-110 and how does it aim to improve Solana's performance?

SIMD-110 is a proposal to implement exponential fees for write-locked accounts on the Solana network. It aims to improve performance by discouraging unnecessary or prolonged write locks on accounts, which can bottleneck transaction processing. By introducing escalating fees for accounts that remain write-locked over multiple blocks, the proposal incentivizes more efficient use of network resources and potentially increases transaction throughput.

How will the new transaction cost tracking feature benefit the Solana network?

The new transaction cost tracking feature allows for more accurate monitoring of compute usage in transactions. This benefits the Solana network by enabling the transaction scheduler to better optimize block composition. With more precise data on actual compute usage versus requested usage, the network can potentially include more transactions in each block, maximizing the use of available resources and improving overall efficiency.

What is the "Dubious Dependency Removal" project and why is it important?

The "Dubious Dependency Removal" project is an initiative by Solana Labs to reduce dependencies in the Solana validator client's monorepo. This project is important because it aims to enhance security by minimizing the potential attack surface that could be exploited through external dependencies. By reducing reliance on third-party libraries, the project may also improve build times and simplify dependency management, contributing to a more robust and efficient validator client.

How does the recent bug fix for token account simulation improve the Solana ecosystem?

The recent bug fix addresses an issue where token accounts were not properly parsed during transaction simulations. This improvement ensures that simulation results more accurately reflect the outcome of actual transactions on the network. This enhanced accuracy is crucial for wallet applications and other tools that rely on transaction simulations for security checks and user protection, ultimately contributing to a more reliable and secure ecosystem for Solana users and developers.

What new feature in Solana Playground is particularly useful for developers?

Solana Playground now offers a feature that allows developers to test program instructions directly from the browser without writing additional code. This streamlines the development process by enabling quick initialization of accounts, execution of instructions, and verification of program behavior through a simple interface. This feature significantly reduces the time and effort required for testing Solana programs, potentially boosting developer productivity and making it easier for newcomers to get started with Solana development.

Related Content

Solana Changelog - Jan 30: Transaction CU Cost, Simulation for Token Accounts, and Fee to Write Lock

Discover Solana's latest improvements including transaction cost tracking, token account simulation fixes, and proposals for write lock fees. Learn how these changes enhance Solana's speed and efficiency.

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 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 April 18 - Automatic Repair, Saga, and Helium

Discover Solana's latest developments including the Saga phone launch, Helium network migration, and innovative automatic cluster repair proposal.

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

Discover Solana's latest developments including optional Borsh in SDK, precompile standardization, core BPF migration progress, and exciting Web3.js updates for enhanced developer experience.

Solana Changelog - Jan 16 - Lower Program Deploy Costs, Halve Rent, Luzid Test Validator

Explore Solana's latest improvements including lower program deployment costs, potential rent reductions, and the innovative Luzid test validator for enhanced developer experience.

Solana Changelog - Token Extensions and Transaction Size Fees

Explore Solana's latest developments including token extensions, transaction size fees, and the upcoming Mountain Dew 5 event in this comprehensive changelog.

Solana Changelog - Token Extensions and Transaction Size Fees

Discover the latest Solana updates including token extensions, transaction size fees, and developer resources in this comprehensive changelog.

Solana Changelog - October 17 - Duplicate Block Prevention, Anchor, and Cargo Registry

Explore Solana's latest improvements including turbine for duplicate block prevention, Anchor's efficiency boost, and the new Cargo Registry service for seamless program deployment.

Solana Changelog - August 8th, 2022 - Offline Signing, QUIC & APR.dev

Explore Solana's newest features including offline message signing, QUIC protocol implementation, and developer resources like APR.dev and Svelte Scaffold.

Solana Changelog - December 12 - Solana Speedrun and Transaction Scheduling

Dive into the latest Solana developments, including the exciting Solana Speedrun game jam and crucial updates to the transaction scheduler for improved network efficiency.

Solana Changelog - Feature Activation, Decoupling the SVM, and Rust v1.76

Explore Solana's newest developments including feature activation schedules, SVM decoupling, Rust upgrade to v1.76, and upcoming events in this comprehensive changelog.

Solana Changelog - Faster Transactions, Stake-Weighted QoS, and Compute Optimization

Discover the latest Solana updates including faster transaction processing, stake-weighted quality of service, and new developer tools for compute optimization and Web3.js integration.

Solana Changelog March 14 - Tiered Account Storage, Debugging Programs, and Anchor

Discover Solana's latest developments including tiered account storage, new debugging tools, and significant Anchor updates. Learn about compressed NFTs and upcoming Grizzlython submissions.

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

Explore Solana's latest developments including optional Borsh, precompiles standardization, core BPF migration progress, and exciting Web3.js updates in this comprehensive changelog.