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

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

Solana Changelog: Duplicate Block Prevention, Anchor Efficiency, and Cargo Registry

In the latest episode of the Solana Changelog, hosts Nick and Jacob from the Solana Foundation DevRel team dive into exciting new developments within the Solana ecosystem. From innovative approaches to prevent duplicate blocks to significant improvements in developer tools, this changelog covers a range of topics that showcase Solana's commitment to enhancing its blockchain platform.

Turbine for Duplicate Block Prevention

One of the most significant announcements in this changelog is the introduction of a new proposal aimed at preventing duplicate blocks on the Solana network. This proposal, known as SIMD71 (Solana Improvement Document 71), leverages Solana's Turbine protocol to enhance network security and stability.

How Does Turbine Prevent Duplicate Blocks?

The proposed system utilizes Turbine, Solana's block propagation protocol, in conjunction with a new mechanism called "miracle shreds" to identify and prevent duplicate blocks. Here's how it works:

  1. Validators store five forks of the blockchain.
  2. These forks are used to determine the correct chain in case of conflicting information.
  3. The system is designed to prevent scenarios where a malicious validator might produce two different blocks to fork the network.

Jacob explains, "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."

This proposal represents a significant step forward in Solana's ongoing efforts to improve network resilience and security. By preventing duplicate blocks, the network can maintain a higher level of consistency and reliability, which is crucial for a high-performance blockchain like Solana.

Cargo Registry Service for Deploying Programs

Another exciting development highlighted in this changelog is the introduction of a Cargo Registry service for deploying programs on Solana. This new feature is part of the broader efforts surrounding Runtime V2, which aims to enhance the developer experience on the Solana platform.

What is the Cargo Registry Service?

The Cargo Registry service essentially allows the Solana blockchain to function as a Rust crate registry, similar to crates.io. This means developers can publish their Solana programs using familiar Cargo commands, streamlining the deployment process.

Nick elaborates on this feature: "You're actually using your keypair as like your authority for publishing your packages, your crates on to Solana, which is really cool, like to create like a package manager almost on Solana for programs."

How Does It Work?

  1. Developers can use their local test validator, DevNet, or eventually mainnet to publish programs.
  2. The process uses standard Cargo publish CLI commands.
  3. Authentication is handled through the developer's Solana keypair.
  4. Some configuration in the Cargo.toml file is required.

This new service represents a significant improvement in the Solana developer experience. By aligning the program deployment process with familiar Rust development workflows, Solana is making it easier for developers to build and deploy on its platform.

Rust Upgrade for Solana

In addition to the new features, the changelog also announces an important update to the Rust version used by Solana. The platform has been upgraded to Rust 1.73.0, which was released on October 5th, 2023.

Why is this Upgrade Important?

  1. It brings Solana up to date with the latest Rust features and improvements.
  2. It addresses potential dependency issues that developers might have encountered with the older Rust version.
  3. The upgrade is expected to be included in the Solana 1.17 release.

Jacob comments on the significance of this upgrade: "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."

This upgrade demonstrates Solana's commitment to staying current with the latest developments in the Rust ecosystem, which can lead to improved performance, security, and developer experience.

Anchor Program Efficiency Improvements

The changelog also highlights significant efficiency improvements in Anchor, a popular framework for developing Solana programs. These improvements have resulted in substantial reductions in program binary size and compute unit usage.

What Are the Key Improvements?

  1. Program binary size has been reduced by approximately 33%.
  2. Compute unit usage has also decreased.
  3. These improvements are achieved by using references instead of cloning each account.

Jacob explains the impact: "So your program binary is now 33% smaller compared to last release in anchor. This actually, something that was brought up is like, hey, does this affect how compute units are used? And actually, yes, but it also goes down. So both compute unit usage, as well as the program binary size is smaller."

