当前位置:首页 > 区块链快讯 > 剖析区块链智能合约:是件严肃的事

剖析区块链智能合约:是件严肃的事

admin2个月前 (09-20)区块链快讯138
智能合约的概念却由来已久,并不是以太坊的“专利”。

智能合约

一提到智能合约,大家有可能首先想到的是以太坊,以太坊创新性的在区块链技术上加上智能合约,丰富了链上功能。然而,智能合约的概念却由来已久,并不是以太坊的“专利”。

传统合约与智能合约的比较

早在1995年,跨领域学者 Nick Szabo 就提出了智能合约的概念,他对智能合约的定义为:“一个智能合约是一套以数字形式定义的承诺,包括合约参与方可以在上面执行这些承诺的协议。”简单来说,智能合约是一种在满足一定条件时,就自动执行的计算机程序。

例如自动售货机,就可以视为一个智能合约系统。客户需要选择商品,并完成支付,这两个条件都满足后售货机就会自动吐出货物。合约在生活中处处可见:租赁合同、借条等。传统合约依靠法律进行背书,当产生违约及纠纷时,往往需要借助法院等政府机构的力量进行裁决。智能合约,不仅仅是将传统的合约电子化,它的真正意义在革命性地将传统合约的背书执行由法律替换成了代码。俗话说,“规则是死的,人是活的”,程序作为一种运行在计算机上的规则,同样是“死的”。但是“死的”也不总是贬义词,因为它意味着会严格执行。

尽管智能合约这个如此前卫的理念早在1995年就被提出,但是一直没有引起广泛的关注。虽然这个理念很美好,但是缺少一个良好的运行智能合约的平台,确保智能合约一定会被执行,执行的逻辑没有被中途修改。

区块链这种去中心化、防篡改的平台,完美地解决了这些问题。智能合约一旦在区块链上部署,所有参与节点都会严格按照既定逻辑执行。基于区块链上大部分节点都是诚实的基本原则,如果某个节点修改了智能合约逻辑,那么执行结果就无法通过其他节点的校验而不会被承认,即修改无效。这样智能合约就可以按照既定指令运营下去。区块链成为了智能合约可执行的”最佳拍档“。

那么智能合约的原理是怎样的呢?一个基于区块链的智能合约需要包括事务处理机制、数据存储机制以及完备的状态机,用于接收和处理各种条件。并且事务的触发、处理及数据保存都必须在链上进行。当满足触发条件后,智能合约即会根据预设逻辑,读取相应数据并进行计算,最后将计算结果永久保存在链式结构中。

智能合约在区块链中的运行逻辑

因为合约是严肃的事情,传统的合约往往需要专业的律师团队来撰写。古语有云:“术业有专攻。”当前智能合约的开发工作主要由软件从业者来完成,其所编写的智能合约在完备性上可能有所欠缺,因此相比传统合约,更容易产生逻辑上的漏洞。

另外,由于现有的部分支持智能合约的区块链平台提供了利用如Go语言、Java语言等高级语言编写智能合约的功能,而这类高级语言不乏一些具有“不确定性”的指令,可能会造成执行智能合约节点的某些内部状态发生分歧,从而影响整体系统的一致性。

2016年著名的The DAO事件,就是因为智能合约漏洞导致大约几千万美元的直接损失。The DAO 是当时以太坊平台最大的众筹项目,上线不到一个月就筹集了超过1000万个以太币,当时价值一亿多美元。但是该智能合约的转账函数存在漏洞,攻击者利用该漏洞,盗取了360万个以太币。由于此事件影响过大,以太坊最后选择进行回滚硬分叉挽回损失。

区块链科普之The DAO 事件

2016年6月17日,心情焦躁的以太坊创始人V神在Reddit上发了一篇帖子“DAO遭到攻击,请交易平台暂停ETH/DAO的交易,充值以及提现,等待进一步的通知。新消息会尽快更新。”著名的The DAO事件拉开序幕。

