区块链和完整的去中心化生态系统

为了实现完全去中心化,区块链周围的环境也必须去中心化。 区块链是一个在传统系统之上运行的分布式账本。 这些元素包括存储,通信和计算。 还有其他因素,例如身份和财富,这些因素传统上基于集中式范式,并且还需要将这些方面去中心,以实现足够去中心化的生态系统。

存储

数据可以直接存储在区块链中,通过这一事实,它可以实现去中心化。然而,这种方法的一个显著设计缺点是区块链不适合存储大量数据。它可以存储简单的交易和一些任意数据,但它肯定不适合存储图像或大量数据,就像传统数据库系统一样。

存储数据的更好选择是使用分布式哈希表(DHT)。 DHT最初用于对等文件共享软件,例如BitTorrent,Napster,Kazaa和Gnutella。 DHT研究受到CAN,Chord,Pastry和Tapestry项目的欢迎。 BitTorrent是最具扩展性和最快速的网络,但BitTorrent和其他网络的问题在于用户无法无限期地保留文件。用户通常不会永久保留文件,并且如果有人仍然需要其数据的节点离开网络,则除了让所需节点重新加入网络以使文件再次可用之外,别无它法。

(译注:DHT是个很有意思的概念,不仅可用于文件共享查询,还能用于其它领域。译者曾参与过类似的项目研发。有兴趣的朋友可以谷歌查询)

这里的两个主要需求是高可用性和链路稳定性,这意味着数据应在需要时可用,并且网络链路也应始终可访问。 Juan Benet发明的行星间文件系统(InterPlanetary File System – IPFS)拥有这两个属性,其愿景是通过替换HTTP协议来提供去中心化的万维网服务。IPFS分别使用Kademlia DHT和Merkle 有向无环图(Directed Acyclic Graph – DAG)来提供存储和搜索功能。 DHT和DAG的概念将在第4章公钥加密中详细介绍。

用于存储数据的激励机制基于称为文件币(Filecoin)的协议,该协议向使用Bitswap机制存储数据的节点支付激励。 Bitswap机制允许节点保存一个简单的账本,以一对一的关系记录字节的收发。 此外,在IPFS中使用基于Git的版本控制机制来提供对数据版本化的结构和控制。

还有其它数据存储方法,如Ethereum Swarm,Storj和MaidSafe。 以太坊拥有自己的去中心化和分布式生态系统,使用Swarm进行存储,使用Whisper协议进行通信。 MaidSafe旨在提供去中心化的万维网。 所有这些项目将在本书后面更详细地讨论。

BigchainDB是另一个存储层去中心化项目,旨在提供可扩展,快速,线性可扩展的去中心化数据库,而不是传统的文件系统。 BigchainDB补足了去中心化处理平台和文件系统的能力,如以太坊和IPFS。

去中心化 - 通讯
去中心化 - 去中心化的途径