如何在不牺牲安全的情况下实现分片扩展
扫描二维码
随时随地手机看文章
对于区块链来说,去中心化的本质是要达成安全。因此,去中心化是其根本属性,是不能被妥协的一个属性。那么,如何在不牺牲安全的情况下实现扩展?目前来看,分片是一条少有的能够兼顾安全和扩展性的道路。
当你将一个大型数据库划分为许多更小、更快且更易于管理的部分时, 它在外行术语中被称为 “分片”。这只是意味着你有一个大数据库, 你分解成许多小型的数据库, 可以在许多服务器上扩散。
关于区块链验证机制的实现问题,人们有些过度担心了。通过分片, 验证过程只会得到加强。通过这一过程, 只有相当小的一组节点(又名分片,而不是整个网络节点) 将对每个交易进行验证。
在区块链的情况下, 场景并没有那么复杂。区块链网络在逻辑上被划分为多个较小的节点或分片。当用户创建交易时, 分片的验证将由分片组中的节点执行。然而,有些比普通的分片更聪明更有潜力的东西, 它的名字叫自适应状态分片。
使用自适应状态分片技术,每个分片每秒能够进行3750笔以上的交易,如Elrond。(蓝狐笔记注:Harmony也是采用了自适应状态分片技术,具体参考《Harmony区块链的分片扩展之路》)
为什么叫自适应?
当吞吐量增加时, 新的分片会自行激活, 这都得益于其自适应特性, 在区块链中实现线性的可伸缩性。
该网络已开发近两年。与此同时, 人们对区块链的兴趣也在增加, 因此投入的资源也在增加;因此, 在现有的基础设施上, 特别是以太坊已经有了令人难以置信的发展。网络基础架构的第三个支柱是互操作性。
其区块链服从以太虚拟机(EVM)。由于以太坊一直是许多独立区块链开发人员的基础, 因此对于试图寻求扩展性的已有项目来说,该网络将是最具吸引力的解决方案。为了进一步简化项目利用以太坊网络的流程, Elrond 区块链提供了与以太坊ERC-20 代币标准的反向兼容性。(蓝狐笔记注:反向兼容是说向下兼容,向后兼容,新的可以兼容旧的。)
该网络在真正去中心化的网络中提供可扩展性、安全性和互操作性。该项目的测试网络将很快上线, 开发者将有一个早期的构建机会, 可以说, 在迄今为止先进的区块链的基础上更上一层楼。
下面是对该区块链的多层构成进行详细的阐述。
加密层
任何区块链的最底层基础都是加密层。这本质上是区块链的DNA, 因为这一层是交易和区块验证条件的设计层。
该网络利用Schnorr 方案进行交易签名和验证;使用 Schnorr 签名占用的数据空间更小。Schnorr 方案不仅简单高效, 还采用了经过充分研究和久经实战的算法。这种创建数字签名的方法已经存在于各种加密货币中,也有人建议将其集成到比特币网络中。
由于区块验证需要来自多个验证者的聚合签名, 因此需要多重签名方案。这样,该网络将使用Boneh-lynn-shacham (BLS) 多重签名方案进行区块签名和验证。
核心和执行层
在区块链中, 区块、交易和帐户都以数据的形式存在;所有这些数据都集中在区块链的核心中。网络核心中的数据模型可以实现临时或永久存储。
交易和地址以数据的形式存在; 通过将数据模型与接入点分离, 核心先缓冲(Buffer)交易, 然后才能将它们打包进区块。
这一层的执行方面是确保一旦数据输入得到验证, 区块链就会写入交易。执行层处理交易, 然后将它们打包进区块;然后在所有节点上维护执行的交易和区块, 以确保一致性。因此, 执行层还在所有分片上并行维持节点同步;分片之间的同步是在元链(Metachain)上完成的。
通信层
该网络是去中心化的协议, 因此节点之间的有效通信至关重要。通信层的目的是用于消息传递和广播, 也是用于通信的通道。
出于安全目的, 网络从各种分片中随机重组节点。此外, 所有节点都必须在交易吞吐量上保持同步。网络必须能够在分片的节点内和网络中的所有分片内中继通信, 通信层可以实现这一点。使用分片内和跨分片通信通道还可确保网络正确处理复合交易。
简单地说, 当核心层和执行层处理数据和传输时, 在其处理完成后,通信层提供数据移动通道。
通信层确保节点连接, 中继网络内数据的来回传输, 为信息请求的提供通道, 并处理在单个分片节点和跨网络中所有分片的区块、交易和收据的广播。通信基于来自IPFS中经高度优化的libp2p。网络分片可确保通信仅限于其在需要的地方使用。具体来说, 分片内通信仅发生在感兴趣的节点之间。这就实现链之间的互操作性, 而不会导致数据流瓶颈。
共识层
区块链能够通过维持共识, 作为安全和去中心化的网络运作。这是任何具有鲁棒性的区块链的基本属性。在核心层和执行层处理了网络功能并将其中继到分片后, 共识层充当一种这样的机制, 它可以确保吞吐量仅验证诚实数据。
网络的安全权益证明(SPOS)共识算法基于实用拜占庭容错(pBFT)。拜占庭错误是去中心化网络上的错误或不诚实的数据。顾名思义, pBFT 的存在是为了确保共识层能够承受上述的错误。pBFT 共识假定网络中不超过1/3的节点是恶意的。因此, 在 Elrond 网络中, 只有当2/3 + 1个验证者节点聚合签名时, 区块才能被验证。
在SPOS 机制中, 每个分片都由验证者组成, 验证者的资格是通过权益确定的, 该权益在智能合约中持有, 并有评级。较低的评级会降低验证者被选中的概率。对于每个区块, 通过轮盘赌选择(roulette-wheel selection)随机选择一组新的验证者。随机选择的去中心化性质确保了攻击向量永远无法预测验证者是谁, 因此他们无法知道占据哪些节点来发动攻击。
基于pBFT 的领导者-跟随者模型(leader-follower model), SPOS将验证者组中的第一个节点指定为区块提出者。因此, 提出者和验证者都是随机选择的, 从而使共识层能够为网络提供最佳的安全性。
SPOS 的优点是, 与pow不同, 它是环保的。由于节点是根据权益和评级选择的, 因此不用担心网络算力会集中到两个或三个矿场中。相反, 任何人都可以成为一个节点, 由于这个网络只需最少的资源来让活跃节点参与, 区块链仍然是真正去中心化的。
自适应状态分片
自适应状态分片包括网络/通信、交易/计算和状态/存储的分片。要想对自适应状态分片所包含的内容有深入了解, 了解每种分片形式的目的是很重要的。
交易/计算分片:交易分片这种机制被许多项目所追求。它解决了PoW 的不足——每个节点都必须批准每个交易。在交易分片中, 节点被拆分为不同的组(分片)并行处理交易。
网络/通信分片:数据(消息) 是跨分片分区的。
状态/存储分片:区块链必须存储它们处理的交易的整个历史记录。状态/存储分片不是让每个节点存储所有数据的副本, 而是将存储负担分配到不同的节点组 (分片) 之中。
Elrond 网络集成了所有三种形式的分片, 这使得网络扩展可以跟验证者和分片的数量成正比(蓝狐笔记注:它的意思说,随着分片和验证者的增加,其网络也会得到线性的扩展。)。
元链(Metachain)协调分片, 并确保在更多节点加入网络时激活新的分片。分片可以被无缝添加, 因为钱包通过分层二叉树模型在分片之间进行划分。添加分片会将父分片的一半地址空间传递给兄弟分片。同时, 删除后续分片会将地址空间从兄弟分片合并回父分片。
跨分片交易
Elrond 网络允许将交易从一个分片发送到另一个分片。由于网络使用异步模型, 验证和处理首先在发送方分片中进行, 然后在接收方分片中进行。当交易被调度时, 元链通过创建和提出新的元区块(元链上创建的区块), 并公证从发送分片中来的区块确保它的安全。
元区块包含有关每个分片区快的以下信息: 发送方分片 ID、接收方分片 ID 和分片区块哈希。(蓝狐笔记注:是不是跟以太坊和Harmony的信标链有似曾相识的感觉?)
在跨分片交易中, 接收分片从元区块中获取交易的相关分片区块的哈希(在分片中创建的区块, 而不是元链中创建的区块哈希), 请求发送分片中的分片区块, 分析交易列表, 请求缺少交易 (如果有), 然后最终在本地分片中执行相同的分片区块, 并将此分片区块发送到元链中成为元区块。一旦这一点被元链公证, 交易就最终完成。
结语
Elrond 网络是高度专注的研究和开发的成果, 也是各种新型区块链基础设施解决方案实施的结果。每一层都发挥着至关重要的作用——从处理网络吞吐量到通信或验证网络交易。该网络能够通过其本地使用自适应状态分片来增加新的分片, 从而扩大某些层的容量。安全权益证明 (SPOS) 共识确保:在(1)区块链具有去中心化的性质, (2)实施区块验证资格的权益和评级系统, (3)以及区块提出者和验证者的可证明地随机选取,三种方法结合的情况下, 网络仍然是安全的。
Elrond 网络坚持可扩展性、去中心化和互操作性的原则。由于每个分片能够每秒处理3750 笔交易, 并确保即使是一台简单的笔记本电脑也能运行一个节点, 因此网络符合可扩展性和去中心化的原则。此外,其虚拟机与EVM 的兼容性提供了互操作性, 确保在需要更高吞吐量的行业和应用场景中,可轻松将其网络转移到Elrond。