Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Create 1.0.0 Announcement 🎉 #201

Merged
merged 5 commits into from
Mar 21, 2024
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
73 changes: 73 additions & 0 deletions src/_blog/SRI-1.0.0.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
---
title: "Introducing SRI 1.0.0 - the most important milestone in our Stratum V2 journey!"
description: "We are thrilled to announce the launch of SRI 1.0.0! This marks an important milestone in our mission to decentralize and enhance bitcoin mining and stands ready for immediate testing and integration."
date: "2024-20-04"
pavlenex marked this conversation as resolved.
Show resolved Hide resolved
authors:
- Pavlenex
tags:
- StratumV2
- SRI
- Release

---

We are thrilled to announce the launch of SRI [1.0.0](https://github.com/stratum-mining/stratum/releases)! This marks an important milestone in our mission to decentralize and enhance bitcoin mining and stands ready for immediate testing and integration.

Start your SV2 journey with our [getting started guide](https://stratumprotocol.org/getting-started/).

## 🛎️ Key highlights

### 👷 Miners
- Connect to a SV2 pool without upgrading existing SV1 firmware through Translation Proxy or
- Connect to an SV2 pool directly with an SV2 firmware device (BraiinsOS)
- Run you own bitcoin, construct templates, and declare them to the SV2 Pool
pavlenex marked this conversation as resolved.
Show resolved Hide resolved
- Utilize pool fallback functionality in case the pool decides to censor

### 🛠️ Pools
- Deploy and operate a very simple SV2 Pool
- Integrate SV2 into an existing pool through our libraries

The new version is a result of improvements in the Stratum V2 [specification](https://github.com/stratum-mining/sv2-spec) through the working [group](https://www.cnbc.com/2022/10/11/bitcoin-mining-software-overhaul-stratum-v2-promoted-by-block-braiins.html) collaboration and rigorous testing with our interoperability suite to ensure compatibility between the two implementations of the Stratum V2 protocol.

As we planned [eight months ago](https://stratumprotocol.org/blog/sri-roadmap-2023/), the release allows miners running SV1 or SV2 firmware to connect to an SV2 Pool (directly or through a translation proxy), optionally using a locally hosted Job Declaration Client and a patched version of the Bitcoin Node to **construct their own block templates** which are then sent to the Job Declarator Server run by the SV2 Pool. It’s important to mention that our code refactoring introduced the ability for the node and JDC to be run by an independent third-party, not just the miners.
pavlenex marked this conversation as resolved.
Show resolved Hide resolved

![Config A](/assets/config-a.svg)

The newly implemented **pool fallback functionality** ensures that if a pool rejects a miner's template, the miner's Job Declarator Client automatically switches to an alternative pool. Miners can configure several fallback options and if all listed pools decide to censor, miners will end up solo mining. This serves as a powerful incentive for pools to act in the best interest of miners, as rejecting templates without a valid reason could lead to a significant loss of hash power to competitors. If all miners run standardized software, the entire hash rate of the pool could end up with a competing pool.

The rejection of templates triggering fallback could be happen in several other scenarios, asides from the pool rejecting the template in order to censor transactions:
pavlenex marked this conversation as resolved.
Show resolved Hide resolved

- A bug in the pool or downstream
- A connection interruption between the pool and downstream
- Downstream creates custom templates that are below acceptable fee policy defined by the pool
pavlenex marked this conversation as resolved.
Show resolved Hide resolved

**SRI’s pool** is simple and opinionated and currently can receive a template from the Template Provider, and create jobs for the downstream with the adequate difficulty. Anyone can easily deploy this simple pool today or use our libraries to integrate into their existing operations. Going forward, we plan to continue refactoring our code to allow for more diverse use-cases. Anyone interested in integrating SV2 into an existing pool, or starting a brand-new pool, [let us know](https://discord.gg/stEjAZ2y8r), we’d love to collaborate more closely. One example of a pool using SRI in production is [DMND](https://dmnd.work).

**Template provider** enables the selection of transactions from the locally-run bitcoin node. Miners (soon, also independent third parties) can create custom block templates and declare custom mining jobs to the pool. Currently, to use the Template Provider you need to use our patched version of the Bitcoin Core. Sjors Provoost, opened a pull request in the Bitcoin Core [#29432](https://github.com/bitcoin/bitcoin/pull/29432) which can be tested and reviewed. We’re inviting code reviewers to take a look at smaller PR’s that build [#2943](https://github.com/bitcoin/bitcoin/pull/29432).
pavlenex marked this conversation as resolved.
Show resolved Hide resolved

## 🙏 Thank you!

SRI 1.0.0, wouldn’t be possible without our contributors, supporters, working group, testers, and community. Since our last update, our contributor base has grown even further! What once started as a one-man project, is a community of contributors building backbone infrastructure for the entire mining industry.
pavlenex marked this conversation as resolved.
Show resolved Hide resolved

A huge shout-out to: fi3, gitgab19, pavlenex, plebhash, priceless-p, satsie, sjors, ccdle12, darricksee, jakubtrnka, lobarrel, lorbax, rrybarczyk, vincenzopalazzo, 4ss0, 0xSaksham and many more!

Thanks to [HRF](http://hrf.org), [OpenSats](https://opensats.org), and [Spiral](http://spiral.xyz) for supporting contributors through grants and donations, ensuring the project's sustainability.
Special thanks to [Santacroce](https://santacroce.xyz/), [Hut8](http://hut8.io), and Oblast63 for providing the equipment for community testing, and to the working group members, including [Braiins](https://braiins.com) and others, for their role in refining the specifications.

## 🎁 Support us

- Individuals can support the development and maintenance of the SRI by [donating through OpenSats](https://opensats.org/projects/stratumv2), a 501(c)(3) public charity dedicated to supporting open-source Bitcoin projects.
- Corporate entities interested in providing grants to SRI contributors, please get in touch with us directly. Your support can make a significant difference in accelerating development, research, and innovation. Email us at: stratumv2 at gmail.com
- Contribute - We’re inviting developers interested in contributing to SRI to look into our codebase, study the specs and join our regular weekly developer meetings on Discord to get up to speed and get proper onboarding.

## 🏁 Dive in

After months of testing, including over [600 blocks](https://mempool.space/it/testnet/address/tb1qa0sm0hxzj0x25rh8gw5xlzwlsfvvyz8u96w3p8) mined on the testnet, we are confident to invite you to [experience SRI 1.0.0](https://stratumprotocol.org/getting-started/) firsthand.
pavlenex marked this conversation as resolved.
Show resolved Hide resolved

Your feedback, issue reports, and feature suggestions are invaluable to us, directly shaping the future of SRI. For the most straightforward experience, consider running the full stack locally or connecting to our community-supported infrastructure.

To ensure SRI 1.0.0 works seamlessly across various setups, we encourage you to [share your testing experience](https://forms.gle/QAX3hriMzKAMELFB6).

Please [report](https://github.com/stratum-mining/stratum/issues) any inconveniences or bugs, and feel free to ask for assistance through [Discord](https://discord.gg/stEjAZ2y8r). Your active participation is crucial in refining and enhancing our software for all everyone.
pavlenex marked this conversation as resolved.
Show resolved Hide resolved

**Start your SV2 journey [here](https://stratumprotocol.org/getting-started/).**
Loading