Get in Touch
抱歉,此页面目前还没翻译成中文

compare mining protocols

Stratum V1 has been the standard since it was introduced in 2012. However, much has changed since then, and the old protocol doesn't perform optimally for the modern mining industry. BetterHash and Stratum V2 make significant quality upgrades, as you can see below.

V2协议的优越性

compare mining protocols

Stratum V2 Logo

更低的矿工运转成本

通过减少数据使用量和启用更简单的设置(例如仅头段挖矿)给矿工省钱,同时减少矿工算力差异(Hashrate variance)。

更多
较少

更低的矿池运转成本

通过减少数据传输的频率和大小,以及为只进行仅头段挖矿的矿工,减少他们所需提交份额的工作量验证的大小,能为矿池省钱。

更多
较少

协议升级简化

通过更高的标准化,并名为仅头段挖矿的简化挖矿模式,使比特币协议升级变得更简单。仅头段挖矿能消除挖矿固件和协议与全节点一并都需要升级的要求。

更多
较少

易于扩展

支持不会污染主要挖矿协议或不会让矿池的应用变的更复杂的,特定开发商的扩展。

更多
较少

预防算力劫持

阶层协议V2(Stratum V2)使用带关联数据的认证加密 (AEAD),AEAD能确保敏感数据的加密性和完整性,从而让矿工的算力不能被窃取。BetterHash则针对中间人攻击的向量,提出了使用消息前签名(Pre-message signing)方法,尽管不如AEAD那样彻底。

更多
较少

自定义工作选择

矿工能自己选择他们的工作(即交易集)了,这意味着挖矿将变得更像阶层协议之前的单机挖矿(Solo Mining)时期那样,但矿工仍可同时享受在矿池挖矿带来的奖励差异减少的好处。

更多
较少

单独的工作选择协议

BetterHash的工作选择无法被矿池应用。阶层协议V2(Stratum V2)通过将工作选择设为单独的子协议组,并允许矿池拒绝有矿工提出的无效区块来解决这个问题。

更多
较少

Has a firmware implementation

An implementation of Stratum V2 is part of BOSminer, which is a free and open-source project developed by Braiins. This means that miners can download BOSminer and easily begin benefiting from V2 in their operations.

更多
较少

空区块消除

阶层协议V2(Stratum V2)将上一区块哈希值(prevhash)与其余的区块模板分开,这样一个完整的区块就能被提前准备好并发送给矿工,从而就消除了在发现一个新区块后要立即发送一个空区块的动机。

更多
较少

零时后端切换(Zero-time Backend Switching)

阶层协议V2(Stratum V2)在设计上能让矿工同时在多个矿池上进行挖矿,或同时挖矿多种币,并在它们之间即刻切换。这改进了例如币种切换功能的效率。

更多
较少

Brief History of Mining Protocols

Miners need to interact with the Bitcoin protocol to submit their work and be rewarded. To standardize the communication between miners and Bitcoin protocol, an open-source “getwork” protocol was developed. It acted as a quick and easy solution for standalone miners to start mining. But by 2012, getwork’s inefficiencies had grown very problematic as mining underwent radical changes and network hashrate grew exponentially.

Mining profitability decreased and rewards were being paid out on a less frequent basis as more miners joined the network. It became apparent that miners needed to combine their hashrate to remain profitable. This led to the introduction of mining pools: services which enabled miners to earn rewards on a more consistent basis by combining (i.e. “pooling” together) the hashrate from many individual miners.

The first ever mining pool was developed by Marek “Slush” Platinus in 2010 and was called Bitcoin.cz. It was later renamed to Slush Pool and operations were handed over to Braiins, who continue running the pool to this day. 

As data transfer requirements for pools grew exponentially, the limitations of the getwork protocol became even more apparent. This led Slush to develop the stratum protocol (Stratum V1) for communication between miners and mining pools in 2012.

During the Stratum V1 development, other members of the mining community had spent months developing an open-source protocol called “getblocktemplate“(BIP22) that would supersede the “getwork” protocol. With Stratum V1 being released near the same time, direct adoption for the getblocktemplate protocol suffered. However, Stratum V1 had shared a lot of the getblocktemplate mechanisms under the surface.

Over recent years, total network hashrate has grown exponentially and physical hashrate distribution has also improved. However, the fact that a majority of hashrate is ultimately concentrated in just a few mining pools leaves the network vulnerable to a (albeit very unlikely) 51% attack from a powerful state actor such as the US or China. 

Taking control over mining pools within their jurisdictions would be essentially free for governments, whereas taking over physical mining operations or setting up their own physical mining operations would be complex and incredibly costly. Therefore, shutting off this attack vector is an important way to ensure Bitcoin’s long-term resilience to possible state attacks.

Today, miners depend on mining pools to assign them blocks to work on. If miners were empowered to construct their own block templates again — as all miners used to do in the early days of CPU mining — it would make a pool attack far more difficult to pull off.