BetterHash协议:让矿工重新掌控自己的哈希算力

蓬蒿人
蓬蒿人 得得号

Feb 12, 2019 分享区块链硬核知识。

摘要: 比特币挖矿生态系统的中心化是许多人担心的一个问题,幸运的是,有很多天才开发者正在努力解决这个问题,Chaincode Labs的全职比特币开发人员马特•科拉罗(Matt Corallo)就是其中之一。他提出的BetterHash挖矿协议,旨在显著降低与矿池中心化相关的问题。

作者:CJ Reichel

来源:Bitcoin Magazine

翻译:蓬蒿人

什么是矿池?

首先,要知道比特币网络上有不同类型的矿工,这很重要。在本文中,我们将单独挖矿的人称为“独立矿工”,将在矿池中挖矿的人称为“联合矿工”,而“矿池运营商”则控制着整个矿池。

单独挖矿是有风险的,因为只有相对较少的哈希算力对块的生成起作用。当独立矿工发现区块时,奖励可能很高,但并不常有。出于这个原因,许多矿工加入矿池,这样他们就可以少量多次的获得奖励。池化就是许多矿工加入到一起并将他们的区块奖励汇集起来。当他们中的任何一个发现新区块,不是获得整个区块奖励,而是根据对网络贡献的哈希率,按比例得到分配(扣除给矿池运营商的费用)。通过这种方式,拥有较少算力的人在每天、某些情况下甚至是每小时,都能获得稳定的收益。

总体而言,矿池的主要功能就是为矿工提供持续的收入,这样他们就可以降低风险。此外,矿池还具有改善整个网络的重要辅助功能。例如,技术含量较低的小矿工可能不想处理矿池运营商面临的复杂问题,比如区块传播、区块创建以及其他高技术问题。加入矿池为技术水平较低的矿工提供了一种简单接入网络的方式,这样他们就可以专注于自己的优势,比如运营高效的采矿业务或寻找廉价的电力。

然而,正因为如此,目前只有少数几个大型矿池控制着网络,这导致了系统内部的高度集中。

什么是Stratum?

Stratum是矿池、客户端和挖矿硬件之间的协议层。用户通过Stratum协议与矿池进行连接和通信。在ASIC等挖矿硬件设备上,有一个控制板,它运行CG Miner等软件变体,然后“告诉” Stratum并连接到矿池。矿池告诉ASIC要处理什么,ASIC通过向矿池提交回共享来回应。共享是ASIC完成的工作,本质上不是很有效的区块,但足以证明矿工为矿池贡献了工作。

科拉罗对BetterHash的第一个目标是取代Stratum并改进其弱点。他比特币改进提案(BIP)中,描述了Stratum当前的一些缺点:

“Stratum协议的设计难以实现且记录不完整,要求矿池运营商为其客户构建和分发区块模板。如果没有多元化的矿工构建区块模板,整个网络的抗审查能力就会被削弱(例如,矿池运营商可能会利用手中的权力来限制协议的升级流程)。”

通过Stratum,矿池运营商确认每个矿工都为矿池贡献了工作。矿池运营商还负责创建处理事务选择的区块模板。由于无法创建区块模板,矿工无法控制要挖掘的内容。矿池运营商控制整个矿池的哈希率。

这是有问题的,因为矿池运营商或其中的一小部分人,可能勾结起来通过使用这些哈希算力来对网络进行恶意攻击。如此庞大的哈希算力若是掌握在一个坏人手中,他便可以发起51%攻击,并在网络上执行双重花费或审查。或者,如果恶意参与者劫持了矿池的DNS服务器或IP空间,那么攻击者可以窃取哈希率直到所有矿工都重启他们的ASIC硬件。

BetterHash vs. Stratum

BetterHash旨在防止这类攻击向量,因为它的设计允许用户运行自己的完整节点并构建自己的区块模板,这意味着可以选择自己的事务;例如,本来可能受到审查的交易。此外,矿工可以选择在哪个区块进行挖掘,以防止双重花费攻击。

尽管可以自定义区块模板,矿池也将像往常一样运行,根据拥有相同业务属性和支付频率的哈希算力重新分配奖励。

科拉罗在接受比特币开发人员Jimmy Song 采访时表示:

“对于整个网络,我们可以只有一个矿池,这并不是什么大问题。”

BetterHash协议概述和弱块的优点

