您的浏览器禁用了JavaScript(一种计算机语言,用以实现您与网页的交互),请解除该禁用,或者联系我们。[陀螺研究院]:区块链智能合约技术发展研究报告2020 - 发现报告
当前位置:首页/其他报告/报告详情/

区块链智能合约技术发展研究报告2020

2020-04-17-陀螺研究院看***
区块链智能合约技术发展研究报告2020

1 版权声明 陀螺研究院《智能合约技术发展研究报告》版权为深圳市陀螺传媒有限公司独家拥有,是陀螺研究院和合作单位的研究与统计成果,其目的是为投资者和从业者提供参考,陀螺研究院报告仅限于行业内部使用。 未经陀螺研究院的审核、确认及书面授权,购买报告的客户不得以任何方式,在任何媒体上(包括互联网)公开引用本报告的数据和观点,不得以任何方式将报告的内容提供给其他单位或个人。否则引起的一切法律后果由该客户自行承担,同时陀螺传媒亦认为其行为侵犯了陀螺研究院的著作权,陀螺传媒有权依法追究其法律责任。 报告的所有图片、表格及文字内容的版权归陀螺研究院所有。其中,部分图表在标注有数据来源的情况下,版权归属原数据所有公司。如有侵权行为的个人、法人或其它组织,必须立即停止侵权并对其因侵权造成的一切后果承担全部责任和相应赔偿。否则我们将依据中华人民共和国《著作权法》、《计算机软件保护条例》等相关法律、法规追究其经济和法律责任。指导单位:深圳市信息服务业区块链协会协撰单位:荷月科技、溪塔科技、成都链安、宇链科技编委会成员指 导: 余文锋 杨达豪 李双良 任培文主 笔 人: 余维仁编写人员:余维仁 朱天阳 罗蔚 2 前言 10·24重要讲话精神强调要强化基础研究,提升原始创新能力,努力让我国在区块链这个新兴领域走在理论最前沿、占据创新制高点、取得产业新优势。要推动协同攻关,加快推进核心技术突破,为区块链应用发展提供安全可控的技术支撑。目前区块链技术应用还处于初期阶段,核心技术不成熟是原因之一。只有核心技术成熟,才能满足公链和联盟链技术开发的需要。智能合约是一种无需中介、自我验证、自动执行合约条款的计算机交易协议, 近年来随着区块链技术的日益普及而备受关注.。从区块链程序设计的角度看,智能合约可以简单理解为只能被区块链上的交易激活的一段代码、一个小程序。可以把智能合约类比为数据库中的存储过程和触发器,共同点都是一段托管代码,通过外部调用触发一段代码的执行。智能合约使区块链这一分布式账本技术具备了图灵完备性,开启了区块链2.0时代。 随着发展区块链产业上升为国家战略,政府对区块链产业支持力度逐步加大,越来越多传统企业布局区块链应用。然而由于核心技术不成熟,很多开发应用还处于摸索阶段,甚至还面临不少的挑战。其中智能合约的漏洞问题一直是用户比较关注的问题,为了让大家了解智能合约技术发展和应用情况,陀螺研究院联合成都链安、荷月科技、溪塔科技、宇链科技和深圳市信息服务业区块链协会联合发布陀螺研究院《区块链智能合约技术发展研究报告》。3 目录Table of Contents 前言 2一、 技术发展概述 5 1.1 智能合约的定义 6 1.2 与传统合约的比较 6 1.3 技术特点 8 1.4 技术开发的意义 9二、 技术原理及分类 10 2.1 智能合约工作原理 11 2.2 技术路线分类 15三、 技术应用情况分析 19 3.1 应用还处于早期 20 3.2 处理的逻辑比较简单 20 3.3 智能合约漏洞问题备受关注 21 3.4 智能合约的应用趋势 22四、典型案例分析 23 4.1 智能合约在DeFi中的应用 24 4.2 智能合约在供应链金融应收账款业务中的应用 27 4.3 智能合约在政务领域的应用:不动产登记 28 4.4 智能合约在司法领域中的应用:电子合同存证 30 4.5 智能合约在疫情防控的应用:宇链科技“出入通” 31 4 五、技术发展的趋势和挑战 33 5.1 发展趋势 34 5.2 面临的挑战 35六、 总结 385 一、技术发展概述 1.1 智能合约的定义 1.2 与传统合约的比较 1.3 技术特点 1.4 技术开发的意义6 1.1 智能合约的定义 智能合约是一种计算机协议,旨在以数字方式促进,验证或强制执行合同的谈判或履行。智能合约可以在没有第三方的情况下进行可靠的交易,这些交易是可追踪且不可逆的。1994年,创造该术语的Nick Szabo首次提出了智能合约。智能合约概念提出的时机并不成熟,缺乏可执行以及验证的平台,同时互联网与电子商务并不发达,缺乏大规模的落地场景,因此并没有引起广泛关注。 21世纪互联网的飞速发展,为智能合约落地提供了基础,同时2009年区块链的第一个应用——比特币则为智能合约提供了可信平台,但比特币的编程语言是一种非图灵完备基于栈的语言,因此应用范围有限。2013年,以太坊创始人Vitalik Buterin发布以太坊白皮书,并带领团队于2015年发布了以太坊平台,实现了将智能合约大规模使用的可能。 智能合约是在区块链系统的可信运行环境里运行的计算机代码,该代码包含一组规则,智能合约的各参与方根据该规则进行交互。当触发条件满足预定义的规则时,协议将自动执行。智能合约代码可验证和执行协议,并促进交易的执行。智能合约的主要特点是使用特定的编程语言并在可信的运行环境下执行,区块链记录所有的操作过程,通过可信执行环境的输出来验证和确认执行结果。智能合约技术能够采用自动化的流程,可减少人为参与,优势在于节省时间降低成本,且难以篡改。智能合约的这些优势能提高效率并降低人为参与造成的错误,目前已经在金融科技和供应链管理等很多领域得到应用。1.2 与传统合约的比较 智能合约和传统合约本质上是不同的两种事物,智能合约的使用范围更广,传统合约的约束力更强。下面仅在合同主体、自动执行和执行的灵7 活性等方面比较。 (1)合同主体和仲裁对象 传统合约的主体为自然人或法人,而智能合约的合同主体为任何可触发合约的事物。触发合约的前提条件是有能给智能合约提交信息的通道,如一个接口程序。能够提交符合条件的信息的主体即可触发合约,如自动执行程序,物联网设备,人工智能,人等等。这些主体并不是都具有承担法律责任的能力,从这一点上看,智能合约和传统合约的区别很大。智能合约的仲裁对象只能是合约约定的数字资产,现实世界的实体如果未转换或者抵押为数字资产都无法用来交易,而传统合同的仲裁对象是权利和义务,可以使实体也可以是虚体。 (2)自动执行和执行的灵活性 传统合约的执行依赖人的行动,无论是当事人自己执行还是法院强制执行都离不开人的参与,因此不具有自动执行的特性;同时执行过程是人为参与的,因此执行过程可按照双方的意愿自由处理,具备很高的灵活性,这种灵活性提高了对突发状况的处理能力。但是这种灵活性降低了确定性,也会相应提高收益方的风险。 智能合约的执行过程是代码的运行,触发后合约的执行不依赖人为参与,因此具有自动执行的特点;同时因为是程序执行,因此只能在程序允许的范围进行调整,灵活性不高,对突发状况缺乏处理能力,当然这种确定性也会相应的降低收益方的风险。 (3)违约惩罚维度和成本 智能合约依赖抵押品、保证金、数字资产等具有数字化属性的抵押资8 产,一旦违约,参与者的资产将遭受损失;而传统合约的惩罚主要依赖刑罚,一旦权益受到侵害,可以采用法律手段维权。1.3 技术特点 防篡改性 智能合约的防篡改性是区块链的防篡改性衍生而来的。智能合约本身和每一步操作记录都记录在区块链上,这些数据都能够防篡改;同时智能合约在可信执行环境下执行,执行过程也具有防篡改性;而且智能合约在相同操作下的结果具有一致性,因此智能合约的执行结果也具有防篡改的性质。 一致性 智能合约的一致性和区块链的一致性关系密切。区块链通过共识达成个节点区块的一致性,因此对智能合约来说操作记录是一致的,最后执行的结果在各个不同节点上也具有一致性。需要注意的是这种一致性在可能分叉的链上并不一定成立,不同分叉数据不一定一致,因此结果也不一定是一致的。 此外,智能合约的一致性还意味着相同操作下的结果具有一致性,既每次对相同输入操作的输出是一致的。这个性质保证了智能合约的防篡改性和各节点数据的一致性,但也导致智能合约生成的随机数都可获取或者可预测,这是智能合约的一个弱势。 对于限制合约执行时间的情况,硬件性能差异或执行时状态的差异,可能导致对一些有高频次运算的合约,相同操作下出现成功或失败不一的结果,这种情况下的一致性会受到影响,应尽量避免执行耗时过长的运算。9 可审计性 智能合约的执行过程和结果并不一定透明,不透明性是为了提供隐私保护能力,由两个因素造成:智能合约在不公布代码或函数/变量相关信息时,这些相关信息将会是不透明的;智能合约中可能使用一些隐私保护技术,如对信息采取对称/非对称加密,对数值的同态加密/零知识证明等。但是区块链带来的防篡改性和一致性决定了智能合约的结果是不可抵赖的,同时每一次变更操作的上链保证了信息的可追溯性,这些特性即构成智能合约的可审计性。因为不具有完全的透明性,审计时提需供相关信息,使审计内容可读。 自动化执行 智能和约的自动化执行是指在触发指定函数后能够按照代码自动执行所有操作,如果某一步操作出现错误,则自动回滚到触发前状态。需要注意的是目前的智能合约技术里并不包含主动获取链外的信息的方式,如获取股票信息等操作。对于这种类型的操作,需要用到预言机技术。1.4 技术开发的意义 智能合约基于的区块链的去中心化性质,以及合约本身的性质,因此能够解决现实中的很多问题。 首先,在执行合约过程中无需第三方,因此不会犯人为错误,可降低成本、提高效率。其次,区块链本身是防篡改账本,可提供明确的交易证明,且交易过程使用加密技术,因此可提高交易的安全性。数据存储设备可能会发生故障,区块链节点会复制所有交易,以便所有各方