风险提示:理性看待区块链,提高风险意识!
区块链技术入门 | 分布式哈希表(上篇)
首页 > 币界资讯 > 区块链新闻 2019-04-28 11:48
摘要
DHT 即分布式哈希表,是实现分布式存储和下载的关键技术,现已广泛应用在P2P网络中。想要了解分布式哈希表的技术实现,首先需要知道什么是哈希算法和哈希表。哈希算法简单来说就是一个函数,这个函数有一些特殊的性质:1. 无论输入有多复杂,输出的长度都是固定的。2. 无论输入发生多么微小的变化时,输出都会与之前完全不同。3. 无法通过哈希值倒推原信息,也就是不可逆。哈希表,又称为散列表,这个表是用来存放.... 。
币界网报道:

DHT 即分布式哈希表,是实现分布式存储和下载的关键技术,现已广泛应用在P2P网络中。想要了解分布式哈希表的技术实现,首先需要知道什么是哈希算法和哈希表。

哈希算法简单来说就是一个函数,这个函数有一些特殊的性质:

1. 无论输入有多复杂,输出的长度都是固定的。

2. 无论输入发生多么微小的变化时,输出都会与之前完全不同。

3. 无法通过哈希值倒推原信息,也就是不可逆。

哈希表,又称为散列表,这个表是用来存放键值对的。当给文件加密时,不仅仅需要存储文件的哈希,也需要存储文件本身。这样就需要将文件和哈希成对存储以方便查找。

对于普通的哈希表而言,扩容的代价是很大的。因为普通的 Hash 计算地址方式如下:Hash(Key)%M,扩容之后,元素的位置全变了。有数学证明,扩容成两倍大小,使得再哈希的元素个数最少,这也是为什么为了减少扩容时元素的移动,总是将哈希表扩容成原来大小的两倍的原因。

所以哈希表的本质,就是当你寻找某个信息时,最终都是一个将哈希值取余去寻找某个位置的一个过程,但我们也看到了,当有新的节点加入或者旧节点退出时,都需要重新存放键值对,当信息量较大的时候就容易导致网络阻塞。

为了解决节点变动的问题,1997 年麻省理工的 Karger 等人发明了一致性哈希,这才真正让分布式存储进入到了一个真正可以规模化应用的阶段。

什么是一致性哈希呢?

首先,将哈希值空间组织成一个虚拟的圆环,我们以 SHA256 来举例。SHA256 有 2^256 个哈希值,将所有可能的哈希值组成一个圆环,从 0 到 2^256−1,按顺时针进行排序,并且在 12 点处 0 与 2^256−1 重合。

然后,将各个节点用于存储的服务器进行一次哈希计算,可以选择服务器的 IP 地址或者主机名进行哈希计算(为防止主机名重叠一般使用 IP地址,这里很重要),并且按照计算所得哈希将节点服务器按照顺序放在圆环的相应位置

最后,将数据的 key(键,即数据的关键词)使用相同的哈希算法计算出哈希值,并确定此数据在环上的位置,从此位置沿环顺时针“行走”,第一台遇到的服务器就是其应该定位到的服务器。

这样,当某一节点因为某种原因而停止运作时,只会影响到其逆时针方向上到上一个节点之间的数据,同样,当新加入了一个节点的时候,也只影响到其逆时针方向上到前一个节点之间的数据。

普通的一致性哈希有没有缺点呢?当然是有的。总结一下就是:没有考虑到每台机器的情况,不能实现很好的负载均衡。

有没有解决办法?有,就是虚拟机技术。例如当一个哈希环中只有两个节点存在:

