写点什么

智能合约很好,但还不能完全相信它

  • 2021-05-29
  • 本文字数:3664 字

    阅读完需:约 12 分钟

智能合约很好,但还不能完全相信它

近日,美国总统拜登签发了旨在改善国家网络安全的行政命令,同时在拜登总统令中强调,联邦政府网络安全现代化的关键举措之一便是迈向零信任架构。政府部门向云技术的迁移应在可行情况下采用零信任架构。CISA 应对其当前的网络安全计划、服务和功能进行现代化升级,使其能够在具有零信任架构的云计算环境中完全发挥作用。

 

受该政策影响,“零信任”成为颇受安全领域关注的一个技术方向。在“零信任”领域,智能合约无疑是不可忽略的一项技术。

 

大家对应用和应用商店都很熟悉:在商店中浏览、下载所需的应用,然后离开。在可爱的 UX 和 UI 界面之后,这些应用正在执行其创建者制定的一组特定指令。智能合约执行着与此非常相似的指令。智能合约是一种用一段代码来表达的合约,旨在执行一组指令。

 

唯一的区别是,在智能合约中没有中间人。没有任何人或公司持有用户信息或对其进行验证,进行验证和记录保存的是区块链。

 

Vitalik Buterin 和以太坊社区相信这就是区块链的未来。如果说比特币是商业世界的黄金,那么智能合约就是商业世界赖以生存的石油。

 

谁创建了智能合约?

 

“智能合约”一词是在 1990 年代由著名计算机科学家和密码学家 Nick Szabo 撰写的一篇学术论文中提出,这位科学家还是开发比特币的先驱之一,即 Bit Gold。Szabo 最初描述的智能合同旨在执行一些基本任务,例如减少欺诈和执行合同安排,但后来他在 1996 年的一篇论文中详细阐述了这一技术在数字现金、智能财产等方面的潜在用例。

 

在没有智能合约的时候,如果想要在线上购买一辆汽车,你需要:

 

  • 一个展示网站,可保存你想要查看的所有汽车的信息

  • 一种与卖家沟通的渠道

  • 一种付款系统,你在找到心仪的汽车后用它来付款

  • 如果交易失败,那么还需要退款系统

  • 你还需要在管理部门注册汽车所有权的转移情况

 

这个过程中,用户需要对这些可能由不同公司或个人控制的站点或服务保持信任,但怀有恶意的个人或组织无需花费太多时间就可以篡改任何一项信息,从而让整个流程失效。智能合约则消除了在购买商品的过程中需要信任如此多参与方的要求。这主要源于智能合约本身的几个特点:

 

  • 安全:智能合约使用加密技术来阻止人们更改记录。

  • 透明:每个人都可以在区块链上看到智能合约及其用途。

  • 第三方免费使用:智能合约不需要中间人验证。

  • 自治:智能合约会自动运行,不必等待别人来执行操作。

  • 准确:由于智能合约是用代码编写的,因此它们不依赖会产生歧义的自然语言。

 

智能合约的执行机制

智能合约的核心往往是这样一种机制(用计算机代码表示):“如果发生这种情况,那就这样做”。对应到指令执行程序,即根据提供的信息使用 if/else 语句和其他条件逻辑,自动产生结果。

 

其实,现代社会已经有这种机制了。比如你要使用借记卡或信用卡支付费用,银行的软件将通过以下方式执行“如果发生这种情况,那就这样做”的机制:

 

  • 如果银行帐户中的金额大于要求的金额,请释放资金。

  • 如果银行帐户中的金额少于要求的金额,请不要释放资金。

 

使用智能合约的区别在于,决定权在区块链,而不是由银行(或任何第三方)。因此,如果用构建在区块链上的智能合约来执行,将看到以下内容:

 

  • 如果数字钱包中的金额大于要求金额且尚未用完,请释放资金。

  • 如果数字钱包中的金额小于要求金额或已用完,请勿释放资金。

 

使用智能合约意味着任何人可以与任何人达成协议,区块链会记录整个交易过程。

 

像常规合同一样,智能合约就是要执行协议条款——无论是身份证明、交换数字货币还是其他事务。满足预定条件时,智能合约将自动执行。可以使用三大术语来简要描述智能合约的操作:

 

  • 互连性:每个智能合约通常具有一组受限制的功能。可以设置多个智能合约来相互连接,并且形成更复杂的机制,这被称为去中心化应用(DApps)。

  • 对象:这是与智能合约和由智能合约根据预定义或新提交条款修改的主题进行交互的签名者。

  • 环境:智能合约依赖于底层密码环境来确保运行的安全,并且其数据是透明、不可变的。

 

尽管一些区块链支持更新智能合约,但大多数区块链智能合约的基础代码是不可变的。

 

智能合约的广泛应用

 

