编辑: 紫甘兰 | 2018-06-22 |
7 笔交易每秒,以太坊大概
15 笔交易每秒),不足以满足全球金融交易的需求.相比之下, Visa 可处理 56000TPS 的交易,支付宝在
2017 年11 月已实现了 200000+TPS 交易峰值.目 前区块链网络的可扩展性问题严重限制其广泛的应用,例如以太坊所支持的智能合约直接作为 dApp 运行在以太坊上,随著链上项目越来越多,负载越来越重,像 加密猫 一个项目就能把 整个以太坊弄的连基本的转账都很难成功.如何在不影响安全性和去中心化特质的前提下提升 区块链吞吐量,仍然有待探索. 随著时间的流逝, 区块链还面临数蛘臀侍. 如图1所示 (数丛, http://bc.daniel.net.nz) , 截止到 2018.2 月份比特币目前的区块总大小超过 150G,新节点需要花费
14 天才能同步完所有 区块;
以太坊区块总大小超过 650G,新节点需要花费
8 天才能同步完所有区块,而且还在以每 天约 145M 的速度增长. 1.3 Dora 的展望 Dora 采用全新的开创性区块链架构设计,旨在用区块链技术满足全球围商业活动的需要. Dora 从CPU 设计中受到启发,设法将流水线模型和分支预测算法应用於区块链,提出了针对 区块链可扩展性问题的解决方案,大幅提高区块链的性能,并兼顾安全性和去中心化. Dora 将推动区块链进入下一代, 建设高速高效, 通过节点快照新节点可快速加入的网络. 最终,Dora 的目标是变成一条人人可用,人人易用的公有链.
2 Dora 纵向扩容:并行化 传统的区块链扩容解决方案分为两种:状态通道和多链分片.像闪电网络[9] 就是利用状态 通道技术来缓解区块链可扩展性问题.其基本思想是固定的一组当事人之间的频繁交易,在所有 各方都完成交易后,其中一方只发布最终结果,而无需在链上生成多个交易记录 (本质上是减少
2 DORA 纵向扩容:并行化
3 图1: 区块链数蛘 中间结果的存储).然而,闪电网络只适用於固定的一组当事人之间频繁的交易,如果用户的交 易目标是随机的并且交易行为偶尔发生的话,就会导致低效率.而多链分片则是一种横向扩容技 术,通过增加链或者片区的数量,把交易分散达到最终扩容的目的,但这种方式通常伴随著子链 或者子分片上的安全性问题. 这些解决方案都以交易的串行化执行为假设条件,交易的串行化使得每个矿工节点可以独 立去执行和验证,从同一个创世块出发经过同样的串行操作序列,一定能得到一样的输出结果. 很显然,交易的串行化执行会导致系统的 TPS 总是受限於单个节点的性能.需要思考的是,交 易和交易之间一定要串行执行吗?是不是能在交易级别做并行处理从而设计一种纵向扩容技术 呢? 2.1 普通转账交易的并行 将账号看成一个节点,A 转账给 B,则在 A 节点到 B 节点之间添加一条有向边,边上的数 字表示转账金额.一个区块内的所有交易可以构成一个图.举一个例子,假设一个区块中包含如 下一些交易 {A 转帐给 B
10 个token,A 转帐给 C
5 个token,D 转账给 F
3 个token,E 转 账给 G
2 个token},如图2所示. 从图上明显可以看到这些交易被划分为三个子连通图:{A,B,C}, {D,F} ........