The Sia Foundation Roadmap

This Sia roadmap provides mid to high level insight into core Sia development. It will be updated once a quarter at minimum, and will show an outline of what we’re currently working on, why we’re working on it, and what we have in mind after that’s done.

Our primary development goal for 2024 is to launch the “v2” hardfork. “v2” is our codename for a massive overhaul to Sia’s consensus mechanisms. It will modernize Sia’s core consensus code and provide a number of usability, performance, and quality-of-life improvements to the network.

After the hardfork, we will be working on reducing onboarding friction for users, developers, and enterprises including:

  • Light worker agents for renterd to increase horizontal scalability for enterprises, but also enable users to download and upload objects from multiple devices.
  • Lower-level SDKs for developers to interact with the Sia network directly.
  • A mobile and web app that lets all users take advantage of the cost savings, privacy, accessibility, and performance advantages of decentralized storage without the hassle of buying crypto or managing storage contracts.

“v2” is an umbrella term that refers to an upcoming radical overhaul of Sia’s consensus code. The primary change is the transition from a large, unwieldy database of UTXOs to a compact cryptographic accumulator, bringing myriad benefits to performance, scalability, and functionality. This is a big deal: it requires changing the block and transaction formats, which have been untouched since Sia’s mainnet launch back in 2014. As such, we are taking this opportunity to clean up a few other warts in Sia’s consensus code, giving the project a solid foundation for many years to come. For a more technical dive on how Utreexo works, check out Luke’s blog post here and MIT Bitcoin talk here.

  • UTreexo
    • Near instant syncing
    • Reduced blockchain size
  • Improved UTXO spend policies
    • “Composable” unlock conditions
    • HTLC support for atomic swaps
  • Storage contract changes
    • Early contract termination
    • Collateral efficient renewals

June 2024

  • Reset Anagami testnet

July 2024

  • Upgrade Zen testnet

RHP4, short for renter-host protocol 4, is the next iteration of the protocol hosts and renters use to communicate. Our goal for RHP4 is to increase the parallelism of data uploads, reduce protocol overhead, and improve download performance. A new protocol is required to enable some exciting new features to be available after the Utreexo hardfork, such as early contract termination, capacity reservation, and contract renewal fund rollover. RHP4 will also enable storage consumers to download and upload data directly in the browser without installing additional software.

  • Improved upload and download performance
  • Concurrent uploads
  • WebRTC support for verified uploads and downloads in a browser context

February 2024

  • Finalize spec - Done

June 2024

  • Implement RHP4 client in coreutils - In Progress

August 2024

  • Release experimental SiaJS SDK

The new Sia renter, replacing the current siad renter module. Drawing on what we’ve learned from siad, skyd, and us, we designed renterd from the ground up to be modular and horizontally scalable. Although the average user likely won’t notice, a renterd deployment is actually a set of interconnected services. As such, it can distribute workloads in parallel across multiple machines, and can be configured to store its metadata in any SQL backend. This flexibilty makes renterd easier to integrate with other Sia ecosystem software, such as Sia Satellite and S5, and addresses the scalability barriers that have historically hampered enterprise solutions.

June 2024

August 2024

  • Improve host selection
  • Reduce contract churn
  • Price pinning for gouging settings

The new Sia host, replacing the current siad host module. The host module has been chronically neglected for years, and suffers from poor upload performance, data integrity issues, and a general lack of user-friendliness. hostd is our greenfield reimagining of the Sia hosting experience, bringing a sorely-needed refresh to our host community. Aside from addressing performance bottlenecks, hostd also -offers superior metrics and monitoring tools, which will allow users to make informed decisions about storage allocations, contract parameters, pricing, and quality of service.

June 2024

August 2024

  • Automate data integrity checks

September 2024

  • Support Postgres as an alternative to SQLite
  • Support additional volume types to optimize performance for distributed file systems

The new Sia wallet, replacing the current siad wallet module. walletd aims to be the go-to option for average holders, lite wallet developers, exchanges and miners that need a secure place to store their SC. Accordingly, it supports both hot and cold setups, including multi-sig schemes and hardware wallet integration. Like renterd and hostd, walletd comes packaged with a sleek, yet powerful UI, which can be securely accessed from any device.

Note: you do not need walletd to be a renter or a host; renterd and hostd include their own built-in hot wallets.

January 2024

  • Support SQLite - Done

May 2024

  • Add “Indexer” mode enabling easier integration for exchanges - Done

June 2024

  • Beta release - In Progress

July 2024

  • Support Postgres as an alternative to SQLite

August 2024

  • Stable release

The new Sia explorer, replacing and going far beyond the current siad explorer capabilities. explored will serve as both a standalone blockchain explorer with a web interface, and as a library providing powerful indexing and searching capabilities to third-party explorers (e.g. SiaStats) and “lite-client” systems like narwal. explored will be developed and launched alongside the Utreexo overhaul, making it one of the world’s first Utreexo-native block explorers.

July 2024

  • Beta release
  • Add Postgres support

October 2024

  • Stable release

fsd is our experimental implementation of an IPFS node with specific optimizations for storing and retrieving data from the Sia network. We plan to open source it in the near future once it has stabilized more and we’ve verified that pinned content is discoverable and accessible by other IPFS nodes.

June 2024

  • Release alpha
Document version date: Jun 9, 2024
Jul 1, 2024
Jul 1, 2024

Bumps the all-dependencies group with 1 update: go.sia.tech/jape.

Updates go.sia.tech/jape from 0.11.2-0.20240306154058-9832414a5385 to 0.12.0

Commits

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore <dependency name> major version will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)
  • @dependabot ignore <dependency name> minor version will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)
  • @dependabot ignore <dependency name> will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)
  • @dependabot unignore <dependency name> will remove all of the ignore conditions of the specified dependency
  • @dependabot unignore <dependency name> <ignore condition> will remove the ignore condition of the specified dependency and ignore conditions
Jun 28, 2024

/wallet/:id/events can be slow in full index mode when the wallet has no events. Adds a check to make sure the wallet has events before running the more expensive events query.

Jun 28, 2024
Jun 28, 2024
Jun 28, 2024
Jun 28, 2024
Jun 28, 2024

This PR adds a subnets column to the hosts table. This in an attempt to get rid of the redundant IP churn we saw on arequipa. This is under the assumption that the churn is related to the way we deal with intermittent dns resolve issues, which up until now we've treated as redundant IPs because the ipFilter returns a simple yes/no bool.

Fixes https://github.com/SiaFoundation/renterd/issues/1342

Jun 28, 2024

Merging in dev required getting rid of the PeerStore. Sorry for that @ChrisSchinnerl, it's a little awkward but since it's quite a straightforward migration could you glance at:

  • stores/peers.go
  • stores/sql/main.go
  • stores/sql/mysql/main.go

I'll deploy it to my node in the mean time. (edit: keeping it in DRAFT until panic in core is resolved and I can confirm it's running smoothly)

Jun 28, 2024

I didn't bother writing it out but instead supplied an example compose file with the absolute minimum config requirements per service.

View full activity feed →