比特币矿池算力集中化带来的相关的安全话题总是隔三岔五在比特币圈里被谈起。今年早些时候的GHash危机,还有早些时候的BTCGuild(他们已经宣布业务即将关停——真是一个王者的覆灭)。自然,这些所谓的危机并没有对比特币生态系统带来任何实质性威胁,除了引来一些有暴露癖的人唧唧歪歪。比如像 Peter Todd就在不停的对他的周围唠叨:“我已经卖了我一半的比特币*~#*因为矿池的安全问题太严重啦。”
51%攻击是什么?好吧,我再啰嗦一遍,所谓的51%的攻击,是只有当一个人控制超过全网一半的算力才会发生的攻击行为。然而,矿池主并不能控制自己矿池里的算力。算力的所有者才可以控制它们。如果你非要说矿池主可以控制自己算力,就好比说当首席执行官不是公司一个大股东的情况下可以控制一个公司。可撤销的权力那就不是真正的权力。当然,你也可以说首席执行官可能会游说甚至压制股东们听从他,但这种情况不太可能发生在矿池运营商身上的,因为他们通常扮演的角色并非是领导人角色。
当一个池运行的算力超过全网算力一半时,它可能会借机搞一些鬼,但这些也只会在非常短的时间内发生。例如,GHash.io的表现是攻击赌博网站。不然的话,如果矿池主想把这种恶意行为延长,矿工们会很快转移到另一个矿池。不幸的是,大多数人对此类事件的反应都是咬牙切齿的咒骂矿池的集中化弊病,而不是讨论如何改善矿池业的基本设计法则,从而使矿工在未来会更容易应对此类事件。
矿池算力不断集中化是有原因的,大矿池的收益相对来说更加稳定,小矿池的收益往往显示出很大的不稳定性,因此反对矿池算力集中化的努力注定是一场艰苦的战斗。总是会有一些大型矿池控制很大比例的算力,因为这是由矿池业的自身特殊性所决定的。既然如此,与其尝试不可能的达到的目的,不如建立一套矿工可以从容灵活应对矿池业不良行为的机制。
一个矿池一旦开始恶意行为或试图进行51%攻击是可以被检测到的,可以开发一种这样的软件:使得矿工可以对此恶意行为进行自动反应。例如,矿工可以同时连接到多个矿池,可以在某一个矿池算力过于集中时自动把算力调剂给别的池。其实为了自身的利益,矿工实际上也有理由这么做。这个BitcoinTalk上的帖子
https://bitcointalksearch.org/topic/mine-in-multiple-pools-to-reduce-variance-78031 的讨论显示,矿工可以通过设置多个矿池来减少他们收益的误差。我认为这是一种方案,矿工如果都设置成类似的自动反应模式,那么就意味着矿池对算力不拥有任何真正的权力。
在这方面已经有人做了一些工作,使矿工们变得更加独立于矿池。2012年,getblocktemplate()协议被开发并取代了老的getwork协议。该协议给个体矿工们权力以决定交易信息被发送到哪个块( decide which transactions go in each block) 。不幸的是现在还没有被广泛使用,因为它需要个体矿工必须运行完整的节点,需要在矿池和矿工之间拥有足够的带宽,以此证明矿工正在对矿池做贡献。
还有其他的保障措施,也可以有效抑制算力集中化倾向。大矿池主们可以约定一个协议,如果他们其中一个变得过大(约占全网算力的25%就会使该矿池恶意挖矿成为可能),则其他矿池可以忽略从他这个矿池出产的块。所有这些都需要矿池之间的协调配合。
还有一招,可以通过重新对比特币钱包的功能进行修改完善,使得用户交易时可以自主选择将交易费发送给哪些矿池。这将使一些小型矿池的额外收益增加(用户交易时把手续费发送给这些小矿池)。这些在技术上都是可以实现并被设置成自动完成的。
经济学谬误往往是由于未能正确区分哪些是可以改变而哪些是从不变化的。通常情况下,这会导致人产生一种忧虑:某些特定的趋势将不可控的发展下去,或导致因果关系的混乱。一般来说,更具有适应能力的阶层是经济改革的驱动因素,而弱的一方只能对它做出应对反应。如果未能识别出哪一方才是更具有适应能力的一方,就会导致你认识不到哪个因素是对结果有决定性作用的驱动因素。在比特币领域来说,算力的所有者适应性总是比矿池主要大,因此他们有办法控制矿池业的发展。
综上所述,矿池算力集中化倾向的解决方案可以设置成由矿工、用户和其他矿池自动反抗来实现。然而,如果算力过于集中这一问题已经出现较大的风险了,那么这些措施应该都建立起来了。到目前来看, 当一个矿池算力变得过大的时候,依靠非正式的解决方案已经足够提醒矿工们重新分配他们的算力了。如果算力过度集中真的成为一个严重的问题——那么这个问题会使得比特币价值受到破坏——所以那时矿工们会想出更好的办法来阻止它。有这么多选项在,你还有什么担心的?枕着你的比特币安稳睡觉吧! 摘自:
巴比特