由于宣布区块不一定依赖于矿池节点,因此宣布速度与矿工只进行单机挖矿(Solo Mining)时是一样快的。 工作协商的经济问题广大矿工提出的一个重要问题是,当不同的矿工可以在同一个旷池上对不同的区块进行工作时,收益将如何进行分配?答案是,每个矿工的收益都将会基于他们提交的份额的价值,而不是根据所挖矿区块的价值而定。 例如,假设一个矿池上的矿工同时对两个区块模板进行工作:
与值 7.5 BTC 区块 2 相比,矿工对值 8 BTC 的区块 2 进行挖矿将按比例获得更高的收益。这意味着有连接稳定的全节点的矿工,可以选择对相比于由矿池分发的区块价值更高的区块进行挖矿,从而相比于不自己提出区块模板的矿工能获得更高的收益。更重要的是,这意味着提出交易集价值更低区块的矿工,将因此按比例获得更低的收益,但同时他们不会影响矿池上其他用户的收益。 延迟问题另一个值得讨论的问题则是,在新区块被发现并广播后将发生什么。工作协商过程需要几秒钟完成,而计算寻找随机数时又是分秒必争的。这一问题可以通过通过异步启动来解决,则当矿池还在验证区块时,矿工可以立刻对自己的区块开始进行挖矿。当矿池完成对提出的区块模板的验证,矿工就会根据已经完成的工作获得收益。而当矿工提出的区块模板无效的情况下,从这几秒工作的份额将会被拒绝,矿工也不会获得任何收益。 提出的区块模板可以因两个原因被拒绝:
重要的是,一旦矿工发现他们提交的区块有效但仍收到被拒绝的错误提示,则表明旷池对矿工提交的区块在进行审查,此时矿工应选择重新连接到其他矿池或进行单机挖矿。因此,工作选择的意思不是说让矿工能够对任何他们想挖的随机区块模板进行挖矿,而是当矿工没有在全节点情况下,为矿工在矿池上挖矿时的一种早期预警系统,从而提醒矿工可能存在的矿池运营方审查矿工提交区块的问题。 工作协商实例弄清楚工作协商具体是如何运作后,我们现在来看看它是如何可以被实际应用的。 假设有四家矿池拥有比特币全网的大部分算力,然后它们同时被某个恶意的第三方(例如其所在国的政府)「征用」。虽然矿池运营者并不想因此损害自己的名声和投资的网络,但恶意的第三方强迫他们进行 51% 攻击和深度重组。 在仅使用 V1 协议的情况下,向这四家矿池提供实际算力的矿工,直到为时已晚可能都不会意识到他们参与了这种他们并不情愿参加的攻击。 (责任编辑:admin) |