可以看到,很有可能出现上图这种分配不均匀的情况,为了能在不加入物理设备的前提下实现负载均衡,我们将两个节点的IP后加入一些别的内容(例如#1、#2)再次计算哈希,得到 Node 1.1,Node 1.2,Node 2.1,Node 2.2,使其实现下图中的情况:

当这些虚拟节点加入,数据的分配自然要发生变化,当然,这些虚拟机的物理实体只有一个,自然会存到真正的物理实体中,自然就可以让负载尽量均衡。

IPFS的底层技术中,DHT是非常重要的一环,而之所以IPFS会更加偏好公网固定IP,就是因为固定IP不会改变在哈希环中的位置,进而不会造成因节点变动而产生的额外网络负载。这也是矿场收益会更高且更加稳定的原因之一。

到此,分布式哈希表DHT的基本技术已经介绍完毕。

(作者:区小白)

发表评论
发表评论
暂无评论
    相关阅读
    Arcana Network推出了其链抽象SDK,旨在为开发人员和用户简化多链体验。这种创新
    区块链
    2025-01-07 23:05:38
    瑞波币(XRP)可能正在进行首次公开募股,这将使该代币获得急需的价格飙升和提振。IPO什么时候开始?
    区块链
    2025-01-07 21:38:14
    创新是Web3革命的心跳,因为区块链技术改变了行业,重塑了我们与数字互动的方式
    区块链
    2025-01-07 20:54:57
    考虑到18个月前许多专家认为比特币行业正在消亡或将逐渐消失,比特币突破10万美元绝非易事。
    比特币
    2025-01-07 20:51:02
    Phoenix Group在北达科他州的工厂为其全球哈希率增加了2.7艾哈希。该网站在不到五个月的时间内完工,展示了工程效率和…
    区块链
    2025-01-07 20:11:57
    推荐专栏
    热门币种
    更多
    币种
    美元价格
    24H涨跌幅
    BTC比特币
    60,963.61 USDT
    ¥435,103.38
    -2.72%
    ETH以太坊
    3,368.69 USDT
    ¥24,042.67
    -0.3%
    BNB币安币
    570.68 USDT
    ¥4,073.00
    -0.28%
    USDT泰达币
    1.02 USDT
    ¥7.25
    -0.19%
    SOL
    135.96 USDT
    ¥970.36
    +7.66%
    USDC
    1.00 USDT
    ¥7.15
    -0.01%
    TON
    3.38 USDT
    ¥24.80
    +1.68%
    XRP瑞波币
    0.47720 USDT
    ¥3.41
    +0.48%
    DOGE狗狗币
    0.23004 USDT
    ¥1.69
    -1.09%
    ADA艾达币
    0.79330 USDT
    ¥5.82
    -0.96%
    热搜币种
    更多
    币种
    美元价格
    24H涨跌幅
    狗狗币
    0.23004 USDT
    ¥1.69
    -1.09%
    Filecoin
    5.3099 USDT
    ¥38.93
    -10.51%
    比特币
    96335.88 USDT
    ¥706,296.14
    -5.35%
    Gatechain Token
    17.605 USDT
    ¥129.07
    -4.83%
    Horizen
    22.964 USDT
    ¥168.36
    -18.07%
    dYdX
    1.4002 USDT
    ¥10.27
    -13.41%
    柚子
    0.8079 USDT
    ¥5.92
    -10.76%
    Solana
    197.41 USDT
    ¥1,447.33
    -8.85%
    Shiba Inu
    2.162E-5 USDT
    ¥0.00
    -9.84%
    艾达币
    0.79330 USDT
    ¥5.82
    -0.96%
    火币积分
    0.926 USDT
    ¥6.79
    -29.52%
    Fantom
    0.6737 USDT
    ¥4.94
    -13.07%
    最新快讯
    更多
    外媒:2024年Telegram响应900项美国用户数据查询请求
    2025-01-08 12:49:08
    Upbit24小时现货交易量排行:XRP、BTG、BTC位居前三
    2025-01-08 12:48:52
    某新建钱包从币安提取562万美元THE
    2025-01-08 12:45:07
    币界网实时价格午报:ARB报0.8003美元/枚,跌幅达-3.51%
    2025-01-08 12:43:31
    币安上押注BTC上涨交易者占比达61.28%
    2025-01-08 12:42:22
    Bitwise研究主管:比特币与标普500指数相关性回升,背离趋势转变
    2025-01-08 12:35:25
    KULRCEO:比特币或在2025年迎来20万美元的周期顶部,国家战略储备是最大的催化剂
    2025-01-08 12:35:13