为什么 DeFi 中的复制粘贴比小丑更可怕? Plato区块链数据智能。垂直搜索。人工智能。

为什么 DeFis 中的复制粘贴比小丑更可怕?

多年来我们一直在开玩笑。还记得 CTRL + C 和 CTRL + V 的所有模因吗?好吧,它们之所以困扰我们,是因为我们一直将它们用于错误的目的。 

具体到 IT 行业,复制和粘贴是一种古老而常见的软件重用形式。大多数人这样做是为了节省时间和精力,其他人使用它是因为他们不想花时间自己做,最终都会面临后果。 

从众多缺点中,最突出的一个是当您复制现有代码时,会在整个系统中复制错误和安全漏洞。复制和粘贴代码的做法是否应该被允许由于其优点和缺点而存在争议,但我们都同意的事实是,未经修改的复制代码引入的错误可能会导致严重的情况。当涉及到加密货币和 DeFi 生态系统时,风险甚至更高。 

DeFi 是一个错综复杂的空间。它对所有人免费,不仅在访问方面而且在技术实施方面也是如此。大多数 DeFi 协议和想法都是开源的,因此任何人都可以提供帮助,但因此它已成为一把双刃剑。阵营的一方正在帮助 DeFi 项目变得更好,而另一方则复制项目和代码来开发自己的解决方案。 

是什么让苹果成为一家成功的公司?史蒂夫·乔布斯知道,即使没有其他人看到,粉刷栅栏背面与粉刷正面同样重要。不仅质量,而且独特性对于建立忠实的粉丝群也起着重要作用。  

但即使除了独特性因素之外,DeFi 领域也没有意识到,他们正在复制的代码本身并不完整。每个 DeFi 协议都在快速发展并自我探索。因此,每个协议都可能会发现一些新的错误。即使代码经过充分审核,新的错误也可能会被发现,并且只有核心团队实现了原始概念,协议才能免受此类错误的影响。 

DeFi 中复制粘贴的危险

尤其是对于 DeFi 领域,复制代码可能会导致巨大的财务损失。除此之外,由于复制者的知识有限,大多数复制粘贴的质量很差,这会导致时间浪费、不必要的修改,最重要的是,黑客攻击。 

前段时间,币安智能链 DeFi 协议发布的消息震惊了 DeFi 行业。 煎饼兔被利用了 据信,由于闪贷攻击,该社区面临 1 亿美元的损失。 

在选择 DeFi 产品之前,检查代码的质量和唯一性是非常有必要的。该领域的专业人士一看就可以轻松识别代码是否被复制。 

理解这一点非常重要:通过复制代码,开发人员不仅复制了数据,还复制了错误和漏洞。此外,当程序员尝试复制代码时,可能会出现更微妙的语义。毫不奇怪,DeFi 行业面临如此多的黑客攻击,其中大多数都是成功的。自2019年以来, 黑客攻击已造成约 285 亿美元的损失。 

为什么 DeFi 中的复制粘贴比小丑更可怕? Plato区块链数据智能。垂直搜索。人工智能。

Sumber: 阿特拉斯VPN

因此,第一个教训就是“经常检查代码”。即使您是产品负责人,您也必须检查您的团队正在开发的代码。 

凡事有预谋——如果您知道自己在寻找什么,就可以减少诈骗者利用您的产品的机会。 DeFi 社区的众多好处之一是,即使你不知道如何编码,该项目也有开放的代码,如果人们觉得有趣,社区肯定会进行研究并与其他人分享结果人民的。 

大多数开发人员都会同意这样一个事实:复制和粘贴代码通常是一种不好的做法。这种情况很常见,因为更改代码或编写新代码需要时间、精力和金钱。 

这并不一定意味着代码重用不好。代码可以重复使用,并且应该在任何合适的地方重复使用,因为它可以节省时间和精力。不过,这段代码修改后需要经过专业的审核。 

在 DeFi 中避免复制粘贴的原因

下面提到的是在 DeFi 领域应避免复制粘贴的更多原因:

重用性差

