写点什么

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

  • 2021 年 5 月 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 年 5 月 29 日 08:004450

评论 1 条评论

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

28 天写作营 Day 1--120%的技术人员体系

张老蔫

28天写作

【架构中的物联网】影子机制

soolaugust

架构 物联网 28天写作

架构师训练营第 1 期 -大作业2

习习

当我们谈论云原生网络时,Kube-OVN 究竟能带来什么?(下)|视频回顾

York

灵雀云 Kubernetes k8s Kube-OVN

2021年阿里巴巴面试参考指南泰山版开源(Java版)

Java架构追梦

Java 架构 面试 分布式 微服务

2021年的28天写作,从微信视频号开始

赵新龙

法庭上的CTO 28天写作

Spring Cloud(零)《总有一偏概述告诉你SpringCloud是什么》

小傅哥

小傅哥 springboot 28天写作

DeFi去中心化金融借贷系统开发有哪些需要了解的?

W13902449729

defi 去中心化金融借贷系统开发

@Repeatable注解作用

张健

剖析JDK:强引用、软引用、弱引用、虚引用有何区别?

后台技术汇

28天写作

2021年阿里巴巴最全最新500道Java后端面试大全(值得收藏)

Crud的程序员

Java 程序员 架构

架构师训练营第 1 期 - 大作业 1

习习

电商后链路如何做好私域运营?

Linkflow

客户数据平台 CDP 客户画像

视频课程|Kube-OVN 入门与应用实战 (第1期)

York

灵雀云 Kubernetes k8s Kube-OVN

视频课程|Kube-OVN 入门与应用实战 (第3期)

York

灵雀云 Kubernetes k8s Kube-OVN

性能压测工具-JAVA

TCP波场拼智能合约系统开发技术

薇電13242772558

智能合约 dapp

视频课程|Kube-OVN 入门与应用实战 (第4期)

York

灵雀云 Kubernetes k8s Kube-OVN

面向开发者的播客清单

LeanCloud

程序员 开发者 苹果 私有云 播客

区块链挖矿软件系统开发|区块链挖矿APP开发

系统开发

容器网络方案调研:都是网络插件,Kube-OVN凭啥脱颖而出?

York

灵雀云 Kubernetes k8s Kube-OVN

即时通讯是怎么做到的?

v16629866266

微信沟通小技巧

熊斌

远程办公 职场成长 远程协作 28天写作

20 行代码:Serverless 架构下用 Python 轻松搞定图像分类和预测

Serverless Devs

Python 人工智能 Serverless 云原生

区块链多币种钱包系统软件开发|区块链多币种钱包APP开发

系统开发

又双叕更新,开源网络插件Kube-OVN 1.4.0 版发布!支持跨集群容器网络、NetworkPolicy 日志

York

灵雀云 Kubernetes k8s Kube-OVN

OVS 设计与实现阅读笔记,五年前的这篇论文里这些问题已经明了

York

Kubernetes k8s Kube-OVN

“58同城”架构师分享:联盟广告平台架构及实践

Java架构师迁哥

视频课程|Kube-OVN 入门与应用实战 (第2期)

York

灵雀云 Kubernetes k8s Kube-OVN

MDF智能合约系统开发技术

薇電13242772558

智能合约 dapp

Spark 扫描 HDFS lzo/gz/orc异常压缩文件

笨小康

大数据 spark hdfs

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