- · 《语言研究》栏目设置[09/30]
- · 《语言研究》数据库收录[09/30]
- · 《语言研究》投稿方式[09/30]
- · 《语言研究》征稿要求[09/30]
- · 《语言研究》刊物宗旨[09/30]
基于区块链的智能合约技术研究进展(3)
作者:网站采编关键词:
摘要:5.1 智能合约语言与编译机制 智能合约语言是现实应用中各种业务与智能合约平台之间的中介,也是帮助智能合约的使用者快速生成智能合约程序和代码的
5.1 智能合约语言与编译机制
智能合约语言是现实应用中各种业务与智能合约平台之间的中介,也是帮助智能合约的使用者快速生成智能合约程序和代码的重要工具[9]。各智能合约平台都已推出自己的智能合约语言,例如,比特币使用较为底层的栈式脚本语言、以太坊的智能合约目前支持Serpent和Solidity两种编程语言(Serpent类似于Python语言,而Solidity类似于JavaScript语言)、超级账本支持如Go、Java等语言直接编写;此外,其它平台也以传统编程语言(如C、C++、Java)基础上给出了智能合约开发工具。从语言形式和运行环境上讲,目前的智能合约可分为三类。
(1)脚本型智能合约:通过区块链中定义好的脚本指令和栈式类Forth语言完成基本的计算与条件控制,例如,比特币脚本系统。
(2)通用型智能合约:其语言直接采用传统程序语言,部署在虚拟机(V M)或容器(Docker)里,通过规定好的接口与区块链进行交互。例如,超级账本平台中的链码采用Java、Go等语言,Neo平台支持将C#、Java和Python等多种语言编译为NeoVM支持的指令集。
(3)专用型智能合约:模仿传统程序语言并添加了与区块链交互的特殊元素,如以太坊的Solidity语言,同时该语言含有gas计费等特殊功能。
智能合约是一个跨学科的概念,涉及商业、金融、合同法和信息技术,设计和开发智能合约也需要来自不同领域的专家的密切合作。然而,上述三种智能合约仍然建立在计算机编程语言基础上,对于非计算机专业人员依然难以理解和掌握。
针对这一问题,近年来一种被称为高级智能合约语言已引起学术界的广泛关注,例如,面向现实合约的智能合约描述语言(SPESC)[10]。这种语言以现实合约的语法结构为基础,采用近似自然语言的形式进行编写,明确定义了当事人的义务和权利,以及加密货币的交易规则,便于法律人士与计算机人员协作合约开发,对于促进智能合约的专业性、易用性、可理解性,以及协作开发等方面能力有重要意义。
5.2 智能合约的区块链部署
区块链是智能合约得以实施的基础,智能合约的自动化执行、运行结果的有效性,以及合约代码的安全都依赖于区块链[11],因此智能合约与区块链的有效结合与部署成为智能合约实施的关键[12~13]。为了便于被理解和掌握,智能合约通常将区块链转化为几个抽象概念:共享数据库、交易和区块。下面将分别对其进行介绍。
首先,区块链对智能合约而言可被视为全球共享的交易数据库,其中,交易被用来描述每一次通过智能合约语言接口执行的行为。全球共享则意味着每个人都可以通过智能合约网络接口来读取交易数据库中存储的条目。
其次,交易可理解为更改共享数据库中某些内容的行为,而且保证该行为必须被数据库网络中其它参与方所接受。后者也被称为“all-or-nothing”原则,如果交易要同时更改两个值,要么根本没有完成,要么完成所有修改。此外,在将交易完成后,没有其它交易可以更改这一过程。
再次,交易从安全性来看始终需要由发起方(创建者)进行签名,这可保护访问共享数据库的特定修改必须经过授权。从已有的数字货币交易可知,签名机制可保证简单的检查即可确保只有持有该账户密钥的人才能从该账户中转移资金。
此外,智能合约所生成的交易将被捆绑到一个所谓的“区块”中,然后将它被分发到共享数据库的所有参与节点。如果两笔交易相互矛盾,那么最后一笔交易将被拒绝,并且不会成为交易的一部分,因此,区块被理解在时间上形成线性关系的存储单元,并为智能合约选择一个全球公认的交易顺序,以解决冲突。总之,区块链为智能合约提供了一种安全和一致性的共享交易数据库。
最后,对于智能合约的使用者和编程人员而言,当前智能合约平台已经能够屏蔽掉区块链中的很多技术细节,使得区块链中的各种复杂机制(哈希、对等网络、共识、挖矿等)变成了智能合约平台提供的承诺。因此,开发和使用人员只需要关注自己的业务需求,充分利用智能合约平台提供的部署工具,而不需要考虑如何将智能合约执行代码转化为区块链数据的具体实现。
5.3 合约代码运行
当满足触发条件时,被部署在区块链上的智能合约代码将被区块链系统自动执行,并依照合约规定完成各种资产的转移。这一过程需要货币激励、执行机构、指令系统和触发条件等机制相互协调,才能保证合约代码自动和无差错地被执行。
文章来源:《语言研究》 网址: http://www.yyyjzzs.cn/qikandaodu/2021/0214/654.html
上一篇:电视新闻画面语言与编辑技巧研究
下一篇:岩土工程论文写作问题探讨