首页 > 新闻中心 > 掌酷科技 > 数码 > VRAR >

一文了解Swarm(BZZ)?
2021-06-07 18:06 尚和信基金

Swarm是以前以太坊上的一个点对点全球化文件系统,是目前为止和IPFS对标的唯二的P2P全球化文件系统。

SWARM是个啥

技术总是繁琐的,我尽量简单点。

哈希运算

哈希运算是一系列算法的总称,反正就是对一段数据进行处理,得到一个固定大小(一般是32字节)的结果,这个结果称为哈希值 。并且原始数据不同,得到相同哈希值的概率非常非常非常小,这样的过程称为哈希运算。哈希运算其实是让一个固定长度,相对短的数据来表征一个任意长度的数据。

内容地址

任意的一段数据,对数据内容进行一次哈希运算的结果(哈希值),可以称为这个数据的内容地址。这个称谓的来源是因为地址是由内容决定的。

分布式哈希表

每个节点设备,同样有一个地址,这个地址的来源可以一段随机数的哈希值,一旦生成,节点的地址就不变。这里可以看到节点地址和内容地址是同类型的,这个称为节点与数据“同构”。

既然都是32字节的数据,我们就可以计算两个地址之间的“距离”,这个距离是“逻辑距离”和实际的物理位置无关。计算距离可以有多种算法,最常用的是异或。我们这里为了方便理解,可以理解为两个地址值相减,相减的结果越小,地址就越近。

有了内容地址和逻辑距离的概念,我们可以这样实现分布式哈希表:

任何的数据,在全网中都可以推送到离其内容地址逻辑距离最近的节点上。

这个推送的实现过程可以简化为一句话:

当节点收到数据时,在所连接的邻近节点中,寻找与这个数据的内容地址更近的节点,然后推送给这些节点。

数据的读取过程也可以简化为一句话:

当节点收到数据读取请求时,首先看自身有没有缓存内容地址所对应的数据,如果有,直接取出返回给请求者;如果没有在所连接的邻近节点中,寻找与内址地址更近的节点,把数据读取请求转发给这些节点。看不懂的小伙伴的可以看下面视频.