solidity面试题+答案
以太坊的EIP提案也是面试会问到的内容,通常会被问,说说你熟悉的EIP提案。 问这类问题,主要考察你是否对以太坊的发展有所关注.可以通过回答最新的EIP或者热度比较高的EIP,以及其内容,在哪次以太坊升级中实现了。 下面给出重要EIP例子。
EIP-1559旨在改变以太坊的交易费用定价机制。该提案引入了一种新的交易类型,其中包括每个区块固定的网络费用,这些费用会被销毁,并动态地扩展/收缩区块大小以应对短暂的拥堵。该提案的目标是降低以太坊的GAS费用,减少拥堵,使ETH更加稀缺.该提案在伦敦升级中实现。
EIP-3680内容是让合约大小翻倍,上海升级之前,合约的大小限制在24KB,超过这个字节数会部署失败.EIP-3680让开发者可以在一个智能合约中实现更复杂的功能.
EIP-4895也是上海升级的内容之一,其实现是让Pos质押的ETH可以提取,但是这个对开发者并不是那么的重点。
EIP-4337内容是抽象账户AA (abstract account)的实现,在2023年3月在我们平时使用的钱包地址属于EOA外部账户,AA就是一个居于有合约功能的账户.平时一笔交易的gas费是从我们的EOA账户里扣的,有了AA,我们就能让AA账户帮我们出gas费.不用我们的的EOA进行签名发起交易,提高账户的安全性. 上面是人话,回答到这已经差不多了,如果更详细,可以照抄官方的话。
下面是官方给出的: 智能合约钱包(AA)可以为用户带来许多好处,包括:
外部帐户采用简单的公钥-私钥对。 它们的工作原理如下:
智能合约钱包是解决这些问题的方法,但是目前它们很难编程,因为最终它们实现的任何逻辑都必须被转换为一系列外部帐户交易,才能被以太坊处理。 帐户抽象可以让智能合约自行发起交易,因此用户希望实现的任何逻辑都可以编码到智能合约钱包本身,并在以太坊上执行。 最后,帐户抽象可以改善对智能合约钱包的支持,使其更易于构建且更安全地使用。 最终,通过帐户抽象化,用户可以享受以太坊的所有好处,而无需了解或关心底层技术。
下面是智能合约钱包的原理图:
EIP-4884是坎昆升级的内容,当然也要提一嘴。主要是实现ETH L1 的扩容,采用Pro-Danksharding (分片)技术,它通过将网络划分为更小的单元(称为“分片”)来实现这一点,这些单元能够独立处理交易。具体实现是引入了一种新的交易类型Blob,将交易数据移动到一个新的临时“blob”存储中,数据 blob 中包含的信息会在固定期限(通常为一到三个月)后自动删除,并且以太坊虚拟机 (EVM) 无法访问。这有助于 rollup 以更低的成本传输数据,从而降低最终用户的交易费用。 在这之前,L2会定期将一些数据存储在L1主链上,这个步骤会消耗大量的费用,坎昆升级后,L2 交易将存储在blob中,Blob类似以太坊L1的“外部存储空间”,存储成本更便宜,空间更大。 想了解Proto-Danksharding的,可以参考这篇文章: <!--StartFragment-->
What Is Ethereum’s EIP-4844 Update? How Proto-Danksharding Can Reduce Gas Fees (crypto.com)
<!--EndFragment-->
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!