摘要
RegLang是一种面向监管规则设计的智能合约编程语言,旨在支撑监管规则数字化与合约化,已在金融等领域取得初步应用。然而,在实际应用中,金融监管领域的“适用冲突”“多轨规制”等规则冲突问题可能对区块链金融应用造成严重影响,在增加从业机构合规成本的同时,对监管合约的有效性带来挑战。针对上述问题,提出监管合约变量类型依赖分析方法与基于依赖图的变量类型传播分析方法,推断监管合约中所有变量的可能类型,并根据可满足性模理论求解器支持的符号类型实现监管合约中变量、语句和规则的符号化。基于符号分析的规则冲突检测方法,将监管规则冲突问题转换为可满足性问题,从而检测监管合约中规则的自冲突、完全冲突和局部冲突,并针对多个监管规则间完全冲突检测中的状态空间爆炸问题提出子集划分算法进行优化。实验结果表明,RegLang监管合约规则冲突检测方法可以有效检测各类监管规则冲突,在对代码行数为300行的监管规则进行冲突检测时,自冲突、完全冲突和局部冲突的平均检测耗时分别为1 234.9 ms、1 977.8 ms和2 364.5 ms,在实际应用中是可接受的,能够为实现监管规则数字化提供有效保障。
- 单位