本文深入探讨了区块链可扩展性的限制,分析了影响区块链扩展的多个技术因素,包括计算能力、带宽和存储要求。作者提到,在确保去中心化的同时,区块链技术需要进行根本性的技术改进,如无状态性和状态过期等,以解决当前的瓶颈。同时,分片技术被认为能够进一步提高扩展性,但也带来了对用户数量和历史数据存储的风险。总结上,这篇文章强调了在提升区块链性能的过程中,保持去中心化的重要性。
本文探讨了以太坊的历史增长问题,这一问题已成为其扩展的最大瓶颈。文章详细分析了历史数据的增长速度、产生的主要原因,并提出了解决方案,特别是EIP-4444的实施,这将显著减少以太坊节点的存储负担,促进网络的可持续发展。
本文深入探讨了以太坊虚拟机(EVM)的数据存取机制,阐明了不同数据位置(如stack、memory、storage、calldata和transient storage)的性质与用途,及其与Solidity编程的相关性。文章不仅解释了Solidity中常见错误的原因,还提供了丰富的代码示例和图示,帮助开发者理解EVM内部工作原理。
本教程详细介绍了如何在Anchor框架下向已初始化的Solana账户写入数据,并解释了相关代码的实现原理。
文章介绍了在Solidity中如何操作存储中的数组,包括添加、删除元素以及获取数组长度等操作,并提供了相关的代码示例和解释。
理解以太坊存储
Certora团队的John Toman发现了Solidity 0.7.3中的一个bug,该bug导致编译器在一些写入操作中错误地将垃圾数据写入持久存储。这一问题可能导致合同执行成本增加,但目前尚未确认其安全影响。Solidity编译器团队已在0.7.4版本中修复了该bug。
文章详细介绍了在Solidity编译器中发现的一种代码生成漏洞,允许恶意存储字段欺骗Solidity,将不相关信息插入通过abi.encodePacked等方法生成的数组中。该漏洞已在Solidity 0.8.0版本中修复。
abi.encodePacked
本文介绍了Yul语言的基础知识,Yul是一种用于在智能合约中编写汇编语言的中间编程语言。文章通过示例讲解了Yul的变量赋值、操作、循环、条件语句、存储和内存管理,以及如何执行合约调用。