BetterHash由一组协议组成,这些协议组合在一起,旨在为矿池提供更多文档、效率、安全性和分散性。在马特·科拉罗的BIP中,他在“BetterHash:Work and Pool”中描述了两个主要协议:

 “工作承载协议在直接传递给挖矿硬件时替换getblocktemplate和Stratum,而支付协议管理所有矿池< - >客户端通信。这些功能的隔离为矿池参与者提供了构建区块模板的能力,这些模板包含他们(或他们选择的另一个池)选择的交易,同时矿池负责监督支付的分配。”

这些协议为矿工提供了关于应该如何构建coinbase交易(区块奖励)以及在何处发送挖矿奖励的信息。此外,他们还向用户提供了关于如何向矿池上传共享信息,以便矿工能够证明他们为矿池贡献了工作。总的来说,这两个协议的分离使矿工能够创建自定义区块模板,同时仍然可以获得矿池提供的经济效益。

矿池协议的另一个特征是能够发送弱块,这有助于矿池优化区块传播。科拉罗在他的提案中描述了这个协议:

“对于希望优化区块传播的矿池,该协议有一个可选的附加功能,通过在客户端将WEAK_BLOCK发送到矿池服务器,以便上传完整区块是有效的。”

弱块不是一个新概念,但当成功实施时可以产生效益。弱块是用户经常提交到矿池中的共享。请记住,共享是由挖矿硬件执行的工作,但对完整区块来说还不够。每当矿池发现与旧弱块具有相同难度的新块时,矿池可以发送该弱块的压缩版本并将其与新块进行比较。矿池用户通过WINNING_NONCE或SHARE / WEAK_BLOCK消息提交有效共享。这在相较之下可以让矿池更快地上传完整区块,并最终提高挖效率。

虽然BetterHash的目的是将权力归还给挖矿人员,但创建区块模板需要技术知识,并非所有矿工都想要处理这些复杂的问题。出于这个原因,科拉罗解释说他并不期望技术含量较低的矿工可以在一夜之间切换到 BetterHash:

“矿池代表用户优化软件。出于这个原因,我不认为有多少矿池(矿工)有兴趣采用这样的协议(BetterHash),这需要他们付出努力,比如管理和运营一个完整的节点。”

对BetterHash的批评

尽管许多人对BetterHash降低挖矿中心化问题的潜力持乐观态度,但科拉罗的提议也受到了一些批评。对BetterHash最引人注目的批评之一来自Bitware Co.创始人、Libbitcoin开发者埃里克•沃斯库尔(Eric Voskuil)。沃斯库尔的主要论点是,BetterHash并没有显着降低中心化问题。他在GitHub和Twitter上表达了自己的观点:

“这个提议(BetterHash)并没有通过增加去中心化来提高比特币的安全性,它只是转移了中心点。这与他(马特·科拉罗)在接力赛中制造的缺陷本质上是一样的。”

BetterHash之所以被批评为“只是转移了中心点”,是因为矿池运营商仍然拥有很大的控制权,因为他们可能会迫使矿工在得不到奖励的威胁下审查某些交易。

对此,科拉罗回应道:

“诚然,矿池仍然可以胁迫用户运行某些规则,否则就拒绝支付,以此来对他们产生影响,但这需要矿池和客户端都采取积极行动。今天,矿池可以在不告知用户的情况下自由切换,用户甚至需要付出巨大的努力才能发现这一点,更不用说通知同一矿池的其他用户切换到竞争对手。使用Betterhash,矿池需要通知用户,此时用户切换矿池比切换节点更容易。”

尽管构建矿池和使用BetterHash的软件目前可用,但并没有大型矿池使用它。今天,科拉罗仍致力于增加BetterHash的使用,以便矿工在未来有更多的选择。

(作者:蓬蒿人,内容来自链得得内容开放平台“得得号”;本文仅代表作者观点,不代表链得得官方立场)

链得得仅提供相关信息展示,不构成任何投资建议
本文系作者 蓬蒿人 授权链得得发表,并经链得得编辑,转载请注明出处、作者和本文链接

更多精彩内容,关注链得得微信号(ID:ChainDD),或者下载链得得App

分享到:

相关推荐

    评论(1

    • 梦幻空间 梦幻空间
      回复
      0

      分析的很有道理

      Feb 14, 2019 via android

    Oh! no

    您是否确认要删除该条评论吗?

    分享到微信