CN114239066A - 基于区块链的合同处理方法及相关设备 - Google Patents
基于区块链的合同处理方法及相关设备 Download PDFInfo
- Publication number
- CN114239066A CN114239066A CN202111567106.6A CN202111567106A CN114239066A CN 114239066 A CN114239066 A CN 114239066A CN 202111567106 A CN202111567106 A CN 202111567106A CN 114239066 A CN114239066 A CN 114239066A
- Authority
- CN
- China
- Prior art keywords
- contract
- tee
- node
- transaction
- information
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本公开实施例提供了一种基于区块链的合同处理方法及相关设备,属于区块链技术领域。该方法应用于区块链系统,所述区块链系统包括节点,所述节点包括可信执行环境TEE节点和非TEE节点,所述方法包括:所述TEE节点接收合同部署方发起的第一合同部署交易,所述第一合同部署交易包括合同信息;所述TEE节点在所述第一合同部署交易共识通过之后,在所述TEE节点的安全账本上存储所述合同信息;所述TEE节点对所述合同信息进行脱敏处理,获得脱敏数据;所述TEE节点向所述非TEE节点发起第二合同部署交易,所述第二合同部署交易包括所述脱敏数据;所述非TEE节点在所述第二合同部署交易共识通过之后,在所述非TEE节点的区块链中存储所述脱敏数据。
Description
技术领域
本公开涉及区块链技术领域,具体而言,涉及一种基于区块链的合同处理方法、区块链系统、计算机设备和计算机可读存储介质。
背景技术
在当今商业社会中,都是以制式的纸质或电子合同的签署为法律依据的。合同流程一般分为若干阶段,如签订合同、付首付款、进度验收、付尾款等。每个阶段需要人工进行大量流程与验收工作,效率低下,而且过程不够透明。对于周期较长的项目,合同往往分为若干阶段验收,传统方式很难做到对进度的精准控制和跟踪。有些合同涉及多个参与方,各个参与方之间协调成本大,而且存在信息不对等的问题,造成信息真实性及准确性的疑问。
传统的电子合同管理模式往往依赖于中心化的服务器,其安全性主要依靠于所属第三方的信任背书。数据集中存储具有中心化的风险,如果第三方不诚实或者遭受到外部攻击,造成数据泄露将会对参与方的隐私安全造成极大威胁。
发明内容
本公开实施例提供一种基于区块链的合同处理方法、基于区块链的合同处理方法、区块链系统、计算机设备和计算机可读存储介质,可以提升合同处理的安全性。
本公开实施例提供一种基于区块链的合同处理方法,应用于区块链系统,所述区块链系统包括节点,所述节点包括可信执行环境TEE节点和非TEE节点,所述方法包括:所述TEE节点接收合同部署方发起的第一合同部署交易,所述第一合同部署交易包括合同信息;所述TEE节点在所述第一合同部署交易共识通过之后,在所述TEE节点的安全账本上存储所述合同信息;所述TEE节点对所述合同信息进行脱敏处理,获得脱敏数据;所述TEE节点向所述非TEE节点发起第二合同部署交易,所述第二合同部署交易包括所述脱敏数据;所述非TEE节点在所述第二合同部署交易共识通过之后,在所述非TEE节点的区块链中存储所述脱敏数据。
本公开实施例提供一种区块链系统,所述区块链系统包括节点,所述节点包括可信执行环境TEE节点和非TEE节点,其中:所述TEE节点用于接收合同部署方发起的第一合同部署交易,所述第一合同部署交易包括合同信息;所述TEE节点用于在所述第一合同部署交易共识通过之后,在所述TEE节点的安全账本上存储所述合同信息;所述TEE节点用于对所述合同信息进行脱敏处理,获得脱敏数据;所述TEE节点用于向所述非TEE节点发起第二合同部署交易,所述第二合同部署交易包括所述脱敏数据;所述非TEE节点用于在所述第二合同部署交易共识通过之后,在所述非TEE节点的区块链中存储所述脱敏数据。
本公开实施例提供了一种计算机设备,包括处理器、存储器、输入输出接口;处理器分别与存储器和输入输出接口相连,其中,输入输出接口用于接收数据及输出数据,存储器用于存储计算机程序,处理器用于调用该计算机程序,以使包含该处理器的计算机设备执行本公开实施例中的基于区块链的合同处理方法。
本公开实施例一方面提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,该计算机程序适于由处理器加载并执行,以使得具有该处理器的计算机设备执行本公开实施例中的基于区块链的合同处理方法。
本公开实施例一方面提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行本公开实施例中的各种可选方式中提供的方法。
附图说明
图1是本公开实施例提供的一种基于区块链的合同处理方法的流程图。
图2示意性示出了根据本公开的一实施例的基于区块链的合同处理方法的整体视图。
图3示意性示出了根据本公开的一实施例的TEE账本结构示意图。
图4示意性示出了根据本公开的一实施例的基于TEE节点的敏感数据交易流程图。
图5示意性示出了根据本公开的一实施例的签订合同的流程图。
图6示意性示出了根据本公开的一实施例的合同自动化执行的流程图。
图7示意性示出了根据本公开的一实施例的区块链平台对接DCEP网络的示意图。
图8示意性示出了根据本公开的一实施例的合同自动化支付的示意图。
图9是本公开实施例提供的一种计算机设备的结构示意图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。
在本公开的描述中,除非另有说明,“/”表示“或”的意思,例如,A/B可以表示A或B。本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。此外,“至少一个”是指一个或多个,“多个”是指两个或两个以上。“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。
如图1所示,本公开实施例提供的基于区块链的合同处理方法,可以应用于区块链系统(也可称之为区块链网络或者区块链平台),该区块链系统中可以包括多个节点(也可称之为区块链节点),在本公开实施例中,包括两种类型的区块链节点,一种是通常的区块链节点,本申请称之为非TEE(Trusted Execution Environment,可信执行环境)节点,即未搭载TEE的节点;一种是搭载了TEE的节点,该搭载了TEE的节点称之为TEE节点,或者基于TEE的区块链安全节点或者TEE安全节点,整个区块链网络中可以有多个基于TEE的区块链安全节点以及多个非TEE节点。
本公开实施例提供的方法可以包括如下步骤。
在步骤S110中,所述TEE节点接收合同部署方发起的第一合同部署交易,所述第一合同部署交易可以包括合同信息。
在示例性实施例中,所述合同信息可以包括所述第一合同部署交易的交易哈希(hash)、合同哈希、合同内容、合同标识(identity,ID)、参与方信息、上传时间、版本信息和进度信息中的至少一项。
本公开实施例中,合同部署方可以是与该合同相关的任意一方,例如可以是与该合同相关的付款方、监管方、收款方、以及其它合同参与方等,或者与该合同相关的项目的开发方、验收方等,本公开对此不做限定。第一合同部署交易是指合同部署方向区块链网络中的任意一个TEE节点所发起的希望将某个合同部署到区块链网络的请求。
本公开实施例中,合同信息是指与合同相关的任意信息,例如合同哈希,即利用任意合适的哈希算法对合同进行处理,获得的哈希值;交易哈希可以作为第一合同部署交易的ID;合同内容是指该合同中的具体信息;合同ID是该合同的唯一编号;参与方信息是指与该合同相关的任意参与方的相关信息,例如如果参与方是个人,则参与方信息可以包括该个人的身份证号码、手机号码、住址等信息中的任意一种或者多种,若参与方是企业或者单位,则参与方信息可以包括企业或单位的营业执照、法人代表、通讯地址、联系人、联系方式等信息中的任意一种或者多种,参与方信息可以根据每个合同的实际情况进行设置;上传时间是指该合同上传至区块链网络的时间;版本信息是指该合同的版本相关信息;进度信息则用于记录该合同或者与该合同相关的项目的进度相关的信息。
本公开实施例中的合同信息中包括敏感数据,例如该敏感数据可以包括合同内容、参与方信息等中的任意一种或者多种。其中敏感数据是指该数据相比该合同信息中的其它非敏感数据,需要更高的安全等级,若将该敏感数据泄露出去,可能会给合同参与方带来较大信息安全或者造成较大损失。
在步骤S120中,所述TEE节点在所述第一合同部署交易共识通过之后,在所述TEE节点的安全账本上存储所述合同信息。
本公开实施例中,合同部署方在向区块链网络发起第一合同部署交易时,会利用合同部署方的私钥对其进行签名,区块链网络中的任意一个TEE节点接收到第一合同部署交易之后,利用该合同部署方的公钥对第一合同部署交易的签名进行验证,若验证未通过,则结束本次操作,并向合同部署方返回合同部署失败的提示信息;若验证通过,则该TEE节点可以将该第一合同部署交易广播至该区块链网络中的其它各个TEE节点,其它各个TEE节点接收到该第一合同部署交易之后,利用预先设置好的共识算法(本公开对具体采用何种共识算法不做限定)对该第一合同部署交易进行共识,若共识通过,例如TEE节点中的记账节点接收到的针对该第一合同部署交易的确认消息超过预设数量时,则判定该第一合同部署交易共识通过,记账节点可以将该第一合同部署交易打包进某个账本页(假设称之为当前账本页)中,存入TEE节点中的安全账本中。本公开实施例中,为了保证该合同信息的安全可靠性,可以要求所有TEE节点均对该第一合同部署交易发送确认消息时,才判定该第一合同部署交易共识通过,但本公开并不限定于此。
在示例性实施例中,在所述TEE节点的安全账本上存储所述合同信息,可以包括;计算所述合同信息的哈希值;根据所述合同信息的哈希值获得默克尔根;在所述安全账本的当前账本页中存储所述合同信息、所述合同信息的哈希值、所述默克尔根、提交时间、时间戳、块高度、块版本号和上一个账本页哈希和块哈希。本公开实施例提出了一种用于安全存储合同信息的区块链账本,称之为安全账本,通过TEE节点上搭建的TEE能够保证存储在安全账本中的合同信息的安全性,区块链网络中的各个TEE节点之间共享该安全账本,即每个TEE节点中存储有相同的安全账本。本公开实施例中构建了一种TEE节点的安全账本的存储结构,具体可参见下图3所示。
在示例性实施例中,在所述TEE节点上可以部署有合同自动签署智能合约。所述合同信息可以包括参与方信息。
本公开实施例中,合同自动签署智能合约是指能够实现合同自动在线上签署的代码,合同参与方之间可以先根据每个合同的实际需求,制定好合同自动签署的规则,然后将其转化为代码,生成合同自动签署智能合约。本公开实施例中,所述方法还可以包括:TEE节点接收第一合约部署交易,该第一合约部署交易包括合同自动签署智能合约;TEE节点在第一合约部署交易共识通过之后,将其部署在各个TEE节点之中。
具体的,第一合约部署交易可以由对该合同自动签署智能合约达成共识的任意一方提出,例如合同的监管方、收款方、付款方、其它合同参与方、开发方、验收方等,区块链网络中的任意一个TEE节点接收到第一合约部署交易之后,对第一合约部署交易的签名进行验证,若验证未通过,则结束本次操作;若验证通过,则该TEE节点可以将该第一合约部署交易广播至该区块链网络中的其它各个TEE节点,其它各个TEE节点接收到该第一合约部署交易之后,利用预先设置好的共识算法(本公开对具体采用何种共识算法不做限定)对该第一合约部署交易进行共识,若共识通过,例如TEE节点中的记账节点接收到的针对该第一合约部署交易的确认消息超过预设数量时,则判定该第一合约部署交易共识通过,记账节点可以将该第一合约部署交易打包进某个账本页(假设称之为当前账本页)中,存入TEE节点中的安全账本中,以此实现将合同自动签署智能合约部署至区块链网络中的TEE节点中。本公开实施例中,为了保证该合同自动签署智能合约的安全可靠性,可以要求所有TEE节点均对该第一合约部署交易发送确认消息时,才判定该第一合约部署交易共识通过,但本公开并不限定于此。
在示例性实施例中,所述TEE节点在所述第一合同部署交易共识通过之后,在所述TEE节点的安全账本上存储所述合同信息,可以包括:所述TEE节点在所述第一合同部署交易共识通过之后,调用所述合同自动签署智能合约;通过所述合同自动签署智能合约根据所述参与方信息向合同参与方发送合同签署请求,所述合同签署请求包括所述合同信息,所述合同参与方用于在认同所述合同信息时,生成确认交易;通过所述合同自动签署智能合约接收所述合同参与方的确认交易,并根据所述确认交易将合同设置为生效状态,在所述TEE节点的安全账本上存储所述合同信息。本公开实施例通过TEE节点上的安全账本存储包含敏感数据的合同信息,可以保证敏感数据的安全性;同时,还可以通过TEE节点上部署的合同自动签署智能合约,实现合同的自动签署,提升了合同签署的效率和安全性。
在步骤S130中,所述TEE节点对所述合同信息进行脱敏处理,获得脱敏数据。
本公开实施例中,TEE节点可以对合同信息中的敏感数据进行脱敏处理,生成脱敏数据,该脱敏数据是指不包含敏感数据的合同信息,具体采用何种脱敏算法,本公开不做限定。
在步骤S140中,所述TEE节点向所述非TEE节点发起第二合同部署交易,所述第二合同部署交易包括所述脱敏数据。
在示例性实施例中,所述TEE节点向所述非TEE节点发起第二合同部署交易,可以包括:所述TEE节点对所述合同信息中的敏感数据进行摘要计算,获得第一摘要;利用所述TEE节点的私钥对所述第一摘要进行数字签名,获得第一签名;所述TEE节点向所述非TEE节点发起所述第二合同部署交易,所述第二合同部署交易还可以包括所述第一签名。
在步骤S150中,所述非TEE节点在所述第二合同部署交易共识通过之后,在所述非TEE节点的区块链中存储所述脱敏数据。
在示例性实施例中,所述非TEE节点在所述第二合同部署交易共识通过之后,在所述非TEE节点的区块链中存储所述脱敏数据,可以包括:所述非TEE节点利用所述TEE节点的公钥验证所述第一签名;若所述第一签名验证通过,所述非TEE节点对所述第二合同部署交易进行共识;在所述第二合同部署交易共识通过之后,在所述非TEE节点的区块链中存储所述脱敏数据。
本公开实施例中,TEE节点对合同信息中的敏感数据进行脱敏处理之后,再将脱敏数据在区块链网络中的非TEE节点进行上链存证,可以保证合同信息中的敏感数据的安全性。
在示例性实施例中,在所述区块链系统上可以部署有合同自动执行智能合约,所述合同自动执行智能合约中可以包括进度记录模块。
本公开实施例中,合同自动执行智能合约是指能够触发合同自动执行的代码,合同参与方之间可以先根据每个合同的实际需求,制定好合同自动执行的规则,然后将其转化为代码,生成合同自动执行智能合约。本公开实施例中,所述方法还可以包括:节点(可以包括TEE节点和/或非TEE节点)接收第二合约部署交易,该第二合约部署交易包括合同自动执行智能合约;节点在第二合约部署交易共识通过之后,将其部署在区块链网络之中。
具体的,第二合约部署交易可以由对该合同自动执行智能合约达成共识的任意一方提出,例如合同的监管方、收款方、付款方、其它合同参与方、开发方、验收方等,区块链网络中的任意一个节点接收到第二合约部署交易之后,对第二合约部署交易的签名进行验证,若验证未通过,则结束本次操作;若验证通过,则该节点可以将该第二合约部署交易广播至该区块链网络中的其它各个节点,其它各个节点接收到该第二合约部署交易之后,利用预先设置好的共识算法(本公开对具体采用何种共识算法不做限定)对该第二合约部署交易进行共识,若共识通过,例如节点中的记账节点接收到的针对该第二合约部署交易的确认消息超过预设数量时,则判定该第二合约部署交易共识通过,记账节点可以将该第二合约部署交易打包进某个区块(假设称之为当前区块)中,存入节点中的区块链账本中,以此实现将合同自动执行智能合约部署至区块链网络中。本公开实施例中,为了保证该合同自动执行智能合约的安全可靠性,可以要求所有节点均对该第二合约部署交易发送确认消息时,才判定该第二合约部署交易共识通过,但本公开并不限定于此。
在示例性实施例中,所述方法还可以包括:所述节点接收项目参与方发送的进度记录交易,所述进度记录交易包括项目进度信息;所述节点在所述进度记录交易共识通过之后,将所述项目进度信息存储至所述进度记录模块;所述合同自动执行智能合约在检测到所述进度记录模块有更新时,自动触发项目验收操作;所述合同自动执行智能合约接收项目验收方发送的验收结果上传交易,所述验收结果上传交易包括项目验收结果;所述合同自动执行智能合约在所述验收结果上传交易共识通过之后,若检测到所述项目验收结果为验收通过,则自动触发约定支付操作。
在示例性实施例中,所述项目验收操作可以包括自动验收操作;所述合同自动执行智能合约中还可以包括自动验收规则代码。
在示例性实施例中,所述项目验收操作可以包括人工验收操作。
在示例性实施例中,所述合同自动执行智能合约自动触发项目验收操作,可以包括:所述合同自动执行智能合约接收项目验收方发送的项目进度查询交易,所述项目进度查询交易包括项目验收方信息;所述合同自动执行智能合约响应所述项目进度查询交易,向所述项目验收方下发所述项目进度信息,所述项目验收方用于根据所述项目进度信息对项目进度进行检查,获得项目验收结果,对所述项目验收结果进行签名,生成验收结果上传交易。本公开实施例提供的方法,还可以通过部署的合同自动执行智能合约实现自动触发验收流程、自动执行支付操作。
本公开实施方式提供的方法,一方面,利用区块链技术,将合同转化为区块链电子合同,区块链电子合同可以基于区块链智能合约(例如上述合同自动签署智能合约和合同自动执行智能合约)对电子合同进行存储和操作,实现去中心化的电子合同管理。利用区块链智能合约“code is law制度代码化”的特性,可以很好实现合同的自动化执行与支付。另一方面,由于可信执行环境TEE可以保证不被常规操作系统干扰的计算,本公开实施例还通过将TEE与区块链技术相结合,来保证不会因为区块链的公开透明而造成合同中的敏感数据的泄露,即区块链智能合约结合可信硬件执行环境TEE,可以保障合同中的敏感数据的隐私性和安全性。
下面结合图2至图8对本公开实施例提供的方法进行举例说明,但本公开并不限定于此。
本公开实施例提供的方法,是一种基于区块链及TEE的合同自动化可信执行与支付方案,设计了基于TEE的区块链安全节点,并设计了其安全账本和合同交易体结构。同时本公开实施例还设计了合同中的敏感数据的交易流程,TEE节点用于对合同内容等敏感数据进行处理和存储,保障了敏感数据的安全性,提升了区块链系统的可靠性和公信力。
另一方面,通过区块链智能合约,实现合同自动化签署,自动化验收,自动化付款,解决了效率问题,实现项目各阶段的精准控制。并通过区块链智能合约的控制达到全过程透明可信,合同全流程可跟踪查询,解决多方信任问题。区块链系统可对接DCEP(DigitalCurrency Electronic Payment,数字货币和电子支付工具),实现自动化付款,款项跟踪,解决资金透明问题。
图2为本公开实施例提供的方案的整体视图。在区块链电子合同方案的基础上,本公开实施例结合TEE技术,设计了区块链TEE安全节点(即TEE节点,或图2中的基于TEE的区块链安全节点),提高了安全保障。
如图2所示,系统可以包含多个参与方,例如包括开发方、付款方、收款方、监管方、其他合同参与方等,各方通过区块链平台紧密组织到一起。合同参与方、监管方等共同参与组成联盟链。
区块链底层能力包括智能合约、支付模块、合同执行和身份认证。
智能合约(例如合同自动部署智能合约和合同自动执行智能合约)是合同方部署到区块链平台上的,是系统实现主体。合同签订、进度控制、自动支付、查看付款记录等核心操作都是智能合约实现。这里的合同方可以是开发方、付款方、监管方、其他合同参与方等中的任意一个,及对合同达成共识之后,可以由任意一方部署到区块链网络中。
支付模块负责在区块链平台上发现数字资产或者对接DECP,用来进行支付操作。例如支付模块和合同执行可以调用合同自动执行智能合约来进行支付操作。
合同内容等敏感数据,由TEE安全节点(即TEE节点)进行处理和存储,脱敏后的脱敏数据再保存到区块链账本上。
本公开实施例实现了账本分离,即TEE节点之间共享安全账本,区块链平台中的多个TEE节点之间共享安全账本,即每个TEE节点都有相同的一份安全账本数据。其他非TEE节点共享区块链账本,并且本公开实施例还设计了TEE节点账本结构。基于本公开实施例的设计,TEE节点与其它非TEE节点实现了账本隔离:TEE节点维护一份TEE安全账本,而其他节点维护区块链账本。
TEE节点账本结构,以及合同交易体结构的设计如图3所示。安全账本是以图3方式存储的账本,即安全账本是一个账本页依次连接一个账本页,每个账本页保存上一个账本页哈希。每请求一次TEE节点就生成一笔交易,例如每次请求写入合同Hash、合同内容、合同ID、参与方信息、版本信息和进度信息等中的任意一者或者多种,就会生成一笔新的交易,假设这些交易中包括第一合同部署交易。TEE节点中的记账节点在每次打包时,可以将多个交易打包到同一个当前账本页中,例如图3中的TX 0、TX 1、TX 2和TX 3分别是向TEE节点发起的四笔交易,每笔交易的存储结构如图3右侧所示的合同交易体结构所示。利用哈希算法对TX 0进行计算,获得Hash 0,利用哈希算法对TX 1进行计算,获得Hash 1,利用哈希算法对TX 2进行计算,获得Hash 2,利用哈希算法对TX 3进行计算,获得Hash 3,利用哈希算法分别对Hash 0和Hash 1进行计算,获得Hash 01,利用哈希算法分别对Hash 2和Hash 3进行计算,获得Hash 23,利用哈希算法分别对Hash 01和Hash 23进行计算,获得默克尔根,还存储Commit Time(提交时间)、TimeStamp(时间戳)、Block Number(块高度)、Block Version(块版本号)、Pre-block Hash(上一个版本页哈希)和Block Hash(块哈希)。
本公开实施例提供的方法中,对合同信息中的敏感数据的处理方法如图4所示。
在步骤1中,交易发起方通过其用户端将包含例如合同内容等敏感数据的交易,发送到区块链网络中的TEE节点。
这里的交易发起方例如可以是发起上述第一合同部署交易的合同部署方。
在步骤2中,TEE节点接收到步骤1中的交易之后,对交易进行验证,在验证通过之后,对交易进行处理,根据所设计上图3所示的账本结构,对数据进行安全存储。
在步骤3中,TEE节点对敏感数据进行脱敏处理,获得脱敏数据,并对敏感数据进行摘要计算得到第一摘要,并用TEE节点的私钥对第一摘要进行数字签名,得到第一签名。这里对敏感数据处理得到第一摘要,对第一摘要进行数字签名第一签名,使得后续非TEE节点对第一签名进行验签之后,也不会还原出敏感数据,以此保证敏感数据的安全性。
在步骤4中,TEE节点将第一签名以及非敏感信息(即脱敏数据),一起发送到区块链网络中的非TEE节点中,进行上链存证。
在步骤5中,非TEE节点收到包括第一签名和脱敏数据的交易之后,验证第一签名,即非TEE节点利用TEE节点的公钥解密第一签名,若解密成功,则判定第一签名验证通过,此时非TEE节点可以处理交易,对脱敏数据进行上链存证。
在步骤6中,非TEE节点在脱敏数据上链存证成功之后,可以向TEE节点发送交易反馈。
在步骤7中,TEE节点接收到非TEE节点发送的交易反馈之后,可以向用户端发送交易完成的提示信息。
如上述步骤,敏感数据都由TEE节点进行处理和存储,区块链上对脱敏后的数据进行存证,保障了数据的安全性。
本公开实施例提供的签订合同的具体流程如图5所示。
首先,合同参与方中的任意一方可以将电子合同上传到区块链网络中的TEE节点,即向TEE节点发起第一合同部署交易。电子合同可以与区块链网络中的TEE节点上部署的合同自动签署智能合约关联,合同自动签署智能合约负责对合同进行控制与存档。
各合同参与方(例如参与方A、参与方B等)如果认同合同内容,向合同自动签署智能合约发送一笔确认交易,交易内容是用某种加密算法对合同数据进行签名,表示签署合同。
合同自动签署智能合约收集各合同参与方的签名,并进行校验。当所有需要签署合同的参与方都签名后,将合同设置为生效状态,并进行存档,即存储为图3所示的结构。
本公开实施例中,各合同参与方可以向TEE节点的合同自动签署智能合约请求获取合同内容,权限验证通过之后,TEE节点将合同内容返回至发出请求的合同参与方,合同参与方返回确认交易。或者,TEE节点的合同自动签署智能合约根据安全账本中存储的参与方信息,主动向合同参与方推送合同内容,获取确认交易。
生效的合同将被存档到区块链网络的TEE节点的存储系统中,合同内容无法被篡改,并将脱敏后的数据同步存储到区块链网络的非TEE节点中。
有权限的参与方,可以随时查看合同内容并校验合同有效性。即参与方可以向TEE节点发起查询交易,TEE节点对接收到的查询交易进行权限校验,若验证该参与方有查看权限,则将合同内容发送给相应的参与方。当参与方接收到TEE节点返回的合同内容时,可以利用TEE节点的公钥进行校验,以此校验合同的有效性。
图5所示为一个合同签订流程的示例:
步骤1.参与方将电子合同(含敏感数据)上传到区块链网络的TEE节点;
步骤2.TEE节点处理交易数据,并进行存储;并将脱敏后的数据发送到区块链网络中的非TEE节点中;
步骤3.合同相关参与方拥有权限,从TEE节点中查询合同内容;而无权限方,无法看到合同具体内容。
步骤4.如果参与方认同合同,则向合同对应的合同自动签署智能合约发送一笔确认交易,交易内容是用某种加密算法对合同数据进行签名,表示签署合同;
步骤5.合同自动签署智能合约收集各合同参与方的签名,并进行校验。当所有需要签署合同的参与方都签名后,将合同设置为生效状态,并进行存证;
步骤6.合同存证生效之后,可以使用通过调用相关的智能合约对合同进度等信息进行更新;
步骤7.合同相关参与方拥有权限可以在区块链平台查询合同以及合同执行情况。
本公开实施例提供的合同自动化执行的具体流程如图6所示。
本公开实施例中,合同参与方即智能合约签署方,代表各方确认合同,类似于现实世界中各方在合同上签字,各参与方共同制定合同自动签署和自动执行的规则并上传到区块链平台,以此完成合同自动签署智能合约和合同自动执行智能合约的部署。
由合同自动执行智能合约驱动合同的自动化执行,比如支付30%的首付款、支付70%的尾款等。
某参与方(如施工方,开发方)可以将项目进度、成果证明(作为项目进度信息)上传至区块链,并记录到合同自动执行智能合约的进度记录模块(即图6中的合同进度记录管理)。
合同自动执行智能合约的进度记录模块更新进度后,合同自动执行智能合约每次检测到进度有更新后,自动触发进度验收,进度验收可以分为自动验收和人工验收:
(1)自动验收:自动验收是把验收的规则内置于合同自动执行智能合约中,以代码的形式执行。对于软件项目,如测试代码,测试用例等。
(2)人工验收:人工验收需要项目验收方,从合同自动执行智能合约中查看或下载进度证明(即上述项目进度信息)并人工检查,检查通过后对项目验收结果进行签名并上传。合同自动执行智能合约当接收到项目验收方上传的项目验收结果之后,自动触发支付操作,例如支付尾款。
项目参与方可随时查看项目进度,做到流程透明。
本公开实施例提供的数字资产&DCEP的具体流程如图7所示。
区块链平台可对接DCEP,使用数字货币进行支付活动。DCEP是法定数字货币,具有高度可靠性和稳定性。相对于其他加密货币,利用DCEP进行支付更加安全,而且能被大众所接受。
如图7所示,区块链平台对接DCEP网络,使用者A通过区块链平台支付一笔工程款给B,B通过其他DCEP客户端即可查看付款结果,无需通过区块链平台。
用户也可以基于区块链平台发行特定数字货币用于支付,如积分、会员金币、点券等。区块链平台提供相应发行和支付接口。
本公开实施例提供的方法,一方面,利用区块链对电子合同进行存证,另一方面,还考虑了对合同内容的保护,结合TEE技术解决了区块链电子合同方案中敏感数据的安全和隐私保护问题,TEE节点用于对合同内容等敏感数据进行处理和存储,保障了敏感数据的安全。此外,本公开实施例提供的方法还结合智能合约,实现了合同进度自动化控制,进一步促进降本增效。即利用区块链实现了合同的自动化执行与支付,通过智能合约解决了合同执行中效率低下问题,降低了合同中各个参与方之间协调成本,实现过程透明;电子合同使用智能合约自动执行,实现了进度自动管理;还可以通过对接DECP实现自动支付。
本公开实施例提供的自动化支付的具体执行流程如图8所示,可以包括如下步骤:
步骤1.各个参与方共同制定合同规则,例如上述合同自动执行的规则,其中可以包括自动触发验收的逻辑和自动支付的逻辑,并上传到区块链平台,即将合同自动执行智能合约部署到区块链网络中。
步骤2.某参与方(如施工方,开发方)将项目进度、成果证明等项目进度信息上传到区块链,并记录到合同自动执行智能合约的进度记录模块。
步骤3.进度记录模块更新进度后,触发验收,项目验收方通过验收后进入支付流程。
步骤4.当支付模块检查到某个条件(该条件可以根据实际情况进行设定,例如项目验收结果为验收通过)满足后,按照预制的结算规则触发付款行为。
步骤5.资金支付到结算规则指定的账户,并记录付款行为。
步骤6.参与方可以随时在区块链平台上查看付款记录和合同进度。
一方面,本公开实施例在区块链电子合同方案中,引入了TEE安全节点,并设计了其TEE账本结构和交易体结构;TEE节点为用户的隐私数据提供高级别安全保障,并设计了基于TEE节点的敏感数据交易流程。本公开实施例把TEE和区块链技术充分结合,提供了一套软件+硬件双重安全保障的特色区块链服务方案。另一方面,本公开实施例还设计了基于TEE和智能合约的合同自动化签订、自动化执行和自动化支付的流程。
图9是本公开实施例提供的一种计算机设备的结构示意图。
参见图9,图9是本公开实施例提供的一种计算机设备的结构示意图。如图9所示,本公开实施例中的计算机设备可以包括:一个或多个处理器901、存储器902和输入输出接口903。该处理器901、存储器902和输入输出接口903通过总线904连接。存储器902用于存储计算机程序,该计算机程序包括程序指令,输入输出接口903用于接收数据及输出数据,如用于宿主机与计算机设备之间进行数据交互,或者用于在宿主机中的各个虚拟机之间进行数据交互;处理器901用于执行存储器902存储的程序指令。
其中,该处理器901可以执行上述实施例中TEE节点和/或非TEE节点和/或用户端执行的操作。
在一些可行的实施方式中,该处理器901可以是中央处理单元(centralprocessing unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(digitalsignal processor,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现成可编程门阵列(field-programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
该存储器902可以包括只读存储器和随机存取存储器,并向处理器901和输入输出接口903提供指令和数据。存储器902的一部分还可以包括非易失性随机存取存储器。例如,存储器902还可以存储设备类型的信息。
具体实现中,该计算机设备可通过其内置的各个功能模块执行如上述实施例中各个步骤所提供的实现方式,在此不再赘述。
本公开实施例通过提供一种计算机设备,包括:处理器、输入输出接口、存储器,通过处理器获取存储器中的计算机程序,执行上述实施例中所示方法的各个步骤,进行数据处理操作。
本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序适于由该处理器加载并执行上述实施例中各个步骤所提供的基于区块链的合同处理方法,具体可参见上述实施例中各个步骤所提供的实现方式,在此不再赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本公开所涉及的计算机可读存储介质实施例中未披露的技术细节,请参照本公开方法实施例的描述。作为示例,计算机程序可被部署为在一个计算机设备上执行,或者在位于一个地点的多个计算机设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算机设备上执行。
该计算机可读存储介质可以是前述任一实施例提供的网络流量预测装置或者该计算机设备的内部存储单元,例如计算机设备的硬盘或内存。该计算机可读存储介质也可以是该计算机设备的外部存储设备,例如该计算机设备上配备的插接式硬盘,智能存储卡(smart media card,SMC),安全数字(secure digital,SD)卡,闪存卡(flash card)等。进一步地,该计算机可读存储介质还可以既包括该计算机设备的内部存储单元也包括外部存储设备。该计算机可读存储介质用于存储该计算机程序以及该计算机设备所需的其他程序和数据。该计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的数据。
本公开实施例还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述实施例中的各种可选方式中所提供的方法。
本公开实施例的说明书和权利要求书及附图中的术语“第一”、“第二”等是用于区别不同对象,而非用于描述特定顺序。此外,术语“包括”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、装置、产品或设备没有限定于已列出的步骤或模块,而是可选地还包括没有列出的步骤或模块,或可选地还包括对于这些过程、方法、装置、产品或设备固有的其他步骤单元。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在该说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本公开的范围。
本公开实施例提供的方法及相关装置是参照本公开实施例提供的方法流程图和/或结构示意图来描述的,具体可由计算机程序指令实现方法流程图和/或结构示意图的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。这些计算机程序指令可提供到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或结构示意图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或结构示意图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或结构示意一个方框或多个方框中指定的功能的步骤。
以上所揭露的仅为本公开较佳实施例而已,当然不能以此来限定本公开之权利范围,因此依本公开权利要求所作的等同变化,仍属本公开所涵盖的范围。
Claims (12)
1.一种基于区块链的合同处理方法,其特征在于,应用于区块链系统,所述区块链系统包括节点,所述节点包括可信执行环境TEE节点和非TEE节点,所述方法包括:
所述TEE节点接收合同部署方发起的第一合同部署交易,所述第一合同部署交易包括合同信息;
所述TEE节点在所述第一合同部署交易共识通过之后,在所述TEE节点的安全账本上存储所述合同信息;
所述TEE节点对所述合同信息进行脱敏处理,获得脱敏数据;
所述TEE节点向所述非TEE节点发起第二合同部署交易,所述第二合同部署交易包括所述脱敏数据;
所述非TEE节点在所述第二合同部署交易共识通过之后,在所述非TEE节点的区块链中存储所述脱敏数据。
2.根据权利要求1所述的方法,其特征在于,在所述TEE节点的安全账本上存储所述合同信息,包括;
计算所述合同信息的哈希值;
根据所述合同信息的哈希值获得默克尔根;
在所述安全账本的当前账本页中存储所述合同信息、所述合同信息的哈希值、所述默克尔根、提交时间、时间戳、块高度、块版本号和上一个账本页哈希和块哈希。
3.根据权利要求2所述的方法,其特征在于,所述合同信息包括所述第一合同部署交易的交易哈希、合同哈希、合同内容、合同标识、参与方信息、上传时间、版本信息和进度信息中的至少一项。
4.根据权利要求1所述的方法,其特征在于,所述TEE节点向所述非TEE节点发起第二合同部署交易,包括:
所述TEE节点对所述合同信息中的敏感数据进行摘要计算,获得第一摘要;
利用所述TEE节点的私钥对所述第一摘要进行数字签名,获得第一签名;
所述TEE节点向所述非TEE节点发起所述第二合同部署交易,所述第二合同部署交易还包括所述第一签名。
5.根据权利要求4所述的方法,其特征在于,所述非TEE节点在所述第二合同部署交易共识通过之后,在所述非TEE节点的区块链中存储所述脱敏数据,包括:
所述非TEE节点利用所述TEE节点的公钥验证所述第一签名;
若所述第一签名验证通过,所述非TEE节点对所述第二合同部署交易进行共识;
在所述第二合同部署交易共识通过之后,在所述非TEE节点的区块链中存储所述脱敏数据。
6.根据权利要求1所述的方法,其特征在于,在所述TEE节点上部署有合同自动签署智能合约;所述合同信息包括参与方信息;
其中,所述TEE节点在所述第一合同部署交易共识通过之后,在所述TEE节点的安全账本上存储所述合同信息,包括:
所述TEE节点在所述第一合同部署交易共识通过之后,调用所述合同自动签署智能合约;
通过所述合同自动签署智能合约根据所述参与方信息向合同参与方发送合同签署请求,所述合同签署请求包括所述合同信息,所述合同参与方用于在认同所述合同信息时,生成确认交易;
通过所述合同自动签署智能合约接收所述合同参与方的确认交易,并根据所述确认交易将合同设置为生效状态,在所述TEE节点的安全账本上存储所述合同信息。
7.根据权利要求1所述的方法,其特征在于,在所述区块链系统上部署有合同自动执行智能合约,所述合同自动执行智能合约中包括进度记录模块;
其中,所述方法还包括:
所述节点接收项目参与方发送的进度记录交易,所述进度记录交易包括项目进度信息;
所述节点在所述进度记录交易共识通过之后,将所述项目进度信息存储至所述进度记录模块;
所述合同自动执行智能合约在检测到所述进度记录模块有更新时,自动触发项目验收操作;
所述合同自动执行智能合约接收项目验收方发送的验收结果上传交易,所述验收结果上传交易包括项目验收结果;
所述合同自动执行智能合约在所述验收结果上传交易共识通过之后,若检测到所述项目验收结果为验收通过,则自动触发约定支付操作。
8.根据权利要求7所述的方法,其特征在于,所述项目验收操作包括自动验收操作;所述合同自动执行智能合约中还包括自动验收规则代码。
9.根据权利要求7所述的方法,其特征在于,所述项目验收操作包括人工验收操作;
其中,所述合同自动执行智能合约自动触发项目验收操作,包括:
所述合同自动执行智能合约接收项目验收方发送的项目进度查询交易,所述项目进度查询交易包括项目验收方信息;
所述合同自动执行智能合约响应所述项目进度查询交易,向所述项目验收方下发所述项目进度信息,所述项目验收方用于根据所述项目进度信息对项目进度进行检查,获得项目验收结果,对所述项目验收结果进行签名,生成验收结果上传交易。
10.一种区块链系统,其特征在于,所述区块链系统包括节点,所述节点包括可信执行环境TEE节点和非TEE节点,其中:
所述TEE节点用于接收合同部署方发起的第一合同部署交易,所述第一合同部署交易包括合同信息;
所述TEE节点用于在所述第一合同部署交易共识通过之后,在所述TEE节点的安全账本上存储所述合同信息;
所述TEE节点用于对所述合同信息进行脱敏处理,获得脱敏数据;
所述TEE节点用于向所述非TEE节点发起第二合同部署交易,所述第二合同部署交易包括所述脱敏数据;
所述非TEE节点用于在所述第二合同部署交易共识通过之后,在所述非TEE节点的区块链中存储所述脱敏数据。
11.一种计算机设备,其特征在于,包括处理器、存储器、输入输出接口;
所述处理器分别与所述存储器和所述输入输出接口相连,其中,所述输入输出接口用于接收数据及输出数据,所述存储器用于存储计算机程序,所述处理器用于调用所述计算机程序,以使得所述计算机设备执行权利要求1-9任一项所述的方法。
12.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至9中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111567106.6A CN114239066A (zh) | 2021-12-20 | 2021-12-20 | 基于区块链的合同处理方法及相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111567106.6A CN114239066A (zh) | 2021-12-20 | 2021-12-20 | 基于区块链的合同处理方法及相关设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114239066A true CN114239066A (zh) | 2022-03-25 |
Family
ID=80759785
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111567106.6A Pending CN114239066A (zh) | 2021-12-20 | 2021-12-20 | 基于区块链的合同处理方法及相关设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114239066A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114785506A (zh) * | 2022-06-17 | 2022-07-22 | 杭州天谷信息科技有限公司 | 一种电子合同签署方法 |
CN117290889A (zh) * | 2023-11-24 | 2023-12-26 | 广州墨斗信息科技有限公司 | 一种基于区块链实现电子劳务合同的安全存储方法 |
-
2021
- 2021-12-20 CN CN202111567106.6A patent/CN114239066A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114785506A (zh) * | 2022-06-17 | 2022-07-22 | 杭州天谷信息科技有限公司 | 一种电子合同签署方法 |
CN117290889A (zh) * | 2023-11-24 | 2023-12-26 | 广州墨斗信息科技有限公司 | 一种基于区块链实现电子劳务合同的安全存储方法 |
CN117290889B (zh) * | 2023-11-24 | 2024-03-12 | 广州墨斗信息科技有限公司 | 一种基于区块链实现电子劳务合同的安全存储方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106504094B (zh) | 基于区块链技术的分布式总账系统的交易撮合方法及系统 | |
CN110348853B (zh) | 一种基于标识认证的区块链离线交易方法和系统 | |
CN111444273B (zh) | 一种基于区块链的数据授权方法以及装置 | |
CN111200589A (zh) | 一种联盟链的数据保护方法及系统 | |
CN112037068A (zh) | 资源转移方法、系统、装置、计算机设备和存储介质 | |
CN116158053A (zh) | 离线交互系统和方法 | |
CN111222841B (zh) | 一种基于区块链的数据分配方法及其设备、存储介质 | |
CA2355928C (en) | Method and system for implementing a digital signature | |
EP4050542B1 (en) | Blockchain-based data processing method and apparatus, and device and readable storage medium | |
CN114239066A (zh) | 基于区块链的合同处理方法及相关设备 | |
CN111492355B (zh) | 用于控制和/或监控装置的方法和控制系统 | |
CN111461852A (zh) | 一种基于区块链的数据处理方法、装置及可读存储介质 | |
CN111770199A (zh) | 一种信息共享方法、装置及设备 | |
CN111985007A (zh) | 一种基于区块链的合同签署与执行方法及装置 | |
CN111414434B (zh) | 基于区块链的数据交易管理网络、交易设备和存储介质 | |
CN109118377A (zh) | 一种基于区块链的理赔事件的处理方法、系统及电子设备 | |
CN113826134A (zh) | 基于区块链的可信保函 | |
CN112215709A (zh) | 基于区块链的提单数字化流转方法、装置及电子设备 | |
CN110766403A (zh) | 基于区块链的数据处理装置、方法及存储介质 | |
CN111062717A (zh) | 一种数据转移处理方法、装置和计算机可读存储介质 | |
CN116720839B (zh) | 基于区块链技术的金融信息管理方法及其监管系统 | |
CN115392914B (zh) | 基于区块链的供应链金融平台及数据处理方法 | |
CN114154969B (zh) | 一种基于区块链的大型交易和结算方法 | |
CN117769707A (zh) | 用于在电子交易系统中传输令牌的方法和交易系统 | |
CN114372280A (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 |