前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >区块链的基础数据结构

区块链的基础数据结构

作者头像
用户6901603
发布2023-02-24 10:50:36
5290
发布2023-02-24 10:50:36
举报
文章被收录于专栏:不知非攻
区块链是一种链表结构

我们应该都对普通链表比较熟悉。链表中有许多个节点,节点之间通过指针保持连接。

指针指的是一个节点对象在内存中的首地址

顾名思义,区块链也是一种链表结构,不过它与普通链表不同的地方在于,连接节点的指针是哈希指针,哈希指针包含两个部分,一是其指向节点所占用内存的首地址,二是其指向节点所有内容的哈希值

如果其指向的节点内容发生了任何变化,那么哈希指针的哈希值也会发生变化。这样,我们就可以轻松感知到节点中的内容是否被修改。

可以用下图表达一个区块链

如图所示,哈希指针中的哈希值,是对应节点的全部内容算出来的哈希值。这里的全部内容自然也包括指向下一个节点的哈希指针,因此,当其中一个节点内容发生变化时,会导致上一个节点的哈希指针发生变化,也就意味着,上一个节点内容也发生了变化。

这样的影响是持续不断的,直到根节点。

任何节点的变化,最终都会导致根节点的哈希指针发生变化。因此,我们只需要在系统中记录根节点的变化,就可以感知并找到具体是哪一个节点发生了变化。

我们可以分析出这样的链表结构的一些特性。

任何一次变动都会牵一发而动全身,因此效率是非常低下的。但是他能够准确的记录每一次改动。因此这样的结构对于需要记录变动和防止篡改的场景非常有用

也正是由于这个特性,我们只需要在每个节点上保存好根节点的哈希值到底是多少,那么对于个人节点而言,就不需要完整的保存链上的所有的节点内容,只需要保存常用的附近几千个节点即可。

接下来一章,我们进一步介绍基于这种数据结构,如何做到分布式,以及会面临什么样的问题

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-12-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 这波能反杀 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 区块链是一种链表结构
相关产品与服务
区块链
云链聚未来,协同无边界。腾讯云区块链作为中国领先的区块链服务平台和技术提供商,致力于构建技术、数据、价值、产业互联互通的区块链基础设施,引领区块链底层技术及行业应用创新,助力传统产业转型升级,推动实体经济与数字经济深度融合。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档