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

Posted

技术标签:

【中文标题】分布式哈希表技术和比特币区块链有啥区别?【英文标题】:What's the difference between distributed hashtable technology and the bitcoin blockchain?分布式哈希表技术和比特币区块链有什么区别? 【发布时间】:2014-12-12 11:58:59 【问题描述】:

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

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

【问题讨论】:

@jww 感谢您的评论。欣赏你的意图,但坦率地说我不同意。我是一名开发人员,DHT 是一种编程技术。这个问题已经有将近 3 年的历史了,当时我对区块链的了解非常有限。作为一名开发人员,我想更好地理解这些开发概念。到现在为止,我不会那样提出这个问题。但当时的答案有帮助,所以我会投票保留它。 【参考方案1】:

分布式哈希表

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

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

例如Chord 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 中的数据绝对不是同一个想法 在节点之间划分。区块链中的每一个新条目都必须 由称为挖掘的过程验证,其详细信息超出此答案的范围,但此过程确保 consensus 的 数据。

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

【讨论】:

【参考方案2】:

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

【讨论】:

以上是关于分布式哈希表技术和比特币区块链有啥区别?的主要内容,如果未能解决你的问题,请参考以下文章

比特币核心有啥用?

区块链 平行链 侧链 区别

小白浅学区块链&比特币

区块链有什么价值?

区块链记账原理

区块链记账原理