solidity面试题(六)

solidity面试题+答案

以太坊的EIP提案也是面试会问到的内容,通常会被问,说说你熟悉的EIP提案。 问这类问题,主要考察你是否对以太坊的发展有所关注.可以通过回答最新的EIP或者热度比较高的EIP,以及其内容,在哪次以太坊升级中实现了。 下面给出重要EIP例子。

1.EIP-1559

EIP-1559旨在改变以太坊的交易费用定价机制。该提案引入了一种新的交易类型,其中包括每个区块固定的网络费用,这些费用会被销毁,并动态地扩展/收缩区块大小以应对短暂的拥堵。该提案的目标是降低以太坊的GAS费用,减少拥堵,使ETH更加稀缺.该提案在伦敦升级中实现。

2.EIP-3680

EIP-3680内容是让合约大小翻倍,上海升级之前,合约的大小限制在24KB,超过这个字节数会部署失败.EIP-3680让开发者可以在一个智能合约中实现更复杂的功能.

3.EIP-4895

EIP-4895也是上海升级的内容之一,其实现是让Pos质押的ETH可以提取,但是这个对开发者并不是那么的重点。

4.EIP-4337(被问最多的)

EIP-4337内容是抽象账户AA (abstract account)的实现,在2023年3月在我们平时使用的钱包地址属于EOA外部账户,AA就是一个居于有合约功能的账户.平时一笔交易的gas费是从我们的EOA账户里扣的,有了AA,我们就能让AA账户帮我们出gas费.不用我们的的EOA进行签名发起交易,提高账户的安全性. 上面是人话,回答到这已经差不多了,如果更详细,可以照抄官方的话。

下面是官方给出的: 智能合约钱包(AA)可以为用户带来许多好处,包括:

  • 灵活定义自己的安全规则
  • 丢失密钥后找回帐户
  • 在信赖的设备或个人之间共享帐户安全性
  • 支付他人的燃料费用,或让他人为你支付燃料费用
  • 批量交易(例如,一次性批准并执行兑换)
  • 增加去中心化应用程序和钱包开发者创新用户体验的机会
  • 由于目前只有外部帐户 (EOA) 可以发起交易,所以这些好处还没有得到本地支持。

外部帐户采用简单的公钥-私钥对。 它们的工作原理如下:

  • 如果你拥有私钥,可以在以太坊虚拟机 (EVM) 的规则范围内做任何事情。
  • 如果你没有私钥,将无法进行任何操作。
  • 如果你丢失了密钥则无法找回,而窃取者可以使用窃取的密钥立即获得帐户中的所有资金。

智能合约钱包是解决这些问题的方法,但是目前它们很难编程,因为最终它们实现的任何逻辑都必须被转换为一系列外部帐户交易,才能被以太坊处理。 帐户抽象可以让智能合约自行发起交易,因此用户希望实现的任何逻辑都可以编码到智能合约钱包本身,并在以太坊上执行。 最后,帐户抽象可以改善对智能合约钱包的支持,使其更易于构建且更安全地使用。 最终,通过帐户抽象化,用户可以享受以太坊的所有好处,而无需了解或关心底层技术。

下面是智能合约钱包的原理图:

0_IThEWr1KugkIQHrf.webp

5.EIP-4844

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-->

点赞 1
收藏 3
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

请先 登录 后评论
stephenCheung
stephenCheung
java,go,solidity智能合约开发者,专注defi领域研究