主页 > imtoken怎么用 > 区块链公链分片技术方案(附思维导图)

区块链公链分片技术方案(附思维导图)

imtoken怎么用 2023-05-19 06:18:24

点击上方“统一时代”订阅!

以太坊钱包余额查询_以太坊轻量钱包_以太坊钱包有哪些

unitimes.io

以太坊钱包余额查询_以太坊钱包有哪些_以太坊轻量钱包

全球视野,独到见解

以太坊分片理念

其基本思想是将网络中的节点划分为不同的分片,每个分片可以并行处理不同的交易,使得互不相连的交易可以并行处理,以提高网络并发度。 分片方案的特点是随着节点数量的增加,网络吞吐量也随之增加。

Vitalik Buterin 在他的最新推文中表示,以太坊分片技术最重要的原则是“尽可能接近与单一区块链相同的性质”

二次分片的目的是通过双层设计来增加交易容量。 第一层不需要硬分叉,主链保持原样。 但是,需要在主链上发布一个称为验证者管理器合约(VMC)的合约,用于维护分片系统。 这个合约会有O(c)个分片(目前是100个),每个分片就像一个独立的“银河系”:有自己的账户空间,交易需要指定发布到哪个分片,以及它们之间的通信碎片是有限的。

分片系统中的大多数用户将运行两部分程序。 (i) 主链上的全节点(需要 O(c) 资源)或轻量级节点(需要 O(log(c)) 资源)。 (ii) 通过 RPC 与主链交互的“分片客户端”

子链、侧链、状态通道

它们都属于链下扩容。

链下交易,对应比特币的闪电网络和以太坊的雷电网络。

以太坊钱包余额查询_以太坊轻量钱包_以太坊钱包有哪些

预先支付一些以太坊或比特币作为保证金,然后你可以通过链下的一些方式与其他人进行交易。 交易完成后,这笔结算放在区块链上。 要求主流交易所、钱包等大节点参与会更有效。

核心思想是每条链可以独立处理交易或事物,互不通信,最后将结算信息放在主链上。

与分片最本质的区别在于,分片是链上扩容,是对整个区块链网络的重构,节点之间也是相互关联的。

代理共识协议

典型代表有EOS、TRX。 如何选择这些代理人可以通过股权或通过一些官方验证来证明。

不管是7个特工,还是21个特工,甚至几十个特工,每个人都会组成一个小组。 这种机制的好处是可以保证在一个小群体内可以快速达成共识。

zilliqa 分片

开源地址:

用C++实现

在 Amazon 的 EC2 上测试 3600 个节点,达到每秒 2488 个事务

特点:分片技术,PoW+PBFT混合共识机制

测试网络:

Zilliqa 设计理念第 1 部分:网络分片

以太坊钱包余额查询_以太坊轻量钱包_以太坊钱包有哪些

Zilliqa 设计理念第 2 部分:共识协议

Zilliqa 的设计思路之三:让共识更高效

Zilliqa官方挖矿指南中文版

网络碎片化

假设我们有一个 1000 个节点的网络,网络会自动分成 10 个分片,每个分片有 100 个节点,所有分片都可以并行处理交易。

由于分片架构可以并行处理事务,因此吞吐量可以随着网络规模线性增长。

每个分片现在都可以独立处理交易,从而产生高吞吐量。

需要解决的关键问题

zilliqa 解决方案

一、女巫节点防控

使用工作量证明。 每个希望加入 Zilliqa 网络的新节点都必须首先执行 PoW,网络中的现有节点验证新节点的 PoW 并授权其加入网络。

POW的工作量证明部分和以太坊基本一样,需要你对前一个区块的哈希值、节点的IP地址和你的公钥进行哈希。

匹配相应的难度。 比如哈希值的前100位全为0,如果你计算出的哈希值满足这个条件,就说明你完成了工作量证明。

以太坊钱包有哪些_以太坊钱包余额查询_以太坊轻量钱包

根据工作量证明节点 ID 的最后几位数字,确定分配给哪个分片。 对于一个新节点来说,不可能通过自己的意志加入某个分片,只能通过工作量证明,而工作量证明的难度更大,因此可以避免新节点自己选择分片的情况。 所以最后几位工作证明可以在数学上保证你的随机性是足够的。 可以保证某些恶意节点无法直接加入某个分片。

2.自动创建分片

有一个单独的分片,DS委员会,整合各个分片的结果,收集不同分片中的交易哈希值以太坊轻量钱包,进行共识协议,形成哈希值的哈希值,然后广播出去,其他节点验证签名。

在每个 DS Epoch 开始时,所有候选人将运行 300 秒窗口的工作量证明(Ethash 算法)过程,以竞争加入 Zilliqa 网络。

