From a93dc7b18477daff57b3e78f647e7873da612ea5 Mon Sep 17 00:00:00 2001 From: Pavlenex Date: Thu, 14 Mar 2024 11:17:20 +0500 Subject: [PATCH] Apply suggestions from code review Co-authored-by: Stacie Waleyko <1823216+satsie@users.noreply.github.com> --- src/_blog/SRI-1.0.0.md | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/_blog/SRI-1.0.0.md b/src/_blog/SRI-1.0.0.md index cf3899a..9e81c90 100644 --- a/src/_blog/SRI-1.0.0.md +++ b/src/_blog/SRI-1.0.0.md @@ -20,7 +20,7 @@ Start your SV2 journey with our [getting started guide](https://stratumprotocol. ### 👷 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 +- Run you own bitcoin node, construct templates, and declare them to the SV2 Pool - Utilize pool fallback functionality in case the pool decides to censor ### 🛠️ Pools @@ -29,25 +29,25 @@ Start your SV2 journey with our [getting started guide](https://stratumprotocol. 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. +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 a Bitcoin Core 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. ![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: +Aside from pools rejecting templates with transactions they wish to censor, there are several other scenarios where template rejection could trigger the pool fallback feature: - 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 +- Downstream creates custom templates below the acceptable fee policy defined by the pool **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). +**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 Bitcoin Core. Sjors Provoost opened a pull request in the Bitcoin Core repo [#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). ## 🙏 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. +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 now a community of contributors building backbone infrastructure for the entire mining industry. 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! @@ -62,12 +62,12 @@ Special thanks to [Santacroce](https://santacroce.xyz/), [Hut8](http://hut8.io), ## 🏁 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. +After months of testing, including over [600 blocks](https://mempool.space/testnet/address/tb1qa0sm0hxzj0x25rh8gw5xlzwlsfvvyz8u96w3p8) mined on testnet, we are confident to invite you to [experience SRI 1.0.0](https://stratumprotocol.org/getting-started/) firsthand. 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. +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 everyone. **Start your SV2 journey [here](https://stratumprotocol.org/getting-started/).** \ No newline at end of file