CN111752574A - 一种法律合约的智能可执行合约构造与执行方法和系统 - Google Patents
一种法律合约的智能可执行合约构造与执行方法和系统 Download PDFInfo
- Publication number
- CN111752574A CN111752574A CN202010381549.5A CN202010381549A CN111752574A CN 111752574 A CN111752574 A CN 111752574A CN 202010381549 A CN202010381549 A CN 202010381549A CN 111752574 A CN111752574 A CN 111752574A
- Authority
- CN
- China
- Prior art keywords
- contract
- party
- asset
- intelligent
- execution
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/51—Source to source
-
- 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—Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
- G06Q50/18—Legal services; Handling legal documents
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/42—Syntactic analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/44—Encoding
- G06F8/447—Target code generation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
- H04L9/3239—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
-
- 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
- G06Q2220/00—Business processing using cryptography
Abstract
本发明公开了一种法律合约的智能可执行合约构造与执行方法和系统,其步骤包括:1)依据设定的智能合约语言对自然语言合约中属性、规则进行形式化表示,生成智能合约;2)利用目标语言转换规则将智能合约转换为可执行的目标语言合约;3)将目标语言合约进行编译和交易封装后在区块链上进行发布与共识验证,合约签名后实现智能合约部署;4)当该智能合约的合约条款被触发后在区块链系统中运行,在该智能合约运行结束后,将运行结果以交易形式发布给区块链,对交易中所含内容进行共识验证后,以设定形式存储于区块链中,作为合约执行的电子存证。本发明完成了由现实合约到程序代码、机器代码以及部署与执行等全过程的规范化框架制定。
Description
技术领域
本发明涉及信息技术领域,特别是指一种法律合约的智能可执行合约构造与执行方法和系统,用于信息服务。
背景技术
合约是特定人之间签订的契约,在生活中随处可见,是一个使未取得彼此信任的各参与方可以安排权利与义务的商定框架。而智能合约是指使用编程语言实现一组承诺表达的计算机程序,现多指运行在区块链上的一个程序或者脚本,具有自动执行、不可篡改、可回溯等特性。从现实合约向智能合约的转换,逐渐实现合约自动化、规划化,数据化改进,有助于推动法律、经济等各方面的电子化发展。
目前的智能合约主要分为以下三种:脚本型智能合约、传统编程语言智能合约以及专用型智能合约,其平台和语言已日趋成熟且功能趋于完善,但是它在发展道路上仍存在很多障碍:
1)基于区块链的资产数字化程度较低。智能合约是一个涉及资产与交易的程序,目前区块链上已经提供了一套可用的交易体制,但是基于区块链的数字资产还很不完善,且此方面尝试和研究都没有引起大众的关注;
2)目前智能合约语言专业性较强。目前的智能合约编程语言都是面向于编程人员的图灵完备性语言,与自然语言差异较大,但是现实中合约服务的本质是面向大众的,通常涉及到计算机、法律、金融等多领域的协作,已有智能合约语言对于非编程人员有较高门槛;
3)缺乏面向大众的规范化合约架构。传统合约体系有一套可参考的规范体系或者模板,同一类合约虽由不同人撰写但其整体框架是一样的,反观目前智能合约体系,同一种合约却有不同的实现方法,合约表达形式也不同,这不仅带来了理解上的差异,也会对后续智能合约的规范性和法律合规性带来挑战。
发明内容
针对现有技术中存在的技术问题,本发明的目的在于提供一套完整的从传统合约向智能合约转化的法律化区块链可执行合约构造与执行方法和系统。本系统以现实合约为基础,提出一种包括高级智能合约层、通用智能合约层和机器代码执行层的三层智能合约系统框架,完成了由现实合约到程序代码、机器代码以及部署与执行等全过程的规范化框架制定,如图1所示。
首先,在高级智能合约层提出一种类自然语言的高级智能合约语言,对当事人、资产、条款以及附加信息等进行类自然语言的语法定义,完善了数字化资产和权属关系的表述方式,给出面向非计算机从业人员可读性友好的合约撰写方法;该语言还可以根据多场景下的现实合约指定对应的高级智能合约模板,更易于形成面向大众的规范智能合约体系。此外,本系统将根据用户编写完成的高级智能合约自动化地转化为现有的智能合约目标语言合约,进而依据区块链交易流程将合约部署到区块链上。在合约实际运行时,本系统给出了完整的多当事人签名的实现方法,包括前置名单、后续动态加入两种签名方案,以满足现实生活中各种合约签名的需求。
下述给出本专利中一些名词的定义:
高级智能合约:是指一种采用类自然语言编写的具有现实法律合约语法特征的智能合约,也被称为智能法律合约,其语言被称为高级智能合约语言。
目标语言合约:是指在已有区块链与智能合约平台所支持编程语言(被称为目标语言)上开发的程序,也被称为目标语言程序,包括:
1)脚本型智能合约:是指根据区块链中已经定义好的脚本指令系统而撰写的智能合约,可完成基本的计算和条件控制过程,包括:比特币脚本;
2)通用型智能合约:此类语言直接采用传统的程序设计语言,部署在虚拟机或容器里,通过规定好的接口与区块链进行交互,包括:Java、go、C#、C++。
3)专用型智能合约:此类语言模仿传统程序语言的结构并添加了与区块链交互的特殊元素,面向特定领域的智能合约实现,包括:Solidity。
机器代码:是指可由计算机直接处理的程序代码,通常由目标语言程序编译生成,包括:程序中间代码、二进制代码等。
本发明完成了从法律合同到智能合约的自动化、形式化转化,囊括了从现实合同到高级智能合约、目标语言合约的转变以及智能合约部署、签名、运行及验证阶段的全过程,如图2所示。该系统所涉及的功能模块包括:
1)高级智能合约模块:依据高级智能合约语言,实现对自然语言合约中属性、规则的形式化表示,生成高级智能合约。
2)目标语言合约转换模块:针对所生成的高级智能合约,利用规定的转换机制实现时序控制、违约检测、当事人管理及触发机制,将高级智能合约转化为目标语言合约。
3)智能合约部署模块:将目标语言合约经编译和交易封装后在区块链上进行发布与共识验证,在合约当事人对它进行合约签名后实现智能合约部署;
4)合约运行及验证模块:合约条款被触发后在区块链系统中被运行;在合约运行结束后,将运行结果以交易形式发布给区块链,对交易中所含内容进行共识验证后,以法律认可的证据形式存储于区块链中,作为合约执行的电子存证。
所述一种法律合约的智能可执行合约构造与执行方法和系统,包括:合同名称(Title)、合同当事人描述(Parties)、资产描述(Assets)、合约条款(Terms)、附加信息(Additional),其语法表示为:
Contract::=Title{Parties+Assets+Terms+Additional+}
其中,+代表可多项,空格为分隔符。
所述高级智能合约语言中的符号和缩略符规定如下:
?表示前置关键词任选,表明该关键词可以根据需要选择是否添加;
{}表示包含一组语句的集合;
.表示语句结束符;
+表示可多项,可为零条或多条语句;
[]表示此处为一个列表,列表中语句可以多次出现。
所述合同名称(Title)用于描述合同的基本信息,包含合同标题(Cname)和合同所在地址(Caddress),合同所在地址是指智能合约在区块链中的存储位置。合同名称的语法表述如下:Title::=contract Cname:[serial Caddress]
其中,contract和serial为关键词,用于表示构建此语法表述。
所述当事人描述(Parties)用于描述包含当事人的名称或者姓名和住所,以及当事人所拥有的属性及特征描述(包含常量和变量)和在合同中约定的行为,包括:当事人代称(Pname)、当事人账户地址(Paddress)、当事人属性(field)、当事人行为(actions)等,其中当事人可以为个体或群组,其语法表示为:
Parties::=party group?Pname:[address Paddress]{field+actions}
其中,party为关键词,表示此语法用来描述当事人,group是可选关键词,添加则表示此当事人为群体,address是关键词,表示紧接其后的是当事人地址。
所述资产描述(Assets)指合同当事人之间存在的权利义务关系,是合同成立的必要条件,是一切合同的必备条款。合约资产描述包含资产的名称(assetName),资产的属性(assetInfo)以及资产的权属关系描述(assetRight)。assetInfo中包含该合约资产的基本属性信息,assetRight中包含所有者与该资产的权属关系描述,将资产的权力与所有者账户地址绑定。资产描述一般分为物、行为和智力成果,其语法表示为:
Assets::=asset assetName:{assetInfo+assetRight+}
其中,asset为关键词,表示此语法用来进行资产描述。
所述合约条款(Terms)即合同条件的数字化表述,它描述合约当事人应该或可以在什么时候或情况有什么行为,并满足要求的结果,是确定合同当事人权利和义务的根据。包括:条款名(tname)、条款当事人(pname)、当事人必须(shall)、可能(can)或禁止(cannot)执行的行为(action)、条款执行条件(preCondition)、条款执行过程中资产转移(transactions)、以及条款执行后应满足的后置条件(postCondition)。其语法表示为:
Terms::=term tname:pname(shall|can|cannot)action
(when preCondition)?
(while transactions+)?
(where postCondition)?.
其中,条款执行条件(preCondition)表示合约执行的前置条件,在当事人执行动作之前进行条件检测,若当前环境符合前置条件的规定,则可以执行条款,即实现此项条款的触发条件的定义;条件执行过程中资产转移(transactions)表示条款执行过程中伴随的资产转移情况;条款执行后应满足的后置条件(postCondition)表示条款执行完成后应满足的条件,若未满足,则回滚此次操作,以此保证条款的正确运行。
所述资产转移(transactions)用来表示合约执行过程中对资产的不同操作方式,在同一条款可以允许存在多条资产转移语句,包括存入、取款、转账三种方式。
1)存入(deposit):指当事人主动向合约存入资产,作为条款的执行条件使用,可以直接指定存入的资产描述或根据关系进行限制,其语法表示为:
Deposit::=deposit(value RelationOperator)?AssetExpression
其中,AssetExpression表示资产表达式,用于描述转移的资产,RelationOperator是对指定资产表达式(AssetExpression)的比较关系,包括>、=、<、>=、<=关系值。
2)取款(withdraw):当事人执行合约条款的过程中会根据条款从合约中取出一定资产,资产额度是在合约中由常量或变量事先约定好的,其语法表示为:
Withdraw::=withdraw AssetExpression
3)转账(transfer):当事人执行合约条款的过程中会根据条款从合约中向其他当事人转移一定资产,资产额度也是事先在合约中由常量或变量约定好的。语法如下:
Transfer::=transfer AssetExpression to Target
其中,Target表示资产转移的目标账户。
所述附加信息(Additional)给出合约所需的其它补充条件的定义,包括:合约属性、合约标的、当事人签名、保证人信息及签名、附加条款、程序变量、数据结构定义。
所述目标语言合约转换模块是指利用目标语言转换规则将高级智能合约语言撰写的智能合约转换为目标语言合约的过程,转换之后的目标语言合约包括当事人合约、主体合约、资产合约三部分,具体如下:
1)当事人合约,是指根据高级智能合约中与当事人Parties相关的内容生成的目标语言合约,负责当事人的管理、事件的记录与统计、记录查询等功能。当事人合约包括当事人属性、当事人管理、条款Terms执行管理三个部分。
2)主体合约,包括变量的定义、修饰器、各条款生成的方法框架,主要分为合约属性和当事人的定义与初始化、条款的转换处理两部分。后者主要根据高级智能合约中的条款Terms进行执行语言转换,将每一个条款对应于一个方法,方法中包括条件检测、方法主体和执行结果检测三个部分,分别对应于高级智能合约语言中条款(Terms)中的preCondition、transactions、postCondition,在每一次检测中都设定相应的“违约检测”机制。
3)资产合约是指高级智能合约中每个资产Assets生成的一个目标语言合约。包括:资产属性的结构体,它由资产属性和权属关系映射得到,作为其它方法操作的基本数据结构;资产管理方法,它涉及注册、查询、转移等资产管理方法,可根据缔约需求对其进行自定义;资产权属管理方法,它涉及权属获取、权属设定、以及权属转移方法。
所述目标语言转换规则是指将高级智能合约转换为目标语言合约所需的转换规则,包括:
1)实现高级智能合约中当事人描述Parties向当事人合约(Party-Contract)的转换,根据关键词group存在与否,包括个体当事人合约(IPC)和群体当事人合约(GPC)两种转换规则;
2)实现高级智能合约中合同名称Title、每一条合约条款Terms、以及附加信息Additional向主体合约(Main-Contract)的转换;
3)实现高级智能合约中资产描述Assets向资产合约(Asset-Contract)的转换。
所述个体当事人合约IPC的转换规则是指对个体当事人描述转化为个体当事人合约IPC的方法,包括:
1)添加一个新的合约框架,以高级智能合约中当事人代称Pname为该合约名称,后续处理步骤中得到的语句将放在此合约中,其中,合约框架是一种程序代码的集合,包括:结构体、库、类、接口、封装。
2)存储个体当事人属性信息,包括:账户地址、成员属性、条款执行记录,其中,账户地址是账户的唯一标识;成员属性是由高级智能合约中当事人属性field生成的同名属性,并在属性操作中添加对应的设定与获取函数;条款执行记录用来存储每个由当事人行为actions所对应的条款terms是否执行完成、以及该条款执行时间的状态信息。
3)实现个体人员管理方法,包括:针对上步的账户地址为当事人添加注册、注销与查询函数,用于面向账户地址所对应区块链信息的人员添加、删除、浏览操作。
4)实现个体条款执行管理方法,包括为高级智能合约中每一条款Terms添加条款执行记录函数,用于在条款执行完毕后记录完成时间;添加状态查询函数,用于返回条款完成时间。
所述群体当事人合约GPC的转换规则是指对具有group关键词的当事人描述转化为群体当事人合约GPC的方法,包括:
1)添加一个新的合约框架,以高级智能合约中当事人代称Pname为该合约名称,后续处理步骤中得到的语句将放在此合约中。
2)存储群体当事人属性信息,包括:建立结构体数组,数组中每一单元依照个体当事人合约转换规则中步骤1)记录群体当事人中每个当事人的信息,并添加由账户地址到数组坐标的映射表,用于实现对群体当事人中单个当事人的定位。
3)实现群体当事人管理方法,通过数组与映射的结合来保证可以快速根据账户地址随机访问与成员遍历,包括:针对结构体数组中每个当事人的账户地址属性添加当事人在群体中的增加、删除、修改、查询函数,查询函数包含对群体中个体总数、某个体是否属于该群体、群体中所有个体列表的查询方法。
4)实现群体条款执行管理方法,包括:依照个体当事人合约转换规则中步骤3)添加对群体中个体所对应条款terms的条款执行管理方法,并在合约中记录第一与最后一个当事人完成条款的时间,生成对第一、最后、当前当事人完成时间的查询函数。
所述主体合约Main-Contract的转换是指生成目标语言合约的主体以及高级智能合约中每条条款所对应的执行代码,包括:
1)添加一个新的合约框架,将合约标题Cname作为新合约的名称,并进行当事人合约的实例化及初始化,其中,当事人合约包括前述群体当事人合约和个体当事人合约,后续处理步骤中得到的语句也将放在此合约中。
2)附加信息Additional转换:根据高级智能合约中附加信息Additional所包含的定义值添加目标语言合约中的同名变量并完成初始化。
3)逐个将高级智能合约中的合同条款Terms进行转换,具体步骤如下:根据条款名(tname)生成同名函数,该函数由三种语句构成——执行条件检测语句、条款执行语句、执行结果检测语句:a)根据资产转移transactions中的存入deposit和条款执行条件preCondition生成函数的执行条件检测语句;b)将资产转移transactions中的取款withdraw和转账transfer转化为条款执行语句;c)将后置条件postCondition转换为条款执行语句和执行结果检测语句。
所述资产合约Asset-Contract的转换是指为高级智能合约中每个资产生成一个包含资产属性结构体和资产管理方法的资产合约,包括:
1)添加一个新的合约框架,以高级智能合约中资产的名称assetName为该合约名称,资产后续处理步骤中得到的语句将放在此合约中。
2)构造资产属性结构体,包括:生成一个与资产名称assetName同名的结构体,添加与资产描述Assets中资产的属性assetInfo和资产的权属关系描述assetRight对应的目标语言合约中的同名变量;
3)实现资产管理方法,包括:在资产合约中添加对该同名变量的存入deposit、取款withdraw和转账transfer的可执行代码,并构造资产中该同名变量的查询函数。
所述目标语言合约转换模块具有高级智能合约保障机制,包括:
1)时序控制是指通过对关键事件的自动记录,按照合约条款约定的事件先后顺序或时间限制,控制合约执行的流程。时序控制机制根据对条款Terms执行条件preCondition中所包含的时间表达式、逻辑表达式、关系表达式、运算表达式、常量表达式在目标语言合约中生成表示时间的属性值与时间属性大小比较表达式,对合约条款中的事件进行时间先后及发生、结束时间的条件检测。
2)触发机制是指智能合约一次运行完成后,运行状态保存到区块链中,程序进入休眠状态,直到由外部事件或其它合约触发,唤醒合约执行其中的某个功能。该机制由已有区块链与智能合约平台中的中断处理、事件响应加以实现。
3)违约检测是指智能合约对违反合约条款、现行法规的当事人行为进行发现的过程。该机制在条款Terms执行完毕后通过后置条件postCondition中的约定对程序状态进行检测。
4)当事人管理是指在当事人合约中根据当事人类型,提供当事人身份、属性及条款执行情况的管理。如果当事人代表个体,提供人员的注册、注销方法,以及属性和条款执行情况的更改、查询方法;如果当事人代表群体,提供人员的添加、删除方法,根据账户对其属性的更改、查询方法,以及条款执行情况的记录与群体中所有个体的全部完成时间、第一个完成时间、某个个体完成时间三种查询方法。
所述智能合约部署模块是指转换过后的目标语言合约在区块链上被部署的过程,包括
1)目标语言合约编译:目标语言合约通过已有区块链与智能合约平台的语言编译器生成在虚拟机或容器中运行的机器代码,可实现图灵完备、事件触发执行且已预定义与区块链的交互操作三个特点;
2)智能合约部署:将机器代码、目标语言合约及合约状态封装到区块链交易(Transaction)中,并将该交易发布到区块链中,使得区块链中节点获取该智能合约进行合约签名、执行与验证,如图3所示。
所述交易发布是指交易被提交到区块链节点后,被通过广播方式传播到区块链网络中所有节点,并被共识机制进行正确性验证后加入到区块链存储的过程。其中,共识机制是区块链节点就区块信息(包括交易)达成全网一致的机制,共识机制包括:工作量证明、权益证明、工作量证明与权益证明混合、股份授权证明、拜占庭一致协议等。
所述合约签名分为前置名单和后续动态加入两种签名方法,两种方法亦可混合使用,在本发明中的使用如图4所示。前置名单方法是指用户在制定合约时已经制定合约所需签名的当事人名单,后续动态加入签名方法是指用户事先不指定合约当事人名单,而在合约执行过程中再加入所需签名的当事人名单。
所述合约签名中的前置签名方法包括以下模块:
1)签名列表接口:高级智能合约中给定签名列表接口,用于在合约制定时根据用户需要制定当事人签名列表,列表包括:当事人唯一标识以及待填充的当事人签名。
2)当事人签名接口:合约在区块链上部署之后,已制定的当事人列表中的当事人可以根据其唯一标识对合约进行签名。
3)签名存储部分:将获得的签名方地址和签名与合约中的允许签名列表进行比对,若成功则加入签名内容,进而在区块链中永久性存储,所有人都可以查看并验证当事人是否有权签名、是否签名以及签名是否正确。
所述合约签名中的后续动态加入签名方法包括以下模块:
1)当事人申请签名接口:当事人根据自己的唯一标识对合约进行签名后,将自己的唯一标识和签名结果打包提交,进行签名申请。
2)签名允否接口:根据合约条款对后续申请加入合约的当事人进行审批操作,判断是否允许其加入合约的签名者名单,此接口亦可以设置为永久允许、有期限允许、操作允许接口权限。
3)签名存储部分:此部分同前置签名方法的第三部分。
所述合约运行及验证模块是指受外部事件或内部合约触发某项合约条款的执行,自动履行合约条款的过程,包括:
1)执行智能合约:在执行或验证智能合约前,将智能合约代码下载,同时将存储在区块链中的合约状态恢复到内存中,并根据输入参数在本地虚拟机中进行所需合约条款的调用执行;
2)发布执行结果:将智能合约执行后结果以交易形式提交至区块链,其它节点对交易中所含内容进行共识验证,最终以法律认可的证据形式存储到区块链中。
对交易中所含内容进行共识验证是指区块链中其他节点经共识机制对含有智能合约执行结果内容的交易的验证过程,验证包括:交易格式、当事人身份、合约执行过程、中间状态、合约执行结果、时间戳等内容的合规性与合法性。
法律认可的证据形式是指针对上述交易,1)每个交易使用数字签名技术进行当事人的注记;2)将注记后的交易利用区块链中基于密码学的hash函数进行hash值计算;3)对多个交易的hash值两两做hash运算,形成默克尔树结构存储于区块中;4)多个区块以hash链表形式相互连接,从而将上述交易存储为符合现行法律要求、不可篡改的电子数据形式,也被称为电子存证。
本发明的积极效果:
1)本发明从分析传统合约出发,提出了简洁并有足够表达能力、更为完善的合约语言形式化表达机制,包括资产的数字表示、权属关系、合约条款的逻辑表达等,打破了智能合约与非程序人员之间的领域壁垒,能更好地满足法律合同的自动化、形式化转化。
2)本发明给出了一套合约行之有效的表述方法和运行机制,且合约表达形式易读、易学、表达内容丰富、表达能力全面、表达逻辑正确,可对智能合约开发的规范性和标准性起到一定的推动作用。
3)本发明提出了一种法律合约的智能可执行合约构造与执行方法和系统,完成了将现实合约转换为智能合约并部署执行的全部实现,且设计了条款间的相应触发条件和签名机制,为电子合约的有效性和合规性、以及系统构建的标准性的研究奠定了基础。
附图说明
图1为本发明中区块链智能合约编写流程示意图;
图2为本发明中智能合约系统模块图;
图3为本发明中区块链智能合约抽象模型示意图;
图4为本发明中签名流程示意图;
图5为本发明实施例中以购买合同为例实现的高级智能合约框架图。
具体实施方式
为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合实施例进行描述。
实施例中将以一个简单的具体合约为例子,演示一种法律合约的智能可执行合约构造与执行方法和系统从现实合约建立高级智能合约→目标语言合约→合约部署→合约签名→合约运行的实际运行过程。
实施例1
在本实施例中,定义一个现实合同内容:合约当事人买卖双方对一台打印机进行购买交易,具体合同内容将在后面进行逐个介绍和实现对应高级语言合约编写的合约内容。
一、用高级智能合约语言编写合约分为三个部分:
1)合约当事人:包括买方和卖方。
卖方拥有一个作为自己唯一标识的地址,并且可以执行获取交易收益、邮寄打印机动作,其定义如下:
买方此处为个体用户,可以执行订购打印机、确认接收打印机动作,定义如下:
2)资产描述:一台名为打印机、价值2000元人民币、且拥有属于自己唯一标识的机器,
定义如下:
3)合约条款定义:
(1)条款1:买方可以向卖方订购一台打印机,并向合约存入订金。
term no1:Buyer can order
while deposit$Printer::value.
(2)条款2:如果买方向卖方订购了一台打印机,合约生效,卖方应该在7天内将打印机寄送给买方
term no2:Seller shall deliver
when within 7 days after Buyer did order.
(3)条款3:到货后买方应在7天内确认收货。
term no3:Buyer shall confirmReceive
when within 7 days after Buyer did receive.
(4)条款4:在买方确认收货后,卖方可以获取收益并结束交易。
term no4:Seller can ColletPayment
when after Buyer did confirmReceive
while withdraw$Printer::value.
4)合约附加信息Additional定义——添加两方当事人签名:
SellerSignature:String
BuyerSignature:String
5)完整合约如下,其框架图如图5所示:
二、目标语言合约转换模块。
此实施例中选用solidity为目标语言,完成将上述高级智能合约实现的实例向目标语言的转换,形成目标语言合约。
1.根据party项(Seller,Buyer)生成两个当事人合约:
1)Seller描述中没有group项,采用个体当事人合约IPC的转换规则:
①创建名为SellerT的当事人合约框架:contract SellerT{},后续Seller的转换放在{}中。
②存储个体当事人属性信息:
建立_Selleraddress属性记录账户地址,Seller中属性包含:字符串性质的credentials,据此建立同名变量:bytes32 credentials,并添加设定和获取方法:
function getcredentials()returns(bytes32_result){return credentials;}
function setcredentials(bytes32 a){credentials=a;}
根据Seller中包含的两个动作deliver(),collectPayment()对应的条款no2和no4生成条款执行函数,即创建对应条款是否开始和完成的变量。
//attributes of action deliver
bool_isdeliverDone;
uint_deliverTime;
//attributes of action collectPayment
bool_iscollectPaymentDone;
uint_collectPaymentTime;
③实现个体人员管理方法,本实例中只涉及到为当事人Seller添加注册和查询方法:
④实现个体条款执行管理方法:生成条款执行记录函数记录完成时间、生成状态查询方法返回条款完成时间,此处以deliver为例,collectPayment与之相同:
2)Buyer描述中有group项,采用群体当事人合约GPC的转换规则:
①创建名为BuyerT的当事人合约框架:contract BuyerT{},后续Buyer的转换放在{}中。
②存储群体当事人属性信息:
建立名为Buyertype的结构体数组,结构体中的各属性值依照个体当事人合约转换规则构造如下:
添加由账户地址到数组坐标的映射表为:
mapping(address=>uint)_userlist;
③实现群体当事人管理方法,添加一系列函数如下:
“增加”函数:
“删除”函数:
“群体中所有个体列表”的查询函数:
“某个体是否属于该群体”的查询函数:
function contains(address a)public returns(bool b){
return_userlist[a]!=0;
}
“群体中个体总数”的查询函数:
function getSum()public returns(uint c){
return_sum;
}
④实现群体条款执行管理方法,依照个体当事人合约转换规则中步骤④添加对群体中个体所对应条款terms的条款执行管理方法,即针对order()和conformReceive()生成函数,此处以conformReceive为例:
并在合约中记录第一与最后一个当事人完成条款的时间,生成对第一、最后、当前当事人完成时间的查询方法,此处以order为例,confirmReceive同理。
2.生成主体合约:
1)生成名为Purchase的主体合约框架contract Purchase{},之后进行当事人合约的实例化及初始化:
后续转换生成的主体合模块皆放在{}中。
2)对高级智能合约中的附加信息Additional所包含的定义进行转换:
bytes32 SellerSignature;
bytes32 BuyerSignature;
3)对高级智能合约中的合同条款Terms逐个转换:
①条款term no1:Buyer can order
while deposit$Printer::value.
条款中包括资产转移transactions以及位于其中的deposit,生成执行条件检测语句:require(msg.value>=printer.value),形成函数为:
②条款term no2:Seller shall deliver
when within 7 days after Buyer did order.
条款中包括条款执行条件preCondition,据此生成对时间的执行条件检测语句,形成函数为:
③条款term no3:Buyer shall confirmReceive
when within 7 days after Seller did deliver.
条款中包括条款执行条件preCondition,据此生成对时间的执行条件检测语句,形成函数为:
④term no4:Seller can colletPayment
when after Buyer did confirmReceive
while withdraw$Printer::value.
条款中包括条款执行条件preCondition,据此生成对时间的执行条件检测语句:require(now>Buyer.confirmReceiveTime(msg.sender)),条款中while一行为资产转移transactions,依据取款withdraw生成条款执行语句:msg.sender.transfer(Printer.value),最终形成函数为:
4)最终形成主体合约为:pragma solidity>=0.4.0<0.6.0;
3.生成资产合约:
1)构造资产属性结构体:先生成一个与名为Printer的结构体,此资产中只涉及资产的属性assetInfo,生成对应的同名变量;
2)构造资产管理方法:此实施例中现根据已知属性对资产进行实例化和初始化,并生成对Printer属性的查询函数;
三、合约部署阶段。
将目标语言合约以及此时的初始触发状态发布到区块链上,返回其合约地址ContractAddress,合约当事人可通过ContractAddress对此合约进行调用或检查。在本实施例中是指卖方将售卖打印机的合约发布到区块链上,卖方先单方对合约进行签名<addressSeller,signatureSeller>,事先并未进行对买方的签名列表限制,因此,买方可以在合约生效后动态加入。
区块链交易代码如下:
四、合约运行阶段
1)买方有意购买打印机时,可以触发order()函数接口,向合约账户存入打印机的价格作为订金,并借助合约动态签名接口对合约进行签名<addressBuyer,signatureBuyer>,此时买卖双方都进行了签名,合约生效,订购成功。
2)合约生效之后,触发Seller需要在具体时间限制之前进行deliver的动作;
3)待Buyer接收到打印机后,需要调用confirmReceive()接口确认并记录收到货物。
4)Buyer收取货物后,Seller获取收益,从合约中取出2000元人民币,合约结束。
5)上述步骤中,任何一步与合约条款执行不符,皆将进入违约状态,触发处理机制。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (10)
1.一种法律合约的智能可执行合约构造与执行方法,其步骤包括:
1)依据设定的智能合约语言对自然语言合约中属性、规则进行形式化表示,生成智能合约;
2)利用目标语言转换规则将智能合约转换为可执行的目标语言合约,所述目标语言合约包括当事人合约、主体合约、资产合约,其中,转化当事人描述Parties为当事人合约,转化资产描述Assets为资产合约,转化合约条款Terms及附加信息Additional为主体合约;
3)将目标语言合约进行编译和交易封装后在区块链上进行发布与共识验证,在合约当事人对目标语言合约进行合约签名后实现智能合约部署;
4)当该智能合约的合约条款被触发后在区块链系统中运行,在该智能合约运行结束后,将运行结果以交易形式发布给区块链,对交易中所含内容进行共识验证后,以设定形式存储于区块链中,作为合约执行的电子存证。
2.如权利要求1所述的方法,其特征在于,所述设定的智能合约语言为高级智能合约语言,所述智能合约为高级智能合约;所述高级智能合约语言包括:合同名称Title、合同当事人描述Parties、资产描述Assets、合约条款Terms和附加信息Additional。
3.如权利要求2所述的方法,其特征在于,所述合同名称Title包含合同标题Cname和合同所在地址Caddress,合同所在地址Caddress是指智能合约在区块链中的存储位置;所述当事人描述Parties包括当事人代称Pname、当事人账户地址Paddress、当事人属性field和当事人行为actions;所述资产描述Assets包含资产的名称assetName、资产属性assetInfo以及对资产权属关系描述assetRight,所述资产属性assetInfo中包含资产的基本属性信息,资产权属关系描述assetRight中包含资产所有者与该资产的权属关系描述,将资产的权力与资产所有者账户地址绑定;所述合约条款Terms包括条款名tname、条款当事人pname、限定当事人执行的行为action、条款执行条件preCondition、条款执行过程中资产转移transactions以及条款执行后应满足的后置条件postCondition。
4.如权利要求1所述的方法,其特征在于,所述当事人合约包括群体当事人合约和个体当事人合约;其中,个体当事人合约的生成方法为:如果智能合约为个体当事人合约IPC,则从该智能合约中提取个体当事人属性信息,包括:账户地址、成员属性、条款执行记录;其中,账户地址是账户的唯一标识,根据账户地址为当事人添加注册、注销与查询函数;成员属性是根据该智能合约中当事人属性field生成目标语言合约中的同名属性,并在属性操作中添加对应的设定与获取函数;对每一条款Terms添加一条款执行记录函数,用来生成条款执行记录存储每个由当事人行为actions所对应的条款Terms是否执行完成、以及该条款执行时间;群体当事人合约的生成方法为:如果智能合约为群体当事人合约GPC,则从该智能合约中提取群体当事人属性信息存储到一结构体数组中,该结构体数组中每一单元记录一个体当事人属性信息,包括:账户地址、成员属性、条款执行记录;然后添加由账户地址到该结构体数组坐标的映射表;然后针对该结构体数组中每个当事人的账户地址属性添加当事人在群体中的增加、删除、修改、查询函数,根据账户地址为当事人添加注册、注销与查询函数;依照个体当事人合约生成方法添加条款执行记录函数,并在合约中记录第一与最后一个当事人完成条款的时间,生成对第一、最后、当前当事人完成时间的查询函数。
5.如权利要求3所述的方法,其特征在于,所述条款执行条件preCondition包含时间表达式、逻辑表达式、关系表达式、运算表达式、常量表达式;步骤2)中,通过将所述条款执行条件preCondition转化为目标语言合约中的事件顺序控制代码,然后按照合约条款约定的事件先后顺序或时间限制,控制转换后得到的目标语言合约的执行流程。
6.如权利要求1所述的方法,其特征在于,生成所述资产合约的方法为:在该目标语言合约中创建一个与该智能合约中的资产名称assetName同名的结构体,即所述资产属性结构体,添加一个与该智能合约中的资产描述Assets中资产属性assetInfo对应的同名变量和一个与该智能合约中的资产权属关系描述assetRight对应的同名变量;然后在资产合约中添加对所述同名变量用于资产转移transactions的可执行代码,并构造资产中对应同名变量的查询函数,其中,资产转移transactions包括存入deposit、取款withdraw和转账transfer;生成所述主体合约的方法为:首先将该高级智能合约的合约标题Cname作为目标语言合约中主体合约的名称并对当事人合约进行实例化及初始化,根据该高级智能合约中的附加信息Additional所包含的定义值添加目标语言合约中的同名变量并初始化,将该高级智能合约中的合同条款Terms转换为目标语言合约中的同名函数到目标语言合约中的主体合约。
7.如权利要求6所述的方法,其特征在于,所述同名函数包括执行条件检测语句、条款执行语句和执行结果检测语句;其中,a)根据资产转移transactions中的存入deposit和条款执行条件preCondition生成函数的执行条件检测语句;b)将资产转移transactions中的取款withdraw和转账transfer转化为条款执行语句;c)将后置条件postCondition转换为条款执行语句和执行结果检测语句。
8.如权利要求1所述的方法,其特征在于,利用语言编译器对目标语言合约进行编译,生成在虚拟机或容器中运行的机器代码,实现图灵完备、事件触发执行并预定义与区块链的交互操作;然后将所述机器代码、目标语言合约及合约状态封装到区块链交易中,并将该区块链交易发布到区块链中,区块链中节点获取该智能合约并对其进行合约签名、执行与验证。
9.如权利要求8所述的方法,其特征在于,通过前置名单或后续动态加入的方式,实现合约当事人对已部署智能合约的签名。
10.一种法律合约的智能可执行合约构造与执行系统,其特征在于,包括高级智能合约模块、目标语言合约转换模块、智能合约部署模块和合约运行及验证模块;其中,
高级智能合约模块,用于依据设定的智能合约语言对自然语言合约中属性、规则进行形式化表示,生成智能合约;
目标语言合约转换模块,用于利用目标语言转换规则将智能合约转换为可执行的目标语言合约;所述目标语言合约包括当事人合约、主体合约、资产合约,其中转化当事人描述Parties为当事人合约,转化资产描述Assets为资产合约,转化合约条款Terms及附加信息Additional为主体合约;
所述智能合约部署模块,用于将目标语言合约经编译和交易封装后在区块链上进行发布与共识验证,在合约当事人对它进行合约签名后实现智能合约部署;
所述合约运行及验证模块,用于当该智能合约的合约条款被触发后在区块链系统中运行,在该智能合约运行结束后,将运行结果以交易形式发布给区块链,对交易中所含内容进行共识验证后,以设定形式存储于区块链中,作为合约执行的电子存证。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010381549.5A CN111752574B (zh) | 2020-05-08 | 2020-05-08 | 一种法律合约的智能可执行合约构造与执行方法和系统 |
PCT/CN2020/131917 WO2021223419A1 (zh) | 2020-05-08 | 2020-11-26 | 一种法律合约的智能可执行合约构造与执行方法和系统 |
US17/444,054 US20210357195A1 (en) | 2020-05-08 | 2021-07-29 | Method and System for Executable Smart Legal Contract Construction and Execution over Legal Contracts |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010381549.5A CN111752574B (zh) | 2020-05-08 | 2020-05-08 | 一种法律合约的智能可执行合约构造与执行方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111752574A true CN111752574A (zh) | 2020-10-09 |
CN111752574B CN111752574B (zh) | 2021-03-30 |
Family
ID=72673286
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010381549.5A Active CN111752574B (zh) | 2020-05-08 | 2020-05-08 | 一种法律合约的智能可执行合约构造与执行方法和系统 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20210357195A1 (zh) |
CN (1) | CN111752574B (zh) |
WO (1) | WO2021223419A1 (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112417055A (zh) * | 2020-12-10 | 2021-02-26 | 孔令超 | 一种区块链智能合约映射到现实合约的方法 |
CN112883687A (zh) * | 2021-02-05 | 2021-06-01 | 北京科技大学 | 一种基于合同文本标记语言的法律合同交互式标注方法 |
CN113256296A (zh) * | 2021-07-01 | 2021-08-13 | 支付宝(杭州)信息技术有限公司 | 智能合约执行方法、系统、装置和存储介质 |
CN113448592A (zh) * | 2021-02-08 | 2021-09-28 | 北京科技大学 | 一种基于合同文本标记语言的智能法律合约生成方法 |
WO2021223419A1 (zh) * | 2020-05-08 | 2021-11-11 | 北京科技大学 | 一种法律合约的智能可执行合约构造与执行方法和系统 |
CN112417055B (zh) * | 2020-12-10 | 2024-04-26 | 孔令超 | 一种区块链智能合约映射到现实合约的方法 |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11748762B2 (en) * | 2020-06-17 | 2023-09-05 | Fujifilm Business Innovation Corp. | System for simulating and creating smart purchase agreements from master service agreements |
US11842287B1 (en) * | 2023-01-10 | 2023-12-12 | Citibank, N.A. | Systems and methods for conducting blockchain actions based on network mappings of self-executing program characteristics |
US11755746B1 (en) * | 2023-01-10 | 2023-09-12 | Citibank, N.A. | Systems and methods for conducting blockchain actions based on network mappings of self-executing program characteristics |
CN116476092B (zh) * | 2023-04-26 | 2024-01-23 | 上饶高投智城科技有限公司 | 基于asr及nlp技术实现小区智慧服务的方法及系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108985073A (zh) * | 2018-07-18 | 2018-12-11 | 成都链安科技有限公司 | 一种高度自动化的智能合约形式化验证系统及方法 |
CN109144674A (zh) * | 2017-06-27 | 2019-01-04 | 中思博安科技(北京)有限公司 | 合约处理装置和合约处理方法 |
US20190034404A1 (en) * | 2017-07-28 | 2019-01-31 | International Business Machines Corporation | Cognitive mediator for generating blockchain smart contracts |
CN109493042A (zh) * | 2018-10-24 | 2019-03-19 | 南京邮电大学 | 一种拥有访问控制功能的智能合约可信存证方法和系统 |
CN110517137A (zh) * | 2019-08-02 | 2019-11-29 | 杭州宇链科技有限公司 | 一种生成功能模块化安全合约的方法及系统 |
CN110827145A (zh) * | 2018-08-07 | 2020-02-21 | 北京果仁宝软件技术有限责任公司 | 基于区块链智能合约的处理方法和系统 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8620777B2 (en) * | 2001-11-19 | 2013-12-31 | Hewlett-Packard Development Company, L.P. | Methods, software modules and software application for logging transaction-tax-related transactions |
US7810142B2 (en) * | 2005-03-21 | 2010-10-05 | International Business Machines Corporation | Auditing compliance with a hippocratic database |
US11789933B2 (en) * | 2018-09-06 | 2023-10-17 | Docusign, Inc. | System and method for a hybrid contract execution environment |
CN111752574B (zh) * | 2020-05-08 | 2021-03-30 | 北京科技大学 | 一种法律合约的智能可执行合约构造与执行方法和系统 |
-
2020
- 2020-05-08 CN CN202010381549.5A patent/CN111752574B/zh active Active
- 2020-11-26 WO PCT/CN2020/131917 patent/WO2021223419A1/zh active Application Filing
-
2021
- 2021-07-29 US US17/444,054 patent/US20210357195A1/en not_active Abandoned
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109144674A (zh) * | 2017-06-27 | 2019-01-04 | 中思博安科技(北京)有限公司 | 合约处理装置和合约处理方法 |
US20190034404A1 (en) * | 2017-07-28 | 2019-01-31 | International Business Machines Corporation | Cognitive mediator for generating blockchain smart contracts |
CN108985073A (zh) * | 2018-07-18 | 2018-12-11 | 成都链安科技有限公司 | 一种高度自动化的智能合约形式化验证系统及方法 |
CN110827145A (zh) * | 2018-08-07 | 2020-02-21 | 北京果仁宝软件技术有限责任公司 | 基于区块链智能合约的处理方法和系统 |
CN109493042A (zh) * | 2018-10-24 | 2019-03-19 | 南京邮电大学 | 一种拥有访问控制功能的智能合约可信存证方法和系统 |
CN110517137A (zh) * | 2019-08-02 | 2019-11-29 | 杭州宇链科技有限公司 | 一种生成功能模块化安全合约的方法及系统 |
Non-Patent Citations (1)
Title |
---|
XIAO HE ET AL: ""SPESC:A specification language for smart contracts"", 《2018 IEEE 42ND ANNUAL COMPUTER SOFTWARE AND APPLICATIONS CONFERENCE (COMPSAC)》 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021223419A1 (zh) * | 2020-05-08 | 2021-11-11 | 北京科技大学 | 一种法律合约的智能可执行合约构造与执行方法和系统 |
CN112417055A (zh) * | 2020-12-10 | 2021-02-26 | 孔令超 | 一种区块链智能合约映射到现实合约的方法 |
CN112417055B (zh) * | 2020-12-10 | 2024-04-26 | 孔令超 | 一种区块链智能合约映射到现实合约的方法 |
CN112883687A (zh) * | 2021-02-05 | 2021-06-01 | 北京科技大学 | 一种基于合同文本标记语言的法律合同交互式标注方法 |
CN113448592A (zh) * | 2021-02-08 | 2021-09-28 | 北京科技大学 | 一种基于合同文本标记语言的智能法律合约生成方法 |
CN113256296A (zh) * | 2021-07-01 | 2021-08-13 | 支付宝(杭州)信息技术有限公司 | 智能合约执行方法、系统、装置和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111752574B (zh) | 2021-03-30 |
US20210357195A1 (en) | 2021-11-18 |
WO2021223419A1 (zh) | 2021-11-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111752574B (zh) | 一种法律合约的智能可执行合约构造与执行方法和系统 | |
US11789933B2 (en) | System and method for a hybrid contract execution environment | |
Bai et al. | Formal modeling and verification of smart contracts | |
Modi | Solidity Programming Essentials: A beginner's guide to build smart contracts for Ethereum and blockchain | |
CN112015396B (zh) | 基于dsl的智能合约代码生成方法、装置、设备及存储介质 | |
Miller et al. | Smart contracts and opportunities for formal methods | |
Mik | Smart contracts: A requiem | |
CN108846942A (zh) | 基于以太坊区块链的电子投票方法和系统 | |
CN110851796A (zh) | 一种基于区块链智能合约的音乐版权保护系统 | |
Kim et al. | A first step in the co-evolution of blockchain and ontologies: Towards engineering an ontology of governance at the blockchain protocol level | |
Serrano | Verification and validation for data marketplaces via a blockchain and smart contracts | |
Qin et al. | Intelligible description language contract (IDLC)–A novel smart contract model | |
Cysneiros et al. | Traceability and completeness checking for agent-oriented systems | |
Ben-Abdallah et al. | A UML based Framework Design Method. | |
WO2019106512A1 (en) | Computer-implemented systems and methods for enhanced bitcoin wallets | |
He | Modeling and analyzing smart contracts using predicate transition nets | |
Meedeniya | Correct model-to-model transformation for formal verification | |
Yi et al. | Bitcoin, Ethereum, Smart Contracts and Blockchain Types | |
Tuan et al. | Toward a model for verification of business logic layer in 3-layer architecture: Cpn-eca model | |
Inshakova et al. | Standardization of Blockchain Distributed Ledger Technology: Global Trends, Opportunities and Challenges for Remote Investment Transactions | |
Mehdipour Ataee et al. | An improved abstract state machine based choreography specification and execution algorithm for semantic web services | |
CN103870276A (zh) | 一种博客应用系统 | |
Buda et al. | A Pragmatic Theory of Computational Artefacts | |
Watson | An introduction to the FIRE engine: A C++ toolkit for FInite automata and Regular Expressions | |
US20230360300A1 (en) | IDENTITY DESIGNATIONS (“AKAs”) FOR METAVERSE ENVIRONMENTS |
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 |