作者:?胡凯
编者注:原标题为《智能合约系列2:智能合约工程SCE:SmartContractEngineering》
合约是经济社会运行的基石之一。合约确定了多方交易的时间、期限、地点和内容等,使得合约参与的多方可以在信任或不信任的条件下执行合约协议,保证交易活动的正常和有序运行。合约通常在法律上是具有强制执行力的,且以书面明示为原则。而智能合约是数字社会活动的基础保障,计算机程序能够管理机械设备的工作,进行更复杂和更高效的数字财产交易。智能合约代码甚至可以取代律师和实体机构,来智能处理数字社会交易和法律判定,数字化财产能够以将智能合约代码内置到物理实体的方式被创造出来。我们可以预测到智能合约在未来几年将会有巨大而普遍的需求,而智能合约工程是推动和保障发展的路径。
1.智能合约工程起源的背景
就像软件工程对于软件发展的作用,建立并使用完善的工程化原则,以较经济的手段获得能在实际机器上有效运行的可靠软件的一系列方法;智能合约工程就对于智能合约的作用,就是智能合约开发和维护的一系列经济工程方法。
银联商务与上海文交所合作积极探索数字资产智能合约交易模式:4月9日消息,近日银联商务股份有限公司与上海文化产权交易所股份有限公司(简称上海文交所)签署战略合作协议,银联商务正式接入“国家级版权交易保护联盟链”,加入国家级数字文创规范治理生态矩阵。
双方在数字人民币领域的合作将持续强化“国家级版权交易保护联盟链”的服务功能,同时将共同推动和强化行业规范治理,引导数字文创、数字艺术、数字版权、虚拟世界与现实交互产业合理有序发展。
此次合作,双方将充分发挥各自擅长的技术研发、渠道、资源等相关优势,围绕可追溯、实名性、透明公开的创新交易模式不断探索优化,通过区块链、智能合约等创新技术应用,共同打造稳定、合规、安全的数字资产交易环境,推动国家级数字文创规范治理生态矩阵内交易相关技术标准、安全规范的制定,为中国数字文化产业发展提供坚实保障。
银联商务此次不仅将自主研发的区块链平台接入国家级版权交易保护联盟链,积极探索数字资产智能合约交易模式,为数字资产交易提供不可篡改、安全可信的技术保障,还将为联盟链赋予完备的全渠道综合支付受理能力,提升结算效能,助力数字资产交易体系建设。[2022/4/9 14:15:01]
这里可简要回顾一下软件工程的发展路径,从而预测智能合约发展之路。百科词条给出了简明解释,程序设计阶段出现在1946年~1955年。此阶段的特点是还没有软件的概念,程序设计主要围绕硬件进行开发,规模很小,工具简单,无明确的开发者和用户分工。而软件设计阶段出现在1956年~1970年。此阶段的特点是:硬件环境相对稳定,出现了软件开发组,建立了软件的概念。
IOVLabs将Chainlink预言机集成到基于比特币的智能合约平台RSK测试网中:基于比特币的智能合约平台RSK背后的开发公司IOVLabs将集成Chainlink(LINK)预言机至RSK生态系统中,这将使RSK开发人员可以利用市场价格信息和其他链下数据来构建其应用程序。具体来讲,Chainlink数据将通过RIF网关运送到RSK。RIF网关是一个互操作性框架,可使开发人员可以从其他区块链和外部世界访问各种数据。IOVLabs发言人说,该集成目前已在测试网上激活,有望在不到一个月的时间内在主网上发布。(Cointelegraph)[2020/9/1]
随后软件系统的规模越来越庞大,高级编程语言层出不穷,应用领域不断拓宽,开发者和用户有了明确的分工,社会对软件的需求量剧增。但软件产品的质量不高,生产效率低下,导致了60年代中期开始的“软件危机”的产生,软件的成本、质量、工期、维护和规模生产都无法保证。从而诞生了软件工程这一新兴的工程学科。
软件工程主要研究软件生产的客观规律性,建立与系统化软件生产有关的概念、原则、方法、技术和工具,指导和支持软件系统的生产活动,以期达到降低软件生产成本、改进软件产品质量、提高软件生产率水平的目标。在软件开发过程中人们开始研制和使用软件工具,用以辅助进行软件项目管理与技术生产,人们还将软件生命周期各阶段使用的软件工具有机地集合成为一个整体,形成能够连续支持软件开发与维护全过程的集成化软件支援环境,以期从管理和技术两方面解决软件危机问题。
动态 | 智能合约平台RSK开启比特币和以太坊之间的互操作性桥梁:基于比特币的智能合约平台RSK的母公司推出了一个新的代币,以作为将其连接到以太坊的桥梁。位于直布罗陀的开发团队IOV Labs周三宣布,新发布的互操作性桥梁工具将允许用户跨基于RSK和以太坊的数字资产,包括ETH和ERC-20代币。当用户传输代币时,该桥梁的智能合约将锁定初始代币,并在另一个链上生成相应数量的新代币。使用该系统,基于以太坊网络的代币可以转换为基于RSK的RRC20代币,而该代币反过来又可以转换为基于以太坊的ERC777代币。(CoinDesk)[2020/2/7]
软件工程确定了七条基本原理,涉及设计语言、数据库、软件开发工具、系统平台、标准、设计模式等方面。目标是在给定成本、进度的前提下,开发出具有适用性、有效性、可修改性、可靠性、可理解性、可维护性、可重用性、可移植性、可追踪性、可互操作性的软件产品。软件工程极大地推动和保障了现代软件业规模的生产和应用。
智能合约作为区块链上的一种链上软件代码被广泛接受,是存储在区块链上的一类特殊软件,可以按预先设定规则、按顺序、安全、可验证的方式实施特定的流程,合约的执行就是根据规定好的合约条款对合约方的合约信息进行的判别,并根据执行的结果采取相应的动作,职能类似于商业交易、监督管理过程中法律、法规的执行者。由于这些特点及执行价值转移的巨大利益关联性,智能合约的可信、公信、规模生产和可靠、正确和可监控执行带来了新的挑战或危机。
互联网金融标准研究院副院长:区块链技术智能合约存在不确定性:6月23日,2018年全球链界科技发展大会在北京召开。中国互联网金融协会战略研究部负责人、互联网金融标准研究院副院长肖翔在演讲中表示,在现行的区块链共识机制下,部分敏感信息透明可见,缺乏隐私性;区块链技术智能合约存在不确定性,独立完备的智能合约一旦有漏洞将会造成不可挽回的损失;技术架构还难以满足金融系统的可用性和业务连续性要求,信息机制和数据存储方式仍然需要得到传统金融机构的认可。[2018/6/23]
这些危机越发引起人们的极大关注,典型案例如2016年6月17日,运行在以太坊公有链上的TheDAO智能合约遭遇攻击,该合约筹集的公众款项不断被一个函数的递归调用转向它的子合约,涉及总额三百多万以太币,这是一起严重的智能合约被攻击事件。2018年5月美链(BEC)被爆出安全漏洞,被黑客用以太坊ERC-20智能合约中BatchOverFlow漏洞攻击,引发价格闪崩,据英国和新加坡的研究人员统计,超过34000个智能合约都有可被利用的安全隐患等,智能合约危机已经凸显。笔者在2017年5月首次提出了智能合约工程方法,并申请了相关的专利,下面简单介绍其定义和主要内容。
Ripple前首席技术官重启智能合同平台Codius:据coindesk消息,Ripple前首席技术官Stefan Thomas推出了一个新的智能合同平台Codius,以便与以太坊展开竞争。该平台由ripple在2014年发布了测试版,却在第二年被搁置。Thomas在五月宣布离开Ripple之后,重新推出了该平台。Thomas表示,迄今为止,网络内容的货币化依赖于诸如广告、付费墙和用户数据收集等笨拙的“变通方法”。而他的新项目Codius可以通过使用Ripple的Interledger协议,可以在不同的总账上发送支付。[2018/6/7]
2.智能合约工程的定义和主要内容
智能合约工程的定义:它是融合软件工程、智能化方法和法律代码化技术的智能合约系统化、规模化、判定化的开发、维护和执行过程。
一个基本的智能合约工程的开发框架如图1所示:
图1智能合约工程框架
这个框架中,主要融合了三个方面技术,一是传统软件工程的理论方法,形式化方法是合约进行确定性高级别验证的有效手段,通过形式化语言把合约中的概念、判断、推理转化成智能合约模型,可以消除自然语言的歧义性、不通用性,进而采用形式化工具对智能合约建模、分析和验证,最后自动生成验证过的合约代码这一周期过程;二是合约需要参与方的共同认定并尽可能智能化,合约代码和文本需要保证一致的一致性测试性,并需要区块链分布式机制保证其代码和执行的不可更改和可信性,采用自然语言识别、认知理论和机器学习方法尽可能使复杂契约规则能够准确地自动转换为智能合约代码,同时,智能合约生产过程必须更为智能,更容易为用户理解、编写、部署和执行监管;三是智能合约需要法律层面的规制,计算法律研究如何使用计算机技术以电子媒介的方式来实现对法律、法规、合同、章程等法律文件的表达和自动执行,保障通过计算机代码所设定的规则与现实世界中的法定规则保持相一致。此外,描述合约交易实体间复杂耦合作用,体现价值的变化和转移也是很有意义的,可采用数学方法分析对系统稳定性和可达集进行计算分析,指导智能合约的自动代码生成。同时,提供系列化软件工具来支持智能合约的全生命周期的服务产生、组合应用、验证、部署和运维。
我们定义了智能合约工程指导下生产的智能合约应当满足的十个方面基本属性:
1)合法性:代码符合法律规制,所控资产拥有所有权,且合法有效;
2)公信性:合约代码产生机制必须具有公信、权威性,结果可验证;
3)证据性:过程数据和场景必须被安全地存储,可被用于法律证据;
4)一致性:智能合约应与文本一致,经过专业人士制定审核;
5)智能性:能准确反映合约各方的智力共识和复杂自然语言逻辑;
6)可信性:静态产生和动态执行过程必须具有正确、安全、可靠和可监管;
7)可观察性:合约方能够通过用户界面去观察关于合约执行的所有状态;
8)可验证性:合约方执行合约的过程是运行时可验证;
9)自强制性:对于违反合约行为的制裁必须是强制性的;
10)接入控制:合约相关的背景、场景和关系都应该作为资产保护起来,只有发生争执的时候,才有权限地可把内容提供给第三方检验。
开发者在智能合约工程指导下需要完成一系列工程开发阶段,包括以下基本方面:
1)M:合约建模,根据约定进行合约建模或模板填写;
2)F:合约功能属性和非功能属性正确性验证;
3)G:合约代码的自动或半自动生成;
4)D:合约软件的开发,开发出智能化的合约软件;
5)C:合约代码与合约文本之间的一致性测试,满足约定;
6)L:合约代码满足契约的法律化约定,具有存证和自动判定功能。
此外,智能合约工程还将催生创新的扩展理论、方法、开发模型、计划、标准和工具等,后期系列文章将逐步展开介绍。
可以预期区块链和智能合约的关系就好像互联网技术发展早期建网和网络应用的关系,发展智能合约规模化生产技术就像软件工程对发展软件起到的重要作用一样,必将成为区块链产业和驱动应用落地最为有价值的事业。
作者胡凯为北京航空航天大学分布式实验室、北京航空航天大学云南创新研究院教授。
作者:JamesWaugh译者:Unitimes_Louis来源:UnitimesDAO(去中心化自治组织)是一个社区,是一个经济体系,也是一种投资。将会有比Token还要多的DAO.
1900/1/1 0:00:00摘要事件:工信部网站11月4日发布的《对十三届全国人大二次会议第1394号建议的答复》,披露了工信部经商银保监会答复全国人大代表朱立锋提出的“关于将新零售、区块链和工业互联网相结合.
1900/1/1 0:00:00在IPO路上数次折戟后,6岁半的比特币矿商杭州嘉楠耘智信息科技有限公司(以下简称“嘉楠科技”)终于迎来高光时刻.
1900/1/1 0:00:0011月21日,在智慧广电创新发展研讨会上,国家广电总局科技委副主任杜百川以《智慧广电需要5G和区块链等先进技术的支撑》为题进行了分享.
1900/1/1 0:00:00加密钱包不仅是加密货币基础设施的一部分,而且还是一种服务应用。加密货币使用的核心功能都是通过加密钱包完成的.
1900/1/1 0:00:00作者:三月既望来源:野花说01纸牌游戏GodsUnchained交易火爆,或堵塞以太坊网络数据分析平台CoinMetrics.io:1、11月17日.
1900/1/1 0:00:00