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 - October 17 - Duplicate Block Prevention, Anchor, and Cargo Registry

By Changelog

Published on 2023-10-17

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.

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

Solana's Latest Upgrades: Duplicate Block Prevention, Anchor Efficiency, and Cargo Registry

In the fast-paced world of blockchain technology, Solana continues to make significant strides in improving its ecosystem. The latest Solana Changelog, featuring Jacob and Nick from the Solana Foundation DevRel team, brings exciting updates that promise to enhance the network's security, efficiency, and developer experience. Let's dive deep into the key developments discussed in this informative session.

Turbine for Duplicate Block Prevention

One of the most significant announcements in this changelog is the introduction of a new proposal, SIMD71, which aims to use Solana's Turbine protocol for duplicate block prevention. This innovative approach addresses a critical aspect of blockchain security and stability.

What is SIMD71?

SIMD71 is a Solana Improvement Document that outlines a design to prevent duplicate blocks on the network. The proposal leverages Solana's existing Turbine protocol, which is primarily used for block propagation, and extends its functionality to include a mechanism for identifying and resolving conflicting blocks.

How Does the New System Work?

The proposed system operates by storing five forks on validators. These forks serve as reference points to determine the correct chain of blocks. By maintaining multiple forks, the network can effectively "duke out" which fork is the correct one, preventing scenarios where a malicious validator might attempt to produce two conflicting blocks and fork the network in different directions.

Jacob explains the significance of this proposal:

"This is to help prevent a, say a validator, produces two blocks and tries to fork off the network in two different directions. This is to help prevent that and make sure that we don't have these issues with duplicate blocks in the future."

Impact on Network Security

The implementation of SIMD71 could significantly enhance Solana's resistance to certain types of attacks and unintentional network splits. By providing a robust mechanism to quickly identify and resolve conflicting blocks, the network can maintain its integrity and ensure that all participants have a consistent view of the blockchain state.

Future Implications

While the proposal is still in its early stages, its potential impact on Solana's security and performance is substantial. As the blockchain space continues to evolve, features like duplicate block prevention become increasingly crucial for maintaining trust and reliability in decentralized networks.

Cargo Registry Service for Deploying Programs

Another exciting development highlighted in the changelog is the introduction of a Cargo Registry service for deploying programs on Solana. This new feature represents a significant step forward in streamlining the developer experience on the platform.

What is the Cargo Registry Service?

The Cargo Registry service is a new functionality that allows the Solana blockchain to act as a Rust crate registry, similar to crates.io. This means developers can publish their Solana programs directly to the blockchain using familiar Cargo commands, creating a seamless integration between Rust development workflows and Solana program deployment.

How Does It Work?

Nick provides an overview of the process:

"You'll be able to use your local test validator and eventually DevNet, mainnet, so on and so forth, to actually publish your programs, just using your normal cargo publish sort of CLI commands."

The system utilizes the developer's keypair as the authority for publishing packages or crates on Solana. This approach creates a decentralized package manager directly on the Solana blockchain, allowing for secure and verifiable program deployments.

Configuration and Setup

To use the Cargo Registry service, developers will need to configure their Cargo.toml file and set up some additional parameters. The exact details of this configuration process are still being finalized, but it's expected to be straightforward and in line with existing Rust development practices.

Benefits for Developers

This new service offers several advantages for Solana developers:

  1. Simplified deployment process
  2. Familiar workflow for Rust developers
  3. Increased security through keypair-based authentication
  4. Decentralized package management
  5. Easier version control and dependency management

Integration with Runtime V2

The Cargo Registry service is part of the ongoing efforts to improve Solana's Runtime V2. This integration showcases Solana's commitment to enhancing the developer experience and making the platform more accessible to a wider range of programmers.

Anchor Efficiency Improvements

The changelog also highlights significant efficiency improvements in Anchor, a popular framework for developing Solana programs.

What Are the Improvements?

The latest release of Anchor brings substantial optimizations that result in smaller program binaries and reduced compute unit usage. These improvements are achieved through smarter handling of account data.

Jacob elaborates on the changes:

"So what that means is actually the binary size itself dropped dramatically, roughly about 33%. This is because instead of cloning each account, they're now using references."

Impact on Program Size and Performance

