这篇文章详细介绍了简单序列化(SSZ)的实现和功能,包括类型定义、序列化与反序列化过程、Merkle化、以及SSZ与JSON的映射关系。文章结构清晰,逻辑严谨,包含示例代码和表格,适合对区块链数据结构有深入理解的读者。
本文提供了以太坊共识层Phase 0的网络规范,详细阐述了网络基础知识、不同网络交互领域的协议(如gossipsub、discv5和Req/Resp)以及设计决策的合理性。文档内容丰富,包括网络传输、加密协议、协议协商、消息格式、节点发现和数据压缩编码等多个方面,旨在为开发人员提供一致且高效的协议框架。
本文介绍了在以太坊虚拟机(EVM)中引入三条新的指令 SWAPN、DUPN 和 EXCHANGE 以提升栈操作的灵活性,这三条指令允许访问深达256个项的栈,简化了编译器的设计,并支持更复杂的函数调用。文章详细阐述了这些新指令的规范、执行规则、兼容性及安全性考虑。
SWAPN
DUPN
EXCHANGE
本文提出了一种结合EIP-2938和ERC-4337的原生账户抽象提案,通过将以太坊交易拆分为验证、执行和后交易逻辑的多个步骤,实现了更好的兼容性和效率。文章详细阐述了新交易类型的定义、规则及其在现有协议中的应用,尤其关注了向后兼容性和安全性。
本文介绍了一种为以太坊虚拟机(EVM)设计的可扩展和版本化的容器格式(EOF),通过在部署时进行校验,提供了代码与数据的分离,有助于将来新功能的引入与旧功能的废弃。EOF格式的设计可以减少运行时的负担,提升合约的管理效率。并且,该格式包括了一些新特性,如静态跳转和多字节操作码的支持。
本文介绍了一种扩展验证EVM代码段的机制,旨在确保在有效合约的执行过程中不会发生栈的下溢或溢出。通过对操作数栈的验证,消除了运行时对栈下溢的检查,并减少了对于大多数指令的栈溢出检查。此外,还讨论了代码有效性、栈高度和终止指令的相关性。
本文介绍了在EOF格式的字节码中实现多个代码段的能力,主要是通过引入新的操作码CALLF和RETF来实现对函数的调用和返回。该EIP旨在消除动态跳转的需要,并通过编码输入和输出数量来提高代码分析的机会,同时限制每个函数的栈隔离。
CALLF
RETF
本文介绍了在合约创建时对EOF格式(EIP-3540)合约代码进行验证的新特性,以确保代码的正确性,拒绝包含不完整PUSH数据或未定义指令的合约。该项更改旨在将代码有效性纳入共识,同时提供向前兼容性,允许未来新指令的定义,并简化EVM的执行路径。
该文档定义了一个新的 JSON-RPC 方法 wallet_grantPermissions,允许 DApp 请求钱包授予执行交易的权限,无需用户手动批准每个交易,并支持在没有钱包连接的情况下执行交易。该方法通过定义权限请求和响应的模式,以及支持不同类型的签名者和权限,为 DApp 提供了一种统一的方式来请求和管理用户授权,从而实现诸如订阅、被动投资和限价订单等用例。
wallet_grantPermissions
本文详细介绍了Merkle证明的格式,包括各种辅助函数和数据结构。文章中展示了如何生成Merkle树以及实现Merkle多重证明,并通过代码示例详细解释了各个函数的作用和实现原理,具有较高的技术深度和实用价值。