**延迟问题 另一个值得讨论的问题则是。工作协商实例 弄清楚工作协商具体是如何运作后。工作协商过程需要几秒钟完成。
对阶层Stratum V2协议中的工作协商(Job Negotiation)以及它将如何改进比特币挖矿的去中心化的解释。
近期Square Crypto表示将对阶层Stratum V2协议的开发提供资金支持,我们觉得现在是时候向大家进一步解释工作协商的作用及其带来的好处了。
要想弄清楚V2协议有哪些实际上的改进,了解使用阶层协议的矿池挖矿过程由为关键。因为在阶层协议官网stratumprotocol.org上的技术文档中,没有明确解释使用阶层V1和V2协议进行矿池挖矿的相关技术过程,所以我们将以此开始。然后我们将对广大矿工有提到的两个最常见的,关于在V2协议中矿工自己选择工作的实用性问题进行讨论。由此,我们也将对币圈人担心的理论上最大的攻击形式之一——“国家攻击”进行探讨。最后,我们将阐述V2协议将如何适应现代比特币挖矿行业短期和长期的商业运转。
为什么它叫工作“协商”?
首先我们要解释下新旧协议中挖矿的工作顺序。
如果您还不熟悉矿池是如何运作的,我们推荐您阅读Mastering Bitcoin的相关部分。
阶层Stratum V1协议
目前的矿池挖矿通常是这样进行的:
- 矿工连接到矿池
- 矿池向矿工发送工作分配(即不包含完整交易集的区块模板)
- 矿工进行工作(即以插入随机数值的方式,找出低于难度目标的哈希值)
- 矿工向矿池回传工作量证明(即由随机数找出的“足够好的”哈希值)
- 矿池验证工作量证明,并发现区块时向网络宣布
- 矿工按提交的工作量证明(所谓的份额 “Shares”)获得报酬
创建区块模板的实体只有矿池和进行单机挖矿的矿工。因为没有构建区块的交易集,在矿池挖矿的一般矿工不能创建区块模板。
阶层Stratum V2协议
未来的挖矿协议能让矿工选择并构建自己的区块,简化说明步骤如下:
- 矿工连接到矿池
- 工作协商者(即由矿工运行的软件,或矿工与矿池间的第三方)向上游的矿池节点发送对区块模板进行工作的请求。
- 矿池验证包含的交易是否有效*
- 矿池验证创币交易(Coinbase Transaction)是否正确(即是否支付到矿池地址)
- 矿池接受提出的区块模板**
- 矿工对自己的区块模板进行工作
- 如果区块被发现,矿工自己就可以宣布区块,且矿池对此无法进行审查
- 矿工根据其提交的份额获得报酬
由于宣布区块不一定依赖于矿池节点,因此宣布速度与矿工只进行单机挖矿(Solo Mining)时是一样快的。
*工作协商的经济问题
广大矿工提出的一个重要问题是,当不同的矿工可以在同一个旷池上对不同的区块进行工作时,收益将如何进行分配?答案是,每个矿工的收益都将会基于他们提交的份额的价值,而不是根据所挖矿区块的价值而定。
例如,假设一个矿池上的矿工同时对两个区块模板进行工作:
- 区块模板1的价值为:8 BTC
- 区块模板2的价值为:7.5 BTC
与值7.5 BTC区块2相比,矿工对值8 BTC的区块2进行挖矿将按比例获得更高的收益。这意味着有连接稳定的全节点的矿工,可以选择对相比于由矿池分发的区块价值更高的区块进行挖矿,从而相比于不自己提出区块模板的矿工能获得更高的收益。更重要的是,这意味着提出交易集价值更低区块的矿工,将因此按比例获得更低的收益,但同时他们不会影响矿池上其他用户的收益。
**延迟问题
另一个值得讨论的问题则是,在新区块被发现并广播后将发生什么。工作协商过程需要几秒钟完成,而计算寻找随机数时又是分秒必争的。这一问题可以通过通过异步启动来解决,则当矿池还在验证区块时,矿工可以立刻对自己的区块开始进行挖矿。当矿池完成对提出的区块模板的验证,矿工就会根据已经完成的工作获得收益。而当矿工提出的区块模板无效的情况下,从这几秒工作的份额将会被拒绝,矿工也不会获得任何收益。
提出的区块模板可以因两个原因被拒绝:
- 区块无效
- 审查
重要的是,一旦矿工发现他们提交的区块有效但仍收到被拒绝的错误提示,则表明旷池对矿工提交的区块在进行审查,此时矿工应选择重新连接到其他矿池或进行单机挖矿。因此,工作选择的意思不是说让矿工能够对任何他们想挖的随机区块模板进行挖矿,而是当矿工没有在全节点情况下,为矿工在矿池上挖矿时的一种早期预警系统,从而提醒矿工可能存在的矿池运营方审查矿工提交区块的问题。
工作协商实例
弄清楚工作协商具体是如何运作后,我们现在来看看它是如何可以被实际应用的。
假设有四家矿池拥有比特币全网的大部分算力,然后它们同时被某个恶意的第三方(例如其所在国的政府)“征用”。虽然矿池运营者并不想因此损害自己的名声和投资的网络,但恶意的第三方强迫他们进行51%攻击和深度重组。
在仅使用V1协议的情况下,向这四家矿池提供实际算力的矿工,直到为时已晚可能都不会意识到他们参与了这种他们并不情愿参加的攻击。
如果假设在未来一部分矿工能自己选择工作,当有效的区块模板被拒绝时,矿工就能立刻知道发生了什么问题。如果这四家矿池的持有大部分算力的矿工都能选择提出他们自己的工作,当矿池对区块进行审查时,他们就能立马得知这一情况并切换到其他矿池,从而有效地阻止51%攻击。当然也并不是说在这些矿池上的所有矿工都需要提出他们自己的工作——如果这些矿工是在进行全节点挖矿,让进行51%攻击的矿池上的算力总和低于50%也能达到效果。
上述案例中使用了四家矿池这个数量,是因为在当前的算力分配下,至少需要四家矿池才能进行51%攻击,但是如果在未来有一家矿池占据全网算力的大部分,则也可能会产生一样的结果。对到多数矿工而言,单机挖矿没有经济效益,所以重要的是一些矿池需要保持诚实并不对上述假设的情景妥协。
挖矿收益
由于矿池是矿工挖矿收益的暂时保管者,因此在例如当矿工提交的区块中有矿池不想要的交易时,矿池完全就可以不向矿工支付挖矿收益。换句话说,矿池仍可以通过给收益支付添加一些条件的方式,从而对矿工进行审查,这就违背了工作选择的去中心化目的。
对于这个争议, 有两个关键点要考虑:
- 在每轮挖矿开始时,矿池只会拒绝或接受区块模板,而矿工可以自己宣布已发现的区块。
- 矿池频繁地在向矿工发送收益支付(大多数情况下每天几次),因此矿工提出了有效的工作但不获得收益支付的经济风险很小。矿池不向矿工支付收益同时也会为矿池带来名誉上的损失并影响未来的业务发展。
和比特币生态圈的其他方面一样,在用户体验和安全性之间进行抉择当然是会有得必有失的。具有大量用户的大规模矿池并不是完全不可靠的,但是频繁地提供收益支付并拥有良好名誉能够减少风险,每次信任受到侵害时矿工切换矿池也是同理。
为去中心化而进行去中心化
尽管我们已经知道如何能实际应用V2协议的工作协商,但矿工对是否对能够构建自己的区块模板仍存在问题。
V2协议将如何改进比特币去中心化,取决于工作协商的采用程度,而这又是非常难的。我们可以想到未来会出现一些能够激励工作协商的采用的用例,这包括上文有提到的具有良好连接的节点的矿工能够选择更高价值的区块。从而获得更高收益的这样的用例。
最终,我们认为这是挖矿行业进化的自然组成部分。大矿工们正在投资数百万美元,建立并维护高效率的挖矿运营,而需要很长时间他们的投资才能回报。通过运营他们自己的全节点,并对自己的区块模板进行工作,矿工能以最小的成本为比特币网络带来冗余(安全性),并强化比特币的基本理念。这也代表了每个希望保护并最大化自己长期投资回报率的矿工的利益。
结论
将区块构建和宣布这两个功能从矿池支付收益分离也许不是完美的解决方案,但它提供了一种对矿池运营商恶意行为的早期预警系统。它也让挖矿网络中会有更多的全节点,并以能够挖含有更高交易手续费的更高价值的区块的方式,激励它们保持稳定的连接。
新协议不会马上被采用,实际上可能需要很多年。尽管如此,我们作为矿池运营商也一直致力于构建阶层Stratum V2协议的完整应用,为我们的矿工提供工作协商功能 ,并向币圈传授关于比特币生态系统中这一重要且经常被误解的领域的真知灼见。同时,我们希望其他矿池运营商也可以加入我们,共同参与这项有价值的倡议。
补充阅读
有关阶层Stratum V2协议解决的更多矿池漏洞的信息,我们强烈建议阅读StopandDecrypt撰写这篇有关工作协商的前身——BetterHash的文章。
申明:本站所发布文章仅代表个人观点,不代表链嗅网立场。
提示:投资有风险,入市须谨慎。本资讯不作为投资理财建议。