来源:A&T Capital
作者:Todd
前言
(相关资料图)
这两周花了不少时间来弄明白新公链 & 新 L2 的创新点,并尝试从中寻找模块化之后,下一个公链底层创新可能出现的地方,就有了「拆分 & 优化 & 重组」——是我从所有这些创新中提炼出的第一性原则,更是我认为会长期指引区块链不断优化的第一性原则。
TL,DR;
近期的创新(Danksharding,Aptos&Sui,Altlayer),抽象来看都在走「先拆分,再进化」的路线,这与模块化区块链的初始理念一致,但又走的更远 >>> 这样的理念会持续指引区块链优化的方向。
将不同项目创新项目的创新点进行抽离和重组,可以获得更好的效果:将并行计算引入模块化区块链框架。
即便给整个框架带来了大量的复杂性,但我们仍应该继续「拆分 & 优化」,区块链还未到「做减法」的时候。
什么是细分 & 优化 & 重组
这个理念源于「模块化区块链」,但与当前主流的模块化定义存在一定的不同:
模块化理念意味着将区块链三大块「存储,计算,共识」中至少一块拆分成相对独立运行的结构;
e.g. Celestia 将存储层拆分,并提供通用的存储层以支持更高的效率&更多的自主性;
拆分 & 优化 & 重组,代表着在三大块中任意单一块中,按照优化需求做进一步「拆分」,并最终重组成一个更高可能性的区块链。
e.g. 在计算层,将所有交易按照分类来独立执行。
这个理念其实很好理解:让每一个结构可以执行尽可能简单的计算,以获得单个结构最大的效率提升。
基础层创新中的「拆分 & 优化」
以太坊——Danksharding
在以太坊基金会研发团队第八次 AMA 中,Justin 明确表示「以太坊正在变得越来越模块化」(Ethereum is becoming increasingly modular)。
Justin 在 Reddit 中回复的截屏
但你应该也注意到了,Justin 口中的「模块化」是超出了当前市场上大量被讨论的「模块化区块链」概念的:
第四点「Proposer Versus Builder」提出将交易排序与最终出块进行拆分,以获取抗 MEV 的特性 >>> 此设计并没有在 Danksharding 之外的项目中看到;
第五点「Prover Versus Verifier」提出将部分非关键性共识验证逻辑从关键性共识 SNARK 验证逻辑中剥离,并以此开发出两套客户端,以获取更好的网络效能 >>> 针对 Prover 和 Verifier 提供两套客户端的设计也并未在 Danksharding 之外的项目中看到,但这样的设计是其他项目能够快速参考 & 上手的理念。
以上这两点均完美契合了「拆分 & 优化」的定义。
Aptos & Sui
并行计算 是 Aptos和 Sui 扩容方案中的核心理念。
其实,并行计算是一种已经在 Web2 中被大量验证过的扩容理念,但其中的前置条件限制了这种理念在当前主流区块链:两两之间存在相关性&冲突性的交易无法直接进行并行计算,e.g. 当两个用户与 Uniswap 中的同一个交易对进行交互,A 用户交易执行后会改变 B 用户面对的资产兑价,那么先执行 A 还是先执行 B 对结果是存在冲突的。
Aptos & Sui 通过一系列的分类处理来解决了这样的限制:
Software Transactional Memory (STM)与 optimistic concurrency control (OCC)的组合,是一种对内存访问进行检测并管理冲突的方法(从链上对交易的记录最终会修改数据库的视角):先乐观的让并行的多个线程独立完成对共享数据库的修改,完全忽略可能会有其它的线程存在,如果不涉及冲突,则可以轻松的处理超大量的内存修改;如果涉及冲突,则会对单个交易进行回滚,并待冲突交易更新完毕后再执行。
这种分类处理的概念从某种意义上也完全符合「拆分 & 优化」的理念:
将共识层和执行层进一步细分,按照交易的类别来对整个 P2P 网络中的所有进行分类处理,让每一个结构可以独立完成对共享数据库的修改,这样尽可能优化了单个结构的执行要求。
Altlayer
Altlayer 是一个可插拔的&按需加载的 L2&L3 框架,主要针对应用阶段性的高扩展性需求。
如果你一定要问我 Altlayer 和其他主流 L2 的区别,我大概会说:Altlayer 是套弹性的扩容方案,而其他主流 L2 都是非弹性的。
以下的这种场景将最大化弹性扩容的价值:
大量的 NFT 项目会在其 Mint 活动期间爆发出超高量的交易,但长期中并不会持续有对高 TPS 的要求 >>> 弹性扩容方案可以满足 NFT 项目 Mint 期间的网络需求,且长期不会给 NFT 项目带来持续性负担。
Altlayer 的核心理念也完美契合「拆分 & 优化」的理念:
弹性扩容本质上是将用户的需求进行细分,针对阶段性&突发性需求,提供了更加优化的方案 -- 弹性扩容其实在传统云服务中是一种非常常见的解决方案。
简单的归纳一下:
在以太坊诞生至今的数年里,关于最优的区块链的大体框架结构其实已经越来越清晰,但我们仍需要将区块链底层再次优化以适应大规模应用的需求,那优化的方向是?
方向之一:将区块链这个整体进行细分,并对细分结构进行极致的优化;
方向之二:新一代的技术替代,e.g. 零知识证明,10x 的网络带宽,10x 的固态硬盘空间(如果你一定要我「细分 & 优化」之外,还有什么方向的话 )。
请注意:通过细分 & 优化的单个结构,重组的方案也可以创新,且最终效果可能远超原计划
下一代以太坊杀手?
最近社群里其实有很多关于下一代以太坊杀手的讨论:Move 匪帮 Aptos & Sui V.S. 模块化标杆 Celestia。
个人认为:不是上述的任何一个,但会包含上述方案中的创新点。
大体四层框架:Celestia & Danksharding 已经展示了将 Monolithic Blockchain 拆分成四层再优化的价值(拆分成更多层当然是可以的,但这里为了方便大家理解,就拆成四层);
存储 -- Celestia:从节点规模层面来看,Celestia 可以是目前最安全的独立 DA 层;
交易排序共识 -- Celestia:通过引入 DAS(Data Availability Sampling),Celestia 能够提供高效的对交易顺序的共识;此外,将交易进行分类后的并行计算,也同样能加速此结构;
状态共识 -- 类 Aptos & Sui 共识:并行计算在理论上拥有极高的处理效能,是当前此层的最效率选项;此外,引入 ZK 技术,可进一步优化(已出现 ZKmove 的讨论);
执行:作为相对独立的一层,现有很多方案已经极大的释放了开发者的可能性;而弹性扩容可作为一个补充以应对各类突发需求。
上述「以太坊杀手」V.S. 以太坊 (Danksharding)
以太坊是更安全的选项,但在可扩展性 & 自定义能力上并不占优 -- 个人观点(可能会 update :D)。
Aptos & Sui 的共识涉及到了区块链状态共识部分,意味着该共识天生就和以太坊现有框架无法集成 >>> 以太坊目前还无法集成这类并行计算的创新,至少在短期不太行。
基础层创新中的「拆分 & 优化」
从 Vitalik 在 EthCC 打趣「Shall we cancel sharding」,再到 @Polynya 的《4844 and Done》,市场上有许多关于「减缓链创新以降低区块链复杂度」的讨论。
个人偏向于「还没到简化的阶段」:如果我们回看云服务行业的发展历程,在前半段的数年里,云服务变得越来越有用的同时也是在变得复杂。直到近几年,我们才看到越来越多的简化措施,e.g. Serverless, IAC
新兴技术的发展大概都是你这样的三部曲:「寻找 & 确定一套通用且最具价值的大框架」>>「提升能力范围,也变得复杂」>> 「简化以获得更好的使用体验和更低的成本」。
简化的前提是东西已经足够好用,而当前的区块链底层基础很明显尚未达到「足够好用」的级别。我们仍在上半场
我十分坚信:我们能在漫长的熊市中看到更多的「细分 & 优化」!届时,再回来做更新!
关键词: 并行计算