OKEx学院讲座摘要:DCEP –如何确保DeFi投资者的安全性?
自2019年以来,DeFi(去中心化金融的缩写)已成为加密货币领域的流行语。随着DeFi的发展,我们正朝着金融的未来迈进。为当今的每项金融服务创建一个全球且透明的框架:储蓄,贷款,交易等.
OKEx学院已经与一些特别嘉宾举行了在线网络研讨会,以分享他们对DeFi安全性以及DeFi投资者如何确保其投资安全的见解。.
本文将指导您完成讨论的总结.
客座演讲者:
郭宇-SECBIT Labs的创始人
Dominik Teiml-Certik的首席以太坊审计师
杜正超-Slowmist的高级安全工程师
主持人:
Michael Gui-Boxmining
麦可:去中心化金融正在快速增长,目前我们拥有超过8亿美元的加密货币,被锁定在DeFi Smart合同中。由于这些合同是分散的,创建者需要确保这些合同背后的代码是安全的。否则,可能会导致灾难性的黑客攻击-例如,不到两周前,一名黑客设法从dForce合同中“窃取”了价值2500万美元的加密货币。防止黑客入侵的安全性至关重要,以确保DeFi的长期增长。幸运的是,今天我们有一个安全专家小组.
从DeFi批评家的关键报价开始 "我仅在项目失败并损失资金时才了解DeFi". 您认为去中心化金融面临的最大安全风险是什么?
SECBIT:DeFi建立在代码上,该代码由许多模块组成,这些模块是由不同的团队开发的。对基本模块的误解,会带来更大的损失。每个模块的接口都不容易澄清,指定或形式化.
切尔蒂克:除了诸如密钥安全性,劫持前端和/或DNS服务器,OpSec等脱链内容外,我认为最大的链上风险是执行不正确(Hegic错误)以及与其他帐户的交互,即:可操纵的oracle(bZx hack)和重新进入攻击(Uniswap & Lendf.me 骇客)
慢雾者:分散式财务为我们带来了三个主要功能:互操作性,可编程性和可组合性。由于这三个功能,我们能够组合各种智能合约,例如组合乐高积木,这给我们带来了丰富的金融产品和无限的可能性。但是,DeFi是一个非常复杂的系统,因此风险将被放大。换句话说,对于集中式财务系统,可以通过制定标准并限制访问权限来控制可能的风险方案,而对于DeFi,可以将符合协议标准的两个合同中的任何一个组合在一起,这意味着许多更多可能的方案,每种新方案都会带来潜在的新风险。最重要的是,标准的功能在任何情况下都可能成为缺陷.
麦可: 我们能用DeFi达到完全的安全性吗?
SECBIT:这是圣杯。从理论上和实践上都不可能达到目标。任何安全性均基于假设。系统越复杂,就越依赖于安全性假设。但是这些安全性假设的可靠性尚不清楚。在许多情况下,这些安全性假设可能会松散.
从理论上讲,安全性的定义比较模糊。我们可以定义特定的安全性,例如,没有整数溢出。但这通常是不完整的。随着DeFi概念的不断发展,安全性的含义也在增长。我们不怎么定义一个完整的安全概念.
财务从本质上讲是有风险的。按照惯例,利润来自冒险。现在,财务风险与计算复杂性混合在一起,因此合并后的风险更难控制。在实践中,很难发现安全性,也很难对其进行验证。在不同级别,安全性假设,区块链,虚拟机和编译器,库,代码逻辑,服务接口中可能会发生安全问题。它们都不容易实现无错误.
DeFi的有前途的功能之一是,即使智能合约是由不同的团队开发的,智能合约也是高度可组合的。但是我们已经看到了在接口上发现的错误,例如ERC777,ERC827,ERC233。可组合性将使系统更加开放和动态。许多传统方法都涉及确保静态系统安全对新的,开放的,动态的,巨大的系统不起作用。.
切尔蒂克:安全是收益递减的问题。我们永远无法确定任何逻辑推理是否有效,因为我们可能在验证本身(逻辑悖论)中犯了一个错误。同样,我们永远不能百分百确定某些事物是安全的。但是,我非常乐观,我们可以通过适当的措施来实现高安全性的保证。广泛而深入的审核,正式验证,大量的漏洞赏金…
更有趣的问题是这些比例是否可以缩放。我们可以找到一种自动化安全性的工具吗?到目前为止,还没有人实现这一目标。这仍然是一个悬而未决的问题.
慢雾者:包括DeFi在内的任何产品都无法获得完全的安全性。我们应该认识到安全性涉及对策,目的是使黑客付出的代价远远超过其可能获得的利益。安全性是动态的,新的场景,新技术以及DeFi产品的迭代都可能引起新的安全性问题,因此不可能一劳永逸地实现安全性。.
麦可: 随着采用新的编程语言– Vyper(以太坊),Haskell(卡尔达诺)–您认为这将有助于区块链安全?
SECBIT:Vyper几乎像坚固性一样,是大多数改进之处。另一方面,Haskell更具数学意义。但是,正如我所说,最大的安全问题来自逻辑级别,而不是语言级别。新的攻击不仅仅在语言层面上,而且来自整个区块链系统,这非常复杂。黑客不断发明我们从未见过的新攻击。嵌入在编译器中的工具很难检测到这些新漏洞。我们无法想象会自动阻止攻击。即使语言工具正在改进,我们也将看到更多源自逻辑级别的漏洞。守则必须由专家审核.
我感谢编程语言社区的工作,在该社区中,静态类型可防止程序员犯傻错误。例如,Facebook提出的名为MOVE的语言正在Libra链上运行。它借鉴了RUST的想法 "移动与复制", "所有权和借款". 静态类型系统可确保数字资产的总量不变,从而使开发人员和黑客都无法.
另一方面,我们确实需要正式的规范或正式的验证,以确保 "正确性" 在某种程度上。不是100%,而是最大的安全性我们仅取决于数学。但是,工具和实践仍在进行中。我确实建议CertiK团队的工作.
切尔蒂克: 大概。我认为我们低估了生态系统早期阶段的安全性。我们做出的架构决策之后很难更改。 EVM具有动态跳转,这使得任何静态分析都非常麻烦,并且几乎没有收益。我认为,自0.5以来的稳固性已成为注重安全性的标准,从而扭转了后视能力差的语言设计决策的某些局面.
Vyper更好,但是不幸的是,它不适用于大型项目的生产准备,并且缺少许多重要功能.
我实际上对DeapSEA感到很兴奋,这是一种以EVM为目标的编程语言,它试图克服这些EVM带来的挑战,并使以太坊智能合约的正式验证更加容易。它是由Certik和Yale开发的,很快我们将听到更多有关它的信息。.
尽管这是一个更长的时期,但我认为向eWASM的过渡将对安全性大有好处。不仅将更多时间集中在秒上,而且我们还将能够利用其安全工具生态系统.
慢雾者: 这些语言具有自己的安全性功能。例如,Vyper会执行许多用于算术计算的溢出检查,Haskell之类的功能语言可以帮助进行形式验证。但是安全性是多维的,除编程语言安全性功能外,产品开发安全性和业务逻辑安全性与语言一样重要.
迈克尔:您遇到过的最具破坏性的帐户黑客攻击是什么?您可以分享的任何个人经验?
SECBIT:密钥被盗。来自我们一位客户的几百个以太坊。但是,更多寻求我们帮助的案例却丢失了关键信息。人们只是忘记了助记码或密码。这是安全世界中的另一个难题。我们怎样才能记住一个安全的密码?弱密码很容易记住,但是熵却很低。它容易受到蛮力攻击。 (例如Rainbow Table Attack);而更随机的密码则很难记住。写在纸上吗?我们可能会在第二天早上忘掉那张纸.
证书: 幸运的是,我从事过的所有项目都没有被黑客入侵.
慢雾者: 以团队命名的以太坊黑色情人节。首次在2018年3月观察到此安全事件。在我们首次发现该黑客之前,黑客已经使用自动脚本从用户的钱包中窃取了eth和其他令牌,为期两年。到现在为止,已经从6679个钱包中窃取了价值约1000万美元的约54864 ETH。考虑到其影响力和持续时间,该骇客非常令人印象深刻.
Micahel:如果为我们的观众提供一个安全提示-您认为该提示可以为我们的观众节省数千美元-那将是什么??
SECBIT:练习记住记忆代码;我知道这很难。这是非常困难的。但是,请相信我,这是确保数字资产安全的唯一方法。询问服务提供商他们在安全性和风险控制方面已经花费了多少预算,已采取了哪些对策,并阅读了网站上的审核报告,系统设计文档之类的材料。我认为认真在区块链上开展业务的提供商应对此有严格的政策.
证书: 阅读报告。在使用任何分散式应用程序之前,请阅读审核报告。我们有时会发现在审计过程中指出的漏洞,从未纠正过,后来又被利用。检查最后发布的报告是否提及任何严重或重大漏洞.
慢雾者: 对于个人资产,我们建议保护您的私钥不受Internet的影响.
对于DeFi产品中的加密货币,我们建议在选择DeFi产品和平台时,用户应同时注意风险控制机制和出色的第三方安全团队对安全审计报告的认可。此外,安全性是动态的,因此每个人都应不时检查一下defi产品和平台的安全性背景.