【技术实现步骤摘要】
去中心化金融协议智能合约转化方法、系统及电子设备
[0001]本专利技术涉及计算机技术区块链
,涉及一种智能合约的转化方法、系统及电子设备,尤其涉及一种去中心化金融(DeFi)协议智能合约转化方法、系统及电子设备。
技术背景
[0002]去中心化金融(DeFi)是基于智能合约平台构建的开放、无需许可且高度可互相操作加密资产、金融类智能合约以及金融协议。狭义上讲,智能合约就是部署并运行在区块链上的计算机程序。智能合约的代码、执行的中间状态、及执行结果都会存储在区块链中,区块链除了保证这些数据不被篡改外,还会通过每个节点以相同的输入执行智能合约来验证运行结果正确性。区块链的这种共识验证机制,保证了智能合约的不可篡改性和可追溯等特性,从而使得它具备了被法律认可的可能。智能合约平台和语言已日益成熟且功能趋于完善。然而,由于智能合约通常涉及到计算机、法律、金融等多领域的协作,而目前的智能合约编程语言存在对于非计算机领域人员不够友好,对没学习过编程的人员来说难以理解等问题。具体而言,目前的智能合约语言存在以下几个缺点:程序语言与法律合约形式相去甚远;智能合约程序专业性强,用户和法律人员难以理解,从法律合约到可执行智能合约代码生成没有建立直接关系。
技术实现思路
[0003]本专利技术的目的在于提供一种去中心化金融(DeFi)协议智能合约转化方法、系统及电子设备,建立从法律合约到可执行智能合约代码生成的直接关系。
[0004]本专利技术的方法所采用的技术方案是:一种去中心化金融协议智能合约转化方法,包 ...
【技术保护点】
【技术特征摘要】
1.一种去中心化金融协议智能合约转化方法,其特征在于,包括以下步骤:步骤1:针对SPESC法律合约,进行语法分析和词法分析,构建SPESC抽象语法树;步骤2:定义SPESC抽象语法树的BNF范式;步骤3:基于SPESC抽象语法树的BNF范式,结合Go抽象语法树的语法语义,给出SPESC抽象语法树到GO抽象语法树的语义映射关系;完成SPESC抽象语法树到Go抽象语法树的转化,实现SPESC法律合约代码到Go智能合约代码的转换。2.根据权利要求1所述的去中心化金融协议智能合约转化方法,其特征在于:步骤1中,用词法分析器Lexer对SPESC法律合约文本进行词法分析,生成Token,然后传给语法解析器parser检索生成抽象语法树AST;所述词法分析器Lexer,用来将字符序列转换为单词Token;对源程序代码进行从左到右的逐行扫描,识别出各个单词,从而确定单词的类型;将识别出的单词转换为统一的词法单位Token形式;所述语法分析器Parser,用来进行语法检查,并构建由输入的单词Token组成的数据结构,即抽象语法树AST。3.根据权利要求1所述的去中心化金融协议智能合约转化方法,其特征在于:步骤2中,所述SPESC的BNF范式,是对SPESC语言的拓展巴克斯范式SPESC[EBNF]转化为一般巴克斯范式;其中,EBNF是BNF的扩展,是进BPMN2.0[EBNF]改写成符合K框架要求的巴科斯范式BPMN2.0[BNF]形式,改写规则包括以下4点:(1)等价符号的改写;由“=”改写为“::=”,两个符号表示意思相同,后者为BNF中等价的符号;(2)可选符号的改写;EBNF中“[]”表示[]中表达式均可选择,且其出现次数为0次或1次,改写成BNF中“|”,此符号代表“或”的关系,改写后语法不变;(3)分组符号的改写;EBNF中“()”表示()中的表达式为一组,改写成BNF中的“|”,使用此符号将所有可能出现的表达式罗列,改写后语法不变;(4)重复符号的改写;EBNF中“{}”表示{}中表达式均出现,且其出现次数为1次或者多次,改成写BNF中“|”,使用此符号将所有可能出现的表达式罗列,改写后语法不变;定义得到SPESC的巴科斯范式,即SPESC抽象语法树的BNF范式。4.根据权利要求1所述的去中心化金融协议智能合约转化方法,其特征在于:步骤3中,所述给出SPESC抽象语法树到GO抽象语法树的语义映射关系,包括从变量映射、常量及表达式映射、自定义函数、进程与事件四个方面完成映射关系。具体步骤包括:(1)变量映射;SPESC的数据用String来定义,在数据类型的转换上,直接与Go的String对应;(2)常量及表达式映射,具体映射规则为下表1;表1SEPSCGo类型>、>=、<、<=、=、!=和belong to>、>=、<、<=、==、!=和无对应关系运算符+、-、*、/、**+、-、*、/、<<算术运算符含整型常量、浮点常量、布尔常量含整型常量、浮点常量、布尔常量常量
&&、||...
【专利技术属性】
技术研发人员:孟博,王佳慧,王德军,王陈,
申请(专利权)人:湖北云商智创信息技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。