区块链 矿工奖励

  • 矿工奖励

    正如我们在“比特币-采矿”一章中所看到的,在任何给定时间段内,矿工可能会被许多交易淹没。系统中预先定义了一个块的最大大小,因此必须在该块中仅包含一定数量的事务。
    区块中的交易数量取决于预定义的区块大小和每个区块的平均长度。这里的一个重要提示是,发件人不应在其消息中包含太多信息,以使其简短,从而激励矿工在其他冗长的消息之前接受它。
    通常,发件人还会根据一定数量的比特币增加交易费,以激励矿工尽早将其包括在他的区块中。
    构建区块链的另一个结果是它的规模。在一段时间内,整个区块链可能变得太大,以至于节点无法将其存储在其磁盘上。这可以通过使用下面描述的Merkle树来解决。
  • Merkle(默克尔)树

    节点中磁盘空间的问题很容易克服,因为一个块中的所有事务都在Merkle树中进行了哈希处理,如图所示-
    tree
    现在,块标题包含上一个块的哈希,随机数和Merkle树中当前块中所有事务的根哈希。由于此根哈希包括块中所有事务的哈希,因此可以修剪这些事务以节省磁盘空间。所以现在您的区块链将如下图所示-
    tree
  • 付款验证

    考虑一种情况,作为卖方,您可能希望验证过去的某笔付款。由于您持有的机器上的区块链仅包含块头,如上图所示,因此您要搜索的交易在区块链副本中丢失。
    现在,您可以在区块链副本中向后搜索,直到找到带有时间戳的交易所在的区块。现在,请求选定区块的merkle树,您将拥有您要寻找的交易。如下图所示-
    tree
    在这里,我们假设您正在寻找Tx103。尽管您可能看不到Tx103的内容,但您知道它已被它所属的块和链中所有后续块所接受。因此,您可以放心地信任此交易并继续开展业务。
  • 解决冲突

    如我们所见,比特币网络包含多个矿工。两个不同的矿工有可能同时解决工作量证明,从而将他们的区块添加到链中的最后一个已知区块。下图所示-
    blockchain
    现在,我们在块3之后有两个分支。两个分支均有效。因此,下一个开采的区块可能会添加到任一分支中。假设矿工将新开采的区块添加到区块104-A,包含区块104-A的分支将比包含区块104-B的分支更长。下图所示-
    blockchain
    在比特币架构中,最长的分支总是赢,而较短的分支则被清除。因此,必须清除104-B块。在清除该块之前,该块中的所有事务都将返回到事务池中,以便将其挖掘并添加到将来的某个块中。这是解决冲突的方法,并且系统仅维护一个块链。
  • 隐私

    由于记录所有比特币交易的分类账真正公开,隐私受到威胁。世界上任何人都可以知道谁向谁付款?传统的银行系统能够通过对记录进行保密来维护这种隐私。
    比特币系统中的隐私是通过不同的策略实现的。请注意,我们说过,比特币的发送者需要知道向谁付款。因此,他要求向其付款的接收方提供的公钥。此公共密钥可以是匿名的。
    从某种意义上说,作为某些服务的供应商,当有人问您将付款发送到哪里时,您只需将其公钥发送给他即可。此公共密钥与您的关联未记录在分类帐中的任何位置。这样,此交易之外的任何人都只会知道交易了多少钱,以及将钱支付给了哪个公钥。
    为了获得更高的隐私级别,对于每笔交易,您都可以为每笔交易生成一个新的私钥/公钥,这样第三方无法将您进行的多笔交易分组在一起。对于局外人而言,这仅意味着进行了多次较小价值的交易,而这些交易将永远不会链接到相同的来源。
    最后,任何基于互联网的在线系统都容易受到滥用。我现在将描述对比特币系统的几种可能的攻击类型以及如何缓解这些攻击。
    种族攻击
    作为攻击者,您可能会通过使用两台不同的计算机将同一枚币快速连续地发送给不同的供应商。如果供应商在交付货物之前不等待块确认,他们将很快意识到在采矿过程中交易被拒绝。解决这种攻击的方法是,卖方必须等待至少一个块确认后才能发出货物。
    芬尼攻击
    在这种情况下,攻击者是矿工。矿工用他的交易开采一个区块,并且不会在系统中释放它。他现在在第二次交易中使用相同的币,然后释放预先开采的区块。显然,第二笔交易最终将被其他矿工拒绝,但这将需要一些时间。为了减轻这种风险,卖方应至少等待六个区确认后才能放行货物。
    51%攻击
    在这种攻击中,我们提出了一个不切实际的假设,即某人拥有网络51%的计算能力。此类攻击中的攻击者开采了一个私有区块链,在该区块链中他双重支付了币。
    由于他拥有大部分计算能力,因此可以保证他的私有区块链在某个时间点将比“诚实”网络链更长。然后,他在系统中释放了自己的私有区块链,从而使早期记录在诚实区块链中的所有交易均无效。
    这种攻击是虚构的,因为获取等于或超过整个网络的51%的计算能力非常昂贵。
  • 结语

    在这个简短的教程中,以比特币为例,向您介绍了区块链的几个概念。比特币是区块链的第一个成功应用。如今,世界已经发现了区块链技术在多个行业中的应用,在这些行业中,人们希望获得无需中央授权的信任。所以欢迎来到区块链的世界。
    比特币官方网站-Bitcoin.org