编程语言阻碍主流 DeFi

Cointelegraph中文 view 1248 2022-11-28 09:56
share to
Scan QR code with WeChat

面向资产的编程使基本功能成为编程语言的本机功能,DeFi 需要更多这样的东西来提高安全性。

编程语言阻碍主流 DeFi

去中心化金融 (DeFi)正在快速增长,锁定的总价值是 DeFi 协议管理的资金衡量标准,在过去两年中从 100 亿美元增长到略高于 400 亿美元,此前曾达到 1800 亿美元的峰值。

编程语言阻碍主流 DeFi

截至 2022 年 11 月,DeFi 中锁定的总价值。来源:DefiLlama

房间里的大象?仅在 2021 年一年,黑客攻击和漏洞利用就造成了超过 100 亿美元的损失。Feeding that elephant:今天的智能合约编程语言无法提供足够的功能来创建和管理资产——也称为“代币”。DeFi要成为主流,编程语言必须提供面向资产的特性,让DeFi智能合约开发更加安全和直观。

当前的 DeFi 编程语言没有资产的概念

在某种程度上,审计工作有助于减少 DeFi 常年被黑客攻击的解决方案包括审计代码。在历史上最大的 10 个 DeFi 黑客攻击中(发送或接受),有 9 个项目没有经过审计。但投入更多资源解决这个问题就像在方轮汽车上安装更多引擎:它可以开得更快一些,但有一个根本问题在起作用。

问题:如今用于 DeFi 的编程语言,例如 Solidity ,没有什么是资产的概念。代币和非同质化代币 (NFT) 等资产仅作为智能合约(例如以太坊的 ERC-20)中的变量(可以更改的数字)存在。定义变量应该如何表现的保护和验证,例如,它不应该被花费两次,它不应该被未经授权的用户耗尽,转移应该始终平衡并且净额为零——所有这些都需要由开发人员为每一个智能合约,从头开始。

随着智能合约变得越来越复杂,所需的保护和验证也越来越复杂,人是人类,错误发生,Bug出现,钱丢了。

一个典型的例子:Compound 是 DeFi 协议中最蓝筹的协议之一,在 2021 年 9 月被利用了 8000 万美元。为什么?智能合约包含一个“>”而不是“>=”。

连锁反应

对于相互交互的智能合约,例如用户用不同的代币交换代币,消息被发送到每个智能合约以更新它们的内部变量列表。

结果是一个复杂的平衡行为,确保正确处理与智能合约的所有交互完全落在 DeFi 开发人员身上。由于 Solidity 和以太坊虚拟机 (EVM) 中没有内置护栏,DeFi 开发人员必须自行设计和实施所有必需的保护和验证。

因此,DeFi 开发人员几乎将所有时间都花在确保他们的代码安全上。并对其进行双重检查 - 并对其进行三次检查 - 以至于一些开发人员报告说他们将多达 90% 的时间花在验证和测试上,而只花 10% 的时间构建特性和功能。

由于开发人员的大部分时间都花在了与不安全代码的斗争上,再加上开发人员短缺,DeFi 为何发展如此迅速?显然,尽管今天提供它存在挑战和风险,但仍需要自我主权、无需许可和自动化形式的可编程货币。现在,想象一下,如果 DeFi 开发人员能够将他们的生产力集中在功能而不是失败上,将会释放出多少创新。这种创新可能会让价值 460 亿美元的新兴产业颠覆与 468 万亿美元的全球金融一样大的产业。

编程语言阻碍主流 DeFi

2002-2020年全球金融机构总资产。来源:Statista

创新与安全

DeFi 既创新又安全的关键源于同一个源头:为开发人员提供一种创建资产并与之交互的简便方法,并使资产及其直观行为成为原生功能。创建的任何资产都应始终以可预测的方式运行并符合常识性财务原则。

在面向资产的编程范例中,创建资产就像调用本机函数一样简单。该平台知道资产是什么:.initial_supply_fungible(1000) 创建一个固定供应量为 1000 的可替代代币(除了供应之外,还有更多的代币配置选项可用),而 .take 和 .put 等函数从某个地方获取代币并将它们放在别处。

开发人员无需编写复杂的逻辑来指示智能合约更新变量列表,而在面向资产的编程中,任何人都可以直观地期望 DeFi 的基础操作是该语言的本机函数,而这需要进行所有错误检查。代币不会丢失或耗尽,因为面向资产的编程保证它们不会丢失或耗尽。

这就是您在 DeFi 中获得创新和安全的方式。这就是你如何改变主流公众的看法,从 DeFi 是狂野的西部到 DeFi 是你必须存钱的地方,否则,你就会失败。

btcfans公众号

Scan QR code with WeChat

Disclaimer:

Previous: 卡塔尔世界杯火热开赛 如何规避赛事虚假Crypto信息? Next: 10月份超48%的以太坊NFT交易额是假的

Related