CN116308841B - 一种基于rpa和区块链的财务监管方法 - Google Patents

一种基于rpa和区块链的财务监管方法 Download PDF

Info

Publication number
CN116308841B
CN116308841B CN202310086948.2A CN202310086948A CN116308841B CN 116308841 B CN116308841 B CN 116308841B CN 202310086948 A CN202310086948 A CN 202310086948A CN 116308841 B CN116308841 B CN 116308841B
Authority
CN
China
Prior art keywords
financial
node
data
blockchain
data operation
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.)
Active
Application number
CN202310086948.2A
Other languages
English (en)
Other versions
CN116308841A (zh
Inventor
陈丞
汪潋
雷琪
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Chengdu Redicloud Technology Co ltd
Original Assignee
Chengdu Redicloud Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Chengdu Redicloud Technology Co ltd filed Critical Chengdu Redicloud Technology Co ltd
Priority to CN202310086948.2A priority Critical patent/CN116308841B/zh
Publication of CN116308841A publication Critical patent/CN116308841A/zh
Application granted granted Critical
Publication of CN116308841B publication Critical patent/CN116308841B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/12Accounting
    • G06Q40/125Finance or payroll
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/45Structures or tools for the administration of authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/103Workflow collaboration or project management
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Strategic Management (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Accounting & Taxation (AREA)
  • Human Resources & Organizations (AREA)
  • Finance (AREA)
  • General Health & Medical Sciences (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Entrepreneurship & Innovation (AREA)
  • General Business, Economics & Management (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • Databases & Information Systems (AREA)
  • Operations Research (AREA)
  • Development Economics (AREA)
  • Data Mining & Analysis (AREA)
  • Technology Law (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

本发明公开了一种基于RPA和区块链的财务监管方法,该方法包括:采用多节点方式构建一条财务区块链;建立基于规则的财务相关RPA流程;当新的财务操作被发起,财务数据操作发起端则根据获取的财务操作相关内容进行加密并生成新的区块,广播通知财务区块链各节点进行验证并加入财务区块链;财务监管端校验存入本地财务区块链副本的智能合约,并通知财务数据处理端进行处理;财务数据处理端收到通知进行处理后,将处理的结果进行加密并生成新的区块,广播通知财务区块链各节点进行验证并加入财务区块链。本发明能准确地处理监管单位财务流程进行有效且安全的监管,可大幅提高待监管单位财务监管效率,解决了传统财务监管方法监管不及时、不到位的问题。

Description

一种基于RPA和区块链的财务监管方法
技术领域
本发明涉及区块链技术和数据监管技术领域,具体为一种基于RPA和区块链的财务监管方法。
背景技术
RPA(Robotic Process Automation)的全称为机器人流程自动化,主要的功能就是将工作信息与业务交互通过机器人来按照自先设计的流程去执行。这样如果当工作信息与业务交互过多时,RPA可以高效地解决复杂的工业操作流程,节约人工成本。如今,RPA已成为当今应用最为广泛、效果最为显著、成熟度较高的智能化软件。基础的工具型RPA由控制器、编辑器及运行器组成。应用场景主要包括财务监管、人力资源、采购、供应链管理等等,如费用报销、单据审核、人员入职、开具证明、订单核对等等。
区块链技术凭借自身优势,可通过块链的数据结构储存数据和节点共识方法来进行数据更新、校验以及储存,并利用密码学和智能合约来构建一种分布式架构。区块链被运用到财务监管和会计工作中后,财务监管系统的信息收集和记录方法也发生了巨大的变化,财务管理系统逐渐成为一种差异化的模式,且不同区域的各个分布节点相对完整和独立,能够有效地确保账目数据的完整性和安全性。区块链技术具有去中心化、去信任、信息安全加密、数据可追溯和智能合约等特征,主要体现在:首先,避免了信息不对称;其次,在去信任的过程中,通过共识体系,区块链技术为网络中的每一个环节提供了实时、同步的认证,使得即便互相不信任的人也可以通过背书实现合作,将区块链数据公开化、透明化,保证了信息的互通性;再者,通过对交易时间以及顺序排列,形成了链条式的轨迹,所有发生的记录不可改变,保证了交易信息的一致性;进一步,对所有事件的轨迹进行记载并保存,如果出现未经批准的数据重复情况,可对其快速识别及追责;最后,智能合约由脚本代码自动生成,如果发现交易的行为,可以自动触发命令,进行交易。
传统的财务监管方式比较片面,对资金消耗情况的管理有不及时的情况,且需要依赖财务的收支明细进行分析。此外,传统的财务监管方法无法应对财务的收支明细不明确时的监管需求,进而无法准确地分析财务情况以及得出财务相关结论。再者,传统的财务监管方法还依赖于人工审计,需要人工手动按照工作流分别统计财务收支,人工计算效率低下、操作复杂、工作量大且容易出错。在数据和财经监管领域内,如何及时且有效的对财务进行全流程监管管理是至关重要的。
发明内容
有鉴于此,本发明的目的是提供一种基于RPA和区块链的财务监管方法。相比传统的财务监管方法,本发明不依赖于人工统计和分析财务相关数据,完全基于RPA进行自动化财务审计和监管流程,基于待监管单位环境真实数据进行财务的监管活动,利用机器人流程自动化获取标准化数据进行财务监管,可以提高监管效能,相比于传统人工监管流程,监管效率和准确率更高。
本发明的目的是通过以下技术方案实现的:
一种基于RPA和区块链的财务监管方法,包括以下步骤:
S1:采用多节点方式构建一条财务区块链,节点包括财务监管端节点、财务区块链数据存放端节点、财务数据操作发起端节点和财务数据操作处理端节点;
S2:根据待监管单位的财务流程调研结果,建立基于规则的财务相关RPA流程;
S3:一旦有新的财务操作被发起,财务数据操作发起端则根据获取的财务操作相关内容进行加密并生成新的区块,广播通知财务区块链各节点进行验证并加入财务区块链;
S4:财务监管端校验存入本地财务区块链副本的智能合约,并通知财务数据处理端进行处理;
S5:财务数据处理端收到通知进行处理后,将处理的结果进行加密并生成新的区块,广播通知财务区块链各节点进行验证并加入财务区块链。
进一步,所述步骤S1具体包括:
S101:采集器获取财务监管端、财务区块链数据存放端、财务数据操作发起端和财务数据操作处理端生成相应数组;
S102:根据所获财务监管端数组Role1、财务区块链数据存放端数组Role2、财务数据操作发起端数组Role3和财务数据操作处理端数组Role4,构建财务区块链
S103:财务监管端为财务区块链上的所有节点颁发私钥和公钥。
进一步,所述步骤S2具体包括:
S201:采集器获取待监管单位的财务流程数组,需要通过数据采集器获取的待监管单位的财务流程数组为:财务流程数组Array1,财务流程数组Array1中每一个元素P为一个集合,财务流程P={Parentprocedure,当前财务操作流程的前置财务操作流程;Procedure,当前财务操作流程;Type,财务操作类型;Role,当前财务操作端数组},其中P为财务流程,Role具体为财务数据操作发起端数组Role3与财务数据操作处理端数组Role4中任意一个元素;
S202:根据所获待监管单位的财务流程数组,构建基于规则的财务相关RPA流程;具体如下:对于S201步骤中财务流程P不同的Role,都建立一个RPA流程有向图Gri(Vertex,Eedg),其中Gri(Vertex,Eedg)是基于财务流程P中第i个Role生成的基于规则的财务相关RPA流程,具体体现为有向图,Vertex为有向图Gri的节点的集合,有向图Gri的节点的集合Vertex中每一个节点都可以表示为Vertexs,Eedg为有向图Gri连接各个节点有向边的集合,对于有向边的集合Eedg中每一条有向边都可以用<Vertexi,Vertexj>表示,i和j表示节点的下标,<Vertexi,Vertexj>也可表示为当前财务操作流程Procedurek,Vertexi为步骤S201中财务流程数组Array1中集合P的子元素的Parentprocedure,具体表示为当前财务操作流程的前置财务操作流程,Procedurek具体表示为当前财务流程的编号,Vertexj为步骤S201中财务流程数组Array1中集合P的子元素的Procedure,具体表示为当前财务操作流程。
进一步,所述步骤S3具体包括:
S301:财务数据操作发起端使用采集器获取财务操作相关内容;
S302:根据所获财务操作相关内容,财务数据操作发起端加密并生成新的区块,并通知财务区块链上所有节点进行验证。
进一步,所述步骤S4具体包括:
S401:财务监管端验证新的区块的财务操作相关内容;
S402:财务操作相关内容验证通过后,财务监管端通知财务数据操作处理端进行处理。
进一步,所述步骤S5具体包括:
S501:所述财务数据操作处理端解密并处理财务操作相关内容;
S502:使用数据采集器获取财务操作相关内容,财务数据操作处理端加密并生成新的区块,财务数据操作处理端通知财务区块链上所有节点进行验证;
S503:财务监管端经过验证后将新的区块加入财务区块链。
进一步,所述步骤S101中需要通过数据采集器获取的数组为:
财务监管端数组Role1{FSV1,财务监管者1:FSV2,财务监管者2:…:FSVi,财务监管者i},财务区块链数据存放端数组Role2{FBS1,财务区块链数据存放者1:FBS2,财务区块链数据存放者2:…:FBSj,财务区块链数据存放者j},财务数据操作发起端数组Role3{FOI1,财务数据操作发起者1:FOI2,财务数据操作发起者2:…:FOIk,财务数据操作发起者k},财务数据操作处理端数组Role4{FOP1,财务数据操作处理者1:FOP2,财务数据操作处理者2:…:FOPl,财务数据操作处理者l};
所述步骤S102中根据所获财务监管端、财务区块链数据存放端、财务数据操作发起端和财务数据操作处理端数组,构建财务区块链如下:根据财务监管端数组Role1、财务区块链数据存放端数组Role2、财务数据操作发起端数组Role3和财务数据操作处理端数组Role4作为节点一同建立一条财务区块链FChain,财务区块链FChain={Node1,区块1:Node2,区块2:…:Nodei,区块i},其中FChain表示存放所有智能合约的财务区块链,Node1表示区块1,Node2表示区块2,Nodei表示区块i,每个区块均为一个集合,Node={Parenthash,前一个区块Hash值;Difficulty,难度;Once,重复次数;Merkle,存放Asset的hash值的Merkle树;Timestamp,当前Unix时间戳;Uuid,当前Uuid;Asset,存放有加密后财务操作相关内容的集合;
SmartContract(),智能合约履约方法},其中Merkle树是一类基于哈希值的二叉树或多叉树,其生成过程如下所示:
(1)从Asset中获取n个加密的财务操作相关内容CF;
(2)将n个加密的财务操作相关内容CF加入Merkle树最底层,此时t=0;
(3)对数据块做hash运算,TNodeti=Hash(CFi)其中1≤i≤n;
(4)相邻两个TNode块串联,然后做hash运算;
(5)TNode(t+1)((k+1)/2)=Hash(TNodetk+TNodet(k+1)),且k=1,3,5,7,…,n-1;
(6)若k为奇数,对于k=n,TNode(t+1)((n+1)/2)=Hash(TNode0n);
(7) t = t+1;
(8)重复执行以上计算规则(3)-(7),直到生成单独一个Merkle树的根节点;
其中,TNode为Merkle树的一个节点,Hash()为计算sha-256值的方法,加密的财务操作相关内容CF为经过了财务数据操作发起者公钥加密后的财务操作相关内容F,CF=SMC2(F,PubK),其中SMC2()为基于SM2加解密算法的加密过程,PubK为财务监管者颁发给财务数据操作发起者的公钥,财务操作相关内容F为一个集合,财务操作相关内容F={From,此次财务操作的财务数据操作发起者:To,此次财务操作的财务数据操作处理者:Timestamp,当前Unix时间戳:Content,财务操作主体内容:Procedure,当前财务操作流程},其中,From为此次财务操作的财务数据操作发起者,To为此次财务操作的财务数据操作处理者,Timestamp为当前Unix时间戳,Content为财务操作主体内容,Procedure为当前财务操作流程;Asset为存放有加密的财务操作相关内容的集合,Asset={CF1,加密的财务操作相关内容1:CF2,加密的财务操作相关内容2:…:CFi,加密的财务操作相关内容i},其中CF1为第1个加密的财务操作相关内容,CF2为第2个财务操作相关内容,CFi为第i个加密的财务操作相关内容,SmartContract()为智能合约履约方法,财务区块链FChain中每个节点均在本地保有财务区块链副本CFChain,其中CFChain为财务区块链各节点在本地保有的财务区块链副本,且FChain=CFChain;
所述步骤S103中财务监管端为财务区块链上所有的节点颁发私钥和公钥,如下:财务监管者根据财务监管端数组Role1、财务区块链数据存放端数组Role2、财务数据操作发起端数组Role3和财务数据操作处理端数组Role4,为数组中所有节点生成私钥PK,有PK=SM2PK(),公钥PubK,且有PubK=SM2PubK(),其中PK为财务区块链中任意节点的私钥,PubK为财务区块链中任意节点的公钥,且有PK与PubK为唯一密钥对,需要同时生成和保存,SM2PK()为基于SM2加解密算法生成私钥的函数,SM2PubK()为基于SM2加解密算法生成公钥的函数。
进一步,所述步骤S301中,财务数据操作发起端使用采集器获取基于规则的财务相关流程如下:
使用采集器获取财务操作相关内容F={From,此次财务操作的财务数据操作发起者:To,此次财务操作的财务数据操作处理者:Timestamp,当前Unix时间戳:Content,财务操作主体内容:Procedure,当前财务操作流程};
所述步骤S302中根据所获财务操作相关内容,使用财务数据操作发起端进行加密并生成新的区块、通知财务区块链上所有节点进行验证,流程如下:财务监管者FSV向财务数据操作发起者From广播财务监管者FSV的公钥PubK1,财务数据操作发起者From将自己的私钥PK2以财务监管者FSV的公钥PubK1为密钥进行基于SM2加解密算法的加密,得到财务数据操作发起者From的加密私钥PK3并发送给财务监管者FSV,其中,PK3=SMC2(PK2,PubK1),财务数据操作发起者From使用自己的公钥PubK2对步骤S301中数据采集器所获财务操作相关内容F进行基于SM2加解密算法的加密,得到加密的财务操作相关内容CF,CF=SMC2(F,PubK2),将CF放入步骤S102区块Node的Asset集合中,并调用Miner()方法进行计算,最后向财务区块链所有节点广播新生成的Node节点请求验证,其中PubK1为财务监管者FSV的公钥,PubK2为财务数据操作发起者From的公钥,PK3为财务数据操作发起者From的加密私钥,PK2为财务数据操作发起者From的私钥,SMC2()为基于SM2加解密算法的加密方法,CF为加密的财务操作相关内容,Miner()方法为基于POW的计算方法,具体为:
(1) hash=Hash(Parenthash+Difficulty+Once+Merkle+Timestamp+Uuid+Asset);
(2)如果hash以Difficulty开头,结束Miner()方法;
(3)否则,Once=Once+1,hash=Hash(hash);
(4)循环执行以上操作(2)-(3)直到Miner()方法结束;
其中,Hash()为计算sha-256值的方法;
所述步骤S303中财务监管者经过验证后将新区块加入财务区块链的流程如下:财务监管者FSV获取到财务数据操作发起者From广播的新节点Node,使用Verify(Node)方法验证新增Node节点合法性,使用共识验证方法Consensus()广播验证,财务监管者FSV收到过半节点认同后将Node节点存入财务区块链中,Verify()为校验Node的合法性方法,Verify()方法计算:hash=Hash(Node.Parenthash+Node.Difficulty+Node.Once+Node.Merkle+Node.Timestamp+Node.Uuid+Node.Asset),如果hash以Difficulty开头,验证通过,反之则不通过,其中Hash()为计算sha-256值的方法,Node为步骤S302中新增节点,Consensus()方法可向财务区块链所有节点进行广播,具体为,财务监督者FSV向所有节点广播信息Message=“Vervify”,所有节点获取Message后调用Verify()方法验证步骤S302中新生成的节点Node并返回结果Ture/False,即通过/未通过,若过半节点返回的结果为Ture,则将新节点Node加入财务区块链FChain中,并通知财务区块链所有节点更新本地的财务区块链副本CFChain。
进一步,所述步骤所述S401中财务监管端验证新的区块的财务操作相关内容步骤为:
财务监管者FSV收到财务数据操作发起者From广播的加密后的私钥PK3,使用自己的私钥PK1解密PK3,从而得到财务数据操作发起者From的私钥PK2,有PK2=SMD2(PK3,PK1),财务监管者FSV获取本地财务区块链副本CFChain中新增节点Node,解密财务操作相关内容F=SMD2(Node.Asset.CF,PK2),使用Check()方法验证财务操作相关内容F的合法性;其中PK1为财务监管者FSV私钥,PK3为财务数据操作发起者From广播的加密后的私钥,PK2为财务数据操作发起者From的私钥,SMD2()为基于SM2加解密算法的解密方法,CFChain为本地财务区块链副本,Node为步骤S302中新增节点,Asset为存放有加密的财务操作相关内容的集合,CF为加密后的财务操作相关内容,F为财务操作相关内容,Check()方法可验证财务操作相关内容F的合法性,具体为,根据数据操作发起者From的用户名Role获取步骤S202所生成的有向图Gr,取得Gr中的节点的集合Vertex,若存在Vertexi=F.Procedure,则说明该财务操作是合法的,若不存在Vertexi=F.Procedure,则说明该财务操作是非法的;
所述步骤S402中通知财务数据操作处理端进行处理的过程如下:若经过步骤S401校验后财务操作是非法的,则不通知财务数据操作处理者To,若经过步骤S401校验后财务操作是合法的,则通知财务数据操作处理者To发送公钥PubK4,财务监管者FSV将步骤S401获取的财务数据操作发起者From的私钥PK2,根据PubK4进行基于SM2加解密算法的加密得到PK5,得到PK5=SMC2(PK2,PubK4),并把加密得到的PK5发送给财务数据操作处理者To,其中,To为财务数据操作处理者,PubK4为财务数据操作处理者To的公钥,PK2为财务数据操作发起者From的私钥,PK5为加密过后的财务数据操作发起者From的私钥,SMC2()为基于SM2加解密算法的加密方法。
进一步,所述步骤S501中的具体流程如下:
财务数据操作处理者To获取加密后的财务数据操作发起者From的私钥PK5,使用自己的私钥PK4对加密后的私钥PK5进行解密,从而得到财务数据操作发起者From的私钥PK2,有PK2=SMD2(PK5,PK4),解密财务操作相关内容F=SMD2(Node.Asset.CF,PK2),从而获得财务操作相关内容F,相关内容F可通过步骤S202中构建的基于规则的财务相关RPA流程在本系统中进行呈现,其中PK4为财务数据操作处理者To的私钥,PK2为财务数据操作发起者From的私钥,PK5为加密过后的财务数据操作发起者From的私钥,SMD2()为基于SM2加解密算法的解密方法,Node为步骤S302中新增节点,Asset为存放有加密的财务操作相关内容的集合,CF为加密后的财务操作相关内容,F为财务操作相关内容;
所述步骤S502的具体流程如下:使用采集器获取财务操作相关内容F,财务监管者FSV向财务数据操作处理者To广播财务监管者FSV的公钥PubK1,财务数据操作处理者To使用财务监管者FSV的公钥PubK1对步骤S502中数据采集器所获财务操作相关内容F进行基于SM2加解密算法的加密操作得到加密的财务操作相关内容CF,有CF=SMC2(F,PubK1),将CF放入步骤S102区块Node的Asset集合中,调用Node中SmartContract()方法进行智能合约履约方法,随后调用Miner()方法进行计算,最后向财务区块链所有节点广播新生成的Node节点请求验证,其中PubK1为财务监管者FSV的公钥,SMC2()为基于SM2加解密算法的加密方法,SmartContract()为智慧合约履约方法,该方法是一种将Asset从未履约状态转变为已履约状态的抽象方法,Miner()方法为基于POW的计算方法,Asset为存放有加密的财务操作相关内容的集合,CF为加密后的财务操作相关内容,F为财务操作相关内容;
所述步骤S503的具体步骤如下:财务监管者FSV获取到财务数据操作处理者To广播的新节点Node,使用Verify(Node)方法验证新增Node节点合法性,使用共识验证方法Consensus()广播验证,财务监管者FSV收到过半节点认同后将Node节点存入财务区块链中,Verify()为校验Node的合法性方法,Verify()方法计算:hash=Hash(Node.Parenthash+Node.Difficulty+Node.Once+Node.Merkle+Node.Timestamp+Node.Uuid+Node.Asset),如果hash以Difficulty开头,验证通过,反之则不通过,其中Hash()为计算sha-256值的方法,Node为步骤S502中新增节点,Consensus()方法可向财务区块链所有节点进行广播,具体为,财务监督者FSV向所有节点广播信息Message=“Vervify”,所有节点获取Message后调用Verify()方法验证步骤S502中新生成的节点Node并返回结果Ture/False,即通过/未通过,若过半节点返回的结果为Ture,则将新节点Node加入财务区块链FChain中,并通知财务区块链所有节点更新本地的财务区块链副本CFChain。
本发明的有益效果是:
(1)本发明通过采集待监管单位环境的财务监管者、财务区块链数据存放者、财务数据操作发起者和财务数据操作处理者四种角色生成财务区块链,去中心化的区块链能有效地避免外界攻击,有效地保护待监管单位财务数据安全;
(2)本发明根据获取的不同待监管单位不同个体的财务工作流数据建立不同的RPA流程,建立不同的基于规则的财务相关RPA流程,能够更加客观和真实地反应不同待监管单位中不同个体的差异性,从而提高RPA流程审计的准确性;
(3)本发明通过采集财务数据操作发起者获取财务操作相关内容,财务数据操作发起者加密并生成新的区块后通知财务区块链上所有节点进行验证,能够有效避免传统财务监管方法不能完全客观且及时监管财务操作的不足,进而准确且及时地对整个财务操作流程进行财务监管;
(4)相比传统的财务监管方法,本发明不依赖于人工统计和分析财务相关数据,完全基于RPA进行自动的财务审计和监管流程,基于待监管单位环境真实数据进行财务的监管,利用机器人流程自动化获取标准化数据进行财务监管,可以提高监管效能,相比于传统人工监管流程,监管效率和准确率更高;
(5)相比传统的财务监管方法,本发明使用区块链的技术存储财务操作数据,有效地避免了数据泄露的安全性问题,使用SM2加解密方法进行财务操作数据的加解密,有效地防止了数据破解和篡改的可能性,可以进一步提高RPA的监管效能,相比于传统财务监管流程,实时性和安全性更高。
本发明的其他优点、目标和特征在某种程度上将在随后的说明书中进行阐述,并且在某种程度上,基于对下文的考察研究对本领域技术人员而言将是显而易见的,或者可以从本发明的实践中得到教导。本发明的目标和其他优点可以通过下面的说明书和前述的权利要求书来实现和获得。
附图说明
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步的详细描述,其中:
图1为本发明一种基于RPA和区块链的财务监管方法流程示意图;
图2为本发明实施例数据采集器获取的财务监管端、财务区块链数据存放端、财务数据操作发起端和财务数据操作处理端数组示例图;
图3为本发明实施例财务区块链示例图;
图4为本发明实施例财务区块链节点私钥和公钥示例图;
图5为本发明实施例数据采集器获取的财务流程数组示例图;
图6为本发明实施例基于规则的财务相关RPA流程示例图;
图7为本发明实施例通过数据采集器获取的财务操作相关内容示例图;
图8为本发明实施例新生成的Node节点示例图;
图9为本发明实施例处理后的财务操作相关内容示例图;
图10为本发明实施例处理后新增的Node节点示例图。
具体实施方式
以下将参照附图,对本发明的优选实施例进行详细的描述。应当理解,优选实施例仅为了说明本发明,而不是为了限制本发明的保护范围。
如图1所示,本发明的一种基于RPA和区块链的财务监管方法,包括如下步骤:
步骤S1:采用多节点方式构建一条财务区块链,节点包括财务监管端节点、财务区块链数据存放端节点、财务数据操作发起端节点和财务数据操作处理端节点;
本实施例中,数据采集器为真实财务监管系统的子功能模块,数据采集任务如图2所示,财务区块链如图3所示,财务区块链节点私钥和公钥图如图4所示。
本实施例中,所述步骤S1包括以下分步骤:
步骤S101:采集器获取财务监管端、财务区块链数据存放端、财务数据操作发起端和财务数据操作处理端生成相应数组;
步骤S101中数据采集任务如图2所示,并且数据采集任务的格式为:财务监管端数组Role1{FSV1,财务监管者1:FSV2,财务监管者2:…:FSVi,财务监管者i},财务区块链数据存放端数组Role2{FBS1,财务区块链数据存放者1:FBS2,财务区块链数据存放者2:…:FBSj,财务区块链数据存放者j},财务数据操作发起端数组Role3{FOI1,财务数据操作发起者1:FOI2,财务数据操作发起者2:…:FOIk,财务数据操作发起者k},财务数据操作处理端数组Role4{FOP1,财务数据操作处理者1:FOP2,财务数据操作处理者2:…:FOPl,财务数据操作处理者l},其中Role1表示存放所有财务监管者的数组,FSV1表示财务监管者1,FSV2表示财务监管者2,FSVi表示财务监管者i,Role2表示存放所有财务区块链数据存放者的数组,FBS 1表示财务监管者1,FBS2表示财务监管者2,FBSj表示财务监管者j,Role3表示存放所有财务数据操作发起者的数组,FOI 1表示财务数据操作发起者1,FOI 2表示财务数据操作发起者2,FOIk表示财务数据操作发起者k,Role4表示存放所有财务数据操作处理者的数组,FOP1表示财务数据操作处理者1,FOP2表示财务数据操作处理者2,FOPl表示财务数据操作处理者l。
步骤S102:根据所获财务监管端数组Role1、财务区块链数据存放端数组Role2、财务数据操作发起端数组Role3和财务数据操作处理端数组Role4,构建财务区块链。
本实施例中将图2中数据任务采集的财务监管端、财务区块链数据存放端、财务数据操作发起端和财务数据操作处理端数组作为输入,输出为图3中财务区块链。
步骤S102根据财务监管端数组Role1、财务区块链数据存放端数组Role2、财务数据操作发起端数组Role3和财务数据操作处理端数组Role4作为节点一同建立一条财务区块链FChain,财务区块链FChain={Node1,区块1:Node2,区块2:…:Nodei,区块i},其中FChain表示存放所有智能合约的财务区块链,Node1表示区块1,Node2表示区块2,Nodei表示区块i,每个区块均为一个集合,Node={Parenthash,前一个区块Hash值:Difficulty,难度:Once,重复次数:Merkle,存放Asset的hash值的Merkle树:Timestamp,当前Unix时间戳:Uuid,当前Uuid:Asset,存放有加密后财务操作相关内容的集合:SmartContract(),智能合约履约方法},其中Parenthash为前一个区块Hash值,Difficulty为难度,Once为重复次数默认为0,Merkle为存放Asset的hash值的Merkle树,Timestamp为当前Unix时间戳,Uuid为当前Uuid,其中Merkle树是一类基于哈希值的二叉树或多叉树,其生成过程如下所示:
(1)从Asset中获取n个加密的财务操作相关内容CF;
(2)将n个加密的财务操作相关内容CF加入Merkle树最底层,此时t=0;
(3)对数据块做hash运算,TNodeti=Hash(CFi)其中1≤i≤n;
(4)相邻两个TNode块串联,然后做hash运算;
(5)TNode(t+1)((k+1)/2)=Hash(TNodetk+TNodet(k+1)),且k=1,3,5,7,…,n-1;
(6)若k为奇数,对于k=n,TNode(t+1)((n+1)/2)=Hash(TNode0n);
(7) t = t+1;
(8)重复执行以上计算规则(3)-(7),直到生成单独一个Merkle树的根节点;
其中,TNode为Merkle树的一个节点,Hash()为计算sha-256值的方法,加密的财务操作相关内容CF为经过了财务数据操作发起者公钥加密后的财务操作相关内容F,CF=SMC2(F,PubK),其中SMC2()为基于SM2加解密算法的加密过程,PubK为财务监管者颁发给财务数据操作发起者的公钥,财务操作相关内容F为一个集合,财务操作相关内容F={From,此次财务操作的财务数据操作发起者:To,此次财务操作的财务数据操作处理者:Timestamp,当前Unix时间戳:Content,财务操作主体内容:Procedure,当前财务操作流程},其中,From为此次财务操作的财务数据操作发起者,To为此次财务操作的财务数据操作处理者,Timestamp为当前Unix时间戳,Content为财务操作主体内容,Procedure为当前财务操作流程;Asset为存放有加密的财务操作相关内容的集合,Asset={CF1,加密的财务操作相关内容1:CF2,加密的财务操作相关内容2:…:CFi,加密的财务操作相关内容i},其中CF1为第1个加密的财务操作相关内容,CF2为第2个财务操作相关内容,CFi为第i个加密的财务操作相关内容,SmartContract()为智能合约履约方法,财务区块链FChain中每个节点均在本地保有财务区块链副本CFChain,其中CFChain为财务区块链各节点在本地保有的财务区块链副本,且FChain=CFChain。
步骤S103:财务监管端为财务区块链上所有的节点颁发私钥和公钥。
本实施例中将图2中数据任务采集的财务监管端、财务区块链数据存放端、财务数据操作发起端和财务数据操作处理端数组作为输入,输出为图4中财务区块链节点私钥和公钥。
步骤S103中财务监管者为财务区块链上所有的节点颁发私钥和公钥如下:财务监管者根据财务监管端数组Role1、财务区块链数据存放端数组Role2、财务数据操作发起端数组Role3和财务数据操作处理端数组Role4,为数组中所有节点生成私钥PK,有PK=SM2PK(),公钥PubK,且有PubK=SM2PubK(),其中PK为财务区块链中任意节点的私钥,PubK为财务区块链中任意节点的公钥,且有PK与PubK为唯一密钥对,需要同时生成和保存,SM2PK()为基于SM2加解密算法生成私钥的函数,SM2PubK()为基于SM2加解密算法生成公钥的函数。
步骤S2:根据待监管单位的财务流程调研结果,建立基于规则的财务相关RPA流程;
本实施例中,数据采集器为真实财务监管系统的子功能模块,通过数据采集器获取的待监管单位的财务流程数组如图5所示,基于规则的财务相关RPA流程如图6所示。
本实施例中,S2具体包括如下步骤:
步骤S201:采集器获取待监管单位的财务流程数组。
需要通过数据采集器获取的待监管单位的财务流程数组为:财务流程数组Array1,财务流程数组Array1中每一个元素P为一个集合,财务流程P={Parentprocedure,当前财务操作流程的前置财务操作流程:Procedure,当前财务操作流程:Type,财务操作类型:Role,当前财务操作端数组},其中P为财务流程,Parentprocedure为当前财务操作流程的前置财务操作流程,Procedure为当前财务操作流程,Type为财务操作类型,Role为当前财务操作端数组,Role具体为财务数据操作发起端数组Role3与财务数据操作处理端数组Role4中任意一个元素,财务流程数组如图5所示。
步骤S202:根据所获待监管单位的财务流程数组,构建基于规则的财务相关RPA流程。
本实施例中将图5中通过数据采集器获取的财务流程数组作为RPA流程的输入,输出为图6中基于规则的财务相关RPA流程。
对于S201步骤中财务流程P不同的Role,都建立一个RPA流程有向图Gri(Vertex,Eedg),其中Gri(Vertex,Eedg)是基于财务流程P中第i个Role生成的基于规则的财务相关RPA流程,具体体现为有向图,Vertex为有向图Gri的节点的集合,有向图Gri的节点的集合Vertex中每一个节点都可以表示为Vertexs,Eedg为有向图Gri连接各个节点有向边的集合,对于有向边的集合Eedg中每一条有向边都可以用<Vertexi,Vertexj>表示,i和j表示节点的下标,<Vertexi,Vertexj>也可表示为当前财务操作流程Procedurek,Vertexi为步骤S201中财务流程数组Array1中集合P的子元素的Parentprocedure,具体表示为当前财务操作流程的前置财务操作流程,Procedurek具体表示为当前财务流程的编号,Vertexj为步骤S201中财务流程数组Array1中集合P的子元素的Procedure,具体表示为当前财务操作流程,基于规则的财务相关RPA流程如图6所示。
步骤S3:一旦有新的财务操作被发起,财务数据操作发起端则根据获取的财务操作相关内容进行加密并生成新的区块,广播通知财务区块链各节点进行验证并加入财务区块链;
本实施例中,数据采集器为真实财务监管系统的子功能模块,通过数据采集器获取的财务操作相关内容如图7所示,新生成的Node节点如图8所示。
本实施例中,S3具体包括如下步骤:
步骤S301:财务数据操作发起者使用采集器获取财务操作相关内容。
使用采集器获取财务操作相关内容F={From,此次财务操作的财务数据操作发起者:To,此次财务操作的财务数据操作处理者:Timestamp,当前Unix时间戳:Content,财务操作主体内容:Procedure,当前财务操作流程},其中From为此次财务操作的财务数据操作发起者,To为此次财务操作的财务数据操作处理者,Timestamp为当前Unix时间戳,Content为财务操作主体内容,Procedure为当前财务操作流程。财务操作相关内容如图7所示。
步骤S302:根据所获财务操作相关内容,财务数据操作发起者加密并生成新的区块,财务数据操作发起者通知财务区块链上所有节点进行验证。
本实施例中将图7中通过数据采集器获取的财务操作相关内容作为节点生成算法的输入,输出为图8中新生成的Node节点。
根据所获财务操作相关内容,使用财务数据操作发起者进行加密并生成新的区块、通知财务区块链上所有节点进行验证流程如下:
财务监管者FSV向财务数据操作发起者From广播财务监管者FSV的公钥PubK1,财务数据操作发起者From将自己的私钥PK2以财务监管者FSV的公钥PubK1为密钥进行基于SM2加解密算法的加密,得到财务数据操作发起者From的加密私钥PK3并发送给财务监管者FSV,其中,PK3=SMC2(PK2,PubK1),财务数据操作发起者From使用自己的公钥PubK2对步骤S301中数据采集器所获财务操作相关内容F进行基于SM2加解密算法的加密,得到加密的财务操作相关内容CF,CF=SMC2(F,PubK2),将CF放入步骤S102区块Node的Asset集合中,并调用Miner()方法进行计算,最后向财务区块链所有节点广播新生成的Node节点请求验证,其中PubK1为财务监管者FSV的公钥,PubK2为财务数据操作发起者From的公钥,PK3为财务数据操作发起者From的加密私钥,PK2为财务数据操作发起者From的私钥,SMC2()为基于SM2加解密算法的加密方法,CF为加密的财务操作相关内容,Miner()方法为基于POW的计算方法,具体为:
(1) hash=Hash(Parenthash+Difficulty+Once+Merkle+Timestamp+Uuid+Asset);
(2)如果hash以Difficulty开头,结束Miner()方法;
(3)否则,Once=Once+1,hash=Hash(hash);
(4)循环执行以上操作(2)-(3)直到Miner()方法结束;
其中,Hash()为计算sha-256值的方法,新生成的Node节点如图8所示。
步骤S303:财务监管端经过验证后将新的区块加入财务区块链。本实施例中,具体流程如下:
财务监管者FSV获取到财务数据操作发起者From广播的新节点Node,使用Verify(Node)方法验证新增Node节点合法性,使用共识验证方法Consensus()广播验证,财务监管者FSV收到过半节点认同后将Node节点存入财务区块链中,Verify()为校验Node的合法性方法,Verify()方法计算:hash=Hash(Node.Parenthash+Node.Difficulty+Node.Once+Node.Merkle+Node.Timestamp+Node.Uuid+Node.Asset),如果hash以Difficulty开头,验证通过,反之则不通过,其中Hash()为计算sha-256值的方法,Node为步骤S302中新增节点,Consensus()方法可向财务区块链所有节点进行广播,具体为,财务监督者FSV向所有节点广播信息Message=“Vervify”,所有节点获取Message后调用Verify()方法验证步骤S302中新生成的节点Node并返回结果Ture/False,即通过/未通过,若过半节点返回的结果为Ture,则将新节点Node加入财务区块链FChain中,并通知财务区块链所有节点更新本地的财务区块链副本CFChain。
步骤S4:财务监管端校验存入本地财务区块链副本的智能合约,并通知财务数据处理端进行处理;
本实施例中,S4具体包括如下步骤:
步骤S401:财务监管端验证新的区块的财务操作相关内容。本实施例中的具体步骤如下:
财务监管者FSV收到财务数据操作发起者From广播的加密后的私钥PK3,使用自己的私钥PK1解密PK3,从而得到财务数据操作发起者From的私钥PK2,有PK2=SMD2(PK3,PK1),财务监管者FSV获取本地财务区块链副本CFChain中新增节点Node,解密财务操作相关内容F=SMD2(Node.Asset.CF,PK2),使用Check()方法验证财务操作相关内容F的合法性;其中PK1为财务监管者FSV私钥,PK3为财务数据操作发起者From广播的加密后的私钥,PK2为财务数据操作发起者From的私钥,SMD2()为基于SM2加解密算法的解密方法,CFChain为本地财务区块链副本,Node为步骤S302中新增节点,Asset为存放有加密的财务操作相关内容的集合,CF为加密后的财务操作相关内容,F为财务操作相关内容,Check()方法可验证财务操作相关内容F的合法性,具体为,根据数据操作发起者From的用户名Role获取步骤S202所生成的有向图Gr,取得Gr中的节点的集合Vertex,若存在Vertexi=F.Procedure,则说明该财务操作是合法的,若不存在Vertexi=F.Procedure,则说明该财务操作是非法的;
步骤S402:财务操作相关内容验证通过后,财务监管端通知财务数据操作处理端进行处理。具体过程如下:
若经过步骤S401校验后财务操作是非法的,则不通知财务数据操作处理者To,若经过步骤S401校验后财务操作是合法的,则通知财务数据操作处理者To发送公钥PubK4,财务监管者FSV将步骤S401获取的财务数据操作发起者From的私钥PK2根据PubK4,进行基于SM2加解密算法的加密得到PK5,有PK5=SMC2(PK2,PubK4),并把加密得到的PK5发送给财务数据操作处理者To,其中To为财务数据操作处理者,PubK4为财务数据操作处理者To的公钥,PK2为财务数据操作发起者From的私钥,PK5为加密过后的财务数据操作发起者From的私钥,SMC2()为基于SM2加解密算法的加密方法。
步骤S5:财务数据处理者收到通知进行处理后,将处理的结果进行加密并生成新的区块,广播通知财务区块链各节点进行验证并加入财务区块链。
本实施例中,处理后的财务操作相关内容如图9所示,处理后的Node节点如图10所示。
本实施例中,步骤S5具体包括如下步骤:
步骤S501:财务数据操作处理者解密并处理财务操作相关内容。
财务数据操作处理者解密并处理财务操作相关内容方法如下所示:
财务数据操作处理者To获取加密后的财务数据操作发起者From的私钥PK5,使用自己的私钥PK4对加密后的私钥PK5进行解密,从而得到财务数据操作发起者From的私钥PK2,有PK2=SMD2(PK5,PK4),解密财务操作相关内容F=SMD2(Node.Asset.CF,PK2),从而获得财务操作相关内容F,相关内容F可通过步骤S202中构建的基于规则的财务相关RPA流程在本系统中进行呈现和处理,其中PK4为财务数据操作处理者To的私钥,PK2为财务数据操作发起者From的私钥,PK5为加密过后的财务数据操作发起者From的私钥,SMD2()为基于SM2加解密算法的解密方法,Node为步骤S302中新增节点,Asset为存放有加密的财务操作相关内容的集合,CF为加密后的财务操作相关内容,F为财务操作相关内容。处理后的财务操作相关内容如图9所示。
步骤S502:使用数据采集器获取财务操作相关内容,财务数据操作处理端加密并生成新的区块,财务数据操作处理端通知财务区块链上所有节点进行验证。
本实施例中将图9中通过数据采集器获取的新财务操作相关内容作为节点生成算法的输入,输出为图10中处理后新增的Node节点。
财务数据操作发起端加密并生成新的区块,财务数据操作发起端通知财务区块链上所有节点进行验证的流程如下所示:
使用采集器获取财务操作相关内容F,财务监管者FSV向财务数据操作处理者To广播财务监管者FSV的公钥PubK1,财务数据操作处理者To使用财务监管者FSV的公钥PubK1对步骤S502中数据采集器所获财务操作相关内容F进行基于SM2加解密算法的加密得到加密的财务操作相关内容CF,有CF=SMC2(F,PubK1),将CF放入步骤S102区块Node的Asset集合中,调用Node中SmartContract()方法进行智能合约履约方法,随后调用Miner()方法进行计算,最后向财务区块链所有节点广播新生成的Node节点请求验证,其中PubK1为财务监管者FSV的公钥,SMC2()为基于SM2加解密算法的加密方法,SmartContract()为智慧合约履约方法,该方法是一种将Asset从未履约状态转变为已履约状态的抽象方法,Miner()方法为基于POW的计算方法,Asset为存放有加密的财务操作相关内容的集合,CF为加密后的财务操作相关内容,F为财务操作相关内容。
步骤S503:财务监管端经过验证后将新的区块加入财务区块链。具体步骤如下:
财务监管者FSV获取到财务数据操作处理者To广播的新节点Node,使用Verify(Node)方法验证新增Node节点合法性,使用共识验证方法Consensus()广播验证,财务监管者FSV收到过半节点认同后将Node节点存入财务区块链中,Verify()为校验Node的合法性方法,Verify()方法计算:hash=Hash(Node.Parenthash+Node.Difficulty+Node.Once+Node.Merkle+Node.Timestamp+Node.Uuid+Node.Asset),如果hash以Difficulty开头,验证通过,反之则不通过,其中Hash()为计算sha-256值的方法,Node为步骤S502中新增节点,Consensus()方法可向财务区块链所有节点进行广播,具体为,财务监督者FSV向所有节点广播信息Message=“Vervify”,所有节点获取Message后调用Verify()方法验证步骤S302中新生成的节点Node并返回结果Ture/False,即通过/未通过,若过半节点返回的结果为Ture,则将新节点Node加入财务区块链FChain中,并通知财务区块链所有节点更新本地的财务区块链副本CFChain。
在本实施例中,把RPA流程、区块链和SM2加解密算法结合起来,图2、图5和图7所示的数据均来源于数据采集器,对于财务操作详细数据进行基于SM2加解密算法的加密解密,对于不同待监管单位不同个人的工作流建立独立的基于规则的财务相关RPA流程,对于数据的存放使用了去中心化的区块链技术,三种方法结合使用极大地提高了待监管单位进行财务监管的效率和安全性,最终实现了对财务数据的准确监管,并保障了时效性。
本发明的流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
最后说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本技术方案的宗旨和范围,其均应涵盖在本发明的权利要求范围当中。

Claims (6)

1.一种基于RPA和区块链的财务监管方法,其特征在于:所述方法包括以下步骤:
S1:采用多节点方式构建一条财务区块链,节点包括财务监管端节点、财务区块链数据存放端节点、财务数据操作发起端节点和财务数据操作处理端节点;步骤S1具体包括:
S101:采集器获取财务监管端、财务区块链数据存放端、财务数据操作发起端和财务数据操作处理端生成相应数组;
S102:根据所获财务监管端数组Role1、财务区块链数据存放端数组Role2、财务数据操作发起端数组Role3和财务数据操作处理端数组Role4,构建财务区块链;
S103:财务监管端为财务区块链上的所有节点颁发私钥和公钥;
所述步骤S101中需要通过数据采集器获取的数组为:
财务监管端数组Role1{FSV1,财务监管者1:FSV2,财务监管者2:…:FSVi,财务监管者i},财务区块链数据存放端数组Role2{FBS1,财务区块链数据存放者1:FBS2,财务区块链数据存放者2:…:FBSj,财务区块链数据存放者j},财务数据操作发起端数组Role3{FOI1,财务数据操作发起者1:FOI2,财务数据操作发起者2:…:FOIk,财务数据操作发起者k},财务数据操作处理端数组Role4{FOP1,财务数据操作处理者1:FOP2,财务数据操作处理者2:…:FOPl,财务数据操作处理者l};
所述步骤S102中根据所获财务监管端、财务区块链数据存放端、财务数据操作发起端和财务数据操作处理端数组,构建财务区块链如下:根据财务监管端数组Role1、财务区块链数据存放端数组Role2、财务数据操作发起端数组Role3和财务数据操作处理端数组Role4作为节点一同建立一条财务区块链FChain,财务区块链FChain={Node1,区块1:Node2,区块2:…:Nodei,区块i},其中FChain表示存放所有智能合约的财务区块链,Node1表示区块1,Node2表示区块2,Nodei表示区块i,每个区块均为一个集合,Node={Parenthash,前一个区块Hash值;Difficulty,难度;Once,重复次数;Merkle,存放Asset的hash值的Merkle树;Timestamp,当前Unix时间戳;Uuid,当前Uuid;Asset,存放有加密后财务操作相关内容的集合;SmartContract(),智能合约履约方法},其中Merkle树是一类基于哈希值的二叉树或多叉树,其生成过程如下所示:
(1)从Asset中获取n个加密的财务操作相关内容CF;
(2)将n个加密的财务操作相关内容CF加入Merkle树最底层,此时t=0;
(3)对数据块做hash运算,TNodeti=Hash(CFi)其中1≤i≤n;
(4)相邻两个TNode块串联,然后做hash运算;
(5)TNode(t+1)((k+1)/2)=Hash(TNodetk+TNodet(k+1)),且k=1,3,5,7,…,n-1;
(6)若k为奇数,对于k=n,TNode(t+1)((n+1)/2)=Hash(TNode0n);
(7) t = t+1;
(8)重复执行以上计算规则(3)-(7),直到生成单独一个Merkle树的根节点;
其中,TNode为Merkle树的一个节点,Hash()为计算sha-256值的方法,加密的财务操作相关内容CF为经过了财务数据操作发起者公钥加密后的财务操作相关内容F,CF=SMC2(F,PubK),其中SMC2()为基于SM2加解密算法的加密过程,PubK为财务监管者颁发给财务数据操作发起者的公钥,财务操作相关内容F为一个集合,财务操作相关内容F={From,此次财务操作的财务数据操作发起者:To,此次财务操作的财务数据操作处理者:Timestamp,当前Unix时间戳:Content,财务操作主体内容:Procedure,当前财务操作流程},其中,From为此次财务操作的财务数据操作发起者,To为此次财务操作的财务数据操作处理者,Timestamp为当前Unix时间戳,Content为财务操作主体内容,Procedure为当前财务操作流程;Asset为存放有加密的财务操作相关内容的集合,Asset={CF1,加密的财务操作相关内容1:CF2,加密的财务操作相关内容2:…:CFi,加密的财务操作相关内容i},其中CF1为第1个加密的财务操作相关内容,CF2为第2个财务操作相关内容,CFi为第i个加密的财务操作相关内容,SmartContract()为智能合约履约方法,财务区块链FChain中每个节点均在本地保有财务区块链副本CFChain,其中CFChain为财务区块链各节点在本地保有的财务区块链副本,且FChain=CFChain;
所述步骤S103中财务监管端为财务区块链上所有的节点颁发私钥和公钥,如下:财务监管端根据财务监管端数组Role1、财务区块链数据存放端数组Role2、财务数据操作发起端数组Role3和财务数据操作处理端数组Role4,为数组中所有节点生成私钥PK,有PK=SM2PK(),公钥PubK,且有PubK=SM2PubK(),其中PK为财务区块链中任意节点的私钥,PubK为财务区块链中任意节点的公钥,且有PK与PubK为唯一密钥对,需要同时生成和保存,SM2PK()为基于SM2加解密算法生成私钥的函数,SM2PubK()为基于SM2加解密算法生成公钥的函数;
S2:根据待监管单位的财务流程调研结果,建立基于规则的财务相关RPA流程;
S3:一旦有新的财务操作被发起,财务数据操作发起端则根据获取的财务操作相关内容进行加密并生成新的区块,广播通知财务区块链各节点进行验证并加入财务区块链;
S4:财务监管端校验存入本地财务区块链副本的智能合约,并通知财务数据处理端进行处理;
S5:财务数据处理端收到通知进行处理后,将处理的结果进行加密并生成新的区块,广播通知财务区块链各节点进行验证并加入财务区块链;步骤S5具体包括:
S501:所述财务数据操作处理端解密并处理财务操作相关内容;
S502:使用数据采集器获取财务操作相关内容,财务数据操作处理端加密并生成新的区块,财务数据操作处理端通知财务区块链上所有节点进行验证;
S503:财务监管端经过验证后将新的区块加入财务区块链;
步骤S501中的具体流程如下:
财务数据操作处理者To获取加密后的财务数据操作发起者From的私钥PK5,使用自己的私钥PK4对加密后的私钥PK5进行解密,从而得到财务数据操作发起者From的私钥PK2,有PK2=SMD2(PK5,PK4),解密财务操作相关内容F=SMD2(Node.Asset.CF,PK2),从而获得财务操作相关内容F,相关内容F可通过步骤S202中构建的基于规则的财务相关RPA流程在本系统中进行呈现,其中PK4为财务数据操作处理者To的私钥,PK2为财务数据操作发起者From的私钥,PK5为加密过后的财务数据操作发起者From的私钥,SMD2()为基于SM2加解密算法的解密方法,Node为步骤S302中新增节点,Asset为存放有加密的财务操作相关内容的集合,CF为加密后的财务操作相关内容,F为财务操作相关内容;
所述步骤S502的具体流程如下:使用采集器获取财务操作相关内容F,财务监管者FSV向财务数据操作处理者To广播财务监管者FSV的公钥PubK1,财务数据操作处理者To使用财务监管者FSV的公钥PubK1对步骤S502中数据采集器所获财务操作相关内容F进行基于SM2加解密算法的加密操作得到加密的财务操作相关内容CF,有CF=SMC2(F,PubK1),将CF放入步骤S102区块Node的Asset集合中,调用Node中SmartContract()方法进行智能合约履约方法,随后调用Miner()方法进行计算,最后向财务区块链所有节点广播新生成的Node节点请求验证,其中PubK1为财务监管者FSV的公钥,SMC2()为基于SM2加解密算法的加密方法,SmartContract()为智慧合约履约方法,该方法是一种将Asset从未履约状态转变为已履约状态的抽象方法,Miner()方法为基于POW的计算方法,Asset为存放有加密的财务操作相关内容的集合,CF为加密后的财务操作相关内容,F为财务操作相关内容;
所述步骤S503的具体步骤如下:财务监管者FSV获取到财务数据操作处理者To广播的新节点Node,使用Verify(Node)方法验证新增Node节点合法性,使用共识验证方法Consensus()广播验证,财务监管者FSV收到过半节点认同后将Node节点存入财务区块链中,Verify()为校验Node的合法性方法,Verify()方法计算:hash=Hash(Node.Parenthash+Node.Difficulty+Node.Once+Node.Merkle+Node.Timestamp+Node.Uuid+Node.Asset),如果hash以Difficulty开头,验证通过,反之则不通过,其中Hash()为计算sha-256值的方法,Node为步骤S502中新增节点,Consensus()方法可向财务区块链所有节点进行广播,具体为,财务监督者FSV向所有节点广播信息Message=“Vervify”,所有节点获取Message后调用Verify()方法验证步骤S502中新生成的节点Node并返回结果Ture/False,即通过/未通过,若过半节点返回的结果为Ture,则将新节点Node加入财务区块链FChain中,并通知财务区块链所有节点更新本地的财务区块链副本CFChain。
2.根据权利要求1所述的一种基于RPA和区块链的财务监管方法,其特征在于:步骤S2具体包括:
S201:采集器获取待监管单位的财务流程数组,需要通过数据采集器获取的待监管单位的财务流程数组为:财务流程数组Array1,财务流程数组Array1中每一个元素P为一个集合,财务流程P={Parentprocedure,当前财务操作流程的前置财务操作流程;Procedure,当前财务操作流程;Type,财务操作类型;Role,当前财务操作端数组},其中P为财务流程,Role具体为财务数据操作发起端数组Role3与财务数据操作处理端数组Role4中任意一个元素;
S202:根据所获待监管单位的财务流程数组,构建基于规则的财务相关RPA流程;具体如下:对于S201步骤中财务流程P不同的Role,都建立一个RPA流程有向图Gri(Vertex,Eedg),其中Gri(Vertex,Eedg)是基于财务流程P中第i个Role生成的基于规则的财务相关RPA流程,具体体现为有向图,Vertex为有向图Gri的节点的集合,有向图Gri的节点的集合Vertex中每一个节点都可以表示为Vertexs,Eedg为有向图Gri连接各个节点有向边的集合,对于有向边的集合Eedg中每一条有向边都可以用<Vertexi,Vertexj>表示,i和j表示节点的下标,<Vertexi,Vertexj>也可表示为当前财务操作流程Procedurek,Vertexi为步骤S201中财务流程数组Array1中集合P的子元素的Parentprocedure,具体表示为当前财务操作流程的前置财务操作流程,Procedurek具体表示为当前财务流程的编号,Vertexj为步骤S201中财务流程数组Array1中集合P的子元素的Procedure,具体表示为当前财务操作流程。
3.根据权利要求1所述的一种基于RPA和区块链的财务监管方法,其特征在于:步骤S3具体包括:
S301:财务数据操作发起端使用采集器获取财务操作相关内容;
S302:根据所获财务操作相关内容,财务数据操作发起端加密并生成新的区块,并通知财务区块链上所有节点进行验证。
4.根据权利要求1所述的一种基于RPA和区块链的财务监管方法,其特征在于:步骤S4具体包括:
S401:财务监管端验证新的区块的财务操作相关内容;
S402:财务操作相关内容验证通过后,财务监管端通知财务数据操作处理端进行处理。
5.根据权利要求3所述的一种基于RPA和区块链的财务监管方法,其特征在于:步骤S301中,财务数据操作发起端使用采集器获取基于规则的财务相关流程如下:
使用采集器获取财务操作相关内容F={From,此次财务操作的财务数据操作发起者:To,此次财务操作的财务数据操作处理者:Timestamp,当前Unix时间戳:Content,财务操作主体内容:Procedure,当前财务操作流程};
所述步骤S302中根据所获财务操作相关内容,使用财务数据操作发起端进行加密并生成新的区块、通知财务区块链上所有节点进行验证,流程如下:财务监管者FSV向财务数据操作发起者From广播财务监管者FSV的公钥PubK1,财务数据操作发起者From将自己的私钥PK2以财务监管者FSV的公钥PubK1为密钥进行基于SM2加解密算法的加密,得到财务数据操作发起者From的加密私钥PK3并发送给财务监管者FSV,其中,PK3=SMC2(PK2,PubK1),财务数据操作发起者From使用自己的公钥PubK2对步骤S301中数据采集器所获财务操作相关内容F进行基于SM2加解密算法的加密,得到加密的财务操作相关内容CF,CF=SMC2(F,PubK2),将CF放入步骤S102区块Node的Asset集合中,并调用Miner()方法进行计算,最后向财务区块链所有节点广播新生成的Node节点请求验证,其中PubK1为财务监管者FSV的公钥,PubK2为财务数据操作发起者From的公钥,PK3为财务数据操作发起者From的加密私钥,PK2为财务数据操作发起者From的私钥,SMC2()为基于SM2加解密算法的加密方法,CF为加密的财务操作相关内容,Miner()方法为基于POW的计算方法,具体为:
(1) hash=Hash(Parenthash+Difficulty+Once+Merkle+Timestamp+Uuid+Asset);
(2)如果hash以Difficulty开头,结束Miner()方法;
(3)否则,Once=Once+1,hash=Hash(hash);
(4)循环执行以上操作(2)-(3)直到Miner()方法结束;
其中,Hash()为计算sha-256值的方法;
所述步骤S303中财务监管者经过验证后将新区块加入财务区块链的流程如下:财务监管者FSV获取到财务数据操作发起者From广播的新节点Node,使用Verify(Node)方法验证新增Node节点合法性,使用共识验证方法Consensus()广播验证,财务监管者FSV收到过半节点认同后将Node节点存入财务区块链中,Verify()为校验Node的合法性方法,Verify()方法计算:hash=Hash(Node.Parenthash+Node.Difficulty+Node.Once+Node.Merkle+Node.Timestamp+Node.Uuid+Node.Asset),如果hash以Difficulty开头,验证通过,反之则不通过,其中Hash()为计算sha-256值的方法,Node为步骤S302中新增节点,Consensus()方法可向财务区块链所有节点进行广播,具体为,财务监督者FSV向所有节点广播信息Message=“Vervify”,所有节点获取Message后调用Verify()方法验证步骤S302中新生成的节点Node并返回结果Ture/False,即通过/未通过,若过半节点返回的结果为Ture,则将新节点Node加入财务区块链FChain中,并通知财务区块链所有节点更新本地的财务区块链副本CFChain。
6.根据权利要求4所述的一种基于RPA和区块链的财务监管方法,其特征在于:步骤S401中财务监管端验证新的区块的财务操作相关内容步骤为:
财务监管者FSV收到财务数据操作发起者From广播的加密后的私钥PK3,使用自己的私钥PK1解密PK3,从而得到财务数据操作发起者From的私钥PK2,有PK2=SMD2(PK3,PK1),财务监管者FSV获取本地财务区块链副本CFChain中新增节点Node,解密财务操作相关内容F=SMD2(Node.Asset.CF,PK2),使用Check()方法验证财务操作相关内容F的合法性;其中PK1为财务监管者FSV私钥,PK3为财务数据操作发起者From广播的加密后的私钥,PK2为财务数据操作发起者From的私钥,SMD2()为基于SM2加解密算法的解密方法,CFChain为本地财务区块链副本,Node为步骤S302中新增节点,Asset为存放有加密的财务操作相关内容的集合,CF为加密后的财务操作相关内容,F为财务操作相关内容,Check()方法可验证财务操作相关内容F的合法性,具体为,根据数据操作发起者From的用户名Role获取步骤S202所生成的有向图Gr,取得Gr中的节点的集合Vertex,若存在Vertexi=F.Procedure,则说明该财务操作是合法的,若不存在Vertexi=F.Procedure,则说明该财务操作是非法的;
所述步骤S402中通知财务数据操作处理端进行处理的过程如下:若经过步骤S401校验后财务操作是非法的,则不通知财务数据操作处理者To,若经过步骤S401校验后财务操作是合法的,则通知财务数据操作处理者To发送公钥PubK4,财务监管者FSV将步骤S401获取的财务数据操作发起者From的私钥PK2,根据PubK4进行基于SM2加解密算法的加密得到PK5,得到PK5=SMC2(PK2,PubK4),并把加密得到的PK5发送给财务数据操作处理者To,其中,To为财务数据操作处理者,PubK4为财务数据操作处理者To的公钥,PK2为财务数据操作发起者From的私钥,PK5为加密过后的财务数据操作发起者From的私钥,SMC2()为基于SM2加解密算法的加密方法。
CN202310086948.2A 2023-01-30 2023-01-30 一种基于rpa和区块链的财务监管方法 Active CN116308841B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310086948.2A CN116308841B (zh) 2023-01-30 2023-01-30 一种基于rpa和区块链的财务监管方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310086948.2A CN116308841B (zh) 2023-01-30 2023-01-30 一种基于rpa和区块链的财务监管方法

Publications (2)

Publication Number Publication Date
CN116308841A CN116308841A (zh) 2023-06-23
CN116308841B true CN116308841B (zh) 2024-02-06

Family

ID=86793265

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310086948.2A Active CN116308841B (zh) 2023-01-30 2023-01-30 一种基于rpa和区块链的财务监管方法

Country Status (1)

Country Link
CN (1) CN116308841B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110135964A (zh) * 2019-05-21 2019-08-16 山东浪潮通软信息科技有限公司 一种基于区块链技术的财务记账方法
CN112926956A (zh) * 2019-12-06 2021-06-08 陈沿 一种区块链财务支付管理方法及系统
CN113205415A (zh) * 2021-03-26 2021-08-03 广东瑞和通数据科技有限公司 基于rpa和区块链技术的财务流程自动化方法和系统
CN115174184A (zh) * 2022-06-30 2022-10-11 江苏大学 一种基于属性基加密的交易客体身份匿名可追踪方法、网络设备、存储设备
CN115221241A (zh) * 2022-06-05 2022-10-21 深圳和众创科技有限公司 一种无人零售的智能财务系统及方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110135964A (zh) * 2019-05-21 2019-08-16 山东浪潮通软信息科技有限公司 一种基于区块链技术的财务记账方法
CN112926956A (zh) * 2019-12-06 2021-06-08 陈沿 一种区块链财务支付管理方法及系统
CN113205415A (zh) * 2021-03-26 2021-08-03 广东瑞和通数据科技有限公司 基于rpa和区块链技术的财务流程自动化方法和系统
CN115221241A (zh) * 2022-06-05 2022-10-21 深圳和众创科技有限公司 一种无人零售的智能财务系统及方法
CN115174184A (zh) * 2022-06-30 2022-10-11 江苏大学 一种基于属性基加密的交易客体身份匿名可追踪方法、网络设备、存储设备

Also Published As

Publication number Publication date
CN116308841A (zh) 2023-06-23

Similar Documents

Publication Publication Date Title
TWI666902B (zh) 基於區塊鏈技術的強健的atm網路系統及其資訊處理方法
CN109889504B (zh) 去中心化数据访问权交易方法及系统
CN111898148A (zh) 一种基于区块链的信息监管方法及装置
CN112507363A (zh) 基于区块链的数据监管方法、装置、设备及存储介质
CN111798209A (zh) 基于区块链的工程项目管理方法、电子设备和存储介质
CN110675153A (zh) 基于区块链的数据校验方法及装置、存储介质及电子设备
CN112288434A (zh) 隐私交易方法、装置、零知识证明系统和隐私交易架构模型
CN110866261A (zh) 基于区块链的数据处理方法、装置及存储介质
CN111951005A (zh) 一种基于区块链的资金存管方法、装置及系统
CN112200646A (zh) 一种物资合同资金支付审批管理系统及方法
CN112001790A (zh) 基于区块链的贷后监控处理方法、系统及各节点
CN114357473A (zh) 一种基于区块链的虚拟电厂聚合与分布式调控系统及方法
CN116308841B (zh) 一种基于rpa和区块链的财务监管方法
CN113381856A (zh) 数字签名及验签方法、系统、装置及存储介质
CN111522882B (zh) 一种基于区块链的内模管理系统及方法
CN117527183A (zh) 一种面向电力数据的去中心化共享与跨链计算方法及系统
CN112182626A (zh) 一种基于区块链技术的供应链金融风险管理系统
CN117056984A (zh) 一种数据安全计算的方法、系统、计算机设备及存储介质
Zhao et al. Privacy-preserving electricity theft detection based on blockchain
Zhang et al. Blockchain-based power digital asset security management framework
CN113672655A (zh) 一种基于区块链的档案协查的方法与装置
CN113886884A (zh) 一种需求侧响应用户身份认证管理方法
Lahoti et al. Blockchain Technology Based Secure Data Sharing in Cloud Computing
CN112163917B (zh) 基于区块链的票据处理方法、装置、介质及电子设备
CN113592669B (zh) 一种基于区块链的继电保护定值确认方法及系统

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