作者:北京航空航天大学云南创新研究院?北京航空航天大学分布式实验室?胡凯教授
业界不少人对智能合约的认识常常是不清楚的,有的认为是区块链里本来带的内容,有的认为就是发币用的,有的认为就是以太坊上的应用等等,这些认识完全淹没了智能合约的意义、严重制约了智能合约的发展和应用。那么智能合约是什么?它有什么作用?它的本质是什么?它的意义在哪里?它存在什么问题?它如何落地应用?它的发展之路在哪里?
1.?智能合约的起源和意义
近年来区块链成为大热门技术,作为一门应用技术,其迅猛的发展和热潮是罕见的,为什么会受到社会各阶层人士的关注呢?有很多分析和认识,但笔者认为最重要的原因有二个,一是区块链并不是一门单独的技术,它不仅是包含了很多技术的融合,更是涉及社会治理模式和思维改变的思想性技术,这种思想性技术会促使人们创新、产生技术革命;第二就是区块链技术迎合了当前社会重要的发展大潮,那就是人类社会向数字化社会发展过程中,未来如何把实体社会人们生活的模式、信用、法律甚至文化等依存关系转移到虚拟世界上是技术和社会治理面临的巨大挑战问题,而区块链相关技术正是迎合这个大潮的重要技术之一。
我们可以看未来一个汽车交易的场景:汽车贷款,如果贷款者不还款,一个合约程序将自动收回发动汽车的数字钥匙,汽车经销商将发现这种自动合约用途很有吸引力。这个例子是密码学家尼克.萨博在1994年给出的一个场景,也是他首次提出了“智能合约(SmartContract,简称SC)的概念。相比复杂的涉及用户、汽车经销商和银行的贷款行为和手续,智能合约是能够自动执行合约条款的计算机程序。通过对自动售货机的观察,萨博领悟到机器通过物理的密封系统自行控制财产,可以编程自动执行“合约”条款,指出计算机代码可以代替机械设备,进行更复杂的数字财产交易,未来的某一天,这些程序甚至可能取代处理某些特定金融交易的律师和银行,即“智能财产可以将智能合约内置到物理实体的方式,被创造出来”。随后在2002年,尼克萨博设计出了一种叫“比特黄金”(BitGold)的数字货币机制,认为智能合约可以支持电子数据交换(EDI)、证券期权等合成型资产(SyntheticAssets)的交易。
Decentraland安全报告:已修复LAND智能合约严重漏洞,将持续打击IP侵权行为:5月4日消息,元宇宙项目Decentraland发布安全报告,报告显示一名安全研究人员曾于3月发现了LAND智能合约的一个严重漏洞,该漏洞允许任何人在未经LAND所有者许可的情况下转让LAND,Decentraland在确认后的两小时内修复了漏洞并对LAND智能合约进行了两次额外的审计。
此外,Decentraland基金会表示其在过去的几个月中分析了881个网站页面、400个域名、399个移动和桌面应用程序以及1187个社交媒体列表,成功删除了侵权的2个网站、24个域名和5个社交媒体帐户。[2022/5/4 2:48:57]
图1自动售货机模式的启示
他进而创造性地抽象提出“智能合约就是执行合约条款的可计算交易协议”,这个简单而朴素的抽象却蕴含了深远博大的意义,因为它涉及了最基础的人类社会经济活动:交易和协议,而且是由计算完成的。这对未来数字社会的潜力显而易见,因为它把人、交易、法律协议以及网络虚拟世界之间复杂的关系程序化了,也许有一天我们会惊讶地发现,生活中合同、律师、公证、保险、交易所、银行、甚至法院部分职能都被智能合约所代替。由此可见智能合约概念的宽广和深刻,在技术发展的历史长河中,很多简单的自然的思想往往是一种发展基石,智能合约完全有可能是数字社会的基石之一。就像互联网发展过程中建网和网上应用关系一样,作为链上无所不在的智能合约应用将是区块链浪潮中最重要、最活跃的技术。
dYdX:代理智能合约漏洞事件中共有206134.87美元和1.5 WETH被盗,已全额补偿:12月11日消息,dYdX官方发布了关于11月27日发现的“存款代理”智能合约漏洞的事后分析,包括发生了什么、修复、漏洞赏金,以及对用户的gas费和被盗资金的补偿。对于在此事件中受影响的用户,官方提供的补偿措施如下:
用户gas费补偿:由于这一漏洞,用户产生了额外的gas费用来撤销授权或取回托管资金。我们将向所有因撤销授权产生gas费用的用户发放0.0115 ETH,并向所有因取回托管资金产生gas费用的用户额外发放0.0115 ETH。
偿还被盗资金:总共有206134.87美元和1.5 WETH被盗。我们已经全额补偿了这些损失。此外对于漏洞披露,官方表示感谢并已支付50万美元的漏洞赏金。[2021/12/11 7:32:43]
2.?智能合约的定义
智能合约有许多非形式化的定义,这里列举几个供大家从不同角度去理解智能合约的本质内涵和意义:
1)?????智能合约通过使用协议和用户接口来促进合约的执行;
2)?????智能合约就是用程序代码编写的合约,它的条款由程序来执行;
3)?????智能合约就是基于区块链的可直接控制数字资产的程序。
Adam Back:DeFi使抵押贷款和执行智能合约变得更容易:7月24日,Blockstream首席执行官Adam Back与推特网友讨论DeFi相关话题,针对网友所说,为什么DeFi是帮助资本所有者与资本使用者直接联系的重要一步?Adam Back表示,DeFi使得抵押贷款和直接执行智能合约,或者贷方对证券进行保管,变得更加容易。否则,在难以取得留置权或无担保的情况下借贷是混乱的,风险和回收、坏账转售已经演变成应对现实世界的权衡。[2020/7/24]
4)?????智能合约是运行在可复制、共享账本上的计算机程序,可以处理信息,接收、储存和发送价值。
5)?????智能合约是一段代码,被部署在分享的、复制的账本上,它可以维持自己的状态,控制自己的资产和对接收到的外界信息或者资产进行回应。
6)?????而维基百科给出的定义是:
“Smartcontracts?arecomputerprotocolsthatfacilitate,verify,orenforcethenegotiationorperformanceofa?contract,orthatobviatetheneedforacontractualclause.Smartcontractsusuallyalsohaveauserinterfaceandoftenemulatethelogicofcontractualclauses.Proponentsofsmartcontractsclaimthatmanykindsofcontractualclausesmaythusbemadepartiallyorfullyself-executing,self-enforcing,orboth.Smartcontractsaimtoprovidesecuritysuperiortotraditionalcontractlawandtoreduceother?transactioncosts?associatedwithcontracting.”
声音 | Delphi Digital联合创始人:2020年将看到Layer 1智能合约平台之战的大幅增长:在The Breakdown年终采访中,Delphi Digital联合创始人、Chain Reaction播客主持人Tom Shaughnessy预测,2020年我们将看到第一层(Layer 1)智能合约平台之战的大幅增长,以及通证经济设计重要性的增长。与此同时,Scalar Capital总经理Jordan Clifford认为,加密行业可能会重新转向应用层的开发。(CoinDesk)[2020/1/1]
总的来说,一个智能合约是一套以数字形式定义的承诺,包括合约参与方可以在上面执行这些承诺的协议。
3.智能合约发展阶段
萨博提出的智能合约理论几乎与互联网同时出现,但应用实践却一直严重地落后于理论,没有找到将这个理念转变现实的清晰路径。主要是面临三个方面问题,一是资产需要数字化和数字资产的账本化;二是合约方需要一个受信任的执行环境;三是代码合约需要有类似合同盖章不可随意变更和可审核机制。而区块链技术的出现,解决了这些问题,从而触发了智能合约的应用。区块链为完全数字化资产的记录和转移奠定了基础,通过完全数字化的资产和分布式账本,区块链使计算机代码可以控制资产,资产的控制就是控制资产对应的密钥,而不是任何实物。区块链也成为了互联网上最可信的机制,同时一旦智能合约代码做块进入区块链,合约方就可以确定合约不会被更改,好像合同盖了红章,由于区块链的开放性,可以被备案、监管和审计。
声音 | Blockstream CSO:microcript有望释放比特币智能合约的潜力:据AMBcrypto 10月5日消息,最近,Blockstream首席战略官Samson Mow谈论了一种基于比特币脚本的语言,即minicript,称它可以让在比特币区块链上编写智能合同变得更容易。根据Mow的说法,Bitcoin Script用于在特定条件下进行交易,而Miniscript使得进行此类交易变得更加容易。他谈到了Miniscript如何删除没有人使用的功能,同时启用双重签名以使交易更加安全。[2019/10/6]
下面是一个自动执行的、有着银行基本功能的智能合约。一共有四个功能:查询账户余额、存钱、取钱、转账,合约代码如表1所示。
表1一个简单的银行智能合约
合约的建立与执行:先把上面的合约代码编译成代码,然后在区块链上建立合约账户,用于存储合约和管理与合约相关的数据。当需要查看余额的时候,发消息给合约账户调用balance();当需要转账的时候,调用transfer(),合约账户会自动将你的钱减去转账数额,给对方的钱增加相应的数额;当需要存钱的时候,调用deposit(),合约账户会自动增加你的钱数;当需要取款的时候,调用withdraw()。
可以看出这是一个简单的合约,而以太坊为代表的第二代区块链正是由于和这种简单智能合约的融合而引发区块链的热潮。笔者预测智能合约的发展也可以分为三代:
第一代是目前用的比较多的简单的链上代码称为链上代码,大多是目前以太坊上项目中简单的IF-THEN-ELSE语句的合约,只是一些简单流程性的代码,没有什么复杂性逻辑和智能内容;
第二代是已经或将要广泛应用的契约型的智能合约,表达契约关系的代码。比如说购物的合约、出租的合约、医患关系、保险关系、追溯等的合约,有一定的承诺和约定的智能表达,这些我们可以通过律师或者现成的契约模板,把这些模板转换为代码形成智能合约;
第三代将是智能合约的高级或智能时代,表现为代码即法律合约:具有存证和判据,符合法律规制或法律规则的代码化,是更智能,更高级的合约,笔者认为也是智能合约的最有前途的发展。
4.?智能合约的问题与解决之道
应该说,目前区块链上的智能合约还处于技术早期阶段,是不成熟、不安全的和不智能的,更没有形成理论体系,还不能大规模够满足应用的需求,主要问题有:
1)?????智能合约规模化产生问题:和软件发展过程一样,可以预计智能合约是需要规模化生产应用的,如何规模化生产可信智能合约是个大问题,笔者提出的智能合约工程正是未雨绸缪的理论;
2)?????智能合约公信编写问题:作为一种代码合约,和文本协议很大的不同在于,如何公信编写,谁来验证、测试?合约当事方显然是不合适的,一般的第三方也很难有公信立场,建立公信生产机制是发展的关键;
3)?????智能合约的可信问题:由于智能合约是管理巨大数字资产的特殊软件,软件bug的问题目前非常突出,软件陷阱会导致明显地有利于合约的一方,该怎样进行对合约进行查验和修复?如何验证合约的逻辑正确并杜绝漏洞?形式化方法是目前软件可信性验证的重要手段,避免类似于由于代码本身漏洞给黑客攻击的机会;
4)?????智能合约的智能化问题:目前基本是简单合约,或固定的合约模板,智能合约的语言、编写、部署、审计、自动辅助工具、动态修改都会是全新的模式,与人工智能技术结合是研究趋势;
5)?????合法性问题:智能合约具有与“真正”合约一样的法律效力吗?如果智能合约的结果违背法律,或者法庭发现它有与合约法冲突该如何解决?计算法律学只是研究法律化的问题,而笔者提出法律代码科技,要解决代码即法律问题;
6)?????智能合约执行问题:存在多个合约需要时间触发的时候,待触发事件由谁管理与发送?如果多个合约同时执行,会带来复杂的访问控制、同步并发以及一致性问题;
7)?????性能问题:把合约状态的一致性过程与区块链的一致性过程区别处理,有可能会增加区块的制作时间,比如区块的构造时间就包含了区块中交易的处理时间,减慢了建块速度,该如何加快合约执行效率?
当然还有很多技术实现问题,本系列文章将抛砖引玉,大家一起来讨论解决这些问题之路。
标签:区块链TRANTRACT区块链的未来发展前景分析TraxiaContraction Dynamic Set DollarSociety of Galactic Exploration
“去中心化”或许是区块链中被提及频率最高的一个词组了,但是真要探究其含义,好像又不是特别明确。以太坊创始人V神在2017年2月发表的《Themeaningofdecentralization》一文中,详细阐述了去中心化的含义.
1900/1/1 0:00:00今天内容包括: 1ChrisBurniske:BTC会走向黄金,ETH会走向货币2每个比特币牛市都是从矿工投降开始的3Binance爆炸式崛起的故事4衍生品市场的大规模增长及其对比特币未来的影响5Skale:介绍BLS-ROLLUPC.
1900/1/1 0:00:00当用户以守护进程模式启动filecoin时,最终执行的命令位于commands/daemon.go文件,它的Run方法直接调用同文件中的daemonRun函数进行处理.
1900/1/1 0:00:00文|互链脉搏·元尚 “1024会议”之后,全球对中国区块链发展的信息需求创下了单一市场的新高。根据谷歌趋势数据,10月27日至11月2日当周,“blockchainchina”的搜索量瞬间攀升,超过了区块链+“美国”、“欧洲”、“日本.
1900/1/1 0:00:00全球去中心化黑客团体Anonymous刚刚宣布组建比特币基金。这些价值7500万美元的比特币将用于促进隐私增强技术和加密货币的发展。在周三发布的新闻稿中,Anonymous提供了该基金的一些模糊细节.
1900/1/1 0:00:0011月9日,加密货币交易所Coinbase指出,EOS区块链因EIDOS空投被堵了。 EOS因为一场空投堵住了Coinbase在其博客上发帖称,由于EIDOS空投造成的EOS网络拥堵,该交易所在处理客户的交易时遇到了麻烦.
1900/1/1 0:00:00