These enhancements mean that developers can now deploy their programs using less SOL (Solana's native token) and can perform more operations within their transactions. This represents a significant boost to the platform's efficiency and cost-effectiveness.

Web3.js Improvements

The changelog also touches on upcoming improvements to Web3.js, a crucial library for Solana development. While not yet released, these improvements promise to significantly enhance the developer experience.

What's New in Web3.js?

  1. The new version is currently in an experimental branch.
  2. It promises to be more efficient with smaller bundle sizes.
  3. The library is now tree-shakeable and driven by TypeScript.
  4. The bundle size is reported to be about one-tenth of the previous version.
  5. It uses only eight different dependencies, a significant reduction.

Nick emphasizes the importance of these changes: "It's gonna be really great once adoption happens for it." These improvements to Web3.js are expected to make Solana development more streamlined and efficient, further enhancing the platform's appeal to developers.

Implications for Solana's Ecosystem

The developments highlighted in this changelog demonstrate Solana's ongoing commitment to improving its platform across multiple fronts. From enhancing network security with duplicate block prevention to significantly improving developer tools like Anchor and Web3.js, these changes collectively contribute to a more robust, efficient, and developer-friendly ecosystem.

Enhanced Security and Stability

The introduction of Turbine for duplicate block prevention addresses a critical aspect of blockchain security. By preventing malicious actors from forking the network through duplicate blocks, Solana is strengthening its resistance to potential attacks and ensuring greater network stability.

Improved Developer Experience

The new Cargo Registry service, along with improvements to Anchor and Web3.js, significantly enhance the developer experience on Solana. These changes make it easier for developers to build, deploy, and maintain applications on the platform, which could lead to increased adoption and a more vibrant ecosystem.

Greater Efficiency

The efficiency improvements in Anchor programs and the upcoming changes to Web3.js contribute to making Solana more cost-effective and performant. Smaller program sizes and reduced compute unit usage mean that developers can create more complex applications without incurring prohibitive costs.

Staying Current with Technology

The Rust upgrade demonstrates Solana's commitment to staying up-to-date with the latest developments in its underlying technologies. This ensures that the platform can take advantage of the latest features and improvements in the Rust ecosystem.

Looking Ahead

As Solana continues to evolve and improve, these changes set the stage for future developments. The focus on enhancing developer tools and improving core network functionality suggests that Solana is positioning itself for long-term growth and adoption.

The introduction of the Cargo Registry service, in particular, opens up new possibilities for program management and deployment on Solana. As this feature matures, it could lead to a more diverse and robust ecosystem of Solana programs, making the platform even more attractive to developers and users alike.

Conclusion

The latest Solana Changelog highlights a series of significant improvements and new features that collectively enhance the platform's security, efficiency, and developer-friendliness. From the innovative use of Turbine for duplicate block prevention to the introduction of the Cargo Registry service and improvements in key development tools, Solana continues to demonstrate its commitment to evolving and improving its blockchain platform.

These developments not only address current challenges but also lay the groundwork for future innovations. As Solana continues to refine its technology and tools, it's clear that the platform is positioning itself as a leading contender in the competitive world of blockchain technology.

For developers, these changes mean a more streamlined and efficient development process, with tools that are more aligned with industry standards and best practices. For users and investors, these improvements translate to a more secure, stable, and capable platform that can support a wide range of decentralized applications.

As the Solana ecosystem continues to grow and evolve, it will be exciting to see how these latest developments are adopted and utilized by the community. With its focus on performance, security, and developer experience, Solana is well-positioned to play a significant role in the future of blockchain technology and decentralized applications.

Facts + Figures

  • SIMD71 proposes using Turbine for duplicate block prevention on Solana
  • The new duplicate block prevention system stores five forks on validators to determine the correct chain
  • Anchor programs have achieved a 33% reduction in binary size
  • Anchor improvements also lead to reduced compute unit usage
  • Solana has been upgraded to Rust version 1.73.0, released on October 5th, 2023
  • The Rust upgrade will be included in the Solana 1.17 release
  • The new Cargo Registry service allows developers to publish Solana programs using standard Cargo commands
  • Web3.js improvements have reduced the bundle size to approximately one-tenth of the previous version
  • The new Web3.js version uses only eight different dependencies
  • The Cargo Registry service uses a developer's Solana keypair for authentication
  • The new Web3.js is tree-shakeable and driven by TypeScript
  • Solana's focus on improving developer tools aims to enhance adoption and ecosystem growth
  • The Cargo Registry service is part of the broader Runtime V2 efforts
  • The new developments collectively contribute to improved security, efficiency, and developer experience on Solana

Questions Answered

What is SIMD71 and how does it prevent duplicate blocks on Solana?

SIMD71 is a Solana Improvement Document that proposes using the Turbine protocol to prevent duplicate blocks on the network. It works by storing five forks on validators and using these, along with "miracle shreds", to determine the correct chain in case of conflicting information. This system helps prevent scenarios where a malicious validator might produce two different blocks to fork the network, thereby enhancing Solana's security and stability.

How has Anchor improved program efficiency on Solana?

Anchor has significantly improved program efficiency on Solana by reducing program binary size by approximately 33% and decreasing compute unit usage. These improvements were achieved by using references instead of cloning each account. As a result, developers can now deploy their programs using less SOL and perform more operations within their transactions, making Solana development more cost-effective and efficient.

What is the new Cargo Registry service for Solana?

The Cargo Registry service is a new feature that allows the Solana blockchain to function as a Rust crate registry, similar to crates.io. It enables developers to publish their Solana programs using familiar Cargo commands, streamlining the deployment process. The service uses a developer's Solana keypair for authentication and works with local test validators, DevNet, and eventually mainnet. This feature significantly improves the developer experience on Solana by aligning program deployment with standard Rust development workflows.

What improvements are coming to Web3.js for Solana?

Web3.js, a crucial library for Solana development, is undergoing significant improvements. The new version, currently in an experimental branch, promises to be more efficient with smaller bundle sizes. It's now tree-shakeable and driven by TypeScript. The bundle size has been reduced to about one-tenth of the previous version, and it now uses only eight different dependencies. These improvements are expected to make Solana development more streamlined and efficient once they are widely adopted.

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

The upgrade to Rust version 1.73.0 is important for Solana because it brings the platform up to date with the latest Rust features and improvements. This upgrade addresses potential dependency issues that developers might have encountered with the older Rust version. It demonstrates Solana's commitment to staying current with the latest developments in the Rust ecosystem, which can lead to improved performance, security, and developer experience on the platform.

How do these recent developments impact Solana's ecosystem?

These recent developments significantly impact Solana's ecosystem by enhancing security, improving the developer experience, and increasing efficiency. The duplicate block prevention system strengthens network security, while improvements to tools like Anchor and Web3.js make development easier and more efficient. The Cargo Registry service streamlines program deployment, potentially leading to a more diverse ecosystem of Solana programs. Collectively, these changes make Solana more attractive to developers and users, positioning the platform for long-term growth and adoption in the competitive blockchain space.

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 seamless program deployment.

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 - 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 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 - EpochStakes, SolFuzz, and Optimizations

Explore Solana's recent advancements including validator reward proposals, performance optimizations, and new developer resources in this comprehensive changelog.

Solana Changelog April 18 - Automatic Repair, Saga, and Helium

Explore Solana's recent advancements including the Saga phone launch, Helium's migration to Solana, and a groundbreaking proposal for automatic cluster repair and restart.

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 - 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 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 - February 14, 2023 - Diet Clients, 1.15 Release, and Metaplex Fusion

Explore Solana's newest features including diet clients for improved security, the 1.15 release, and innovative NFT farming with Metaplex Fusion.

Solana Changelog March 21 - Priced Compute Units and the Solana Developer Forum

Explore Solana's latest developments, including the Priced Compute Units proposal, validator improvements, and the launch of the Solana Developer Forum.

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 - October 10 - Solana StackExchange, sRFC, and future Feature Activations

Explore Solana's latest updates including the 1.16 release, upcoming confidential transfers, SRFCs, and the importance of Solana StackExchange for developers.

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.