区块链技术智能合约

1.1 什么是智能合约

  1. 虽然在法律范畴上来说,智能合约是否是一个真正意义上的合约还有待研究确认,但在计算机科学领域,智能合约是指一种计算机协议,这类协议一旦制定和部署就能实现自我执行(self-executing)和自我验证(self-verifying),而且不再需要人为的干预。从技术角度来说,智能合约可以被看作一种计算机程序,这种程序可以自主地执行全部或部分和合约相关的操作,并产生相应的可以被验证的证据,来说明执行合约操作的有效性。在部署智能合约之前,与合约相关的所有条款的逻辑流程就已经被制定好了。智能合约通常具有一个用户接口(interface),以供用户与已制定的合约进行交互,这些交互行为都严格遵守此前制定的逻辑。得益于密码学技术,这些交互行为能够被严格地验证,以确保合约能够按照此前制定的规则顺利执行,从而防止出现违约行为。

  2. 举个例子来说,对银行账户的管理就可以看成一组智能合约的应用。在传统方式中,对账户内存款的操作需要中心化的银行进行授权,离开银行的监管,用户就连最简单的存取款都无法进行。智能合约能够完全代替中心化的银行职能,所有账户操作都可以预先通过严密的逻辑运算制定好,在操作执行时,并不需要银行的参与,只要正确地调用合约即可。再比如说,用户的信息登记系统完全可以由智能合约实现,从而完全抛开需要人为维护的中心化数据管理方式,用户可以通过预先定义好的合约实现信息登记、修改、注销等功能。此外,通过设计更复杂的合约,智能合约几乎可以应用于任何需要记录信息状态的场合,例如各种信息记录系统以及金融衍生服务。但这要求合约设计者能够深入了解流程的各个细节,并进行合理设计,因为通常来说,智能合约一旦部署成功,就不会再受到人为的干预,从而无法随时修正合约设计中出现的漏洞。

1.2 智能合约的历史

  1. 在20世纪七八十年代,随着计算机的发明,对计算机的理论研究达到了一个高潮。研究人员致力于让计算机帮助人类从事更多的工作,从而解放人类的生产劳动。正是在此时,人们提出了让计算机代替人类进行商业市场管理的想法。与此同时,公钥密码学得到革命性的发展,但使计算机完全代替人类进行商业管理的技术并未成熟。

  2. 直到20世纪90年代,从事数字合约和数字货币研究的计算机科学家尼克萨博(Nick Szabo)第一次提出了“智能合约”这一说法,其致力于将已有的合约法律法规以及相关的商业实践转移到互联网上来,使得陌生人通过互联网就可以实现以前只能在线下进行的商业活动,并实现真正的完全的电子商务。1994年,尼克萨博对智能合约做出以下描述[插图]:

    “智能合约是一个由计算机处理的、可执行合约条款的交易协议。其总体目标是能够满足普通的合约条件,例如支付、抵押、保密甚至强制执行,并最小化恶意或意外事件发生的可能性,以及最小化对信任中介的需求。智能合约所要达到的相关经济目标包括降低合约欺诈所造成的损失,降低仲裁和强制执行所产生的成本以及其他交易成本等。”

  3. 尼克萨博以及其他研究者希望借助密码学协议以及其他数字化安全机制,实现逻辑清楚、检验容易、责任明确和追责简单的合约,这将极大地改进传统的合约制定和履行方式,并降低相关的成本,将所有的合约条款以及操作置于计算机协议的掌控之下。但那时,很多技术还不成熟,并无法完全实现研究者的想法,这一局面在比特币的出现之后得到很大的改观。借由比特币背后的区块链技术,智能合约得以飞速发展,有许多研究机构已将区块链上的智能合约作为未来互联网合约的重要研究方向,很多智能合约项目已经初步得以实现,并吸引大量的资金投入其中。

1.3 智能合约的优点和面临的风险

现今,虽然智能合约还未被广泛应用和实践,但其优点已得到研究人员和业内人士的广泛认可。总体来说,智能合约具有以下优点

1)高效的实时更新:由于智能合约的执行不需要人为的第三方权威或中心化代理服务的参与,其能够在任何时候响应用户的请求,大大提升了交易进行的效率。用户不需要等待银行开门就可以办理相关的业务,只要通过网络一切都可以方便快捷地解决。

2)准确执行:智能合约的所有条款和执行过程是提前制定好的,并在计算机的绝对控制下进行。因此所有执行的结果都是准确无误的,不会出现不可预料的结果。这也是传统合约制定和执行过程中所期望的。现今,智能合约的准确执行得益于密码学的发展和区块链技术的发明。

