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



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

有一些技术用于分布式存储,比如分布式哈希表(比如kademlia或类似的)。比特币区块链与分布式哈希表有何不同?还是分布式哈希表技术支撑着比特币区块链?或者,与DHT相比,为什么比特币区块链被誉为如此突破?

分布式哈希表

DHT只是一个分布在多个网络中的节点。密钥分布在具有确定性算法。每个节点负责哈希表。

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

例如合唱DHT——相对简单的DHT实现——每个节点被分配了一个标识符,并负责密钥更接近其标识符。

假设有4个节点具有标识符:2a6c、7811、a20f、e9c3具有标识符2c92的数据将被存储在节点2a6c上。

想象一下,现在你只知道节点7811,并且你正在寻找用于标识符为eabc的数据。

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

一个聪明的算法允许在O(log(N))中查找数据跳跃。不存储网络(每个节点的地址)。基本上你问与您所知道的数据标识符最近的节点,其本身会询问它所知道的最近节点,依此类推,减少了在每一步。

DHT是非常可扩展的,因为数据是均匀分布的并且查找时间通常以O(log(N))增长。

区块链

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

把它想象成一段历史,或者一本账本。目的是存储不断增长的记录列表篡改和修改。

它主要用于比特币货币系统中保存跟踪交易。它的防篡改特性让每个人都能通过了解帐户的历史来了解帐户的确切余额交易

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

这两种结构都是分布式数据结构,但服务于不同的目的。DHT旨在为查找时间和存储占用空间)结构来划分网络和区块链旨在提供不可篡改的数据结构

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

最新更新