首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

智能合约是否真的智能呢?

近几年,随着人工智能的日益普及,“智能”二字在我们的生活中几乎处处可见。智能空调,智能扫地机器人,智能手环等等屡见不鲜。前两天,又见闺蜜拿了一个智能水杯,说的是只要给它插上电,就可以让里面的水一直保持在一个恒定的适合饮用的温度上。但在18年我们听的最多的肯定是智能合约。乍一听这个词我们一般会认为它必定也是跟前面这些一样是一种人工智能技术吧,其实它跟人工智能没多大关系,而是源自于现在吵得很热的一种新技术—区块链技术。

说到智能合约,就不得不提一个人物—尼克·萨博(Nick Szabo),他是一位计算机科学家、密码学家、法律学者。早在1993年他就提出来“智能合约(Smart contract)”这一概念,1994年他写成了《智能合约》论文,是智能合约的开山之作。之后在1998年,尼克·萨博设计出了一种叫“比特黄金”(bit gold)的去中心化的数字货币机制,由于缺少广泛支持最后失败了,但是却被公认为是比特币的最直接先驱。尼克·萨博也因此被怀疑是比特币背后的神秘发明者 — 中本聪(Satoshi Nakamoto)。

好,我们言归正传,智能合约真的智能吗?

智能合约的内在潜力无疑是巨大的。这一新兴技术可能用于身份验证、安全数据共享、代币管理和在首次硬币发行/代币销售中募集资金等等,但你的智能合约到底有多智能呢?

ETH自称拥有超过1500个分散的应用程序(dApps),所有这些应用程序都利用智能合约来完成各种各样的任务然而,智能契约的问题在于,它们是基于代码的,因此很容易出错—其中一些错误简直就是灾难性的。

智能合约基础知识

简单地说,智能合约是包含一组规则的代码,如果符合合同的规则,则无需第三方便可自动执行。这与通常由第三方强制执行的书面合同有很大区别。

然而,由于智能合约是基于代码的,所以它们很容易出现错误、bug和弱点,从而使基金面临被窃取和操纵的风险。

当智能的合约行动不智能

最臭名昭著的一个编码不佳的智能合约案例是去中心化自治组织(DAO),它的设计目的是为了资助不被任何个人或团体操纵的加密货币项目。本来,DAO密码持有者被允许对值得资助的项目进行投票——这导致在悲剧发生之前,总计购买了2.5亿美元的乙醚。

两个部分的问题代码导致了DAO项目的崩溃,这也最终导致了从Ethereum区块链到Ethereum Classic过程中出现了硬分叉。

这两个部分分别是“分裂”和“回收”——尽管它们本身并不脆弱。然而,黑客总共能够吸走400万以太币。因此,Ethereum社区或多或少被迫对自己的区块链执行51%的攻击,重新编写了它,就好像被盗资金从未丢失一样。

另一个最近出现的bug是Parity使用的智能合约。这一智能合约的问题是其被利用最终导致了50万以太币的损失——价值超过1.69亿美元。70个钱包被冻结,里面的钱也丢失了。

Parity承认事实上在漏洞被触发前几个月就被警告过。然而,他们并没有解决这个问题,后来他们声明道:

虽然,我们一致认为,为了实现安全,我们需要更广泛和正式的程序和工具来部署、监控和测试合同,而不仅仅是进行更多的审计。我们相信整个生态系统都迫切需要这种程序和工具,以防止类似的问题再次发生,特别是在实时合同的数量和复杂性增加时。

在2017年6月,Parity再次被智能合同漏洞攻击,导致15万以太币被盗。

以太坊智能合约到底有什么问题呢?

ETH的主要问题是它在很大程度上是建立在固定程序上的——这是一种高级的编程语言。因此,许多程序员必须学习一种全新的编码语言,这增加了人为错误的可能性。更大的问题是,许多新项目缺乏经验或时间来充分地审核他们的智能合约。

因为这些明显缺陷,使得智能合约很难受到社会的关注。如果有一种方式能够自动保证合约执行的可信,智能合约就能发挥更大的作用。幸运的是,区块链的出现为智能合约提供了这样一个平台。区块链将智能合约程序记录并复制在分布式网络上,并且让网络上的所有计算机同时执行合约,只有当所有机器都认可结果后,才会执行相应的操作。

这就是像COINAdmin这样的公司出现的原因—它帮助合同完成并随后对智能合同进行审查,验证代码是否没有漏洞。

COINAdmin有一个由区块链开发人员组成的团队,他们专门开发ERC-20和ERC-223智能合约。它还完全支持全面的第三方审查,并处理技术方面的所有事情—这样可以使团队能够专注于其业务风险的其他方面。COINAdmin还允许项目在节省时间和金钱的同时发布他们自己的标记密码。

那么您如何看待像COINAdmin这样的智能合同漏洞公司的出现?欢迎下方留言交流

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180828A1E1RW00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券