3)较低的人为干预风险:在智能合约部署之后,合约的所有内容都将无法修改,合约中的任何一方都不能干预合约的执行,也就是说任何合约人都不能为了自己的利益恶意毁约,即使发生毁约事件,事件的责任人也会受到相应的处罚,这种处罚也是在合约制定之初就已经决定好的,在合约生效之后无法更改。

4)去中心化权威:一般来说,智能合约不需要中心化的权威来仲裁合约是否按规定执行,合约的监督和仲裁都由计算机来完成。在区块链上的智能合约更具有这一特性,在一个区块链网络中一般不存在一个绝对的权威来监督合约的执行,而是由该网络中绝大部分的用户来判断合约是否按规定执行,这种大多数人监督的方式是由PoW或PoS技术来实现的。如果将这种情况搬到现实世界中,或许现在的所有法官都要失业了,而与此同时我们每个人都是法官,都参与监督和仲裁。

5)较低的运行成本:正因为智能合约具有去人为干预的特点,其能够大大减少合约履行、裁决和强制执行所产生的人力成本,但要求合约制定人能够将合约的各个细节在合约建立之初就确定下来。这可能会使在传统行业(如银行)工作的部分员工面临失业,但从长远来说会促进行业的转型,向更新更好的领域发展。虽然智能合约具有许多显而易见的优点,但对智能合约的深入研究才刚刚开始,其广泛应用还面临着潜在的甚至是毁灭性的各类风险。其中一个已知的风险恰恰是来自于智能合约的去人为干预的特性。

1.4 智能合约的一些应用

  • 2016年4月,史上最大的一个众筹项目The DAO正式上线。经过一个多月的众筹,总共募集到超过价值1.5亿美元的以太币用于建立该项目。从这令人震惊的数字上可以看出区块链技术以及之后的智能合约广泛应用的前景是多么让人充满信心。但就在短短一个多月之后,The DAO所在的平台以太坊的创始人之一Vitalik Buterin在其Slock. it社区里面发表声明,表示The DAO存在巨大的漏洞,在其上的大量的以太币已经被“偷”,未来或许还会有大量的以太币被偷,而The DAO的设计执行者对此攻击却无能为力。

  • 这一攻击的出现,恰恰是因为The DAO的智能合约在设计之初就存在漏洞,由于基于区块的智能合约的去人为干预特性,这一漏洞无法被线上修复,只能眼睁睁地看着黑客把更多的以太币从项目中偷走。虽然在后续的对策研究中,以太坊的设计者们想出了让以太坊分叉的解决办法来挽回损失(从根本上将丢失以太币的交易作废),但很多分叉的反对者认为,人为分叉完全背离了去中心化思想,并会大大降低以太坊在人们心目中的信用。由于分歧的存在,人们发起了投票,以决定是否分叉。无论最终是否分叉,都将会对The DAO以及未来的智能合约发展产生深远的影响,迫使合约的设计者将工作重点放到讨论合约的安全性上来。此外,由于智能合约具有自我验证的特性,其上的数据隐私保护也面临着巨大的风险。

  • The DAO攻击事件的发生恰恰是由于其公认的优点,这很值得业内人士反思,技术的应用要有坚实的理论基础做支撑,那么完全去中心化的智能合约是否已经成熟以及面临攻击该如何应对都将成为未来主要探讨的课题。但不管怎样,业内人员普遍认为,区块链技术和智能合约都将成为未来互联网发展的重要方向,现在面临的挫折是新技术成熟的必然过程。

区块链技术必杀技之——智能合约相关推荐

  1. 区块链兼容以太坊智能合约

    链客,专为开发者而生,有问必答! 此文章来自区块链技术社区,未经允许拒绝转载. 引言 随着区块链技术以及应用的普及,越来越多的区块链出现在大众视野中.由于区块链技术的开源特性,任何公司和个人都可以方便 ...

  2. 区块链研习 | 区块链里所说的“智能合约”是什么? 本文作者:敖萌 编辑:温晓桦 2017-10-11 20:31 导语:谈到区块链,必然离不开“智能合约”这个词。我们在本系列的第一篇文章中提到“智能

    区块链研习 | 区块链里所说的"智能合约"是什么? 本文作者:敖萌 编辑:温晓桦 2017-10-11 20:31 导语:谈到区块链,必然离不开"智能合约"这个 ...

  3. AIBlockChain:“知名博主独家讲授”人工智能创新应用竞赛【精选实战作品】之《基于计算机视觉、自然语言处理和区块链技术的乘客智能报警系统》案例的界面简介、功能介绍分享之总篇

    AI&BlockChain:"知名博主独家讲授"人工智能创新应用竞赛[精选实战作品]之<基于计算机视觉.自然语言处理和区块链技术的乘客智能报警系统>案例的界面简 ...

  4. AIBlockChain:“知名博主独家讲授”人工智能创新应用竞赛【精选实战作品】之《基于计算机视觉、自然语言处理和区块链技术的乘客智能报警系统》案例的界面简介、功能介绍分享之区块链技术

    AI&BlockChain:"知名博主独家讲授"人工智能创新应用竞赛[精选实战作品]之<基于计算机视觉.自然语言处理和区块链技术的乘客智能报警系统>案例的界面简 ...

  5. AIBlockChain:“知名博主独家讲授”人工智能创新应用竞赛【精选实战作品】之《基于计算机视觉、自然语言处理和区块链技术的乘客智能报警系统》案例的界面简介、功能介绍分享之汽车驾驶乘客自动报警

    AI&BlockChain:"知名博主独家讲授"人工智能创新应用竞赛[精选实战作品]之<基于计算机视觉.自然语言处理和区块链技术的乘客智能报警系统>案例的界面简 ...

  6. 区块链安全-以太坊智能合约静态分析

    概述 目前,以太坊智能合约的安全事件频发,从The DAO事件到最近的Fomo3D奖池被盗,每次安全问题的破坏力都是巨大的,如何正确防范智能合约的安全漏洞成了当务之急.本文主要讲解了如何通过对智能合约 ...

  7. 尚硅谷以太坊区块链学习之NFT智能合约(6)

    尚硅谷以太坊区块链学习之NFT智能合约(6) 前言 一.NFT智能合约 1.智能合约代码 2.智能合约推送 3.具体调用 二.具体使用 三.NFT商家智能合约 前言 提示:服务外包区块链学习 5被ba ...

  8. AIBlockChain:“知名博主独家讲授”人工智能创新应用竞赛【精选实战作品】之《基于计算机视觉、自然语言处理和区块链技术的乘客智能报警系统》案例的界面简介、功能介绍分享之计算机视觉技术

    AI&BlockChain:"知名博主独家讲授"人工智能创新应用竞赛[精选实战作品]之<基于计算机视觉.自然语言处理和区块链技术的乘客智能报警系统>案例的界面简 ...

  9. AIBlockChain:“知名博主独家讲授”人工智能创新应用竞赛【精选实战作品】之《基于计算机视觉、自然语言处理和区块链技术的乘客智能报警系统》案例的界面简介、功能介绍分享之自然语言处理技术

    AI&BlockChain:"知名博主独家讲授"人工智能创新应用竞赛[精选实战作品]之<基于计算机视觉.自然语言处理和区块链技术的乘客智能报警系统>案例的界面简 ...

最新文章

  1. MF Porting之USB驱动开发
  2. jexus防止产生 *.core文件
  3. 基于Windows下python3.4.1IDLE常用快捷键小结
  4. opencv+Java+android 灰度图像
  5. C# 中实现索引指示器
  6. 2017-2018-1 20155201 20155313 实验一 开发环境的熟悉
  7. Eclipse Paho MQTT客户端Java源码分析
  8. 关于响应式布局,你必须要知道的
  9. 分布式系统理论之Quorum机制
  10. 二进制和文本文件的比较
  11. keep怎么弄轨迹动画_keep怎么录视频?教学视频录像和轨迹动画视频录制方法介绍...
  12. PMP项目管理培训总结
  13. measure_solder_paster_dff.hdev测量BGA封装焊锡膏深度的 相关例程学习
  14. Python 关于整除以及负数取余遇到的问题
  15. “进大厂大半年,每个月都想走!”大公司 VS 小公司到底该如何选择?
  16. R语言多元线性回归模型分析 习题
  17. 创业实践案例课程随堂检测答案
  18. 调用android手机分享
  19. 如何在java中判断一个字符串是否是数字
  20. 我喜欢你是寂静的-聂鲁达

热门文章

  1. WordPress主题Justnews 4.3.0 优化WooCommerce3.6.1模板文件兼容性
  2. 设置指纹识别模块分析
  3. 解决克隆完虚拟机没有eth0的问题
  4. mega16单片机学习地图
  5. python 如何封装dll_Python的扩展接口[2] - 动态链接库DLL[0] - 动态链接库及辅助工具...
  6. leetcode中等之1709.访问日期之间最大的空档期
  7. mysql里hdr是什么的缩写_使用innodb_ruby分析InnoDb索引文件
  8. 关于stimulsoft reports 报表格式化format问题描述
  9. 计算机审计oa操作规程,OA自动化自动化和计算机系统审计.pdf
  10. 淘客项目coupons在 Linux 环境部署指南