美文网首页Horizen学院
进阶篇1.1 区块链做为一种数据结构

进阶篇1.1 区块链做为一种数据结构

作者: HORIZEN官方 | 来源:发表于2019-02-26 12:58 被阅读25次

    人们可以用许多不同的方式解释区块链技术。直到最近,通过加密货币的镜头看区块链一直是主流。比特币是大多数人谈论区块链技术的入门话题,但比特币仅仅是加密货币交易中,众多用例中的一个。我们想退后一步,从本文计算机科学家的角度来一般地看待区块链。

    区块链是一种数据结构

    在计算机科学的背景下,数据结构是一种存储,组织和管理数据的方法。通过数据结构,您可以访问,添加,修改和搜索其中包含的数据。一些最常见和最基本的数据结构包括数组和链表。数组是许多枚举元素。这些元素可以是数字,字母,单词甚至文件。索引允许您单独访问任何元素,因此如果您想更改数组中的某些条目并且您知道它的位置,则可以立即访问。

    数组

    节点是链表中的数据元素。 节点包括至少一个数据(任何类型)和指向下一个元素的指针。 该指针的功能是告诉您的计算机在哪里可以找到列表的下一个元素。

    如果查看列表中的第一个数据并希望访问第二个数据,您将看到指向该元素的指针。 通过将数据扩展到一个节点比通过增加元素数量将数据添加到数组更容易将数据添加到链表。 您没有链接列表的是即时访问。 如果要在链表中搜索特定的数据,您将查看第一个节点,即链表的头部。 如果它不是您要查找的元素,请按照链接或指针操作,这将引导您进入下一个节点。 如果此节点不包含您要查找的数据,则继续按照所有节点中的链接进行操作,直到找到所需数据。

    (链表)

    区块链就像数据结构上下文中的链表。 区块链还将数据分成容器 - 块。 这些块非常类似于链表中的节点。 每个块都包含一个引用哈希,它是前一个块的哈希值。 这用作前一个块的链接,并在整个块链中建立顺序。

    (区块链)

    区块链和链表之间的主要区别在于区块链中的每个引用哈希,它们都是安全加密的。您可能会听到描述区块链的术语仅附加数据结构。这意味着您只能通过将附加数据到前面来向区块链添加数据。安全链接会不断地检查其有效性。如果您要在区块链的中间插入恶意块,例如在下图中的块1和块3之间,您可以包含对其前任(块1)的引用,但是使下一个块(3)插入新的引用块将非常困难(读取:不可行)。

    构建在现有区块之上的每个新块通常有确认。一个区块越老,它的确认就越多。每次确认都会更难以篡改块中的数据。下图中的第2块有一个确认。要篡改其数据,您必须重新创建一个有效的引用。每次确认时,您都必须重新创建其他参考。块越旧,您就越可以确定不会发生块的更改。

    区块之间的引用不仅取决于块的顺序,还取决于每个块中包含的数据。无法轻松添加或删除区块链中块的数据。此属性是人们放入区块链中存储的数据的信任基础。

    同时,很容易将新数据区块中的数据添加到链中。例如,您可以在加密货币区块链上添加新交易。交易很容易验证,因为网络上记录的所有前面的交易都是不可变的。这使得后续区块的验证变得简单。您可以验证地址Y是否要花费金额X,它在早期交易中至少收到了金额X而尚未花费该金额。

    加密货币只是区块链技术的一个特定用例。区块链正迅速成为跟踪供应链,车队管理等的最佳方式之一。

    总结

    区块链是一种在计算机科学环境中存储数据的方法。区块链的元素(或区块)以加密方式链接。在将数据记录到区块之后,再更改数据是不可行的。这就是区块链有价值的原因。它是一个不可变的分类帐,可以在无信任的环境中可靠地存储数据。

    我们希望以一个Twitter发文结束本节,这些推文提炼了区块链技术在数据结构环境中的含义。

    “区块链并不保证真相;它们让真相和谎言发生后无法做出变更,允许人们安全地分析它们,并且更有信心发现谎言。如果计算机是一个神奇画板,那么区块链就是画板的颜料。” - by Jameson Lopp


    欢迎加入ZEN社区:

    微信群:gyshiyi

    知识星球:https://t.zsxq.com/7uNJaiI

    电报群(VPN):https://t.me/joinchat/F_PCzUZpS76NkG-E_Yz4hg

    相关文章

      网友评论

        本文标题:进阶篇1.1 区块链做为一种数据结构

        本文链接:https://www.haomeiwen.com/subject/hcvfyqtx.html