主页 > 苹果下载imtoken钱包下载哪一个 > 以太坊地址监控 关于智能合约:为什么 Solana 更安全?

以太坊地址监控 关于智能合约:为什么 Solana 更安全?

关于智能合约:为什么 Solana 更安全?

虽然 Solana 的核心运行时仍在快速开发中,但其智能合约的设计相当稳定。 在这篇文章中,从智能合约的角度解释为什么 Solana 比以太坊更安全。

在较高的层面上,有两个主要原因:

首先,Solana 的编程模型解耦了代码和数据。 这很重要,因为它使 Solana 智能合约从根本上比具有耦合编程模型(如以太坊)的区块链更难受到攻击。

以太坊地址监控_怎么获得以太坊地址_以太坊地址分大小写吗

其次,Solana的执行模型(尤其是各种执行约束的设计)排除了重入等一大类攻击; 同时比以太坊更透明的实时监控和更全面的安全防御。

1、代码和数据解耦带来更好的安全性

考虑一个包含任意安全漏洞的智能合约,比如说,它有一个易受攻击的函数 X,允许攻击者更改智能合约的所有者。 在以太坊中,owner 是与智能合约一一关联的全局变量,调用 X 会直接改变 owner。

以太坊地址分大小写吗_以太坊地址监控_怎么获得以太坊地址

在 Solana 中,所有者是与帐户关联的一段数据,而不是智能合约。 而且owner不是全局的,但是可以有很多账号和owner。 要更改所有者,必须使用正确的帐户调用 X。

也就是说,为了利用这个安全漏洞,攻击者不仅要找到易受攻击的函数X,还要准备好调用X的正确账户。

在实践中,准备正确的账户并非易事,因为 Solana 智能合约通常处理多个输入账户并通过约束强制执行它们的“关系”,例如 account1.owner==account2.key。 攻击者必须准备所有这些输入账户并满足它们的所有约束,这通常需要通过额外的交易创建“假”账户(在这个难度下几乎不可能)。

以太坊地址监控_以太坊地址分大小写吗_怎么获得以太坊地址

重要的是以太坊地址监控,从“准备正确的账户”到“发起攻击”之间的差距允许安全监控器主动检测可疑交易,这些交易会在攻击前创建与智能合约相关的“假”账户。

攻击 Solana 智能合约通常需要两个阶段:账户准备和攻击执行。 第一阶段可以通过链上监控检测到,从而允许有时间限制的第二阶段。

2.约束执行带来更好的安全性

以太坊地址分大小写吗_以太坊地址监控_怎么获得以太坊地址

Solana 运行时在事务级别强制执行各种约束以太坊地址监控,例如:

Solana 的 CPI 设计从本质上杜绝了重入攻击的可能性。 而以太坊依赖应用程序级状态来限制重入,这很容易出错。

3. 透明执行带来更好的安全性

怎么获得以太坊地址_以太坊地址分大小写吗_以太坊地址监控

日志记录可以实时观察智能合约的运行时行为,这是细粒度安全监视器的构建块。 Solana 允许比以太坊多几个数量级的链上日志记录(msg!vs emit)。

登录以太坊很昂贵。 一次日志记录操作(发出)可能会花费数百甚至数千 gas(请参阅文档)。

相比之下,在 Solana 上登录是便宜的(系统调用需要 100 个计算单元)。 考虑到 1.4M 的最大计算预算,Solana 事务可以允许数万次日志记录操作。

即使不考虑 gas 价格,以太坊智能合约由于其 gas 限制也无法进行大量日志记录(这解释了为什么以太坊上的日志记录很少)

密集的日志记录功能使 Solana 承诺比以太坊更全面的安全防御来抵御攻击。