DAO (Decentralized Autonomous Organization)是分布式自治组织。The DAO是一个基于以太坊区块链平台的迄今为止世界上最大的众筹项目。其目的是让持有The DAO的参与者通过投票的方式共同决定被投资项目, 整个社区完全自制,并且通过代码编写的智能合约来实现。于2016年5月28日完成众筹,共募集1150万ETH,在当时的价值达到1.49亿美元。

不久,The DAO就受到黑客攻击,原因是The DAO编写的智能合约中有一个 splitDAO 函数,攻击者利用此函数的漏洞,不断从The DAO项⽬的资产池中分离出The DAO资产并转到黑客自己建立的子DAO。3个小时300多万枚ETH,六千万美元资产被黑客转移,血流成河。以太坊智能合约受到了最严重的质疑,究竟该如何防止此类事件再次发生?

让我们看看安全预防策略。

充分测试

  • 测试用例设计:对业务进行全方位分析,通过等价类划分法、边界值分析法、正交实验法等方法设计出尽可能全面的测试用例,编写成测试代码,做自动化回归测试。

  • 多人交叉测试:一个人的思维是局限的,我们需要通过多人的跳跃性思维,将尽可能多的情况覆盖在内。

  • 回归测试:每一次修改都必须做整套回归测试。

工具监控

  • 以太坊的所有交易都是公开透明可查的。我们可以通过工具将某一个智能合约交易数据实时爬取出来,并对可能的异常交易做短信和邮件告警。这样我们能第一时间发现问题,并采取措施。

第三方审计

  • 可以找一些专业的智能合约开发工程师做审计。审计可以从另一个角度去发现智能合约可能存在的潜在问题.可能做审计的人的专业能力没有开发者的专业能力强大。

【本课堂内容全部选编自PlatON首席密码学家、武汉大学国家网络安全学院教授、博士生导师何德彪教授的《区块链与密码学》授课讲义、教材及互联网,版权归属其原作者所有,如有侵权请立即与我们联系,我们将及时处理。】

相关文章

多地多机构出台相关通知,区块链“政策热”开启

摘要产业动态:中国与东盟在区块链等领域推出多个合作项目澳大利亚证券交易所的区块链升级让交易成本上升中国银行业协会发起成立可信区块链推进计划银行业组“开放商用区块链网络区块链”正式发布天津与央企共同出资组建“通用机床”:推动区块链等技术创新与...

如何使用WalletConnect

WalletConnect是许多数字货币钱包使用的协议,让您轻松连接至多个去中心化金融(DeFi)DApp。当您找到想与之进行互动的DApp后,只要扫瞄二维码或点击深层链结便可。谨记,为了安全,完成后必须要中断互动。前言DApps(去中心化...

获得红杉投资的中国公链 Conflux 如何启动主网?将分三阶段发布

Conflux 公布将于 4 月中旬开始分三阶段启动主网,启动过程历时约 3 个月。 原文标题:《公告 | Conflux 网络发布进程》 撰文:Conflux 经过将近 2 年的开发,Conflux 网络上线在即,在此,烤仔...

Dragonfly Capital 合伙人:加密货币是年轻一代的奋斗

Dragonfly Capital 合伙人 Haseeb Qureshi 从七个方面分享了对当下加密货币行业的认识,他认为加密货币是这一代人奋斗的机会。 原文标题:《Dragonfly Haseeb:每一代人都有自己的奋斗》 撰...

三分钟速览区块链今日好文:对比中心化与去中心化加密借贷平台,盘点去中心化社交网络

真本聪手记,每天精选 5 篇加密货币最新优质文章,今天内容包括: 1 评审各个中心化与去中心化加密借贷平台; 2 一些游戏需要封闭的生态系统; 3 数万亿美元的 ETH 用例; 4 在去中心化资产交易中收取费用和税收的概念; 5...

还不了解 DeFi?这篇新手指南你不能错过

稳定币、去中心化贷款、中心化交易所、去中心化身份……还不了解 DeFi 吗?没关系,这篇 DeFi 新手指南带你快速了解 DeFi 生态各个金融构件。 原文标题:《Linda Xie 初学者指南又一力作——DeFi 新手入门》(...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。