The efficiency gains from these changes are twofold:

  1. Program Binary Size: Anchor programs are now approximately 33% smaller compared to the previous release.
  2. Compute Unit Usage: The optimizations also lead to a reduction in compute unit consumption during program execution.

Benefits for Developers and Users

These improvements have several positive implications:

  1. Lower deployment costs: Smaller program sizes mean less SOL is required to deploy programs.
  2. Increased transaction efficiency: Reduced compute unit usage allows for more complex operations within the same transaction limits.
  3. Improved scalability: More efficient programs contribute to better overall network performance.

Technical Details

The key change driving these improvements is the use of references instead of cloning for account data. This approach significantly reduces memory usage and computational overhead, leading to the observed efficiency gains.

Rust Upgrade for Solana

The Solana team has also announced an important update to the Rust version used in the Solana codebase.

What's New with Rust?

Solana has upgraded its Rust version to 1.73.0, which was the latest stable release as of October 5th, 2023. This upgrade represents a significant jump from the previous version used in the Solana codebase.

Jacob highlights the importance of this update:

"Previously, I think we're at 1.64, which is really old. And if you remember where you run into these issues where you run into dependency issues or rust, hey, you have rust version here on your local, but actually it should be this version. This should help solve this, or at least get us up to date for the future."

Benefits of the Upgrade

The Rust upgrade brings several advantages to the Solana ecosystem:

  1. Access to new language features and optimizations
  2. Improved compatibility with the broader Rust ecosystem
  3. Resolution of dependency conflicts due to version mismatches
  4. Enhanced developer experience with up-to-date tooling

Availability and Implementation

The new Rust version will be included in the upcoming Solana 1.17 release, which has already been tagged. Developers can access this update by downloading the latest Solana CLI, which will come bundled with Rust 1.73.0.

Web3.js Experimental Branch

The changelog also touched upon exciting developments in the Web3.js library, which is crucial for frontend development in the Solana ecosystem.

What's Happening with Web3.js?

An experimental branch of Web3.js is nearing release candidate status. This new version promises significant improvements over the current stable release.

Key Improvements

The new Web3.js version boasts several enhancements:

  1. Drastically reduced bundle size (reportedly about one-tenth of the current version)
  2. Improved efficiency
  3. Tree-shakeable architecture
  4. TypeScript-driven development

Jacob emphasizes the significance of these changes:

"It's gonna be really great once adoption happens for it."

Technical Details

The revamped Web3.js library has been built with a focus on minimalism and efficiency. It reportedly uses only eight different dependencies, which is a significant reduction from the current version.

Impact on Developer Experience

These improvements in Web3.js are expected to have a substantial positive impact on the Solana developer experience:

  1. Faster load times for dApps due to smaller bundle sizes
  2. Improved performance in frontend applications
  3. Better type safety and autocompletion with TypeScript integration
  4. Easier tree-shaking for optimized production builds

Future Outlook

While the new version is still in the experimental phase, its impending release as a release candidate signals that it's nearing stability. Developers are encouraged to keep an eye out for the official release and to start planning for migration to the new version.

Conclusion

The latest Solana Changelog showcases the platform's commitment to continuous improvement and innovation. From enhanced security measures like duplicate block prevention to developer-friendly features such as the Cargo Registry service and Anchor optimizations, Solana is making significant strides in becoming a more robust and accessible blockchain platform.

These updates not only address current challenges but also lay the groundwork for future enhancements. As Solana continues to evolve, it's clear that the focus remains on improving security, efficiency, and developer experience – key factors that will undoubtedly contribute to the ecosystem's growth and adoption.

Developers, users, and enthusiasts in the Solana ecosystem have much to look forward to with these upcoming changes. As these features roll out and mature, we can expect to see even more innovative applications and use cases emerging on the Solana blockchain.

Stay tuned for more updates and don't forget to check out the resources mentioned in the changelog, including the SIMD proposal, Anchor release notes, and the upcoming Breakpoint talk on Web3.js. The future of Solana looks brighter than ever, with these improvements paving the way for a more secure, efficient, and developer-friendly blockchain platform.

