分布式哈希表技术和比特币区块链之间有什么区别?

问题描述 投票:20回答:2

这个问题可以进入比特币论坛,但我试图从编程的角度来理解。

存在用于分布式存储的技术,例如分布式哈希表(例如kademlia或类似的)。比特币区块链与分布式哈希表有何不同?或者是支持比特币区块链的分布式哈希表技术?或者为什么比特币区块链被称为与DHT相比这样的突破?

hashtable distributed bitcoin dht blockchain
2个回答
40
投票

分布式哈希表

DHT只是在网络中的多个节点上分布的key-value store。密钥在具有确定性算法的节点之间分布。每个节点负责哈希表的一部分。

路由算法允许在不知道网络的每个节点的情况下在哈希表中执行请求。

例如,在qazxsw poi中 - 这是相对简单的DHT实现 - 每个节点被分配一个标识符并且负责更接近其标识符的密钥。

想象一下,有4个节点具有标识符:2a6c,7811,a20f,e9c3具有标识符2c92的数据将存储在节点2a6c上。

现在想象一下,您只知道节点7811,并且您正在寻找具有标识符eabc的数据。

您向节点7811询问数据eabc。 7811没有它所以它要求节点e9c3将它发送到节点7811,节点7811将它发送回给你。

一个聪明的算法允许在O(log(N))跳转中找到数据。不存储网络的整个路由表(每个节点的地址)。基本上你问最近的节点你知道的数据标识符,它自己询问它知道的最近的节点,所以减少每一步的跳转大小。

DHT具有很高的可扩展性,因为数据在节点之间均匀分布,查找时间通常以O(log(N))增长。

块链

区块链也是一种分布式数据结构,但其目的完全不同。

将其视为历史或分类帐。目的是存储不断增长的记录列表,而不会被篡改和修改。

它主要用于比特币货币系统以跟踪交易。它具有防篡改的特性,通过了解交易历史,让每个人都知道账户的确切余额。

在区块链中,网络的每个节点都存储完整数据。因此,与在节点之间划分数据的DHT绝对不同。区块链中的每个新条目都必须通过一个名为挖掘的过程进行验证,该过程的详细信息超出了本答案的范围,但此过程可确保数据的Chord DHT

这两种结构都是分布式数据结构,但用途不同。 DHT旨在提供有效(在查找时间和存储足迹方面)结构以在网络上划分数据,并且区块链旨在提供防篡改数据结构。


0
投票

在计算中,哈希表(哈希映射)是实现关联数组抽象数据类型的数据结构,该结构可以将键映射到值。哈希表使用哈希函数来计算桶或槽阵列的索引,从中可以找到所需的值。但是,区块链是一种数字分类账,其中以比特币或其他加密货币进行的交易按时间顺序和公开记录。

© www.soinside.com 2019 - 2024. All rights reserved.