权力下放安全性假设是,一个19岁的杭州人和一个可能在英国并且可能尚未决定互相串通的人. 过去一周,关于比特币网络中的采矿集中化问题引起了很大的骚动。我们看到一个单独的采矿池GHash.io累积了超过45个哈希功率达多个小时,并且在某个时刻甚至增长到整个网络的51个。比特币兑换的整个头版都在激烈的讨论中泛滥成灾,罕见的自满和恐惧冲突,矿工们迅速动员起来,从GHash手中夺走了其算力,并且出人意料地采用了巧妙的策略,试图恢复不同池之间的平衡,包括GHash的一名矿工,其采矿速度“介于50 TH / s和2 PH / s之间”,但包括 拒绝转发有效的区块, 基本上破坏了水池中的所有地雷,最多破坏了4处。现在,GHash的情况有所缓解。 降低到35个网络哈希功率 排名第二的是Discus Fish,直到16岁,这种情况可能会至少持续一小会儿,然后情况才会再次升温。问题解决了吗?当然不是。问题可以解决吗?这将是这篇文章的主要主题. 比特币挖矿 首先,让我们了解问题所在。比特币挖矿的目的是创建一个去中心化的时间戳记系统,使用本质上是多数表决机制来确定某些交易以什么顺序出现,以此作为解决双重支出问题的一种方式。双重支出问题很容易解释:如果我发送了一个发送100 BTC的交易给您,然后一天后我发送了一个发送100 BTC的交易给我,那么这两个交易显然无法同时处理。因此,两者中的一个必须“获胜”,而应该获得该荣誉的直观上正确的交易才是第一位的。但是,没有办法查看交易并以密码确定交易的创建时间。这就是比特币挖掘的步骤. 比特币挖矿的工作原理是让称为“矿工”的节点汇总最近的交易并产生称为“区块”的程序包。为了使一个区块有效,它包含的所有事务都必须是有效的,它必须“指向”(即包含其哈希值)一个有效的先前区块,并且必须满足“工作证明条件”(即SHA2562(block_header) <= 2190,即块标题的双哈希值必须以大量的零开始)。由于SHA256是伪随机函数,因此制作此类块的唯一方法是反复尝试生成它们,直到碰巧满足该条件为止。 2190“目标”是一个灵活的参数;它会自动调整,因此平均而言,整个网络需要工作十分钟才能使一个节点幸运并成功。一旦发生这种情况,新生成的块将成为“最新”块,每个人都开始尝试挖掘指向该块的块作为前一个块。该过程每十分钟重复一次,构成了比特币网络的主要操作,创建了一个不断加长的区块链(“ blockchain”),按顺序包含了曾经发生的所有交易。. 如果一个节点看到两个或更多竞争链,则认为最长。它是最有效的工作量证明之一。随着时间的流逝,如果同时运行两个或更多链,则可以看到具有更多计算能力支持的链最终将如何获胜。因此,该系统可以描述为“一个CPU周期一次表决”。但是存在一个漏洞:如果一个政党或一个政党合谋集团拥有全部网络权力中的50%以上,那么该实体就可以单独控制投票过程的多数控制权,并且可以超越其他任何链条。这为该实体提供了一些特权: 实体只能将自身产生的块确认为有效,从而阻止其他任何人进行挖掘,因为其自身的链永远是最长的。随着时间的推移,这将使矿工以BTC计价的收入翻倍,而其他人则要付出代价。请注意,这种攻击的弱势版本“自私挖矿”在大约25的网络功率下开始生效. 实体可以拒绝包含某些交易(即审查制度) 该实体可以“回到过去”并在N个区块之前开始挖掘。当此分叉不可避免地超过原始分叉时,这将消除分叉点之后原始链中发生的任何交易的影响。可以通过(1)将BTC发送到交易所,(2)等待6个区块以确认存款,(3)购买和提取LTC,(4)撤消存款交易并转而发送来赚取非法利润。这些硬币退还给攻击者. 这就是可怕的“ 51攻击”。但是,值得注意的是,即使使用99的哈希能力也无法赋予攻击者特权给自己分配任意数量的新硬币或窃取其他任何人的硬币(除非通过反向交易)。另一个重要的一点是,不需要网络51发起此类攻击;如果您要欺骗的是在等待N个确认后欺骗接受交易的商人(通常是, N = 3 或者 N = 6 如果您的采矿池具有网络的P部分,则可以成功进行操作: (P /(1-P))^ N 以35的哈希强度和3次确认,这意味着GHash当前可以以15.6成功概率从山寨币交易所窃取山寨币-每六次尝试一次. 泳池 这是我们去游泳池的地方。比特币挖矿是一种有益的方法,但不幸的是,这种方法的变化很大。如果当前 100 PH / s网络, 如果您以1 TH / s的速度运行ASIC,那么每100000区块中有1个机会获得25 BTC的区块奖励,但是100000中的其他99999次您将一无所获。鉴于网络哈希能力目前每三个月翻一番(为简单起见,例如12500个块),那么您的ASIC会产生奖励的概率为15.9,而ASIC的总终身收入的概率为84.1. 矿池充当一种反向保险代理人的角色:矿池要求您将其开采到自己的地址而不是您的地址,并且如果您生成一个工作证明几乎足够但不够充分的区块,称为“份额” ,那么该池会给您较小的付款。例如,如果主链的挖掘难度要求哈希值小于2190,则共享的要求可能为2190。因此,在这种情况下,您将大致每100个块生成一个共享,并从中接收0.024 BTC矿池中的千分之一将获得25 BTC的奖励。每块预期的0.00024 […]