欢迎莅临 IEEE HotICN 中文社区,IEEE HotICN 国际学术会议网站: https://hoticn.com, https://hoticn.cn。

Monoxide: Scale Out Blockchains with Asynchronous Consensus Zones

区块链 韦帆

Wang J, Wang H. Monoxide: Scale out blockchains with asynchronous consensus zones[C]//16th USENIX symposium on networked systems design and implementation (NSDI 19). 2019: 95-112.

为了突破区块链的可拓展性,有人调节区块大小,有人做 DAG,有人链下扩容,有人做分片,但所有方案都有共同问题:性能上不来,要么去中心化牺牲太大,要么安全性变差。Monoxide 的出现改变了这一切。把整个区块链拆成成千上万个“异步共识区”(Consensus Zones),每个区独立挖矿、独立验证、独立存储、独立执行。

一、Monoxide 解决了区块链扩展的两大根本难题

1. 区块是顺序生成的 → 不改变时间间隔和区块大小下,TPS 永远低

不管多少节点参与挖矿,全球只能每 10 分钟加入一个比特币区块。

2. 每个节点都要处理整个账本状态 → 系统无法横向扩容

所有节点都要:

  • 保持全账本存储
  • 做全状态的执行
  • 重复验证所有交易

二、创新点一(核心思想):异步共识区(Asynchronous Consensus Zones)

Monoxide 把全网地址空间按前 k 位切成 2^k 个 Zone。
每个 Zone 完全独立运行一个“小区块链”:

每个 Zone 都:自己挖矿,自己存储区块,自己维护状态,自己执行交易

如果把整个区块链网络想象成一个大超市,只有一个收银台,所以排队很长。
Monoxide 把这个超市分成多个独立的小超市(共识区),每个区有自己的收银台,并行处理交易,整体吞吐量成倍提升。

三、创新点二:Eventual Atomicity(最终原子性)

允许跨区交易异步、分步骤完成,但保证最终一定一致。

跨区交易被拆成:

  1. 在 Zone A 执行扣款(withdraw)
  2. 生成 relay transaction(转发交易)
  3. relay 送到 Zone B
  4. Zone B 执行到账(deposit)

不需要锁、不需要阻塞、不需要协调器,也没有死锁风险。只要两边区块都继续产生,最终都会完成。

Monoxide: Scale Out Blockchains with Asynchronous Consensus Zones插图

图一、跨区交易图

四、创新点三:Chu-ko-nu Mining(连弩挖矿)

分成多区后,每区算力变薄,51% 攻击门槛下降。采用一次 PoW 解出后,可以同时生成多个 Zone 的区块。

对诚实矿工:

  • 算力被同时放大 N 倍
  • 在所有 Zone 都能参与挖矿
  • 所有 Zone 的有效安全度 ≈ 全网算力

对攻击者:

  • 由于要集中算力攻击一个zone
  • 攻击一个zone成本 ≈ 攻击全网的成本
Monoxide: Scale Out Blockchains with Asynchronous Consensus Zones插图1
Monoxide: Scale Out Blockchains with Asynchronous Consensus Zones插图2

图二、连弩挖矿与传统挖矿区别示意图

五、实验:全球 15 区域、48,000 节点、真实 ERC20 回放

Monoxide 在一个真实的大规模部署中测试:

  • 1200 台 VM
  • 48,000 节点
  • 跨 15 国家区域
  • 回放所有 ERC20 支付(7580 万笔交易)

最终结果:

吞吐提升:1000 倍 Bitcoin/Ethereum

容量提升:2000 倍 Bitcoin/Ethereum

首次确认延迟:13–21 秒(与以太坊相当)

Monoxide: Scale Out Blockchains with Asynchronous Consensus Zones插图3

图三、实验结果图

六、Monoxide 的主要局限性

1、不支持多对多跨区交易(Many-to-Many)。Eventual Atomicity 只能保证一次 relay 的原子性。多个 relay 会导致状态依赖冲突,无法做到“全部成功或全部失败”,不愿引入两阶段提交(2PC)。

2、单地址热点(Single Address Hotspot)仍会导致瓶颈。分片(Zone)按地址空间划分:会造成单 Zone 变成系统瓶颈,一个地址无法进一步拆分,全局热点不能被均衡到不同 Zone。

3、每个全节点都需要同步并跟踪所有共识组中的块头/成批块头(连弩挖矿),该代价为:BlockHeadSize × n / BlockIntervalBlockHeadSize为块头的元数据,BlockInterval为出块间隔),对于每个全节点来说,这仍旧是一个不容忽视的开销。n总能大到一定程度,使得本地带宽被耗尽。

本文主要参考和使用了论文和王嘉平老师知乎文章中展示的原理图片,以下给出相关链接。

王嘉平老师的知乎文章链接:https://zhuanlan.zhihu.com/p/56065714

论文链接:https://www.usenix.org/conference/nsdi19/presentation/wang-jiaping

喜欢 (0)