每个代码都有自己的依赖关系。即使它们是通用的,依赖项、库、语言和代码本身的版本也会不断更新。这意味着,即使你复制了最新的代码,无论你复制得有多好,重用性也会很差。 

继承漏洞

一枚硬币总是有两个面。如果你想继承一个项目的利润,你就必须继承项目的损失。复制代码最常见的问题是复制原始代码固有的问题。最糟糕的是,复制的代码被修改用于其特定目的,因此追踪错误变得更加困难。即使从审计的角度来看,经过少量修改的复制代码也变得更加难以审计。 

智能合约审计服务| DeFi智能合约审计

引入新的错误

如果您正在复制代码,您很可能希望缩短上市时间,这样您就没有时间了解代码的输入和输出。您所做的任何新修改都将很有可能导致新的漏洞,该漏洞无法轻易识别,因为它可能与现有代码功能有关。 

换句话说,在不了解原始代码的情况下进行编辑,使其更容易出错。

许可问题

从开源项目中复制和粘贴代码很容易,但不了解复制代码的许可含义可能会成为一个问题,对于板载软件被认为是新颖且独特的嵌入式设备来说更是如此。

复制粘贴威胁的真实示例

复制粘贴的可怕做法也未能避免 DeFi 的影响。有些 DeFi 项目复制并粘贴了 Uniswap、Compound 和其他成功协议的智能合约代码。更糟糕的是,这种做法在复制时常常会出现错误——让攻击者的工作变得轻而易举!

此类攻击的最新示例之一是基于 BSC 的“Uranium Finance”,这是一个 Uniswap V2 分叉,于 28 年 2021 月 XNUMX 日被利用 57 百万美元。 Fulcrum 开发者 – Kyle Kistner 指出,Uranium 开发者复制了 SushiSwap(已经是 Uniswap 克隆)代码,他们在各处用 1,000 替换了数字 10,000 – 除了一种情况:

为什么 DeFi 中的复制粘贴比小丑更可怕? Plato区块链数据智能。垂直搜索。人工智能。

来源: 分享

复制粘贴危害的另一个例子是“BurgerSwap”——于 28 年 2021 月 7.2 日遭到黑客攻击,预计损失 XNUMX 万美元。    

“根据 Uniswap 创始人 Hayden Adams 的说法,这种情况本来可以很容易避免。”

它还分叉了 Uniswap 的代码,但遗漏了一个部分:x*y = k 检查,它在计算每个代币的价值时发挥了重要作用。如果没有这个,攻击者就会通过创建一个虚拟代币来交换每一小笔金额 数千 BNB 和汉堡.    

结论

复制和粘贴并不全是坏事。在某些情况下,它们对于项目快速实现已正确构建的某个元素非常有用。在其他情况下,它还可能帮助您保持现状并实施一些可接受的解决方案。 

然而,DeFi 并不是它合适的空间。即使只有几行代码需要修改,也不建议复制粘贴。作为智能合约审计方面的专家,我们看到有几家公司虽然有着良好的意图和愿景,但由于以下原因而失败 这种做法。核心原因不仅仅是漏洞,而是无法获得用户的信任。整个 DeFi 领域都是出于对信任的需求而诞生的。

即使由于某些因素和理由您确实决定进行复制粘贴,对代码进行彻底审核也应该是您的首要任务。即使代码经过审计,也不意味着副本将像原始代码一样安全。例如,原始代码中使用的预言机可能已转移到新版本,当您复制代码时,新版本的预言机可能与旧版本的代码不兼容,从而引入了漏洞。因此,为了确保您雄心勃勃的想法和愿景通过您的 DeFi 代码成为现实, 接受审核 在投入数百万美元之前。

到达QuillHash

拥有多年行业经验, 羽毛笔散列 在全球范围内提供了企业解决方案。 QuillHash与专家团队是一家领先的区块链开发公司,提供包括DeFi企业在内的各种行业解决方案,如果您在智能合约审计中需要任何帮助,请随时与我们的专家联系 在这里!

关注QuillHash了解更多更新

Twitter | LinkedIn Facebook

来源:https://blog.quillhash.com/2021/08/04/why-copy-paste-in-defis-are-scarier-than-clowns/

时间戳记:

更多来自 散列