每个 DS 纪元(约 1.5 小时)内共有 100 个 TX 纪元(每个约 1 分钟)。 第 100 个 TX 纪元称为 Vacuous 纪元。 空白期处理 coinbase 交易(奖励机制)、升级机制(因为 pBFT 中没有分叉)和持久状态存储(写入节点的 DB 而不是仅存储在内存中)。 在此期间,网络不会处理任何常规交易。

DS 委员会是根据 POW 选举产生的,采用先进先出的策略定期移除 DS 委员会的老成员和增加新成员。 新进入委员会的节点是最快解决 PoW 的节点。 DS 委员会的规模在任何时候都是固定的。 一旦选出 DS 委员会,分片过程开始,网络中的所有其他节点立即执行另一个 PoW,其 PoW 由 DS 委员会验证,每个节点根据提交和随机性分配到特定的分片。 PoW 提交的最后几个二进制数字决定了节点将被分配到哪个分片。

3.选择合适的尺码

选择合适的分片大小对于系统的安全性至关重要。 使用 PoW 创建分片相当于随机随机抽样一个节点集。

从 600 个节点开始,包含三分之一恶意节点的概率下降到百万分之一。 出于这个原因,Zilliqa 认为最小分片大小为 600。

4.避免跨芯片交易

5.交易分片

每当一笔交易进入网络时,它就会被分配到一个特定的分片。 分配由交易发送地址的前几位二进制数字决定,称为交易分片。

交易先由分片打包生成微块,然后上传到DS委员会。 如果幸运的话,可以被 DS 节点确认并签名,生成最终的区块。

以太坊钱包有哪些_以太坊钱包余额查询_以太坊轻量钱包

每个节点都能收到最终的区块,这个区块的内容很小。 同时,不同区块之间会进行数据交换,在最终区块中共享这些交易。

整个系统有三层结构:第一层是哈希的哈希; 第二层是交易的哈希; 第三层是真正的交易内容。 这种三层结构保证了整个系统在每一步播放时,内容量都比较小。 所以,经过一段时间后以太坊轻量钱包,在你不同的分片中,大家在这段时间的事务处理后,可以得到一个共同的状态。

交易分片根据交易发送方的账户地址划分,来自同一发送方的所有交易将在同一个分片中处理,让每个分片成员检测是否双花。 双重支出(或重放攻击)可以通过每笔交易中存在的随机数轻松检测到。

6.计算分片

分片还使计算执行和智能合约操作非常高效。 例如,一些分片可以充当映射器,而另一些分片可以充当缩减器,并非常有效地执行 map-reduce 任务,也称为计算分区。 片。

共识协议

计算密集型 PoW 需要大量时间进行计算,可能会减慢共识协议的速度,与网络中的节点数量无关,而是取决于网络的集体计算能力。 不能很好的利用碎片化小的优势。

实用拜占庭容错(简称PBFT)

Zilliqa 使用 PBFT 在每个分片中达成共识。 该协议由 Castro 和 Liskov 于 1999 年提出。它的运行假设是每个分片中最多有 1/3 的节点在执行协议之前是恶意的。

在PBFT中,一个共识组(即分片)中的所有节点按顺序排列,它有一个主节点(leader),其他节点称为备份节点。 每一轮 PBFT 都分为三个阶段:prep、prepare、submit。

PBFT 相比中本聪共识协议的其他优势

1. 交易最终确定性

一旦交易提交到区块链,它就是最终的,不会有临时分叉,因此不需要确认。

以太坊钱包余额查询_以太坊钱包有哪些_以太坊轻量钱包

2、能耗低

Zilliqa 使用 PoW 只是为了防止女巫攻击、确认节点身份和执行分片,而不是为了达成共识。 实际上,每确认 100 个区块左右就需要进行 PoW。

3.薪酬差异小

每个参与 Zilliqa 共识协议的矿工都可以获得相应的奖励

PBFT的挑战

一个主要缺点:只有在分片大小很小(即小于 50)时才有效率。 但是,正如我们在上一篇文章中所讨论的,出于安全原因,Zilliqa 的分片大小必须不少于 600 个节点。

PBFT 对于大型网络效率低下的主要原因是它有潜在的通信成本,即分片中的每个节点都必须与所有其他节点通信,这就是通信成本是二次方的原因。

使用数字签名而不是 MAC 可以将发送的消息数量从二次方减少到线性数量级,并且当 n 很大时,这种减少会产生显着影响。 以600个节点为例,传播的消息数可以从179700条减少到599条。

使用多重签名的方法来降低通信成本并减小每条消息的大小。

目前流行的多重签名方案是基于Schnorr数字签名技术。

Zilliqa 使用最近一些学术论文中的技术来提高经典 pBFT 协议的效率。

附:思维导图

以太坊轻量钱包_以太坊钱包有哪些_以太坊钱包余额查询