202410 论文研读-Automatic Generation of Smart Contracts from Real-World Contracts in Natural Language

来源:2023 IEEE Smart World Congress(SWC)
作者:Yuqing Fan; E Chen; Yan Zhu; Xiao He等
单位:北京科技大学
发表时间:2023 8月

一、技术背景

现实世界的合同文本是用自然语言编写的,因此它可能很模糊,并且对此存在多种解释,因此监控和执行现实世界合同的执行是具有挑战性的。为更好的监控和执行合约,使用自动化流程以自然语言从真实世界的合约生成智能合约非常重要,智能合约可以被视为现实世界合约的数字孪生。
现有关于自动化生成合约的部分技术只做到了完整自动生成过程的一些环节,从自然语言到智能合约这一完整过程的技术尚未完善

二、论文工作

文章提出一种将以自然语言编写的真实合约自动生成智能合约的方法,通过合约文本标记语言(CTML)抽象真实合约转换为标记合约,将其转换为域特定语言(DSL),DSL程序通过编译生成智能合约可执行代码。文章同时将CTML合约、EMD和DSL程序集成,提供了一个在线智能合约库,包括CTML辅助标注和SLC合约生成等功能。

三、技术框架

文章提出的技术主要分为两个部分,一是自然合约的抽象标记,二是标记语言转换为可执行代码。此过程从将自然语言协定提取为标记语言开始,然后将其转换为域特定语言 (DSL)。DSL 程序被编译成可执行代码。

1.真实合约的抽象
该部分主要分为两个方向,一是CTML语义标记,通过语义标记提供相关内容的信息,形成清晰层次结构的合同模板,主要标记有法律因素标记(LFM)、法律财产标记(LPM)、法律成分标记(LCM),此外字段标记FM可辅助用于文本标记过程。

二是CTML元数据标记,文本中有关合同的结构化和特定信息的标记提取到交换标记数据(EMD)中,形成一个”键-值”对形式的数据表,实现”分离代码和数据“。

factorID 表示交互数据所属层次结构中最外层的因子标识符;exchangedDataID 表示交互数据的唯一标识符;value 表示此处为合约文本采用的替代数据或值;type 表示交互数据的类型,type又可以分为dataType 和 rightType;option 表示交互数据的选择方式,import表示它可以接收用户输入的数据,trigger表示它可以接收外部事件,而allocate表示它可以接收复杂的数据类型。

2.可执行代码生成
对于已经标记好的CTML合约,需要映射到以DSL驱动的合约,通过将CTML实体转换预定义好的DSL对象,从而产生便于理解和执行的DSL合约。以在Xtext基础上的SPESC作为代码生成的目标语言,过程分为四步实现,一是预处理:从合约的抽象语法树(AST)中提取领域标记和非嵌套属性;二是递归,根据AST过滤特定元素实体信息;三是生成因子,基于AST的映射关系在SPESC合约中创建因子实体;最后根据每次迭代的映射关系来遍历所有因素来生成属性、组件或字段

四、实验示例

文章采用保理合同作为示例,展示了从自然语言编写的真实合约自动生成可执行的法律智能合约。保理合约如下图所示。

使用语义提取对基本保理合同进行标注,该基本保理合同分为六个模块:合同标题、当事人、附加信息、资产、条款和合同订立,标注好的部分保理合约如图

通过CTML标记后可以得到对应的EMD元数据

对于已经标记好的CTML合约,可以使用文章中定义好的Generator来自动生成CTML合约的SPESC代码,生成SLC合约后,代码通过与EMD链接编译生成智能合约可执行代码,用于后续合约部署。

五、总结思考

1、该篇文章对于现实世界中合同文本使用自然语言带来的不确定性和解释性,从与之对应的数字世界孪生的智能合约作为解决突破口,提出一种用自然语言从现实世界的合约中自动生成智能合约的方法,使用CTML语言来实现合同细节的自动抽象,从而自动编译以生成对应的智能合约可执行代码。

2、对于整个合约流程中的自动化,此文章提出的方法主要针对于自然合约到智能合约的自动转换过程,对于大模型技术在智能合约中的应用提供了新的应用视角和思考角度。