写点什么

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

  • 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:005957

评论 1 条评论

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

Java通过反射注解赋值

Jeremy Lai

解决问题 java注解

Spring Cloud 整合 nacos 实现动态配置中心

Jeremy Lai

nacos 动态配置

PID和TID的区别

源字节1号

软件开发 前端开发 后端开发 小程序开发

手把手教你用Java获取IP归属地

Jeremy Lai

IP地址

腾讯发布数字政务核心产品体系,多方位助力政府数字化转型

科技热闻

中国视频云进入“出海”时代,腾讯云音视频发布海外专门品牌及新产品

科技热闻

腾讯云升级云端 IDE Cloud Studio,助力开发“化繁为简”

科技热闻

EMQ助力阿里云飞天洛神云网络构建新一代“亿级并发、百万级吞吐”NLB网络型负载均衡系统

EMQ映云科技

阿里云 物联网 IoT mqtt 12 月 PK 榜

Web3时代到来,腾讯云助力产业提效和互联网创新

科技热闻

SpringBoot整合RabbitMQ实现六种工作模式

Jeremy Lai

spring-boot Rabbit MQ

MySQL更新锁表超时 Lock wait timeout exceeded

Jeremy Lai

事务隔离 Mysql死锁

CleanMyMac X2023第三方mac系统清理软件

茶色酒

CleanMyMac X CleanMyMac X2023

SpringBoot快速整合通用Mapper

Jeremy Lai

通用Mapper spring-boot

融云&艾瑞发布《政企数智办公平台行业研究报告》,解读数智化时代的办公新趋势

融云 RongCloud

即时通讯 办公 数智化

超简单的CDH6部署和体验(单机版)

程序员欣宸

大数据 hadoop CDH 12月月更

详解ConCurrentHashMap源码(jdk1.8)

Jeremy Lai

ConcurrentHashMap 源码阅读

Seata 环境搭建

Jeremy Lai

分布式事务 seata

字节一面:说说TCP的三次握手

Jeremy Lai

三次握手 TCP协议

阿里云ECS后台CPU占用100%,top却找不到

Jeremy Lai

cpu 100% 阿里云;

应用瓴羊Quick BI数据分析,实时掌控企业运营数据

对不起该用户已成仙‖

干货 | 五大关键点,帮助企业快速构建可落地的IT服务管理体系

嘉为蓝鲸

运维 嘉为蓝鲸 IT服务

商务部研究院信用所、启信宝联合发布《中国商务信用发展指数报告(2022)》

合合技术团队

人工智能 大数据 商业

后端程序员实现一个IP归属地的小程序

Jeremy Lai

嘉为蓝鲸WeOps荣获“2022年度行业科技创新产品”

嘉为蓝鲸

运维 嘉为蓝鲸 #WeOps

嘉为蓝鲸IT服务管理中心V3.0正式发布,实现IT服务管理体系新升级!

嘉为蓝鲸

运维 嘉为蓝鲸 IT服务

Centos7安装Nginx教程,一步安装http和https

Jeremy Lai

nginx Linux安装

深入理解Redis 数据结构—字典

Jeremy Lai

字典 redis 底层原理

详解MySQL隔离级别

Jeremy Lai

隔离级别

小程序正式版报错600002 url not in domain list

Jeremy Lai

小程序

干货 | 企业如何快速采集分析日志?

嘉为蓝鲸

运维 嘉为蓝鲸

友元、异常和其他

Maybe_fl

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