📜  为什么区块链是不可渗透的?

📅  最后修改于: 2021-04-16 08:21:21             🧑  作者: Mango

区块链是一个连续的区块链,其中包含一些数据,并且该链中的每个区块都是通过加密来保护和链接的。另外,您可以在链中添加多达多个块,将这些块添加到现有链中的过程称为“采矿”。区块链基于分布式对等网络,这意味着没有中央权限,每个节点在网络中都具有其重要性。

现在让我们讨论一个块的内部结构。块的主要参数是:

  1. 时间戳记:包含将区块添加到链中的确切时间。
  2. 数据:可以是任何东西,但尤其是交易,债券,条约等。根据网络的不同,块数据的容量也受到限制。 (比特币允许其网络上的块大小为1 MB。)
  3. 哈希:这是一组十六进制字符(从0到9,AF),是在对一组数据应用哈希算法后生成的。此外,哈希是不可逆的,即我们无法从哈希中获取数据。
  4. 上一个哈希:这是上一个块的哈希。您也可以说它是对上一个块的引用。

块中还有更多参数,但以上是主要参数。

历史

1991年,Stuart Haber和W.Scott Stornetta发表了一篇有关“如何为数字文档添加时间戳”的研究论文,因此,区块链背后的想法来自该论文,后来在2008年,一群人以这个名字命名中本聪(Satoshi Nakamoto)创造了术语“区块链”,因此区块链应运而生。

注意:哈希(安全哈希算法)应用于整个块,即不仅应用于数据,还应用于块的其他参数(先前的哈希,时间戳,随机数等)。

现在,如果您听说过称为链表的数据结构,那么链表类似于区块链,但是它们都是不同的东西,因此仅出于理解的目的,您可以将链链与链表相关联。

为什么我们需要区块链?

要了解这种技术的有用性,让我们来考虑一种情况,您正在做交易或向您的朋友汇款,而没有涉及银行这样的第三方不是一件好事,只有发件人和接收者都参与其中,没有其他人参与。因此,这是建立区块链的主要原因之一。现在出现了一个问题,如果不涉及银行,那么谁来保护我的交易详细信息和付款,那就是区块链展示其光彩的地方,即其无懈可击的安全性。因此,让我们了解如何。

安全检查

  1. 密码链接
  2. 拜占庭容错

密码链接

加密链接基本上是在整个链的每个块之间维护的链接。那么,如何在块之间建立这种加密链接呢?假设区块链中有n个区块。因此,每个块都包含一些DATA和对前一个块的引用,该引用称为前一个块的HASH。现在,此HASH值取决于我们要在其上应用哈希算法(SHA-256)的DATA。因此,如果特定块内的DATA篡改了该块的HASH更改(无论对DATA进行的更改有多小)。现在假设在第三个块上,数据已更改,因此该数据的HASH值也将更改,并且密码链接也将中断,这是因为存储在块3的块4上的HASH值不同。这是一个更好地理解这一点的例证。

现在,如果有人要破解链条并调整数据,则他必须篡改所有连续的块并同时更改HASHES,这在大规模情况下几乎是不可能的。让我们举一个前面的例子,在这个例子中,黑客需要在不被发现的情况下更改DATA3,以便他需要将块4中的HASH3更改为HASH3#后立即将其中的HASH3更改为HASH3#。第4块也发生了变化,因此他必须再次将第5块中的HASH4更改为HASH4#,依此类推,直到链的最后一块。

即使有人成功地更改了链的所有块,也需要清除另一堵墙,即拜占庭的容错能力。

拜占庭容错

现在,拜占庭的容错能力是分布式网络系统的技术或条件。在这种情况下,分布式网络上的每个节点都会达成共同协议,并且该协议由大多数节点决定。那么这对区块链有什么帮助呢?因此,事情是特定分布式网络上的每个节点都有其自己的区块链副本,因此,即使特定链被黑客入侵,系统也会通过另一个节点上的链来验证该链(被黑客入侵),因此,如果链与链不匹配在被入侵的节点上,因此系统会将故障节点上的链覆盖到大多数节点所拥有的链上。在分布式网络中,没有中央权限,因此系统相信大多数节点所说的都是真实的。为了更好地理解这一点,让我们举一个例子,所以我们有一个约1000个节点的分布式网络,黑客决定攻击节点6,并成功更改了链上的所有加密哈希。

Example#1:

令X为网络上的所有链,Y为节点上的修改链。

  • 最初,链= X(节点6)。
  • 攻击后,链= Y(节点6)。
  • 因此,除了节点6外,所有其他节点都具有chain =X。
  • 节点6具有链=Y。
  • 因此,网络X,Y上有2种类型的链。
  • 现在哪一个是正确的,因此系统决定大多数节点拥有的链的任何类型都将被视为是正确的。
Types of chain  No. Of Nodes  
X 999
Y 1
  • 因此系统认为X类型的链为真。
  • 现在,链= Y(节点6)被丢弃。
  • 链= X(节点6)。

让我们考虑另一个复杂的示例,其中几个黑客攻击不同的节点,而不仅仅是一个节点。

Example#2

现在,网络上有1000个节点,并且有2个大型黑客组织试图攻击网络。因此,组织A攻击节点2、3、4、5、6。组织B攻击节点400、401、403……。高达499。

  • 假设X是网络上的所有链,Y是组织A修改的链,Z是组织B修改的链。
  • 所有节点都具有,链= X(最初)
  • 攻击后
    • 链= X(所有未受到攻击的节点)
    • 链= Y(2,3,4,5,6组织A)
    • 链= Z(400、401、403……。最多499个组织B)
  • 因此,网络X,Y,Z上有3种类型的链
  • 再一次,哪一个是正确的,
Types of chain  No. Of Nodes
X 895
Y 5(2,3,4,5,6)
Z 100( 400, 401, 403 ……. up to 499)

X,链的类型是大多数节点拥有的链,因此X类型的链被复制到所有Y和Z类型的节点。这样,我们的区块链再次恢复到其初始状态。

结论

如上所述,这种区块链技术确实是不可渗透的。但是,等等,即使这项技术有其自身的缺陷,没有什么是完美的。仅当网络上没有节点很高时,区块链才是不可渗透的。小型网络容易受到的一些攻击。

  1. 51%攻击:在这种类型的攻击中,攻击者几乎控制了网络上51%的节点。简而言之,攻击者拥有多数投票权,因此他可以在区块链上做出所有决定。但是我们都知道,在大型网络上这几乎是不可能的。
  2. Eclipse攻击:此攻击涉及将节点与整个区块链网络隔离,然后攻击者可以根据自己的意愿操纵该节点。
  3. DDoS(直接拒绝服务)攻击:此攻击旨在通过向网络中填充不必要的信息,从而延迟网络提供的服务,从而使网络忙于处理不必要的信息,同时延迟对真实信息的处理。
  4. Sybil攻击:在这种类型的攻击中,攻击者可以在大多数节点上伪装成其他人,并可以利用该技术背后的机制。

注意:要阻止DDoS攻击,我们可以做的是,我们可以限制节点每天处理的事务数。 Gmail通过限制个人每天发送和接收的电子邮件数量(最多500封)来利用这一点。在发送500封电子邮件之后,它不允许用户发送或接收更多电子邮件。

但是,尽管如此,这项技术还是令人惊叹的,基于区块链技术的比特币和以太坊等加密货币从未遭到黑客攻击或攻击。