背景
Vitalik Buterin于2013年⾸次提出以太坊,迄今已有⼋年。⼋年间,智能合约诞⽣、发展,逐步繁荣。
如今以太坊已是最为成功的智能合约平台。对它的⽣态系统进⾏调研之后,我们有如下的⼀些观察:MacBook Pro in 2013 MacBook Pro in 2021 MacBook Pro in 2029
CPU核⼼数 2 8 32
CPU最⾼主频 2.9GHz 3.1GHz 3.3GHz
CPU制造⼯艺 22nm 5nm 1nm
单链的⽤户体验,是Sharding和Layer2⽅案所难以匹敌的。零延迟和原⼦性的智能合约互操作,只有
在单链的场景下才能实现。跨Shard或者Layer1和Layer1之间的交互必须经过链间通讯的过程,这⼀过
程将引⼊类似于在中⼼化交易所充值和提币的延迟。⼀些著名的机制,例如flash loan 和flash swap,
在跨链时⽆法⼯作。
低通量阻碍了普通⽤户同DApp直接交互。每个区块的Gas上限是固定的,矿池会优先打包那些Gas
Price较⾼的交易。同时,低Gas Price的交易需要等待很⻓时间才会被打包,甚⾄永远都不会被打包。⾃
然,只有那些⾼价值的交易才值得⾼Gas Price。因此普通⽤户在⽆法承受⾼Gas Price的情况下,只能将
⾃⼰的资⾦存⼊中⼼化的机构,委托它们代替⾃⼰操作这些资⾦。在DeFi世界中,只有少数的账户在发
送交易。这些账户拥有⼤笔资⾦,或者因为⾃⼰拥有很多,或者因为收集了委托者的资⾦。这是蛮讽刺
的⼀件事,如今的去中⼼化⾦融并没有那么地去中⼼化。
相对于执⾏智能合约所进⾏的计算,存储消耗了更多的资源。在以太坊的历史上,存储操作的Gas已经
被两个EIP增加过:EIP-1884和EIP-2200。但这仍然不够,有研究表明以太坊仍然低估了某些存储操作,
使得它容易受到DoS攻击。因此,另⼀个EIP-2929即将在下⼀次的柏林硬分叉升级中,进⼀步升⾼存储
操作的Gas。与此同时,EVM当中的256位⻓整数算术运算,在由Martin Holst Swende和Paweł Bylica
所开发的库当中,得到了显著的提速。
链外的QPS(Query Per Second)同链上的TPS(Transaction Per Second)同等重要。⼀个DApp
⼯作时,不仅要发送交易,⽽且要查询链的最新状态及其历史事件。交易只执⾏⼀次,但与之对应的事
件和状态更新可能会被查询很多次。因此对QPS的总需求远⾼于TPS。在以太坊的⽣态中,查询操作通过
Web3 API来完成。⽽Infura是Web3的最⼤提供商。Infura维护着⼀份Web3的优化实现,它⽐标准的全
节点客户端(例如go-ethereum)更强,因此并没有开源。很多开发者都选择使⽤Infura的低成本服
务,⽽不是⾃⼰运⾏全节点。这导致了,当Infura出现了严重的服务中断时,很多DApp和交易所就不能
⼯作了。
⽤户对于交易延迟容忍度较⾼,同时并不⼗分关⼼交易的具体排序。通常,我们使⽤像MetaMask这样
的钱包来签署交易,选择合适的Gas Price,然后⼴播交易。为了节省Gas费,我们经常会选择⼀个较低
的Gas Price,然后等待数分钟甚⾄数⼩时直到交易最终被确认,⽽不是选择极⾼的Gas Price让它下个块
就被确认。有时候其他⼈的交易会⽐你的交易更早确认,从⽽带来⼀些损失,例如更⼤的滑点。但⼤多
数⽤户可以容忍。
我们还观察到⾃从2013年以来,计算机发展的最重要的趋势是:CPU在多核的⽅向上⾛得更远了。让我
们来⽐较⼀下2013年和2021年的MacBook,同时预测⼀下2029年的MacBook。
MacBook Pro in 2013 MacBook Pro in 2021 MacBook Pro in 2029
CPU核⼼数 2 8 32
CPU最⾼主频 2.9GHz 3.1GHz 3.3GHz
CPU制造⼯艺 22nm 5nm 1nm
集成电路⼯艺在28nm之后,已经很难继续⼤幅度提升频率,但是它的每⼀代升级,仍然提供了更⾼的晶
体管密度。设计者利⽤这些晶体管,实现了越来越多的CPU核⼼。在过去的10年⾥,新创的编程语⾔都
在宣传⾃⼰能够⾮常容易地开发多核CPU的潜⼒:Go语⾔的 channels and goroutines,Dart语⾔的
isolates,以及Rust语⾔的fearless concurrency。
以上这些观察指导了Smart Bitcoin Cash的设计和实现。