CN111695805A - 一种面向法律合同的智能合约模型构建方法及*** - Google Patents
一种面向法律合同的智能合约模型构建方法及*** Download PDFInfo
- Publication number
- CN111695805A CN111695805A CN202010524141.9A CN202010524141A CN111695805A CN 111695805 A CN111695805 A CN 111695805A CN 202010524141 A CN202010524141 A CN 202010524141A CN 111695805 A CN111695805 A CN 111695805A
- Authority
- CN
- China
- Prior art keywords
- contract
- model
- template
- property
- intelligent
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000010276 construction Methods 0.000 title claims abstract description 18
- 238000000034 method Methods 0.000 claims abstract description 96
- 230000008569 process Effects 0.000 claims abstract description 73
- 238000012795 verification Methods 0.000 claims abstract description 25
- 238000001514 detection method Methods 0.000 claims description 7
- 238000011161 development Methods 0.000 abstract description 9
- 238000004891 communication Methods 0.000 abstract description 4
- 230000006399 behavior Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 230000002123 temporal effect Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 241000408529 Libra Species 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000003542 behavioural effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000012938 design process Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000002427 irreversible effect Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000012067 mathematical method Methods 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000001172 regenerating effect Effects 0.000 description 1
- 239000002904 solvent Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0633—Workflow analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
- G06Q50/18—Legal services
Landscapes
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Human Resources & Organizations (AREA)
- Economics (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Tourism & Hospitality (AREA)
- Marketing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Entrepreneurship & Innovation (AREA)
- Development Economics (AREA)
- Technology Law (AREA)
- Finance (AREA)
- Accounting & Taxation (AREA)
- General Health & Medical Sciences (AREA)
- Primary Health Care (AREA)
- Educational Administration (AREA)
- Health & Medical Sciences (AREA)
- Game Theory and Decision Science (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明涉及一种面向法律合同的智能合约模型构建方法及***,属于面向法律合同的区块链智能合约技术领域,解决了现有智能合约模型构建过程中存在的沟通成本高、开发效率低、合约正确性和安全性难以保障的问题。方法步骤为:基于目标法律合同的类型,生成匹配于目标法律合同的合同模型模板和合同性质模板;获取用户对合同模型模板的参数设定结果,并利用参数设定结果配置所述合同模型模板,生成初始智能合约模型;利用参数设定结果配置合同性质模板,得到初始智能合约模型的合同性质集合;验证初始智能合约模型是否满足合同性质,若满足,则验证通过,将验证通过的所述初始智能合约模型作为构建的智能合约模型。
Description
技术领域
本发明涉及面向法律合同的区块链智能合约技术领域,尤其涉及一种面向法律合同的智能合约模型构建方法及***。
背景技术
本发明将应用于面向法律合同的区块链智能合约领域。智能合约是一种包含代码函数、用于在区块链中制定合约的特殊协议,可以与其他智能合约进行互动,还可以自主决策、存储资料以及发送代币等等。智能合约最大的特点是其上的交易具有可追踪和不可逆性。区块链的去中心化、公开性、不可篡改等技术在一定程度上保障了智能合约的可信性,其应用场景广泛,前景广阔。
但是,目前智能合约的开发方式仍有待完善:一方面,开发智能合约的软件工程师没有法律基础,而法律工作者和合约参与者由于缺少软件开发知识难以参与智能合约代码的开发,导致多方协同开发智能合约的沟通成本高、开发效率低、合约正确性难保障;另一方面,智能合约一旦上线便很难对其进行修改和更新,这意味着在第一次上线之前就保证它的正确性和安全性是至关重要的,一旦因为法律法规问题造成合约条款逻辑错误或合约内容错误,可能导致合约的安全漏洞,将带来大量的财产损失。
现有方法往往由律师逐个分析和解读每个法律合同实例,或者采用自然语言处理技术自动提取合约中的关键内容,如OpenLaw技术,软件工程师在理解合同基础之上手工将合同编写为智能合约代码,因此智能合约代码的开发效率低,而且难以避免因为法律合同解读和理解问题带来的合约代码正确性问题,为智能合约运行带来严重的安全隐患。
发明内容
鉴于上述的分析,本发明旨在提供一种面向法律合同的智能合约模型构建方法及***,用以解决现有智能合约模型构建过程中存在的沟通成本高、开发效率低、合约正确性和安全性难以保障的问题。
本发明的目的主要是通过以下技术方案实现的:
一方面,提供了一种面向法律合同的智能合约模型构建方法,所述方法包括以下步骤:
步骤S1:基于目标法律合同的类型,生成匹配于所述目标法律合同的合同模型模板和合同性质模板;
步骤S2:获取用户对所述合同模型模板的参数设定结果,并利用所述参数设定结果配置所述合同模型模板,生成初始智能合约模型;
步骤S3:利用所述参数设定结果配置所述合同性质模板,得到所述初始智能合约模型的合同性质集合;所述合同性质集合中包含一条或多条合同性质;
步骤S4:验证所述初始智能合约模型是否满足所述合同性质,若满足,则验证通过,将验证通过的所述初始智能合约模型作为构建的智能合约模型。
在上述方法的基础上,本发明还做出了如下改进:
进一步,所述合同模型模板包含合同事件、合同流程和合同参数;其中,所述合同事件用于定义所述目标法律合同中的每个合同条款执行过程中的交易事件;所述合同流程用于定义所述目标法律合同执行的逻辑过程,所述合同参数用于定义所述合同流程中涉及的变量;
在生成所述合同模型模板的过程中,先基于目标法律合同的类型识别得到所述合同流程,基于所述合同流程,得到所述合同流程中涉及的合同事件和合同参数。
进一步,所述合同流程包括主干流程和可选流程;其中,所述主干流程用于表示法律流程的主干部分,所述可选流程用于表示法律流程的可选部分;
在生成所述合同模型模板的过程中,配置所述主干流程和可供用户选择的所有可选流程。
进一步,在所述步骤S1中,基于所述合同模型模板中的合同流程、合同参数,生成所述合同性质模板;
所述合同性质模板包括性质模板描述、LTL表达式、待配置参数;其中,所述待配置参数与相应的合同参数的全局变量名相同。
进一步,在所述步骤S2,所述参数设定结果包括所述合同流程的逻辑配置和所述合同参数配置;
基于所述逻辑配置,确定用户选择加载的可选流程;
基于所述合同参数配置,确定出所述合同模型模板中的合同参数的具体值、所述合同性质模板中的待配置参数的具体值。
进一步,在所述步骤S2中,
基于所述逻辑配置,配置所述合同模型模板主干流程和可选流程得到配置后的合同流程;
并将所述合同参数的具体值,赋予配置好合同流程的合同模型模板中的对应合同参数,生成初始智能合约模型。
进一步,在所述步骤S3中,利用所述参数设定结果配置所述合同性质模板中的待配置参数,得到所述初始智能合约模型的合同性质集合。
进一步,利用时间自动机生成所述合同模型模板。
进一步,在所述步骤S4中,采用UPPAAL模型检测工具验证所述初始智能合约模型是否满足所述合同性质。
另一方面,提供了一种面向法律合同的智能合约模型构建***,所述***包括:
合同模型模板和合同性质模板生成模块,用于基于目标法律合同的类型,生成匹配于所述目标法律合同的合同模型模板和合同性质模板;
初始智能合约模型生成模块,用于获取用户对所述合同模型模板的参数设定结果,并利用所述参数设定结果配置所述合同模型模板,生成初始智能合约模型;
合同性质集合获取模块,用于利用所述参数设定结果配置所述合同性质模板,得到所述初始智能合约模型的合同性质集合;所述合同性质集合中包含一条或多条合同性质;
智能合约模型构建模块,用于验证所述初始智能合约模型是否满足所述合同性质,若满足,则验证通过,将验证通过的所述初始智能合约模型作为构建的智能合约模型
本发明有益效果如下:
本发明公开的面向法律合同的智能合约模型构建方法及***,具备以下优势:
(1)本方案为律师、合约参与方等合同给用户提供了规范的法律合同模型模板和合同性质模板,该合同模型模板和合同性质模板由软件工程师针对每一类合同定制开发,固化了合同的流程、事件和参数;还为律师和合约参与者提供了方便的合同配置前端,方便用户选择合同流程和填写合同参数;解决了现有智能合约开发中法律人员和计算机人员之间沟通效率低的问题;
(2)本方案通过对生成的初始智能合约模型进行形式化验证,能够保证构建的智能合约模型的正确性,形式化验证过程中,能够在智能合约模型层面反馈合约错误信息,在构造智能合约代码前向律师和合约参与方反馈错误信息,及时辅助修正合同内容。在一定程度上保证了生成代码的正确性,减少智能合约代码不符合法律条款带来的经济损失。完成以上步骤后,即形成正确的合约模型实例,可针对不同的智能合约语言开发代码自动生成工具。此外,本方案中合同性质模板中的表达式结构具备通用性,方便软件工程师复用性质,降低形式化验证的工作量;
本发明中,上述各技术方案之间还可以相互组合,以实现更多的优选组合方案。本发明的其他特征和优点将在随后的说明书中阐述,并且,部分优点可从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过说明书、权利要求书以及附图中所特别指出的内容中来实现和获得。
附图说明
附图仅用于示出具体实施例的目的,而并不认为是对本发明的限制,在整个附图中,相同的参考符号表示相同的部件。
图1为本发明实施例1中面向法律合同的智能合约模型构建方法流程图;
图2为本发明实施例1中合同模型模板的示意图;
图3为本发明实施例1中的合同流程示意图;
图4为本发明实施例1中的合同模型模板、合同性质模板、初始智能合约模板、合同性质集合之间的关系示意图;
图5为本发明实施例2中以二手房交易合同为例形成的智能合约模型构建方法流程图;
图6为本发明实施例3中面向法律合同的智能合约模型构建***结构示意图。
具体实施方式
下面结合附图来具体描述本发明的优选实施例,其中,附图构成本申请一部分,并与本发明的实施例一起用于阐释本发明的原理,并非用于限定本发明的范围。
实施例1
本发明实施例1公开了一种面向法律合同的智能合约模型构建方法,流程图如图1所示,包括以下步骤:
步骤S1:基于目标法律合同的类型,生成匹配于所述目标法律合同的合同模型模板和合同性质模板;
其中,所述合同模型模板用于定义所述目标法律合同中的每个合同条款相关的合同事件、合同流程和合同参数;所述合同性质模板用于定义所述目标法律合同中的每个合同条款自动执行过程中必须满足的行为性质。图2示出了时间自动机中合同模型模板的合同流程,其中还包含punishBuyer、submitLate、paymentApproved、submitReg、returnReg、permitReg等合同事件,以及tolTime、regDeadline等合同参数。
步骤S11:生成合同模型模板:
所述合同模型模板包含合同事件、合同流程和合同参数;其中,所述合同事件用于定义所述目标法律合同中的每个合同条款执行过程中的交易事件;所述合同流程用于定义所述目标法律合同执行的逻辑过程,所述合同参数用于定义所述合同流程中涉及的变量。
在生成合同模型模板的过程中,先基于目标法律合同的类型识别得到所述合同流程,基于所述合同流程,得到所述合同流程中涉及的合同事件和合同参数。即,合同流程执行到某一交易步骤,首先检查交易条件是否满足,一些交易条件由合同参数构成;交易条件满足后,如果接收到相关的交易触发事件,该交易步骤才能执行。因此,在本实施例中,合同事件、合同流程和合同参数三者共同配合,形成了完整的合同模型模板。
优选地,由于大部分法律流程与时间有密切关联,我们选择时间自动机(TimedAutomaton)模型定义合同模型模板,具体地,可在UPPAAL工具中完成合同模型模板的定义。时间自动机在自动机理论的基础上扩展了时间语义,支持对***的时间行为和功能进行形式化建模,能够基于该模型分析和验证***的时间行为和功能,适用于描述合同交付条款、生效条款中的时间触发条件,也适用于描述其他条款的执行行为。除此之外,时间自动机模型支持模型仿真和模型的形式化验证。用时间自动机对合同模型模板建模可以清楚地表达***中的变量赋值、状态转换条件和状态更新行为。时间自动机的状态转换对应合同条款中的一个交易步骤,其中,交易步骤执行成功的条件对应时间自动机中的guard,条件成立时的执行行为对应时间自动机的assignment。除此之外,时间自动机的同步器(synchronization)通过发送和接收同一事件将多个模板流程的逻辑联系起来,表达在一个时间自动机运行时对其他时间自动机带来的影响,并决定各时间自动机的运行权。由于法律合同中包含多个流程,同步器能通过发送和接收事件将多个流程有机结合在一起,使其成为一个***并且转移运行权。另一方面,时间自动机模型可在UPPAAL工具中完成指定性质的形式化验证。
为了保证智能合约与法律流程一致,合同模型模板应该能表达法律执行过程中的所有可能状态以及状态之间的转换关系。因此,合同模型模板中的合同流程应符合可配置原则,如图3所示,合约流程包含以下两个主要部分:(1)主干流程:法律流程的主干部分,所有同类的法律合约都遵守的流程;(2)可选流程:法律流程的可选部分,不同的合约参与者可能有不同的能力和需求,他们按照自己的能力和情况选择流程中的某一分支,在可选流程完成后,执行状态回到主流程。因此,在生成所述合同模型模板的过程中,需配置所述主干流程和可供用户选择的所有可选流程。在合同模型模板中,除了设置流程的逻辑信息(即合同流程)外,还应包含主干流程和可选流程的变量信息(即合同参数),合同流程加上合同参数得到最终的合约实体。示例性地,时间自动机中的合同流程中包含了合约参数的定义,如合约参与者、标的、资产类型、标的资产价格约束、交易开始时间、交易结束时间等,但未定义参数的具体值。后续将根据用户需求确定参数的具体指、以及变量的定义位置和更新位置。
步骤S12:生成合同性质模板:
合同性质模板可由软件工程师基于线性时序逻辑语言(Linear Temporal Logic,LTL)编写。所述合同性质模板中包括合同条款执行过程中满足的表达式,该表达式基于合同模型模板中的合同流程、合同参数对应设置。所述表达式包含状态公式和路径公式,其中状态公式用于描述合同模型模板执行行为的各个状态,状态公式可以由状态和逻辑运算符组成。示例性地,死锁状态(一种状态公式)由deadlock关键词单独表示,用于查询一个***状态如deadlock是否满足。路径公式用于量化合同模型模板的路径或轨迹。路径公式可以分成可达性、安全性和存活性三种。
可达性路径公式:可达条件代表一个给定的状态是否可以被某个可以达到的状态满足。例如,E<>p代表状态p在某个路径的某个状态下为真。
安全性路径公式:安全性条件通常用来确认某个情况在任何情况下都不会发生。例如A[]p代表状态p在所有路径的所有状态下都为真,E[]p代表状态p在某一个最长路径中的所有状态下都为真。
存活性路径公式:存活性条件用来确认某个情况是否最终总会发生。例如A<>p代表无论哪条路径,p都会在当中某个状态下为真。一种特殊表达式为p->q,其代表若p为真,则q也一定为真。
本发明实施例中合同性质模板举例如表1所示。
表1本发明实施例中合同性质模板举例
例如,二手房买卖交易中,买房可能因为某些原因达到问责状态。在本实施例提供的合同性质模板中,并不关心问责的具体原因,只关心问责状态的可达性。其LTL性质对应表1中修改后的性质1。解释如下:买房的问责状态是buyer.ErrorEnd,E<>表示在合同流程的某个执行路径上存在买方问责这个状态,即这个状态是可能到达的。
步骤S2:获取用户对所述合同模型模板的参数设定结果,并利用所述参数设定结果配置所述合同模型模板,生成初始智能合约模型;
优选地,所述参数设定结果包括所述合同流程的逻辑配置和所述合同参数配置。基于所述逻辑配置,确定用户选择加载的可选流程;基于所述合同参数配置,确定出所述合同模型模板中的合同参数的具体值、所述合同性质模板中的待配置参数的具体值。
在所述步骤S2,
步骤S21:基于所述逻辑配置,配置所述合同模型模板主干流程和可选流程得到配置后的合同流程;
步骤S22:并将所述合同参数的具体值,赋予配置好合同流程的合同模型模板中的对应合同参数,生成初始智能合约模型。
示例性地,本实施例为用户提供了交互界面,以便接收用户输入的参数设定结果。为了便于接受用户输入并将输入参数和逻辑变量与时间自动机模板结合,从而生成完整的时间自动机模型,本实施例采用基于React框架搭建的前端主页作为智能合约模型配置工具。具体技术方案如下:
1.前端框架:React.js框架。React.js是一个用于构建用户界面的JavaScript库,其具有声明式、组件化的特点。便于处理页面组件的数据更新和维护。
2.页面UI:MaterialUI库。该库中包含的组件具有Google提倡的Material Design的特点,与目前众多流行网站的设计风格一致,用户友好度高。
3.数据库:MySql数据库。MySql是一款较为成熟的关系型数据库,主要用来存储配置工具需要的合约模板。
示例性地,用户(例如,法律工作者和合约参与人员)可以在前端主页中根据所需合同的类型选择合同模型模板,***自动获取主干流程,并允许用户配置可选流程。用户填写合约参与者、标的、资产类型、标的资产价格约束、合约支付起始时间、合约支付终止时间等参数的具体值。前端将配置信息传送给时间自动机模板,两者自动组合形成完整的时间自动机模型,即智能法律合约模型。
步骤S3:利用所述参数设定结果配置所述合同性质模板,得到所述初始智能合约模型的合同性质集合;所述合同性质集合中包含一条或多条合同性质;图4中示出了合同模型模板、合同性质模板、初始智能合约模板、合同性质集合之间的关系示意图;
需要说明的是,本实施例中,为合同参数中的每一参数设置唯一的全局变量名,以便将参数设定结果能够匹配于合同模型模板、合同性质模板中的相应参数。
示例性地,合同参数tolTime,既是合同性质模板中的合同参数之一(参见图2),又是合同性质模板中用到的待配置参数(参见表1中编号为4的合同性质)。tolTime这个参数由用户通过前端页面输入具体值10(作为参数设定结果),前端页面记录tolTime=10,tolTime变量全局唯一,其值既可以赋给合同模型模板中的tolTime,也可以赋给合同性质模板中的tolTime。以上流程用于验证用户输入的正确性。验证模板正确的方法是:给出tolTime的合理范围,如[0,10],UPPAAL工具会自动验证在这个范围内的模板都正确。
步骤S4:验证所述初始智能合约模型是否满足所述合同性质,若满足,则验证通过,将验证通过的所述初始智能合约模型作为构建的智能合约模型;否则,验证不通过。
若验证不通过,可能是由于获取到的参数设定结果(即用户填入的参数)错误或合同模型模板错误造成的。
针对参数设定结果错误的情况,造成这种错误的原因是参数设定不合理,例如,有些交易流程逻辑复杂,涉及多个时间参数,如果时间参数设置不合理,可能造成流程中出现逻辑冲突,比如要求10天内付款,否则违约,同时又要求付款后10天内发货。又要求用户付款后如果9天没有收到货物,卖方违约。因此验证不通过,用户可能要去检查时间参数。如果时间参数都没有问题,那可能是生成的合同模型模板有问题,例如合同模型模板中合同流程的逻辑错误,就要对合同模型模板进行修改。究竟是哪种错误,可以通过UPPAAL提供的反馈信息来识别。
为了保证配置生成的智能合约模型满足法律合同中的性质,将对该模型进行形式化验证。具体地,智能合约模型的验证过程通过以下方式实现:在时间自动机模型中验证LTL性质。示例性地,本实施例采用UPPAAL模型检测工具,可以对形成的智能合约模型进行自动的形式化验证,验证该模型的目标性质是否满足。UPPAAL是一款可以图形化建立时间自动机模型的工具,还支持对其进行仿真、编写验证条件并且运行形式化验证。当目标性质不满足时,将UPPAAL自动生成的反例场景反馈给用户,辅助用户修改合同内容,重新生成智能合约模型。
本发明提出的面向法律合同的智能合约模型构建方法,能够提供匹配于目标法律合同的合同模型模板和合同性质模板;并通过配置模板中的参数,生成初始智能合约模型及目标性质(即智能合约模型的合同性质集合),并能够自动对智能合约模型进行基于模型检测的形式化验证。这些措施则可以极大的提高面向法律合同的智能合约代码的开发效率,减少人工参与度,提升智能合约安全性。
实施例2
本发明实施例2,以二手房交易合同作为目标法律合同为例,对本发明实施例中的技术方案进行清楚、完整地描述。需要说明的是,本领域技术人员在本发明公开的技术内容启示下,可将其应用于其他金融交易合同,例如银行金融产品合同、在线购物合同等;或将其应用于其他区块链平台,例如以太坊、超级账本Fabric、EOS、Libra区块链平台等。现结合图5所示的法律合同智能合约模型构造流程图,对具体步骤P01~P05详细描述如下:
步骤P01:确定二手房交易合同为目标法律合同类别,生成匹配于所述目标法律合同的合同模型模板和合同性质模板。具体地,
步骤P011:在UPPAAL工具中生成二手房交易合同对应的合同模型模板。该合同模型模板包含合同事件、合同流程和合同参数三项内容。合同事件定义了合同条款执行中的交易事件,合同流程描述合同执行的逻辑过程,合同参数描述流程中的相关变量。合同流程使用合同事件和合同参数。三者共同配合,形成完整的合同模型模板。在本例中,合同流程包括主干流程和配置流程,主干流程由买方支付、卖方提交房屋资料、政府部门审核资料等比选环节构成,可选流程为付款方式(包括一次性付款、分期付款、贷款三种方式)等可配置环节构成;合同参数为合同标的、房屋价格、付款日期、交房日期等条款中甲乙双方商定的内容。
步骤P012:生成二手房交易合同的合同性质模板。合同性质模板独立于合同模型模板,但体现合同模型模板应满足的性质。合同性质模板中包含合同条款中的参数。智能合约代码中执行的每个法律条款均在合约性质模板中人工定义,每个法律条款由两部分内容构成:①合同条款触发条件,触发条件需要在正确的时间以正确的方式触发;②合同条款执行行为,触发后的合约条款应当执行正确的合约行为。合同性质模板通过合同条款中的事件和参数与合同模型模板建立关联。合同性质模板由线性时序逻辑LTL(Linear TemporalLogic)语言描述,对用户不可见,合同性质模板中的参数值来自合同参数赋值。本实施例中定义二手房交易合同的合同性质模板,例如:全款交付后30天以内完成房屋过户,合同完成状态是可达的,等。表1给出了四条LTL描述的合约性质模板。其中性质1-3中不包含配置参数,性质4中的参数seller.tolTime和buyer.tolTime的具体值由用户通过前端主页完成配置。
步骤P02:配置合同模型模板的流程和参数。由合约参与人选择合同模型模板中的配置流程、填写合同模型模板中的合同参数,并生成智能合约模型。
步骤P021:合同配置前端以web方式呈现合同文本和合同配置选项,合同模型模板基于时间自动机模型定义。基于时间自动机的模型模板中定义了二手房交易合同的主干流程和可选流程、以及流程中与交易相关的各类事件及各项参数,但未定义参数的具体取值。通过将人工配置的合同模型模板流程和参数具体值传递给时间自动机模型模板,自动配置时间自动机模型、填入模型参数,即可形成完整的智能合约模型。
步骤P03:利用所述参数设定结果配置所述合同性质模板,得到所述初始智能合约模型的合同性质集合;所述合同性质集合中包含一条或多条合同性质;在该过程中,根据人工配置的合同流程和合同参数,并将所填写的合同参数自动填入合同性质模板,形成该初始智能合约模型的合同性质集合。
步骤P04:对智能合约模型的形式化验证。
利用模型检测方法,形式化验证智能合约模型是否满足合同性质,即验证合同性质是否正确。形式验证方法用于在软件***设计过程中使用数学的方法验证某些形式规范或属性的正确性,可以用于智能合约中交易执行性质的验证。本发明中利用UPPAAL模型检测工具,在智能法律合约模型(即时间自动机模型)上自动验证LTL性质。该自动验证过程执行以下四项内容:①利用UPPAAL工具,将形式化合约模型映射为模型状态空间,模型状态空间中包含***执行过程中产生的全部状态及状态间的关系;②将智能合约性质集合中的每一条性质表达为时序逻辑性质(即合同性质);③利用UPPAAL模型检测工具,在模型状态空间中自动验证时序逻辑性质的满足性;若满足,即完成了智能合约模型的构建;④当时序逻辑性质不满足时,将不满足性质的场景反馈给用户。
步骤P05:智能合约模型修正。如果智能合约模型的性质验证结果为错误,反馈错误的合同条款信息,返回步骤P02,用户修改合同内容,重新填入合同模型模板合同性质模板,并根据步骤P03生成新的智能合约模型和智能合约性质集合,再基于步骤P04对智能合约模型进行形式化验证。最终完成智能合约模型的构建。
实施例3
本实施例提供了一种面向法律合同的智能合约模型构建***,结构示意图如图6所示,所述***包括:合同模型模板和合同性质模板生成模块,用于基于目标法律合同的类型,生成匹配于所述目标法律合同的合同模型模板和合同性质模板;初始智能合约模型生成模块,用于获取用户对所述合同模型模板的参数设定结果,并利用所述参数设定结果配置所述合同模型模板,生成初始智能合约模型;合同性质集合获取模块,用于利用所述参数设定结果配置所述合同性质模板,得到所述初始智能合约模型的合同性质集合;所述合同性质集合中包含一条或多条合同性质;智能合约模型构建模块,用于验证所述初始智能合约模型是否满足所述合同性质,若满足,则验证通过,将验证通过的所述初始智能合约模型作为构建的智能合约模型。
本发明***实施例的具体实施过程参见上述方法实施例即可,本实施例在此不再赘述。由于本***实施例与上述方法实施例原理相同,所以本***也具有上述方法实施例相应的技术效果。
本领域技术人员可以理解,实现上述实施例方法的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于计算机可读存储介质中。其中,所述计算机可读存储介质为磁盘、光盘、只读存储记忆体或随机存储记忆体等。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。
Claims (10)
1.一种面向法律合同的智能合约模型构建方法,其特征在于,所述方法包括以下步骤:
步骤S1:基于目标法律合同的类型,生成匹配于所述目标法律合同的合同模型模板和合同性质模板;
步骤S2:获取用户对所述合同模型模板的参数设定结果,并利用所述参数设定结果配置所述合同模型模板,生成初始智能合约模型;
步骤S3:利用所述参数设定结果配置所述合同性质模板,得到所述初始智能合约模型的合同性质集合;所述合同性质集合中包含一条或多条合同性质;
步骤S4:验证所述初始智能合约模型是否满足所述合同性质,若满足,则验证通过,将验证通过的所述初始智能合约模型作为构建的智能合约模型。
2.根据权利要求1所述的面向法律合同的智能合约模型构建方法,其特征在于,所述合同模型模板包含合同事件、合同流程和合同参数;其中,所述合同事件用于定义所述目标法律合同中的每个合同条款执行过程中的交易事件;所述合同流程用于定义所述目标法律合同执行的逻辑过程,所述合同参数用于定义所述合同流程中涉及的变量;
在生成所述合同模型模板的过程中,先基于目标法律合同的类型识别得到所述合同流程,基于所述合同流程,得到所述合同流程中涉及的合同事件和合同参数。
3.根据权利要求2所述的面向法律合同的智能合约模型构建方法,其特征在于,所述合同流程包括主干流程和可选流程;其中,所述主干流程用于表示法律流程的主干部分,所述可选流程用于表示法律流程的可选部分;
在生成所述合同模型模板的过程中,配置所述主干流程和可供用户选择的所有可选流程。
4.根据权利要求3所述的面向法律合同的智能合约模型构建方法,其特征在于,在所述步骤S1中,基于所述合同模型模板中的合同流程、合同参数,生成所述合同性质模板;
所述合同性质模板包括性质模板描述、LTL表达式、待配置参数;其中,所述待配置参数与相应的合同参数的全局变量名相同。
5.根据权利要求4所述的面向法律合同的智能合约模型构建方法,其特征在于,在所述步骤S2,所述参数设定结果包括所述合同流程的逻辑配置和所述合同参数配置;
基于所述逻辑配置,确定用户选择加载的可选流程;
基于所述合同参数配置,确定出所述合同模型模板中的合同参数的具体值、所述合同性质模板中的待配置参数的具体值。
6.根据权利要求5所述的面向法律合同的智能合约模型构建方法,其特征在于,在所述步骤S2中,
基于所述逻辑配置,配置所述合同模型模板主干流程和可选流程得到配置后的合同流程;
并将所述合同参数的具体值,赋予配置好合同流程的合同模型模板中的对应合同参数,生成初始智能合约模型。
7.根据权利要求6所述的面向法律合同的智能合约模型构建方法,其特征在于,在所述步骤S3中,利用所述参数设定结果配置所述合同性质模板中的待配置参数,得到所述初始智能合约模型的合同性质集合。
8.根据权利要求1-7所述的面向法律合同的智能合约模型构建方法,其特征在于,利用时间自动机生成所述合同模型模板。
9.根据权利要求1所述的面向法律合同的智能合约模型构建方法,其特征在于,在所述步骤S4中,采用UPPAAL模型检测工具验证所述初始智能合约模型是否满足所述合同性质。
10.一种面向法律合同的智能合约模型构建***,其特征在于,所述***包括:
合同模型模板和合同性质模板生成模块,用于基于目标法律合同的类型,生成匹配于所述目标法律合同的合同模型模板和合同性质模板;
初始智能合约模型生成模块,用于获取用户对所述合同模型模板的参数设定结果,并利用所述参数设定结果配置所述合同模型模板,生成初始智能合约模型;
合同性质集合获取模块,用于利用所述参数设定结果配置所述合同性质模板,得到所述初始智能合约模型的合同性质集合;所述合同性质集合中包含一条或多条合同性质;
智能合约模型构建模块,用于验证所述初始智能合约模型是否满足所述合同性质,若满足,则验证通过,将验证通过的所述初始智能合约模型作为构建的智能合约模型。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010524141.9A CN111695805B (zh) | 2020-06-10 | 2020-06-10 | 一种面向法律合同的智能合约模型构建方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010524141.9A CN111695805B (zh) | 2020-06-10 | 2020-06-10 | 一种面向法律合同的智能合约模型构建方法及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111695805A true CN111695805A (zh) | 2020-09-22 |
CN111695805B CN111695805B (zh) | 2022-09-27 |
Family
ID=72480087
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010524141.9A Active CN111695805B (zh) | 2020-06-10 | 2020-06-10 | 一种面向法律合同的智能合约模型构建方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111695805B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112785463A (zh) * | 2021-01-22 | 2021-05-11 | 深圳市瀚兰区块链地产有限公司 | 一种房产智能合同的处理方法、装置及*** |
CN113448592A (zh) * | 2021-02-08 | 2021-09-28 | 北京科技大学 | 一种基于合同文本标记语言的智能法律合约生成方法 |
CN117234488A (zh) * | 2023-10-26 | 2023-12-15 | 中央财经大学 | 基于epc模型的智能法律合约生成方法及装置 |
CN117311726A (zh) * | 2023-10-26 | 2023-12-29 | 中央财经大学 | 智能法律合约生成方法、装置、电子设备及存储介质 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012022536A (ja) * | 2010-07-15 | 2012-02-02 | Hitachi Ltd | ソースコード検査方法およびソースコード検査装置 |
CN104240092A (zh) * | 2014-04-18 | 2014-12-24 | 天津大学 | 基于csp#和ltl逻辑的多方合同签署协议公平性验证方法 |
US20150039355A1 (en) * | 2013-08-01 | 2015-02-05 | Amadeus S.A.S, | Contract number allocation for travel industry transactions |
US20170139678A1 (en) * | 2014-04-17 | 2017-05-18 | Nec Corporation | Verification property integration apparatus, verification property integration method, and storage medium |
CN109150833A (zh) * | 2018-07-19 | 2019-01-04 | 华东交通大学 | 一种基于模型检测的安全协议形式化验证方法 |
CN109492983A (zh) * | 2018-09-26 | 2019-03-19 | 深圳壹账通智能科技有限公司 | 基于区块链智能合约的电子***签署方法和装置 |
CN110097364A (zh) * | 2019-04-30 | 2019-08-06 | 翟红鹰 | 区块链智能合约模块化生成方法、***、终端及存储介质 |
US20200034469A1 (en) * | 2018-07-29 | 2020-01-30 | International Business Machines Corporation | Automatic generation of smart contracts |
CN111062038A (zh) * | 2019-11-23 | 2020-04-24 | 同济大学 | 一种基于状态空间的智能合约形式化验证***及方法 |
CN111127150A (zh) * | 2019-12-23 | 2020-05-08 | 卓尔智联(武汉)研究院有限公司 | 基于区块链的智能合约需求匹配方法、装置和计算机设备 |
-
2020
- 2020-06-10 CN CN202010524141.9A patent/CN111695805B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012022536A (ja) * | 2010-07-15 | 2012-02-02 | Hitachi Ltd | ソースコード検査方法およびソースコード検査装置 |
US20150039355A1 (en) * | 2013-08-01 | 2015-02-05 | Amadeus S.A.S, | Contract number allocation for travel industry transactions |
US20170139678A1 (en) * | 2014-04-17 | 2017-05-18 | Nec Corporation | Verification property integration apparatus, verification property integration method, and storage medium |
CN104240092A (zh) * | 2014-04-18 | 2014-12-24 | 天津大学 | 基于csp#和ltl逻辑的多方合同签署协议公平性验证方法 |
CN109150833A (zh) * | 2018-07-19 | 2019-01-04 | 华东交通大学 | 一种基于模型检测的安全协议形式化验证方法 |
US20200034469A1 (en) * | 2018-07-29 | 2020-01-30 | International Business Machines Corporation | Automatic generation of smart contracts |
CN109492983A (zh) * | 2018-09-26 | 2019-03-19 | 深圳壹账通智能科技有限公司 | 基于区块链智能合约的电子***签署方法和装置 |
CN110097364A (zh) * | 2019-04-30 | 2019-08-06 | 翟红鹰 | 区块链智能合约模块化生成方法、***、终端及存储介质 |
CN111062038A (zh) * | 2019-11-23 | 2020-04-24 | 同济大学 | 一种基于状态空间的智能合约形式化验证***及方法 |
CN111127150A (zh) * | 2019-12-23 | 2020-05-08 | 卓尔智联(武汉)研究院有限公司 | 基于区块链的智能合约需求匹配方法、装置和计算机设备 |
Non-Patent Citations (8)
Title |
---|
GUOQING WANG等: "Exact acceleration of complex real-time model checking based on overlapping cycle", 《PEERJ COMPUT SCI》 * |
TIZIANA MARGARIA等: "Leveraging Applications of Formal Methods, Verification and Validation. Industrial Practice", 《8TH INTERNATIONAL SYMPOSIUM》 * |
VAIBHAV SAINI: "区块链技术精华:四十种智能合约支持平台", 《INFOQ HTTP://INFOQ.CN/ARTICLE/TBI8TE2M_EA0WFLG6SCS》 * |
张辰等: "等价关系矩阵的置换合同性质与标准形计算", 《计算机工程与应用》 * |
潘诚等: "一种实时***时间约束验证方法研究", 《计算技术与自动化》 * |
罗永魁: "构建核电企业合同范本体系", 《中国电力企业管理》 * |
蔡维德: "基于区块链的应用***开发方法研究", 《软件学报》 * |
陈波: "预约合同研究", 《科技经济导刊》 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112785463A (zh) * | 2021-01-22 | 2021-05-11 | 深圳市瀚兰区块链地产有限公司 | 一种房产智能合同的处理方法、装置及*** |
CN113448592A (zh) * | 2021-02-08 | 2021-09-28 | 北京科技大学 | 一种基于合同文本标记语言的智能法律合约生成方法 |
CN117234488A (zh) * | 2023-10-26 | 2023-12-15 | 中央财经大学 | 基于epc模型的智能法律合约生成方法及装置 |
CN117311726A (zh) * | 2023-10-26 | 2023-12-29 | 中央财经大学 | 智能法律合约生成方法、装置、电子设备及存储介质 |
CN117234488B (zh) * | 2023-10-26 | 2024-03-15 | 中央财经大学 | 基于epc模型的智能法律合约生成方法及装置 |
CN117311726B (zh) * | 2023-10-26 | 2024-04-09 | 中央财经大学 | 智能法律合约生成方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111695805B (zh) | 2022-09-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111695805B (zh) | 一种面向法律合同的智能合约模型构建方法及*** | |
US11487529B2 (en) | User interface that integrates plural client portals in plural user interface portions through sharing of one or more log records | |
CN107273117B (zh) | 一种编程友好型的敏捷代码自动生成*** | |
CN107291450B (zh) | 一种编程友好型的敏捷代码自动生成方法 | |
Brambilla et al. | Process modeling in web applications | |
US20090319544A1 (en) | Facilitating integration of different computer data systems | |
CN114625353A (zh) | 模型框架代码生成***及方法 | |
Da Silva et al. | Towards a Test Specification Language for Information Systems: Focus on Data Entity and State Machine Tests. | |
Campagna et al. | Product and production process modeling and configuration | |
Montilva et al. | BMM: A business modeling method for information systems development | |
CN103218217A (zh) | 业务服务通信的自动化实现和/或通过变量的自动生成与种群对可执行流程的链接 | |
Nazaruka et al. | Verification of BPMN model functional completeness by using the topological functioning model | |
Kulkarni | Model driven development of business applications: a practitioner's perspective | |
Rahman et al. | A Framework for Modelling Blockchain based Supply Chain Management System to ensure soundness of Smart Contract Workflow. | |
Fraternali et al. | Multi-level tests for model driven web applications | |
Dawood | Toward requirements and design traceability using natural language processing | |
Gönczy et al. | Methodologies for model-driven development and deployment: An overview | |
Bogado et al. | DEVS-based methodological framework for multi-quality attribute evaluation using software architectures | |
Malavolta | Software Architecture Modeling by Reuse, Composition and Customization | |
Atencio et al. | Automatic generation of web applications for information systems | |
Vermeulen | Design of an Enterprise Architecture for information requirements identification: An exploratory study within the high-tech industry | |
Escott et al. | Architecture-centric model-driven web engineering | |
Ráth | Event-driven model transformations in domain-specific modeling languages | |
Hassanzadeh Zargari | Automatic derivation of LQN performance models from UML software models using epsilon | |
Sarneabat | Development of an android based mobile application to collect gas meter reading with appropriate customers approval |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |