原文标题:《Binance研报丨硬核解析智能合约漏洞原理》。 撰文:ChenBoYu、HsuTzuHsiu
在探讨智能合约漏洞解析之前,我们先从一个基本的范例来了解一个智能合约会具备哪些元素。
● 变数:即此范例中的balances,在这个合约中负责存储使用者地址在合约中对应的存款余额。 ● 函数:即此范例中的getBalance,使用者呼叫此函数时,会回传使用者在合约中的存款余额。 ● 接收函数:即此范例中的receive,这是一个内建的函数。当合约收到使用者传入ETH且无呼叫其他函示时会触发,此范例在触发接收函数时,会变更变数balances的状态,而函数中的msg.sender代表的是交易的发送者地址。 ● 回退函数:即此范例中的fallback,这也是一个内建的函数。当使用者呼叫了不存在的函数时触发,可以理解为例外处理函数。在此范例中,触发时把交易回退,亦即让交易失效。
了解问题发生的原因,并且归纳问题的类别可以帮助我们更好的防范。DASP(Decentralized Application Security Project)收录了十种智能合约漏洞,下面我们整理了其中最常见的合约漏洞以及新型态的攻击模式。
一、什么叫智能合约 智能合约是时下趋之若鹜的区块链专有名词,其火爆水平与其说定义的模糊不清水平相伴相生。PeterTodd就曾坦言:“没人了解智能合约到底是啥,大家应当必须推测机去执行它。”要了解智能合...
如今我们的日常生活基本上离不了合同书,往大说,工作中是与企业签署的劳动合同书,购房是与房地产公司签署买房合同,购买保险是与车险公司签署保险合同;往变小说,网上购物、定外卖送餐、打的、购买彩票全是与有关的服务项目给予...
比特币有智能合约吗?当然。通用术语中的智能合约是一种数字化协议,在满足预定标准时自动执行。比特币是支持多种智能合约以支持多笔交易的领先货币之一。比特币经过重大升级,使加密货币能够轻松处理更复杂的交易。这些智能合约为加密货...
通过 zkSNARKs 证明机器学习 (ML) 模型推理有望成为这十年智能合约最重要的进步之一。这一发展开辟了一个令人兴奋的大设计空间,允许应用程序和基础设施发展成为更复杂和智能的系统。 通过添加 ML 功能,智能...