为什么以太坊开发人员需要大量数据库分片
您是否对共识算法以及为什么它们对区块链技术很关键感到好奇?大您来对地方了。要学习区块链开发并获得认证,我建议访问 伊万在技术学院。
区块链目前 LinkedIn排名第一的技能。因此,您绝对应该了解更多有关以太坊的信息,以便在2020年获得加密的全职职位。
在我的 第一 第二部分,我讨论了以太坊2.0和开发人员的最佳工具。在第三和第四篇文章中,我讨论了二次投票和开放治理模型。然后,在我的第五篇文章中,我研究了Swarm的基础架构。
在第六和第七本书中,我深入探讨了共识算法。最后,在我的上一发行版中,我研究了区块链的两难境地。值得庆幸的是,上一期完美地链接到了我们今天要讨论的内容。
现在谈到手头的话题:什么是数据库分片,它如何工作?数据库分片是区块链技术的关键功能吗?以太坊开发人员是否应该关注分片的工作原理,可部署性及其可扩展性的优势?
什么是数据库分片?
数据库分片被认为是扩展区块链的最主要方法之一,目前正在由以太坊,Zilliqa或Polkadot等项目开发。
计算机科学的一个重要论点是,在不失去安全性,隐私(去中心化性)或同时失去两者的情况下,您无法扩展系统。这个三难困境表明,在可以根据自己的意愿加入和离开网络的独立对等方之间正确分配系统是多么复杂。鉴于节点可以选择在任何时间点随机断开连接而没有后果的事实,节点之间的通信或网络延迟可能会变得异常缓慢。网络带宽在整个系统的性能中起着关键作用,这对于许多加密货币而言可能是一个重大问题,因为世界上大多数人没有足够的资源来购买大量数据。
有没有办法解决网络延迟和带宽问题?
分片
开发人员提出了许多解决方案来解决协议级别的吞吐量问题。这些解决方案大部分可以分为将所有计算委托给一小组功能强大的节点的解决方案,以及使网络中每个节点仅承担全部工作量子集的解决方案。数据库分片,如今最通常简称为分片,是一种允许节点仅处理整个区块链交易的一小部分的技术。同时,它可以确保正确地排序和验证整个链的状态。分片会创建多个较小的数据库,这些数据库仅存储事务的本地副本。每个数据库都会验证并存储一小部分,从而使系统更轻便。
分片特征和属性
数据库分片有一个简单的目标:允许扩展区块链。为了完全理解不同的属性和功能,我必须解释节点的作用。
本质上,节点应执行以下任务:
- 处理和验证交易,
- 将经过验证的交易和已完成的块中继到其他节点,
- 存储整个网络分类帐的状态和历史记录。
这三个任务中的每一个都对运行网络的节点提出了越来越高的要求。本质上,公共和开放式区块链中容易出现常见的存储和中继问题:
在状态分片下,每个分片中的节点构建自己的区块链,并包含仅影响分配给该分片的本地部分的事务。验证者仅需要中继会影响其状态的事务。该分区线性地减少了对所有计算能力,存储和网络带宽的需求。但是,它引入了新的问题,例如数据可用性和跨碎片事务。
不同分片版本概述
为了完全理解分片,我必须解释正在开发的不同类型的分片。一个中心化在可伸缩性上,另一个中心化在交叉通信上。这是使用的分片的两个主要版本:
每种类型的数据库分片都有其自身的优点和缺点,如下表所述。
分区的 | 州 | |
物产 | 独立的分片,自己的验证器,不需要协调器 | 二次分片功能,跨分片通信,需要协调器 |
好处 | 较小的链意味着节点内更快的通信和同步时间,区块链大小呈指数下跌 | 较小的链接链意味着更快的通信,分片链之间的同步时间缩短,互操作性提高 |
风险性 | 由于每个分片都有自己的验证器,因此每个分片的安全性都较低,从而在节点之间路由问题 | 由于每个分片都需要在线才能中继信息,因此降低了数据可用性,其安全性低于单链解决方案 |
例 | 豆谈 | 信标链 |
结论
数据库分片是一种将单个区块链分为多个较小的区块链(或分片)的技术。每个分片独立运行并处理自己的事务。正在测试对分片工作方式的改进,例如交叉分片(cross-sharding),它允许分片在它们之间进行通信。分片的一些主要好处是减小了整个区块链的大小,并有可能提高二次网络性能。
资源资源
本文不是财务建议。作者可能没有意识到的变化。始终检查提供的资源