DApps 或去中心化应用可以被视为打包在一起的智能合约组合。单独的智能合约只能用于一种类型的交易,但是 DApp 可以将多个智能合约打包在一起来执行更复杂的事务。

 

目前也有一些在业内比较知名的 DApp:

 

  • Augur:一种工具,使任何人都可以投机于金融衍生品

  • MakerDAO:一种去中心化金融(DeFi)DApp,使用户无需中间人就可以借出和借用加密货币。

  • Uniswap:一个基于以太坊的交易平台,使任何人都可以交易 ERC20 代币。

  • CryptoKitties:独特的基于 NFT 的加密货币收藏品,可以使用智能合约对其进行“繁殖”。

  • gentArgent:一种以太坊钱包,使用智能合约摆脱了地址和私钥等概念。

 

智能合约虽然是一种相对较新的技术,但却是整个去中心化金融(DeFi)革命的核心,并被用来为一些流行的 DeFi 协议提供支持,如 Compound、Aave、Uniswap 以及其他数百种协议。同时,智能合约也被许多公司采用,甚至一些政府也已经开始进行尝试。

 

视频游戏巨头育碧在很大程度上拥抱了区块链。育碧为其众多的区块链计划精心设计了专用智能合约,允许用户基于其广受欢迎的 Rabbids 游戏系列拥有、转让和申领稀有的不可替代令牌(NFT);荷兰银行 ING 联合创建了基于区块链智能合约的贸易结算系统 Fnality,同时还参与了许多区块链计划;瑞典政府已经测试了基于区块链的土地注册系统,用来对土地所有权进行确认。


智能合约并不总是完美

 

尽管智能合约被普遍认为是执行协议和逻辑的“零信任”方式,但它并不是没有问题。

 

一方面,智能合约在许多区块链上都是不可变的,这意味着一旦启动就不能对其进行更改或升级,如果代码存在根本性问题就可能导致灾难性的后果。2016 年的以太坊 DAO 黑客事件就是一个绝佳的佐证,当时身分不明的黑客利用 DAO 拆分函数中的漏洞偷走了数百万以太坊(ETH)。

 

另一方面,未知和新颖的攻击媒介也经常被利用,从而导致投资者损失。在 2020 年 9 月,Yearn Finance 的 Andre Cronje 一个项目 Eminence 的测试版本崩溃时就出现了这种灾难。在大量投资者将资金投入其中之后,它被一位不知名的黑客成功攻破,投资者损失高达 1500 万美元。

 

同样,简单的错误代码也能让智能合约化作废纸。2020 年 8 月 DeFi 挖矿项目 YAM 的崩溃就可以证明这一点,该项目使用了未经审计的智能合约,并受到了一个严重错误的影响,导致其治理功能失效。

 

尽管智能合约是通过底层区块链技术来进行保护,但它们也需要通过设计来确保其安全性——因为其代码中的某些功能或错误可以被恶意利用。

 

这种情况过去已经发生过多次,并且仍然是智能合约通向更广泛采用目标时面临的最大挑战之一。已经有总计价值上亿美元的资产从不安全的智能合约中流失,其中包括上述的 Eminence 黑客攻击和 2020 年 4 月的黑客攻击,导致 2500 万美元从 dForce 被盗。

 

区块链调查公司 CipherTrace 在 2020 年 11 月的一份报告中发现,仅 DeFi 项目一个月就浪费了大约 1000 万美元。

 

为了帮助最大程度地减少这种风险,有许多第三方开发和安全公司提供智能合同审核服务,包括仔细检查智能合约代码以识别任何漏洞,然后开发者对这些漏洞进行修复。这一步通常在智能合约公开之前完成。流行的 DApp 通常会在其网站的页脚中发布其智能合同审核信息,从而为没有时间或专业知识自行检查其代码的用户提供信心。

 

如今,大多数区块链都具有智能合约功能,很多活跃的开发者社区使用上面的智能合约来创建 DApp,智能合约的能力范围从简单变得日益复杂。现在仍处于智能合约和 DApp 现实应用的早期阶段,但是已经有公司甚至政府在数字身份、供应链管理、保险、数据存储等领域进行尝试,智能合约在未来还有很大的可能。

 

附:按市值排名的十大智能合约平台

 