Facts + Figures

  • SIMD71 proposal introduces Turbine for duplicate block prevention, storing five forks on validators to determine the correct chain.
  • Cargo Registry service allows developers to publish Solana programs using familiar Cargo commands, similar to crates.io.
  • Anchor efficiency improvements result in a 33% reduction in program binary size.
  • Anchor optimizations also lead to reduced compute unit usage in program execution.
  • Solana has upgraded to Rust version 1.73.0, a significant jump from the previous version 1.64.
  • The new Rust version will be included in the upcoming Solana 1.17 release.
  • Web3.js experimental branch promises a bundle size reduction to about one-tenth of the current version.
  • The new Web3.js version uses only eight different dependencies, significantly less than the current version.
  • Web3.js improvements include tree-shakeability and TypeScript-driven development.
  • These updates are part of ongoing efforts to enhance Solana's Runtime V2 and overall developer experience.

Questions Answered

What is SIMD71 and how does it prevent duplicate blocks?

SIMD71 is a Solana Improvement Document that proposes using the Turbine protocol for duplicate block prevention. It works by storing five forks on validators, which are used as reference points to determine the correct chain of blocks. This system helps prevent scenarios where a malicious validator might try to produce two conflicting blocks and fork the network in different directions, thereby enhancing the network's security and stability.

How does the new Cargo Registry service benefit Solana developers?

The Cargo Registry service allows developers to publish their Solana programs directly to the blockchain using familiar Cargo commands, similar to how crates.io works for Rust packages. This integration streamlines the deployment process, provides a familiar workflow for Rust developers, increases security through keypair-based authentication, and offers decentralized package management. It significantly simplifies program deployment and version control, making it easier for developers to manage their Solana projects.

What improvements does the latest Anchor release bring?

The latest Anchor release brings significant efficiency improvements. It reduces program binary size by approximately 33% by using references instead of cloning for account data. This change not only results in smaller program sizes but also leads to reduced compute unit usage during program execution. These improvements allow developers to deploy programs at a lower cost and enable more complex operations within the same transaction limits, enhancing overall scalability and performance on the Solana network.

Why is the Rust upgrade to version 1.73.0 important for Solana?

The upgrade to Rust version 1.73.0 is crucial for Solana as it brings the platform up to date with the latest stable release of Rust. This upgrade provides access to new language features and optimizations, improves compatibility with the broader Rust ecosystem, and helps resolve dependency conflicts due to version mismatches. It enhances the developer experience by providing up-to-date tooling and paves the way for future improvements in the Solana codebase.

What are the key features of the new experimental Web3.js branch?

The new experimental Web3.js branch introduces several significant improvements. It boasts a drastically reduced bundle size, reportedly about one-tenth of the current version, which will lead to faster load times for dApps. The new version is also more efficient, tree-shakeable, and driven by TypeScript, which enhances type safety and autocompletion. With only eight dependencies, it's much leaner than the current version, promising better performance and easier optimization for Solana frontend applications.

Related Content

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 deploying programs.

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 May 8 - Native Events, Solidity, Gaming

Explore Solana's recent advancements including Fire Dancer's QUIC implementation, native events proposal, and new gaming resources 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 Jul 10 - Removing deprecated code, new web3.js, and blinks.xyz

Explore Solana's latest changes including deprecated code removal, Web3.js tech preview 4, and the new Blinks.xyz inspector tool for developers.

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 - 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.

Solana Changelog - Mar 19: Anza's Agave Client, Compute, and create-solana-program

Explore Solana's latest developments: Anza's Agave client, block space challenges, priority fees, and new developer tools like create-solana-program.

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 - Jan 30: Transaction CU Cost, Simulation for Token Accounts, and Fee for Write Lock

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

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 - September 19 - Real World Assets, OPOS Hackathon Winners, On-Chain Privacy

Explore Solana's latest updates including real-world asset tokenization, OPOS hackathon winners, and advancements in on-chain privacy solutions.

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 - Trident, Unruggable, and SyscallGetSysvar

Explore Solana's latest developments including new ZK features, core BPF program conversions, rent collection changes, and exciting new developer tools like Trident and Unruggable wallet.

Solana Changelog Jul 17 - Deprecations, Precompiles, and Developer Resources

Explore Solana's latest changes including precompile improvements, deprecated code removals, and exciting new developer resources in this comprehensive update.