热门话题
#
Bonk 生态迷因币展现强韧势头
#
有消息称 Pump.fun 计划 40 亿估值发币,引发市场猜测
#
Solana 新代币发射平台 Boop.Fun 风头正劲
"无信任性"、"通过离开测试"和"自我主权"的一个重要且常被低估的方面是协议的简单性。
即使一个协议是超级去中心化的,拥有数十万个节点,并且具有49%的拜占庭容错能力,节点完全验证所有内容,使用量子安全的peerdas和starks,如果该协议是一团糟,包含数十万行代码和五种博士级别的密码学,最终该协议将无法通过所有三个测试:
* 它不是无信任的,因为你必须信任一小部分高僧,他们告诉你协议具有什么属性
* 它没有通过离开测试,因为如果现有的客户端团队离开,新的团队很难达到相同的质量水平
* 它不是自我主权的,因为即使是最技术性的人也无法检查和理解这个东西,它就不完全属于你
它的安全性也较低,因为协议的每个部分,尤其是如果它可以以复杂的方式与其他部分交互,都会带来协议崩溃的风险。
我对以太坊协议开发的一个担忧是,我们可能过于急于添加新功能以满足高度特定的需求,即使这些功能使协议膨胀或添加了整个新类型的交互组件或复杂的密码学作为关键依赖。这在短期内可能对功能性提升有好处,但对保持长期自我主权和创建一个超越帝国和意识形态兴衰的百年去中心化超结构是极具破坏性的。
核心问题是,如果协议变更是从"这些变更对现有协议有多大"的角度来判断,那么为了保持向后兼容的愿望,添加的频率远高于删除,协议不可避免地会随着时间的推移而膨胀。为了抵消这一点,以太坊开发过程需要一个明确的"简化" / "垃圾收集"功能。
"简化"有三个指标:
* 最小化协议中的总代码行数。理想的协议应适合在一页上——或者至少几页上
* 避免对根本复杂的技术组件的无谓依赖。例如,一个安全性仅依赖于哈希(更好的是:仅依赖于一个哈希函数)的协议比一个依赖于哈希和格的协议要好。引入同态映射是最糟糕的,因为(对那些真正聪明且努力工作的极客们感到抱歉)没有人理解同态映射。
* 添加更多的_不变性_:协议可以依赖的核心属性,例如EIP-6780(自毁移除)增加了每个存储槽最多可以更改N个存储槽的属性,显著简化了客户端开发,而EIP-7825(每交易燃气上限)增加了处理一笔交易的最大成本,这对ZK-EVM和并行执行大有帮助。
垃圾收集可以是零散的,也可以是大规模的。零散的方法试图对现有功能进行简化,使其更简单且更有意义。一个例子是Glamsterdam的燃气成本改革,使许多之前任意的燃气成本依赖于少量明确与资源消耗相关的参数。
一个大规模的垃圾收集是用PoS替代PoW。另一个可能会作为Lean共识的一部分发生,腾出空间同时修复大量错误( )。
另一种方法是"Rosetta风格的向后兼容性",其中复杂但使用较少的功能仍然可用,但被"降级"为不再是强制协议的一部分,而是成为智能合约代码,因此新的客户端开发者不需要去处理它们。例子:
* 在我们升级到完整的本地账户抽象后,所有旧的交易类型都可以被淘汰,EOA可以转换为智能合约钱包,其代码可以处理所有这些交易类型
* 我们可以用EVM或后来的RISC-V代码替换现有的预编译(除了那些_真的_需要的)
* 我们最终可以将VM从EVM更改为RISC-V(或其他更简单的VM);EVM可以在新VM中变成一个智能合约。
...

热门
排行
收藏