在撰写本文时,这 10 个领先的智能合约平台的总市值超过 1760 亿美元,它们分别是:

 

  • 以太坊(Ethereum):以太坊被设计为去中心化的“世界计算机”,可以用作运行 DApp 的大平台。

  • Cardano:Cardano 是一个开源公共区块链项目。它的 USP 自称是世界上第一个经过同行评审的区块链,由一批学者和科学家在协议发布之前对其做了仔细检查。

  • Polkadot:Polkadot 由以太坊联合创始人 Gavin Wood 创建,是一个“多链网络”,旨在将区块链网络连接在一起。

  • EOS:EOS 以商业用户为目标,旨在解决围绕区块链的常见问题,例如速度和可扩展性。

  • TRON:Tron 是一种“去中心化虚拟机”,最初被设计为社交媒体和娱乐平台,现在其崇高目标是支持去中心化互联网。

  • NEM:NEM 平台是新经济运动的缩写,旨在为企业提供一种更有效的方式来验证和转移区块链资产。

  • Tezos:以太坊的竞争对手 Tezos 是从头开始设计的,是基于链上治理的权益证明型区块链。代币所有者可以对提案投票,以更改 Tezos 区块链的工作方式。

  • VeChain:VeChain 旨在改善和简化供应链管理,帮助企业消除制造和交付过程中的欺诈行为。

  • NEO:NEO 通常被称为“中国以太坊”,它与以太坊的不同之处在于前者没有交易费。它也更快,每秒支持约 10,000 个事务。

  • Cosmos:Cosmos 是“区块链的互联网”,这是一种区块链网络的网络,旨在使用区块链间通信协议进行无缝通信。

 

原文链接:

 

https://decrypt.co/resources/smart-contracts


2021-05-29 08:006764

评论 1 条评论

发布
用户头像
来BSN学习区块链,保证让你有意想不到的收获哦~
2021-11-02 18:04
回复
没有更多了
发现更多内容

公司给的期权有没有价值?

石云升

期权 职场经验 6月日更

什么是网络流量劫持?

网络安全学海

网络安全 安全 渗透测试 安全漏洞 网络攻防

肝到头秃!阿里爆款的顶配版Spring Security笔记

Java 程序员 架构 面试 计算机

亚马逊云科技宣布Amazon WAF 在北京区域和宁夏区域正式上线

亚马逊云科技 (Amazon Web Services)

带你认识Flink容错机制的两大方面:作业执行和守护进程

华为云开发者联盟

flink 守护进程 容错 作业执行 Flink 容错机制

云小课 | 华为云KYON:网段零修改上云,简单又好用

华为云开发者联盟

KYON企业级云网络 私网NAT网关 弹性负载均衡ELB 虚拟私有云VPC L2CG VPVEP

🏆「作者推荐」【JVM原理探索】字节码指令集调用执行流程分析(语法分析篇)

码界西柚

JVM Class字节码 6月日更 字节码指令

Swarm云算力矿机分币系统搭建,chia矿机系统源码

模型化生存

俞凡

认知

重磅!北京区域已经推出第三个可用区啦

亚马逊云科技 (Amazon Web Services)

拥抱数字娱乐家庭新生态,亚马逊云科技赋能智象“蛟龙出海” | 精选案例

亚马逊云科技 (Amazon Web Services)

经典永流传,华为云媒体 AI 让老电影焕发新生

华为云开发者联盟

AI 云原生 音视频 电影修复 华为云媒体

收藏!阿里P9耗时28天,总结出来了“618、双十一”活动高并发系统设计手册

Java 程序员 架构 面试 高并发

四份深入源码层面笔记,学完后让你彻底精通Spring Cloud!

Java架构追梦

Java 架构 面试 微服务 SpringCloud

redis面试知识点和内存算法了解

NeoFetch - Linux 使用命令行查看系统信息

HoneyMoose

在线html链接提取工具

入门小站

工具

[译] R8 优化: Switch 场景下的枚举

Antway

6月日更

华为云官网前端的技术演进与低代码实践

华为云开发者联盟

大前端 低代码 可视化 页面 华为云官网

THOR:MindSpore 自研高阶优化器源码分析和实践应用

华为云开发者联盟

网络 mindspore THOR 高阶优化器 THOR算法

TDH8.0使用必读2: 10种数据模型全支持 未来属于多模型大数据平台

星环科技

zookeeper客户端zkclient和curator的api

赵镇

zookeeper

华为自研PB级分布式时序数据库揭秘第一期:初识GaussDB(for Influx)

华为云数据库小助手

数据库 GaussDB(for Influx) 华为云数据库

一分钟懂5G

俞凡

5G

JAVA原生线程池源码解析及使用建议( 程序员必看!)

Java 面试 BAT

“动态规划”这词太吓人,其实可以叫“状态缓存”

华为云开发者联盟

Java 动态规划 超时 dp数组 状态缓存

星环科技边缘计算平台Sophon Edge通过EC Ready边缘服务权威评测!

星环科技

Linux之touch命令

入门小站

Linux

经典Android开发教程!腾讯T3团队整理,附小技巧

欢喜学安卓

android 程序员 面试 移动开发

什么是NQI?质量基础设施“一站式”服务平台我来帮你搭建

源中瑞-龙先生

NQI 质量基础设施“一站式”

Ubuntu 安装 NTP 服务

HoneyMoose

智能合约很好,但还不能完全相信它_区块链_Matt Hussey_InfoQ精选文章