主页 > imtoken官网版 > 以太坊智能合约安全性是否存在漏洞?

以太坊智能合约安全性是否存在漏洞?

imtoken官网版 2023-03-28 05:14:00

传统的计算机程序一般运行在某个节点或集群上,由某个组织或个人拥有和控制。 这样的计算机程序可以随时施加人为干预并可以随时进行控制。 然而,区块链上的智能合约是一种全新的计算范式。 智能合约一旦部署,就很难修改,而且它的执行也是自动的,不需要人为干预。 因此,如果智能合约存在安全漏洞,将难以防止黑客的攻击。 目前,专业技术人员正在努力寻找合适的方式来提高智能合约的安全性和可靠性,帮助保障大家的资金安全。 一项关于以太坊智能合约的最新调查研究显示,在安全研究人员看来,智能合约是新生事物,因此还存在很多缺陷和漏洞。

所谓“智能合约”的基本内涵就是可以在我们日常使用的硬件和软件中嵌入一些合约条款,目的是让违约者在违约时付出一定的代价。 Szabo 将实体售货机称为“智能合约的原型”,因为实体售货机收集用户投入的硬币,抛出用户选择的商品,并根据屏幕上显示的价格给出正确的零钱。

以以太坊为例。 以太坊是一个具有智能合约功能的开源公共区块链平台。 区块链上的所有用户都可以看到基于区块链的智能合约。 但是,这会导致所有漏洞(包括安全漏洞)都可见。 如果智能合约开发者疏忽或测试不充分,导致智能合约代码出现漏洞,极易被黑客利用和攻击。 而且智能合约越强大,逻辑越复杂,越容易出现逻辑漏洞。 同时,智能合约语言Solidity本身和合约设计也可能存在漏洞。

以太坊的开源软件主要由社区极客编写。 目前已知的漏洞有Solidity漏洞、短地址漏洞、交易序列依赖、时间戳依赖、重入攻击等。 调用合约时可能存在漏洞以太坊漏洞,而智能合约部署后难以更新的特点也使得漏洞的影响更为广泛和持久。

此外,以太坊虚拟机 (EVM) 对智能合约的功能有很多硬性限制。 这些都涉及到平台级的安全,甚至可能威胁到用户专属合约的安全。

伦敦大学学院计算机科学家 Ilya Sergey 表示,技术专业人士尚未完全了解智能合约中的安全漏洞和潜在风险。 他曾经参与过一项关于智能合约的研究。 Sergey 及其同事使用一种创新工具分析了近 100 万个以太坊智能合约的样本。 其中约有 34,000 个被发现是不安全的,包括导致 Parity 事件的那个。 Sergey 表示,自己和其他团队成员的分析工作就像与自动售货机互动。 研究人员随机按下一个按钮,然后记录机器意外运行时的相关情况。 用他的话说:“我认为还有很多安全漏洞我们至今没有发现,还需要继续分析归类。”

如何在实践中提高智能合约的安全性? 给出以下建议并在实际编程中尝试遵循它们,您的合约将更加安全。

最好写测试。

建议提供容错和自动漏洞赏金。

做最坏的打算。 智能合约中的漏洞,应该允许它尽可能安全地恢复。

添加额外的安全机制。 合约管理者可以在紧急情况下冻结合约。

限制合约资金保证金数额,提高攻击者得手门槛。

不要从头开始编写所有代码以太坊漏洞,尽可能参考获胜者的合同。

请注意开发平台的限制。