众所周知, 网络有限的交易处理能力极大阻碍了其成为 "世界计算机" 的步伐. 以太坊创始人 Vitalik 曾多次公开示, 在保持既有安全性与去中心化特性的前提下实现区块链扩容, 是当下以太坊技术团队的核心工作.
然而, 由于时至今日, 迟迟未见其扩容技术方案带来的质性飞跃, 众多开发者和用户对以太坊智能合约平台的拥堵现状及应用前景日渐忧虑.
自 2016 年以来, 以太坊的种种扩容尝试就经常性涌入公众视野(包括 Plasma,Sharding,Casper 等等), 究竟其扩容方案都经历了 哪些变化 , 当前 进展 以及 最新规划 如何, 小葱特此对 以太坊的扩容长征路 进行了梳理与分析.
扩容呼声日渐迫切 V 神丢出新构想
近日, 以太坊客户端 Parity 的开发人员 Afri Schoedon 指出以太坊已经超负荷运行, 提醒用户 "不要继续在以太坊网络部署 DAPP", 并呼吁开发人员转移到以太坊经典 () 或 POA 网络(基于以太坊的侧链), 他认为这些网络的交易处理能力依然很强.
对此, Vitalik 当即回应表示 "不同意"Schoedon 的看法, 并指出,"1)大多数 DAPP 都有优化 gas 的空间, 就算你不这样做, 只要你的 DAPP 抬高了 gas 费用, 增加了网络压力, 其它 DAPP 也会进行优化; 2)以太坊链上还有很多毫无价值的垃圾交易; 3)每个人都应该研究关注二层方案."
并且, Vitalik 在以太坊技术论坛上发文表示, 二层方案不需要权衡数据的可行性, 也没有活跃度要求. 如果部署得当, 使用 zk-snarks 进行批量交易验证 , 以太坊可以 "大量" 扩容, 每次交易的成本不会高于 1000 gas, 最多可完成每秒 500 笔链上交易 , 十分安全, 且不依赖第二层扩展方案 (如 Plasma 或 RDN/"target="_blank""> 雷电网络).
在该论坛上, Vitalik 与众多开发者就该方案的实现进行了讨论. 他承认运用 zk-snark 技术实现批量交易验证将伴随大量的零知识证明计算工作(证明的生成), 不过他认为, 证明计算的性能无需担忧, 从长远来看, 可以将这些工作外包给采矿业和 GPU 农场.
Vitalik 指出利用零知识证明技术做批量交易验证是一个二层解决方案, 其设计难点在于: 要求每个验证器都实际拥有所有数据, 需要随机抽样的验证器子集来证明不同数据子集的所有权, 而这就需要通过 "分片" 设计来解决, 这是难点所在.
小葱注: zk-snark, 是一项隐私应用非常广泛的技术, 全称是 Zero knowledge succinct non-interactive argument of knowledge(零知识简洁非交互知识的证据), 已在项目里经过实践检验, 被认为是较成熟的技术. zk-snark 技术的亮点在于, 生成证明的简洁, 以及验证速度的高速. 本次 Vitalik 提出的方案中使用该技术的目的旨在提升可扩展性, 而非强化隐私. 就目前来看, 以太坊 2.0 中具体如何落地这一技术还处于探讨之中.
以太坊开发人员很久之前就注意到区块链扩容的重要性. 也讨论和提出过诸多实验方案.
扩容伊始 : 那些被 pass 的理论方案
替代币 (altcoin) 扩容方案
理论上, 可使用替代币 (altcoin) 解决扩容问题. 该方案是将转账计算放在链下进行, 并且接受同时存在多个替代币, 它们各自拥有自己的区块链. 如此一来, 每个区块链减少的流量, 能让整个区块链得以扩容. 但它造成的直接后果是, 每个区块链有更少的节点, 容易被攻击或出现恶意用户. 使用替代币 维持了去中心化和提高了扩容性, 却极大舍弃了安全性 .
增加区块大小
以太坊网络中增加区块大小, 即提高 gas 值限制. 2017 年 6 月, 以太坊基金会联合创始人 Hudson Jameson 曾呼吁矿工手动修改 Gas 限制以提高网络的交易吞吐量. 但该方案也存在诸多弊端: 随着 Gas 值上限被放大, 网络易于被那些拥有大量验证处理能力的超级计算机掌控, 沦为中心化系统 ; 且该方案会导致以太坊网络出现叔块 (处于非最长链上的区块) 的几率升高, 所以大部分矿工对这一扩容方式 未作过多响应 .
尽管扩容实现遇到种种阻碍, 但以太坊开发者们不断寻求扩容问题的出路, 并先后提出了多项技术方案.
扩容探索: 多项技术方案并行研究
EIP648 扩容提案: 并行活动
来源: http://www.tuicool.com/articles/mae2Y3M