CN109840767B - 基于区块链技术的多方公平合约存证方法和系统 - Google Patents

基于区块链技术的多方公平合约存证方法和系统 Download PDF

Info

Publication number
CN109840767B
CN109840767B CN201810019050.2A CN201810019050A CN109840767B CN 109840767 B CN109840767 B CN 109840767B CN 201810019050 A CN201810019050 A CN 201810019050A CN 109840767 B CN109840767 B CN 109840767B
Authority
CN
China
Prior art keywords
transaction
party
list
public key
key address
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
CN201810019050.2A
Other languages
English (en)
Other versions
CN109840767A (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.)
Institute of Computing Technology of CAS
Original Assignee
Institute of Computing Technology of CAS
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 Institute of Computing Technology of CAS filed Critical Institute of Computing Technology of CAS
Priority to CN201810019050.2A priority Critical patent/CN109840767B/zh
Publication of CN109840767A publication Critical patent/CN109840767A/zh
Application granted granted Critical
Publication of CN109840767B publication Critical patent/CN109840767B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本发明涉及一种基于区块链技术的多方公平合约存证方法,利用区块链技术、CA数字证书体系来实现数字化数据存证技术的活化管理方式,将存证数据的初始化添加、更新、冻结等管理流程映射为区块链网络的交易单形式,存证数据经存证多方的签名确认写入交易单,存证过程经存证多方确认和区块链网络的全网共识验证之后写入区块链全局账本数据,形成了不可篡改、不可否认、不存在单点故障的存证数据的管理方式,解决了目前中心化存证技术中普遍存在的信用单点依赖问题、单点故障后存证原始数据无法恢复的问题。

Description

基于区块链技术的多方公平合约存证方法和系统
技术领域
本发明属于区块链技术和数据存证技术领域,具体涉及一种基于区块链技术的数据存证技术及存证数据管理技术。
背景技术
商业合同在信息技术领域通常称为公平合约(Fair Contract),其公平性体现在合约内容包含了双方(或多方)的利益与责任的划分,双方在合约内容、合约交换过程及合约有效期内,应始终处于均势地位。商业合同或商业往来交互信息逐渐电子化保存的今天,以电子文档形式保存的合同或文件形式具有易剔除、易篡改的属性,因此,保证电子合同的真实性和完整性是普遍存在的现实需求,需要对电子合同或相关文档依据电子证据相应法规进行存证存管,如何按照监管要求做好电子数据存证,目前,还未形成统一的流程和标准。
当前数据存证技术主要包含以下问题:
1、数据存证过程依赖“中心化”的数据存证机构,依赖中心化的数据存证机构的权威及信用,这会造成数据存证过程的中心单点依赖问题,以下将该问题归结为“信用依赖”问题;
2、目前的数据存证技术,以单向哈希函数和非对称秘钥的数字签名技术为基础,形成原始数据完整性校验的“数据摘要”,这是一种“固化”的数据管理方式,无法实现存证数据的更新、冻结等管理操作,原始数据被破坏后,无法通过“数据摘要”恢复原始数据。
发明内容
针对上述问题,本发明涉及一种基于区块链技术的多方公平合约存证方法,包括:
初始化步骤,甲方将链接公平合约的初始数据以及所有签署方数字签名的初始交易单写入生成该初始交易单时刻的区块;
更新步骤,该甲方将链接该公平合约的更新数据以及所有该签署方数字签名的更新交易单写入生成该更新交易单时刻的区块;
冻结步骤,该甲方将链接该公平合约的冻结数据以及所有该签署方数字签名的冻结交易单写入生成该冻结交易单时刻的区块;
恢复步骤,从该区块链网络的历史数据中遍历时间点T之前的历史区块,找到所有包含该公平合约的存证数据的存证交易单,以最近一次该存证交易单的存证数据,作为该公平合约在该时间点T的值;
其中该签署方包括签署该公平合约的该甲方、乙方和丙方,该存证数据包括该初始数据、该更新数据、该冻结数据,该存证交易单包括该初始交易单、该更新交易单、该冻结交易单。
本发明所述的多方公平合约存证方法,其中所述初始化步骤具体包括:
初始化发起步骤,该甲方将该初始数据封装为第一交易单广播到该区块链网络,该第一交易单的第一输出公钥地址指向包括该乙方的和该丙方的公钥地址,该第一交易单的第二输出公钥地址指向为该甲方的的公钥地址;该共识节点将接收到的该第一交易单写入生成该第一交易单时刻的区块;当该甲方终止该初始化步骤时,在该第一交易单后链接第一终止交易单并广播到该区块链网络,该第一终止交易单的输出公钥地址为空,该共识节点将该第一终止交易单写入生成该第一终止交易单时刻的区块;
第一初始化确认步骤,该乙方和该丙方在该第一交易单后分别链接乙方第一初始确认交易单和丙方第一初始确认交易单,并广播到该区块链网络,以通过区块链共识协议竞争获胜的该乙方第一初始确认交易单为第二交易单,并废弃该丙方第一初始确认交易单,将该第二交易单广播到该区块链网络,其中该第二交易单的第一输出公钥地址指向该丙方的公钥地址,该第二交易单的第二输出公钥地址指向该乙方的公钥地址;当该乙方终止该初始化步骤时,在该第二交易单后链接第二终止交易单并广播到该区块链网络,该第二终止交易单的输出公钥地址为空,该共识节点将该第二终止交易单写入生成该第二终止交易单时刻的区块;
第二初始化确认步骤,该丙方在该第二交易单后链接丙方第二初始确认交易单,并广播到该区块链网络,以通过区块链共识协议竞争获胜的该丙方第二初始确认交易单为第三交易单,将该第三交易单广播到该区块链网络,其中该第三交易单的第一输出公钥地址指向该甲方的公钥地址,该第三交易单的第二输出公钥地址指向该丙方的公钥地址;当该丙方终止该初始化步骤时,在该第三交易单后链接第三终止交易单并广播到该区块链网络,该第三终止交易单的输出公钥地址为空,该共识节点将该第三终止交易单写入生成该第三终止交易单时刻的区块;
初始化存证步骤,该甲方在该第三交易单后链接该初始交易单,并广播到该区块链网络,该初始交易单的输出公钥地址分别指向该甲方的、该乙方的和该丙方的公钥地址;该共识节点将该初始交易单写入生成该初始交易单时刻的区块。
本发明所述的多方公平合约存证方法,其中所述更新步骤具体包括:
更新发起步骤,该甲方将该更新数据封装为第四交易单广播到该区块链网络,该第四交易单的第一输出公钥地址指向包括该乙方的和该丙方的公钥地址,该第四交易单的第二输出公钥地址指向为该甲方的的公钥地址;该共识节点将接收到的该第四交易单写入生成该第四交易单时刻的区块;当该甲方终止该更新步骤时,在该第四交易单后链接第四终止交易单并广播到该区块链网络,该第四终止交易单的输出公钥地址为空,该共识节点将该第四终止交易单写入生成该第四终止交易单时刻的区块;
第一更新确认步骤,该乙方和该丙方在该第四交易单后分别链接乙方第一更新确认交易单和丙方第一更新确认交易单,并广播到该区块链网络,以通过区块链共识协议竞争获胜的该乙方第一更新确认交易单为第五交易单,并废弃该丙方第一更新确认交易单,将该第五交易单广播到该区块链网络,其中该第五交易单的第一输出公钥地址指向该丙方的公钥地址,该第二交易单的第二输出公钥地址指向该乙方的公钥地址;当该乙方终止该更新步骤时,在该第五交易单后链接第五终止交易单并广播到该区块链网络,该第五终止交易单的输出公钥地址为空,该共识节点将该第五终止交易单写入生成该第五终止交易单时刻的区块;
第二更新确认步骤,该丙方在该第五交易单后链接丙方第二更新确认交易单,并广播到该区块链网络,以通过区块链共识协议竞争获胜的该丙方第二更新确认交易单为第六交易单,将该第六交易单广播到该区块链网络,其中该第六交易单的第一输出公钥地址指向该甲方的公钥地址,该第六交易单的第二输出公钥地址指向该丙方的公钥地址;当该丙方终止该更新步骤时,在该第六交易单后链接第六终止交易单并广播到该区块链网络,该第六终止交易单的输出公钥地址为空,该共识节点将该第六终止交易单写入生成该第六终止交易单时刻的区块;
更新存证步骤,该甲方在该第六交易单后链接该更新交易单,并广播到该区块链网络,该更新交易单的输出公钥地址分别指向该甲方的、该乙方的和该丙方的公钥地址;该共识节点将该更新交易单写入生成该更新交易单时刻的区块。
本发明所述的多方公平合约存证方法,其中所述冻结步骤具体包括:
冻结发起步骤,该甲方将该冻结数据封装为第七交易单广播到该区块链网络,该第七交易单的第一输出公钥地址指向包括该乙方的和该丙方的公钥地址,该第七交易单的第二输出公钥地址指向为该甲方的的公钥地址;该共识节点将接收到的该第七交易单写入生成该第七交易单时刻的区块;当该甲方终止该冻结步骤时,在该第七交易单后链接第七终止交易单并广播到该区块链网络,该第七终止交易单的输出公钥地址为空,该共识节点将该第七终止交易单写入生成该第七终止交易单时刻的区块;
第一更新确认步骤,该乙方和该丙方在该第七交易单后分别链接乙方第一冻结确认交易单和丙方第一冻结确认交易单,并广播到该区块链网络,以通过区块链共识协议竞争获胜的该乙方第一冻结确认交易单为第八交易单,并废弃该丙方第一冻结确认交易单,将该第八交易单广播到该区块链网络,其中该第八交易单的第一输出公钥地址指向该丙方的公钥地址,该第八交易单的第二输出公钥地址指向该乙方的公钥地址;当该乙方终止该冻结步骤时,在该第八交易单后链接第八终止交易单并广播到该区块链网络,该第八终止交易单的输出公钥地址为空,该共识节点将该第八终止交易单写入生成该第八终止交易单时刻的区块;
第二冻结确认步骤,该丙方在该第八交易单后链接丙方第二冻结确认交易单,并广播到该区块链网络,以通过区块链共识协议竞争获胜的该丙方第二冻结确认交易单为第九交易单,将该第九交易单广播到该区块链网络,其中该第九交易单的第一输出公钥地址指向该甲方的公钥地址,该第九交易单的第二输出公钥地址指向该丙方的公钥地址;当该丙方终止该冻结步骤时,在该第九交易单后链接第九终止交易单并广播到该区块链网络,该第九终止交易单的输出公钥地址为空,该共识节点将该第九终止交易单写入生成该第九终止交易单时刻的区块;
冻结存证步骤,该甲方在该第九交易单后链接该冻结交易单,并广播到该区块链网络,该冻结交易单的输出公钥地址分别指向该甲方的、该乙方的和该丙方的公钥地址;该共识节点将该冻结交易单写入生成该冻结交易单时刻的区块。
本发明所述的多方公平合约存证方法,当该公平合约的签署方仅包括该甲方和该乙方时,该甲方将链接该公平合约的存证数据以及该甲乙双方数字签名的对应的存证交易单并写入生成该存证交易单时刻的区块。
本发明还涉及一种基于区块链技术的多方公平合约存证系统,包括:
初始化模块,用于完成公平合约的存证,其中甲方将链接公平合约的初始数据以及所有签署方数字签名的初始交易单写入生成该初始交易单时刻的区块;
更新模块,用于完成该公平合约的更新,其中该甲方将链接该公平合约的更新数据以及所有该签署方数字签名的更新交易单写入生成该更新交易单时刻的区块;
冻结模块,用于完成该公平合约的冻结,其中该甲方将链接该公平合约的冻结数据以及所有该签署方数字签名的冻结交易单写入生成该冻结交易单时刻的区块;
恢复模块,用于获取在时间点T时刻的该公平合约的存证数据,其中从该区块链网络的历史数据中遍历该时间点T之前的历史区块,找到所有包含该公平合约的存证数据的存证交易单,以最近一次该存证交易单的存证数据,作为该公平合约在该时间点T的值;
其中该签署方包括签署该公平合约的该甲方、该乙方和该丙方,该存证数据包括对该公平合约的初始数据、更新数据、冻结数据,该存证交易单包括该初始交易单、该更新交易单、该冻结交易单。
本发明所述的多方公平合约存证系统,其中所述初始化模块具体包括:
初始化发起模块,用于该甲方发起对该初始数据的存证,其中该甲方将该初始数据封装为第一交易单广播到该区块链网络,该第一交易单的第一输出公钥地址指向包括该乙方的和该丙方的公钥地址,该第一交易单的第二输出公钥地址指向为该甲方的的公钥地址;该共识节点将接收到的该第一交易单写入生成该第一交易单时刻的区块;当该甲方终止该初始化模块的运行时,在该第一交易单后链接第一终止交易单并广播到该区块链网络,该第一终止交易单的输出公钥地址为空,该共识节点将该第一终止交易单写入生成该第一终止交易单时刻的区块;
第一初始化确认模块,用于该乙方确认该初始数据,其中该乙方和该丙方在该第一交易单后分别链接乙方第一初始确认交易单和丙方第一初始确认交易单,并广播到该区块链网络,以通过区块链共识协议竞争获胜的该乙方第一初始确认交易单为第二交易单,并废弃该丙方第一初始确认交易单,将该第二交易单广播到该区块链网络,其中该第二交易单的第一输出公钥地址指向该丙方的公钥地址,该第二交易单的第二输出公钥地址指向该乙方的公钥地址;当该乙方终止该初始化模块的运行时,在该第二交易单后链接第二终止交易单并广播到该区块链网络,该第二终止交易单的输出公钥地址为空,该共识节点将该第二终止交易单写入生成该第二终止交易单时刻的区块;
第二初始化确认模块,用于该丙方确认该初始数据,其中该丙方在该第二交易单后链接丙方第二初始确认交易单,并广播到该区块链网络,以通过区块链共识协议竞争获胜的该丙方第二初始确认交易单为第三交易单,将该第三交易单广播到该区块链网络,其中该第三交易单的第一输出公钥地址指向该甲方的公钥地址,该第三交易单的第二输出公钥地址指向该丙方的公钥地址;当该丙方终止该初始化模块的运行时,在该第三交易单后链接第三终止交易单并广播到该区块链网络,该第三终止交易单的输出公钥地址为空,该共识节点将该第三终止交易单写入生成该第三终止交易单时刻的区块;
初始化存证模块,用于该甲方完成该初始化行为,其中该甲方在该第三交易单后链接该初始交易单,并广播到该区块链网络,该初始交易单的输出公钥地址分别指向该甲方的、该乙方的和该丙方的公钥地址;该共识节点将该初始交易单写入生成该初始交易单时刻的区块。
本发明所述的多方公平合约存证系统,其中所述更新模块具体包括:
更新发起模块,用于该甲方发起对该更新数据的存证,其中该甲方将该更新数据封装为第四交易单广播到该区块链网络,该第四交易单的第一输出公钥地址指向包括该乙方的和该丙方的公钥地址,该第四交易单的第二输出公钥地址指向为该甲方的的公钥地址;该共识节点将接收到的该第四交易单写入生成该第四交易单时刻的区块;当该甲方终止该更新模块的运行时,在该第四交易单后链接第四终止交易单并广播到该区块链网络,该第四终止交易单的输出公钥地址为空,该共识节点将该第四终止交易单写入生成该第四终止交易单时刻的区块;
第一更新确认模块,用于该乙方确认该更新数据,其中该乙方和该丙方在该第四交易单后分别链接乙方第一更新确认交易单和丙方第一更新确认交易单,并广播到该区块链网络,以通过区块链共识协议竞争获胜的该乙方第一更新确认交易单为第五交易单,并废弃该丙方第一更新确认交易单,将该第五交易单广播到该区块链网络,其中该第五交易单的第一输出公钥地址指向该丙方的公钥地址,该第二交易单的第二输出公钥地址指向该乙方的公钥地址;当该乙方终止该更新模块的运行时,在该第五交易单后链接第五终止交易单并广播到该区块链网络,该第五终止交易单的输出公钥地址为空,该共识节点将该第五终止交易单写入生成该第五终止交易单时刻的区块;
第二更新确认模块,用于该丙方确认该更新数据,其中该丙方在该第五交易单后链接丙方第二更新确认交易单,并广播到该区块链网络,以通过区块链共识协议竞争获胜的该丙方第二更新确认交易单为第六交易单,将该第六交易单广播到该区块链网络,其中该第六交易单的第一输出公钥地址指向该甲方的公钥地址,该第六交易单的第二输出公钥地址指向该丙方的公钥地址;当该丙方终止该更新模块的运行时,在该第六交易单后链接第六终止交易单并广播到该区块链网络,该第六终止交易单的输出公钥地址为空,该共识节点将该第六终止交易单写入生成该第六终止交易单时刻的区块;
更新存证步骤,用于该甲方完成该更新行为,其中该甲方在该第六交易单后链接该更新交易单,并广播到该区块链网络,该更新交易单的输出公钥地址分别指向该甲方的、该乙方的和该丙方的公钥地址;该共识节点将该更新交易单写入生成该更新交易单时刻的区块。
本发明所述的多方公平合约存证系统,其中所述冻结模块具体包括:
冻结发起模块,用于该甲方发起对该冻结数据的存证,其中该甲方将该冻结数据封装为第七交易单广播到该区块链网络,该第七交易单的第一输出公钥地址指向包括该乙方的和该丙方的公钥地址,该第七交易单的第二输出公钥地址指向为该甲方的的公钥地址;该共识节点将接收到的该第七交易单写入生成该第七交易单时刻的区块;当该甲方终止该冻结模块的运行时,在该第七交易单后链接第七终止交易单并广播到该区块链网络,该第七终止交易单的输出公钥地址为空,该共识节点将该第七终止交易单写入生成该第七终止交易单时刻的区块;
第一冻结确认模块,用于该乙方确认该冻结数据,其中该乙方和该丙方在该第七交易单后分别链接乙方第一冻结确认交易单和丙方第一冻结确认交易单,并广播到该区块链网络,以通过区块链共识协议竞争获胜的该乙方第一冻结确认交易单为第八交易单,并废弃该丙方第一冻结确认交易单,将该第八交易单广播到该区块链网络,其中该第八交易单的第一输出公钥地址指向该丙方的公钥地址,该第八交易单的第二输出公钥地址指向该乙方的公钥地址;当该乙方终止该冻结模块的运行时,在该第八交易单后链接第八终止交易单并广播到该区块链网络,该第八终止交易单的输出公钥地址为空,该共识节点将该第八终止交易单写入生成该第八终止交易单时刻的区块;
第二冻结确认步骤,用于该丙方确认该冻结数据,其中该丙方在该第八交易单后链接丙方第二冻结确认交易单,并广播到该区块链网络,以通过区块链共识协议竞争获胜的该丙方第二冻结确认交易单为第九交易单,将该第九交易单广播到该区块链网络,其中该第九交易单的第一输出公钥地址指向该甲方的公钥地址,该第九交易单的第二输出公钥地址指向该丙方的公钥地址;当该丙方终止该冻结模块的运行时,在该第九交易单后链接第九终止交易单并广播到该区块链网络,该第九终止交易单的输出公钥地址为空,该共识节点将该第九终止交易单写入生成该第九终止交易单时刻的区块;
冻结存证步骤,用于该甲方完成该冻结行为,其中该甲方在该第九交易单后链接该冻结交易单,并广播到该区块链网络,该冻结交易单的输出公钥地址分别指向该甲方的、该乙方的和该丙方的公钥地址;该共识节点将该冻结交易单写入生成该冻结交易单时刻的区块。
本发明所述的基于区块链技术的多方公平合约存证系统,当该公平合约的签署方仅包括该甲方和该乙方时,该甲方将链接该公平合约的存证数据以及该甲乙双方数字签名的对应的存证交易单并写入生成该存证交易单时刻的区块。
本发明的目的是解决当前中心化数据存证技术存在的基本问题,结合区块链技术、单向哈希函数、非对称秘钥的数字签名技术,实现“去中心化”的数据存证技术,通过网络中所有利益相关节点的“共识过程”,保证存证数据的权威性、不可抵赖性、不可篡改性,解决存证技术的信用依赖问题。建立存证数据的初始化添加、更新、冻结的流程标准,在保证存证数据管理过程的可信性、权威性的同时,实现存证数据全生命周期的“活化”管理,利用区块链技术的分布式存储管理特性,保证存证数据的可靠性。
附图说明
图1是区块链的基本数据结构示意图。
图2是区块体中交易单链接的逻辑结构示意图。
图3是本发明的公平合约存证过程示意图。
图4是本发明的公平合约存证数据初始化过程流程图。
图5是本发明的公平合约存证数据初始化过程示意图。
图6是本发明的公平合约存证数据更新过程流程图。
图7是本发明的公平合约存证数据更新过程示意图。
图8是本发明的公平合约存证数据冻结过程流程图。
图9是本发明的公平合约存证数据冻结过程示意图。
图10是本发明的公平合约存证数据恢复过程示意图。
图11是区块链的P2P网络结合CA数字证书体系示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图,对本发明提出的一种基于区块链技术的数据存证活化管理方法和系统进一步详细说明。应当理解,此处所描述的具体实施方法仅仅用以解释本发明,并不用于限定本发明。
区块链技术的本质是分布式账本数据库,该数据库保存历史交易数据,这个数据库被所有节点通过分布式一致协议共享。区块链技术的核心价值包括去中心化,分布式共识、非对称秘钥的签名和加密、时间戳,在节点无需互相信任的分布式系统中实现基于去中心化信用的点对点交易、协调与协作,从而为解决中心化机构普遍存在的高成本、信用垄断、可靠性依赖等问题提供了解决方案。具体的区块链的定义可描述如下:区块链是一种按照时间顺序将数据区块用类似链表的方式组成的数据结构,并以分布式共识和密码学方式保证区块链的数据全局一致、不可篡改和不可伪造的分布式去中心化账本,能够安全存储简单的、有先后关系的、能在系统内进行验证的数据。区块链的出现解决了数字货币的两大问题:双重支付问题以及拜占庭将军问题。区块链技术在金融、保险、支付、公证等领域有广阔的应用前景。
一般而言,区块链应用可以分为两类:
1.公有链(public blockchains):所有节点都可以参与共识、竞争记账权。任何个体或者团体都可以发送交易,且交易能够获得该区块链的有效确认,数据公开。其特点是:中立、开放、交易速度慢、需要“挖矿”或类似共识机制,常用P2P网络,抗审查性高。
2.许可链(permissionedblockchains):只有被许可的节点才能共识、竞争记账权并创建区块,包含私有链、联盟链、企业链等所有非公有链。数据可以公开或不公开。其特点是:交易速度快、不需要“挖矿”类的全网共识、交易成本低(交易只需几个许可节点验证即可);可审查,会占据商业应用领域的主流。
当前,区块链技术并没有形成行业标准,基本的区块链的数据结构如下图1所示。
区块链协议中的链式结构、交易信息的Merkle树和共识机制,保证了历史交易数据极难被篡改,其中的交易数据为本段时间内的交易单信息,其中的交易单的逻辑结构如图2所示:从创世区块开始,区块链历史账本数据中,包含了数字资产的首尾相接转账交易单构成的交易链条,上一个交易单的输出(out)成为当前交易单的输入(in),当前交易单的out,又可以作为下一个交易单的in。首尾相接的交易单数据(包含交易发送方的数字签名)经过脚本内容的验证为合法后,被不同时间戳的区块进行记录,构成首尾相接的区块链的数据主体。区块链网络的节点通过共识过程,竞争交易单的记账权,避免“双花”问题,避免历史交易数据被轻易篡改。
基于去中心化的点对点交易需求以及系统可靠性方面的考虑,区块链技术普遍基于P2P网络,网络中的每个节点以扁平式拓扑结构相互连通和交互,不存在任何中心化的特殊节点、不存在层级结构,每个节点均会承担网络路由、验证交易单、验证区块数据、传播区块数据、发现新节点等功能。按照节点存储数据量的不同,网络中的节点可以分为全数据节点(或称共识节点)和轻量级节点(或称交易节点)。前者保存从创世区块到当前最新区块为止的完整区块链账本,并通过实时参与全网共识过程,进行竞争记账来动态更新主链。
本发明中,数据存证过程涉及的利益相关方全部都作为区块链网络的共识节点(包含交易节点的全部功能),具体包括:将存证数据的管理过程划分为几个阶段,包括初始化、更新、冻结,以及各个阶段中对存证行为的终止,如图3所示;从数据逻辑含义方面考虑,存证数据可视为多方(或双方)公平合约的存证,存证的公平合约内容既包括多方(或双方)的“利益”,也包括多方(或双方)的“责任”。非面对面的在线场景下,并且,无中心机构的参与的情况下,多方(或双方)存证数据的建立,要保证参与方的公平性,公平性体现在存证数据的建立过程中、以及存证数据建立完毕之后,多方(或双方)之间始终处于均势地位,任何一方都无法通过作弊或不合理的“优势”地位而逃避“责任”或获得不正当“利益”。其中冻结可看做对公平合约m的删除,即无法对冻结后的公平合约m进行任何改动。
将存证数据的建立过程可以视为多方待签公平合约的签署过程,待签公平合约内容数字化为数据m,将交易单的交易有效内容从“数字”货币替换为m或多方对m的签名确认。将公平合约签署协议中包含的各方签名确认转变为区块链网络的交易单“转账”过程。公平合约交换过程未完成时,允许任何一方终止交换过程,公平合约m的终止消息为dm。
一般情况下公平合约的线上签署过程分为发起方和确认方,由于公平合约的多轮签署及确认是一个动态的过程,因此为了保证存证数据的权威性,基于区块链技术的甲方、乙方和丙方多方公平合约签署过程,既要实现公平合约内容由多方(发起方和确认方)进行数字签名确认,也要实现公平合约多轮的签署过程由多方签名并确认,在本发明实施例中以甲方为发起方,乙方和丙方为确认方,其中丙方代表除甲乙双方以外的其他参与签署公平合约m的用户,即公平合约m的签署方至少包括甲方和乙方,也可以还包括丙方等其他参与签署公平合约m的用户。将各个阶段的标准化处理流程转变为区块链网络上的“交易单”信息,将“交易单”信息通过全网共识及全网验证,写入区块链的历史区块中,形成不可篡改的、全网验证的数据存证记录。
一、公平合约初始化步骤
图4是本发明实施例的公平合约初始化步骤流程图。如图4所示,公平合约m存证数据的初始化处理流程如下:
步骤S101,由甲方发起公平合约m的初始化过程,甲方将包含公平合约m的初始信息和甲方数字签名形成第一交易单,第一交易单out项(输出公钥地址)的第一项指向乙方的和丙方的公钥地址,out项的第二项则指向甲方的公钥地址,甲方将第一交易单信息广播到区块链网络,表示甲方已经签名确认了公平合约m,且等待乙方和丙方的签名确认(或等待甲方构造终止交易单);
步骤S102,区块链网络的共识节点接收到第一交易单信息后,共识判断该第一交易单为甲方发起的公平合约签署初始化过程,因此不需对第一交易单的来源项进行验证,经过区块链网络的共识过程和共识验证,将第一交易单写入区块链的当前区块中;
步骤S103,在公平合约m的初始化过程未完成前,如果甲方决定终止初始化过程,则在第一交易单后链接输出公钥地址为空的第一终止交易单,并进入步骤S112;
步骤S104,乙方客户端和丙方客户端通过区块链历史数据,发现有指向自己公钥地址的待确认公平合约签署请求,分别在第一交易单后链接乙方第一初始确认交易单和丙方第一初始确认交易单,并广播到该区块链网络,以通过区块链共识协议竞争获胜的该乙方第一初始确认交易单为第二交易单,并废弃该丙方第一初始确认交易单,将该第二交易单广播到该区块链网络,第二交易单out项(输出公钥地址)的第一项指向丙方的公钥地址,out项的第二项则指向乙方的公钥地址;乙方将第二交易单广播到区块链网络,表示甲方对公平合约m的签名已经被乙方确认,并且乙方也对公平合约m进行了签名;
步骤S105,区块链网络共识节点接收到第二交易单,共识节点验证该交易单的合法性(验证乙方的公钥地址与前置交易单的输出公钥地址是否匹配,验证乙方的数字签名与公钥地址是否匹配),验证通过后,经过区块链网络的共识过程和验证过程,将该第二交易单写入区块链网络的当前区块中;
步骤S106,在公平合约m的初始化过程未完成前,如果乙方决定终止初始化过程,则在第二交易单后链接输出公钥地址为空的第二终止交易单,并进入步骤S112;
步骤S107,丙方客户端通过区块链历史数据,发现有指向自己公钥地址的待确认公平合约签署请求,丙方通过查询获得乙方提交的第二交易单数据,在第二交易单后链接丙方第二初始确认交易单,并广播到该区块链网络,以通过区块链共识协议竞争获胜的该丙方第二初始确认交易单为第三交易单,第三交易单out项(输出公钥地址)的第一项指向甲方的公钥地址,out项的第二项则指向丙方的公钥地址;丙方将第三交易单广播到区块链网络,表示甲方和乙方对公平合约m的签名已经被丙方确认,并且丙方也对公平合约m进行了签名;
步骤S108,区块链网络共识节点接收到第三交易单,共识节点验证该交易单的合法性(验证丙方的公钥地址与前置交易单的输出公钥地址是否匹配,验证丙方的数字签名与公钥地址是否匹配),验证通过后,经过区块链网络的共识过程和验证过程,将该第三交易单写入区块链网络的当前区块中;
步骤S109,在公平合约m的初始化过程未完成前,如果丙方决定终止初始化过程,则在第三交易单后链接输出公钥地址为空的第三终止交易单,并进入步骤S112;
步骤S110,甲方客户端通过区块链历史数据,发现有指向自己公钥地址的待确认公平合约签署请求,甲方查询获得丙方提交的第三交易单数据,在该第三交易单后链接初始交易单,初始交易单out项(输出公钥地址)指向所有签署方的公钥地址,并广播到区块链网络;
步骤S111,区块链网络的共识节点接收到初始交易单信息后,共识节点验证该初始交易单的合法性(验证甲方的公钥地址与前置交易单的输出公钥地址是否匹配,验证甲方数字签名与公钥地址是否匹配),验证通过后,经过区块链网络的共识过程和验证过程,将该初始交易单写入区块链网络的当前区块中;
步骤S112,如该共识节点接收并确认终止交易单的合法性后,将终止交易单写入区块链网络的当前区块中,并不再接收其他交易单。
经过以上的过程,确认了两项内容:1、甲方、乙方和丙方对公平合约内容m的数字签名;2、甲方、乙方和丙方对公平合约的顺序数字签名确认。这个过程保证了公平合约内容的可信性、不可抵赖性和公平合约签署过程的可信性、不可抵赖性(不可藏匿);当多次顺序签名的交易单被区块链网络记入区块链数据结构以后,多方公平合约即建立,此后,公平合约内容是无法单方撤销的,只能由多方的再次签名确认后冻结公平合约m。
在前的发起交易单和确认交易单的数据结构中,交易单的输出out的第二项内容中,都加入了本方的交易地址,目的是,在公平合约初始化还未完成时,允许任何一方终止还在初始化过程中的公平合约。区块链的共识机制避免了“分叉”现象,因此,初始化过程中的公平合约m,当任一签署方发布链接“终止公平合约”交易单,对手方同时发布“确认”公平合约交易单时,区块链的全网共识机制,保证了只能有一种一个交易单被成功记入区块链全局账本数据中,这保证了公平合约交换过程的全局数据一致性。无论公平合约成功建立,还是任一签署方终止公平合约交换过程,都不影响其公平性、不可抵赖性和不可撤销。由其在区块链网络内形成的交易单链接关系如图5所示。
不难发现,图5中的交易单链接关系,为了保证公平合约初始化过程的数据一致及状态一致,避免造成“公平合约正常终止”与“公平合约成功建立”同时发生而出现的矛盾,其区块链全网节点的交易单合法性验证,与目前的交易类型区块链交易单合法性验证略有不同,即每个交易单,输出项out索引中不论包含多少个有效输出项,只能有一个输出项能被后续交易单使用,交易单的某个输出项被后续交易单使用之后,此交易单其它输出项同时变为无效状态,即某个交易单的多个输出项被后续交易单使用时,会被其它节点验证交易单输入项不合法。在区块链网络的全网共识机制的保证下,避免了交易单的“分叉”现象,多个矛盾的交易单同时在区块链网络发布时,只能有其中一个交易单被成功记入区块链网络,这使得公平合约交换过程要么被所有签署方确认成功,要么被某一签署方确认终止,不会发生矛盾的情况。
二、公平合约更新步骤
图6是本发明实施例的公平合约更新步骤流程图。如图6所示,公平合约m存证数据的更新处理流程如下:
步骤S201,由甲方发起公平合约m的更新过程,甲方将包含公平合约m的更新信息和甲方数字签名形成第四交易单,第四交易单out项(输出公钥地址)的第一项指向乙方的和丙方的公钥地址,out项的第二项则指向甲方的公钥地址,甲方将第四交易单信息广播到区块链网络,表示甲方已经签名确认了公平合约m的更新数据,且等待乙方和丙方的签名确认(或等待甲方构造终止交易单);
步骤S202,区块链网络的共识节点接收到第四交易单信息后,共识判断该第四交易单为甲方发起的公平合约更新过程,因此不需对第四交易单的来源项进行验证,经过区块链网络的共识过程和共识验证,将第四交易单写入区块链的当前区块中;
步骤S203,在公平合约m的更新过程未完成前,如果甲方决定终止更新过程,则在第四交易单后链接输出公钥地址为空的第四终止交易单,并进入步骤S212;
步骤S204,乙方客户端和丙方客户端通过区块链历史数据,发现有指向自己公钥地址的待确认公平合约签署请求,分别在第四交易单后链接乙方第一更新确认交易单和丙方第一更新确认交易单,并广播到该区块链网络,以通过区块链共识协议竞争获胜的该乙方第一更新确认交易单为第五交易单,并废弃该丙方第一更新确认交易单,将该第五交易单广播到该区块链网络,第五交易单out项(输出公钥地址)的第一项指向丙方的公钥地址,out项的第二项则指向乙方的公钥地址;乙方将第五交易单广播到区块链网络,表示甲方对公平合约m更新数据的签名已经被乙方确认,并且乙方也对公平合约m的更新数据进行了签名;
步骤S205,区块链网络共识节点接收到第五交易单,共识节点验证该交易单的合法性(验证乙方的公钥地址与前置交易单的输出公钥地址是否匹配,验证乙方的数字签名与公钥地址是否匹配),验证通过后,经过区块链网络的共识过程和验证过程,将该第五交易单写入区块链网络的当前区块中;
步骤S206,在公平合约m的初始化过程未完成前,如果乙方决定终止更新过程,则在第五交易单后链接输出公钥地址为空的第五终止交易单,并进入步骤S212;
步骤S207,丙方客户端通过区块链历史数据,发现有指向自己公钥地址的待确认公平合约签署请求,丙方通过查询获得乙方提交的第五交易单数据,在第五交易单后链接丙方第二更新确认交易单,并广播到该区块链网络,以通过区块链共识协议竞争获胜的该丙方第二更新确认交易单为第六交易单,第六交易单out项(输出公钥地址)的第一项指向甲方的公钥地址,out项的第二项则指向丙方的公钥地址;丙方将第六交易单广播到区块链网络,表示甲方和乙方对公平合约m的签名已经被丙方确认,并且丙方也对公平合约m的更新数据进行了签名;
步骤S208,区块链网络共识节点接收到第六交易单,共识节点验证该交易单的合法性(验证丙方的公钥地址与前置交易单的输出公钥地址是否匹配,验证丙方的数字签名与公钥地址是否匹配),验证通过后,经过区块链网络的共识过程和验证过程,将该第六交易单写入区块链网络的当前区块中;
步骤S209,在公平合约m的更新过程未完成前,如果丙方决定终止更新过程,则在第六交易单后链接输出公钥地址为空的第六终止交易单,并进入步骤S212;
步骤S210,甲方客户端通过区块链历史数据,发现有指向自己公钥地址的待确认公平合约签署请求,甲方查询获得丙方提交的第六交易单数据,在该第六交易单后链接更新交易单,更新交易单out项(输出公钥地址)指向所有签署方的公钥地址,并广播到区块链网络;
步骤S211,区块链网络的共识节点接收到更新交易单信息后,共识节点验证该更新交易单的合法性(验证甲方的公钥地址与前置交易单的输出公钥地址是否匹配,验证甲方数字签名与公钥地址是否匹配),验证通过后,经过区块链网络的共识过程和验证过程,将该更新交易单写入区块链网络的当前区块中;
步骤S212,如该共识节点接收并确认终止交易单的合法性后,将终止交易单写入区块链网络的当前区块中,并不再接收其他交易单。
经过以上的过程,确认了两项内容:1、甲方、乙方和丙方对公平合约内容m更新数据的数字签名;2、甲方、乙方和丙方对公平合约m更新数据的顺序数字签名确认。这个过程保证了公平合约更新内容的可信性、不可抵赖性和公平合约更新过程的可信性、不可抵赖性(不可藏匿);当多次顺序签名的交易单被区块链网络记入区块链数据结构以后,多方公平合约即更新,如图7所示,此后,公平合约更新内容是无法单方撤销的,只能由多方的再次签名确认后冻结公平合约m更新内容。经过以上的过程,实现了所有签署方对公平合约m的更新内容m'的数字签名和更新过程的数字签名,保证了公平合约更新内容m'的可信性、不可抵赖性和追加过程的可信性、不可抵赖性;同时通过区块链网络的的共识记账过程和验证过程,保证了数据的完整性、不可篡改性和可靠性。
三、公平合约冻结步骤
图8是本发明实施例的公平合约冻结过程流程图,图9是本发明实施例的公平合约冻结过程示意图。如图8、图9所示,公平合约m存证数据的冻结处理流程如下:
步骤S301,由甲方发起公平合约m的冻结过程,甲方将包含公平合约m的冻结信息和甲方数字签名形成第七交易单,第七交易单out项(输出公钥地址)的第一项指向乙方的和丙方的公钥地址,out项的第二项则指向甲方的公钥地址,甲方将第七交易单信息广播到区块链网络,表示甲方已经签名确认了公平合约m的冻结数据,且等待乙方和丙方的签名确认(或等待甲方构造终止交易单);
步骤S302,区块链网络的共识节点接收到第七交易单信息后,共识判断该第七交易单为甲方发起的公平合约冻结过程,因此不需对第七交易单的来源项进行验证,经过区块链网络的共识过程和共识验证,将第七交易单写入区块链的当前区块中;
步骤S303,在公平合约m的冻结过程未完成前,如果甲方决定终止冻结过程,则在第七交易单后链接输出公钥地址为空的第七终止交易单,并进入步骤S312;
步骤S304,乙方客户端和丙方客户端通过区块链历史数据,发现有指向自己公钥地址的待确认公平合约签署请求,分别在第四交易单后链接乙方第一冻结确认交易单和丙方第一冻结确认交易单,并广播到该区块链网络,以通过区块链共识协议竞争获胜的该乙方第一冻结确认交易单为第八交易单,并废弃该丙方第一冻结确认交易单,将该第八交易单广播到该区块链网络,第八交易单out项(输出公钥地址)的第一项指向丙方的公钥地址,out项的第二项则指向乙方的公钥地址;乙方将第八交易单广播到区块链网络,表示甲方对公平合约m冻结数据的签名已经被乙方确认,并且乙方也对公平合约m的冻结数据进行了签名;
步骤S305,区块链网络共识节点接收到第八交易单,共识节点验证该交易单的合法性(验证乙方的公钥地址与前置交易单的输出公钥地址是否匹配,验证乙方的数字签名与公钥地址是否匹配),验证通过后,经过区块链网络的共识过程和验证过程,将该第八交易单写入区块链网络的当前区块中;
步骤S306,在公平合约m的冻结过程未完成前,如果乙方决定终止冻结过程,则在第八交易单后链接输出公钥地址为空的第八终止交易单,并进入步骤S312;
步骤S307,丙方客户端通过区块链历史数据,发现有指向自己公钥地址的待确认公平合约签署请求,丙方通过查询获得乙方提交的第八交易单数据,在第八交易单后链接丙方第二冻结确认交易单,并广播到该区块链网络,以通过区块链共识协议竞争获胜的该丙方第二冻结确认交易单为第九交易单,第九交易单out项(输出公钥地址)的第一项指向甲方的公钥地址,out项的第二项则指向丙方的公钥地址;丙方将第九交易单广播到区块链网络,表示甲方和乙方对公平合约m冻结数据的签名已经被丙方确认,并且丙方也对公平合约m的冻结数据进行了签名;
步骤S308,区块链网络共识节点接收到第九交易单,共识节点验证该交易单的合法性(验证丙方的公钥地址与前置交易单的输出公钥地址是否匹配,验证丙方的数字签名与公钥地址是否匹配),验证通过后,经过区块链网络的共识过程和验证过程,将该第九交易单写入区块链网络的当前区块中;
步骤S309,在公平合约m的冻结过程未完成前,如果丙方决定终止冻结过程,则在第九交易单后链接输出公钥地址为空的第九终止交易单,并进入步骤S312;
步骤S310,甲方客户端通过区块链历史数据,发现有指向自己公钥地址的待确认公平合约签署请求,甲方查询获得丙方提交的第九交易单数据,在该第九交易单后链接冻结交易单,冻结交易单out项(输出公钥地址)指向空地址,并广播到区块链网络;
步骤S311,区块链网络的共识节点接收到冻结交易单信息后,共识节点验证该冻结交易单的合法性(验证甲方的公钥地址与前置交易单的输出公钥地址是否匹配,验证甲方数字签名与公钥地址是否匹配),验证通过后,经过区块链网络的共识过程和验证过程,将该冻结新交易单写入区块链网络的当前区块中;
步骤S312,如该共识节点接收并确认终止交易单的合法性后,将终止交易单写入区块链网络的当前区块中,并不再接收其他交易单。
四、双方公平合约的存证
以上叙述是涉及甲方、乙方和丙方的多方公平合约存证过程,常见的双方公平合约存证过程是多方公平合约存证过程的一个特例,即公平合约m的签署方仅包括甲方和乙方,丙方不参与公平合约m的存证过程。不难发现,在双方实现公平合约存证时,由甲方发起存证行为,构造发起交易单,该发起交易单out项(输出公钥地址)的第一项指向乙方的公钥地址,out项的第二项则指向甲方的公钥地址,乙方通过区块链历史数据发现有指向自己公钥地址的待确认请求,在甲方提交的发起交易单后链接确认交易单,该确认交易单out项(输出公钥地址)的第一项指向甲方的公钥地址,out项的第二项则指向乙方的公钥地址;乙方将确认交易单广播到区块链网络,表示甲方对公平合约m存证数据的签名已经被乙方确认,并且乙方也对公平合约m存证数据进行了签名;甲方通过区块链历史数据,发现有指向自己公钥地址的待确认请求,甲方查询获得乙方提交的确认交易单数据,在该确认交易单后链接存证行为交易单,并广播到区块链网络并由共识节点存入当前区块,以完成存证行为。
同样的,在甲乙双方之间的公平合约的建立、更新和冻结过程中,可由已完成交易单链接的甲乙双方任何一方提前终止公平合约交换过程。
五、存证数据的恢复
图10是本发明的存证数据恢复过程示意图。如图10所示,存证数据的恢复,首先要指明时间轴上的某个时间点T,即将数据恢复到这个确定的T时刻的状态,从区块链的历史数据中,遍历时刻T之前的历史区块数据,找到这些区块中包含该存证数据条目内容的中所有的交易单链接信息,获取该交易单的最后一次更新信息,从而获知该存证数据在时刻T的状态值。
本发明利用区块链技术,将存证数据涉及的利益N方视作区块链网络内的参与节点,将数据存证管理过程涉及的数据初始化、数据更新、数据冻结行为映射为区块链网络的交易单形式,通过N方之间的N+1次交易过程,形成完整的存证数据的创建过程,再经过链接的N+1次交易过程,形成完整的存证数据的更新或删除过程,并计入带有时间戳的区块链数据结构中,形成了存证数据变化的完整历史记录,将存证数据的全生命周期变化轨迹计入区块链的历史区块数据中。存证数据可视为利益N方之间的公平合约,包含N方之间的“利益”与“责任”,在存证数据的创建过程中、及创建完毕之后,通过区块链网络内的公平交换过程,使得N方之间始终处于“去中心化”的、确定性的均势地位。在区块链的数据结构中,记录了存证数据完整的演变过程及双方确认过程,包括存证数据本体的双方签名确认和存证过程的双方签名确认。由区块链网络共识过程和数据验证过程,保证了数据存证管理过程的去中心化,避免了信用依赖问题;存证数据的原始值、更新值被计入区块链网络,使得存证数据可以实时追加更新、校验,保证了存证数据活化的管理方式和恢复过程。
本发明以区块链技术为基础,通过区块链网络将存证数据涉及的利益相关方视作网络内的共识节点(也是交易节点),区块链网络以P2P网络为组网方式,如图11所示。从数据存证技术的角度看,图11中网络各个节点是数据存证过程的相关利益各方,这些节点作为数据存证的主体,负责数据存证过程的发起和确认,每个节点都可发起存证请求,与利益相关的另一方共同协作,将存证数据的初始化、更新、冻结过程在区块链的分布式账本数据中完整记录;同时,在区块链技术的角度看,这些节点也是区块链网络的“共识”节点,每个节点保存分布式账本数据全集,每个节点参与存证数据的共识记账过程,并校验存证数据映射的交易单的合法性及区块数据的合法性。
存证数据涉及到利益相关各方不仅有权益,还包括责任,每个用户的公私钥用于存证数据的签名和存证过程的签名,不能要求每一个参与节点自己维护公私钥,需要引入PKI/CA技术体系,由CA中心为每个参与节点颁发数字证书并管理数字证书,数字证书绑定节点的身份信息,这样可以保证节点的历史签名信息始终都可被追溯到签名节点及节点对应的身份,避免了部分节点逃避存证数据所规定的责任。同时,数据存证区块链网络可以采用多种共识机制,本发明涉及的区块链数据存证技术对共识机制没有特殊要求,共识机制的选择取决于网络对安全性的要求。鉴于本发明涉及的区块链技术,通过CA的数字证书体系管理各个参与节点的真实身份信息,因此,节点之间并不是完全的非信任关系,所以,可以在共识协议上采用更高效的共识一致性算法,降低对参与节点恶意行为的防范,这样可以增加系统的存证请求的吞吐量。

Claims (8)

1.一种基于区块链技术的多方公平合约存证方法,其特征在于,包括:
初始化步骤,甲方将链接公平合约的初始数据以及所有签署方数字签名的初始交易单写入生成该初始交易单时刻的区块;具体包括:初始化发起步骤,该甲方将该初始数据封装为第一交易单广播到该区块链网络,该第一交易单的第一输出公钥地址指向包括乙方的和丙方的公钥地址,该第一交易单的第二输出公钥地址指向为该甲方的的公钥地址;共识节点将接收到的该第一交易单写入生成该第一交易单时刻的区块;当该甲方终止该初始化步骤时,在该第一交易单后链接第一终止交易单并广播到该区块链网络,该第一终止交易单的输出公钥地址为空,该共识节点将该第一终止交易单写入生成该第一终止交易单时刻的区块;第一初始化确认步骤,该乙方和该丙方在该第一交易单后分别链接乙方第一初始确认交易单和丙方第一初始确认交易单,并广播到该区块链网络,以通过区块链共识协议竞争获胜的该乙方第一初始确认交易单为第二交易单,并废弃该丙方第一初始确认交易单,将该第二交易单广播到该区块链网络,其中该第二交易单的第一输出公钥地址指向该丙方的公钥地址,该第二交易单的第二输出公钥地址指向该乙方的公钥地址;当该乙方终止该初始化步骤时,在该第二交易单后链接第二终止交易单并广播到该区块链网络,该第二终止交易单的输出公钥地址为空,该共识节点将该第二终止交易单写入生成该第二终止交易单时刻的区块;第二初始化确认步骤,该丙方在该第二交易单后链接丙方第二初始确认交易单,并广播到该区块链网络,以通过区块链共识协议竞争获胜的该丙方第二初始确认交易单为第三交易单,将该第三交易单广播到该区块链网络,其中该第三交易单的第一输出公钥地址指向该甲方的公钥地址,该第三交易单的第二输出公钥地址指向该丙方的公钥地址;当该丙方终止该初始化步骤时,在该第三交易单后链接第三终止交易单并广播到该区块链网络,该第三终止交易单的输出公钥地址为空,该共识节点将该第三终止交易单写入生成该第三终止交易单时刻的区块;初始化存证步骤,该甲方在该第三交易单后链接该初始交易单,并广播到该区块链网络,该初始交易单的输出公钥地址分别指向该甲方的、该乙方的和该丙方的公钥地址;该共识节点将该初始交易单写入生成该初始交易单时刻的区块;
更新步骤,该甲方将链接该公平合约的更新数据以及所有该签署方数字签名的更新交易单写入生成该更新交易单时刻的区块;
冻结步骤,该甲方将链接该公平合约的冻结数据以及所有该签署方数字签名的冻结交易单写入生成该冻结交易单时刻的区块;
恢复步骤,从区块链网络的历史数据中遍历时间点T之前的历史区块,找到所有包含该公平合约的存证数据的存证交易单,以最近一次该存证交易单的存证数据,作为该公平合约在该时间点T的值;
其中该签署方包括签署该公平合约的该甲方、乙方和丙方,该存证数据包括该初始数据、该更新数据、该冻结数据,该存证交易单包括该初始交易单、该更新交易单、该冻结交易单。
2.如权利要求1所述的基于区块链技术的多方公平合约存证方法,其特征在于,所述更新步骤具体包括:
更新发起步骤,该甲方将该更新数据封装为第四交易单广播到该区块链网络,该第四交易单的第一输出公钥地址指向包括该乙方的和该丙方的公钥地址,该第四交易单的第二输出公钥地址指向为该甲方的的公钥地址;该共识节点将接收到的该第四交易单写入生成该第四交易单时刻的区块;当该甲方终止该更新步骤时,在该第四交易单后链接第四终止交易单并广播到该区块链网络,该第四终止交易单的输出公钥地址为空,该共识节点将该第四终止交易单写入生成该第四终止交易单时刻的区块;
第一更新确认步骤,该乙方和该丙方在该第四交易单后分别链接乙方第一更新确认交易单和丙方第一更新确认交易单,并广播到该区块链网络,以通过区块链共识协议竞争获胜的该乙方第一更新确认交易单为第五交易单,并废弃该丙方第一更新确认交易单,将该第五交易单广播到该区块链网络,其中该第五交易单的第一输出公钥地址指向该丙方的公钥地址,该第四交易单的第二输出公钥地址指向该乙方的公钥地址;当该乙方终止该更新步骤时,在该第五交易单后链接第五终止交易单并广播到该区块链网络,该第五终止交易单的输出公钥地址为空,该共识节点将该第五终止交易单写入生成该第五终止交易单时刻的区块;
第二更新确认步骤,该丙方在该第五交易单后链接丙方第二更新确认交易单,并广播到该区块链网络,以通过区块链共识协议竞争获胜的该丙方第二更新确认交易单为第六交易单,将该第六交易单广播到该区块链网络,其中该第六交易单的第一输出公钥地址指向该甲方的公钥地址,该第六交易单的第二输出公钥地址指向该丙方的公钥地址;当该丙方终止该更新步骤时,在该第六交易单后链接第六终止交易单并广播到该区块链网络,该第六终止交易单的输出公钥地址为空,该共识节点将该第六终止交易单写入生成该第六终止交易单时刻的区块;
更新存证步骤,该甲方在该第六交易单后链接该更新交易单,并广播到该区块链网络,该更新交易单的输出公钥地址分别指向该甲方的、该乙方的和该丙方的公钥地址;该共识节点将该更新交易单写入生成该更新交易单时刻的区块。
3.如权利要求1所述的基于区块链技术的多方公平合约存证方法,其特征在于,所述冻结步骤具体包括:
冻结发起步骤,该甲方将该冻结数据封装为第七交易单广播到该区块链网络,该第七交易单的第一输出公钥地址指向包括该乙方的和该丙方的公钥地址,该第七交易单的第二输出公钥地址指向为该甲方的的公钥地址;该共识节点将接收到的该第七交易单写入生成该第七交易单时刻的区块;当该甲方终止该冻结步骤时,在该第七交易单后链接第七终止交易单并广播到该区块链网络,该第七终止交易单的输出公钥地址为空,该共识节点将该第七终止交易单写入生成该第七终止交易单时刻的区块;
第一冻结确认步骤,该乙方和该丙方在该第七交易单后分别链接乙方第一冻结确认交易单和丙方第一冻结确认交易单,并广播到该区块链网络,以通过区块链共识协议竞争获胜的该乙方第一冻结确认交易单为第八交易单,并废弃该丙方第一冻结确认交易单,将该第八交易单广播到该区块链网络,其中该第八交易单的第一输出公钥地址指向该丙方的公钥地址,该第八交易单的第二输出公钥地址指向该乙方的公钥地址;当该乙方终止该冻结步骤时,在该第八交易单后链接第八终止交易单并广播到该区块链网络,该第八终止交易单的输出公钥地址为空,该共识节点将该第八终止交易单写入生成该第八终止交易单时刻的区块;
第二冻结确认步骤,该丙方在该第八交易单后链接丙方第二冻结确认交易单,并广播到该区块链网络,以通过区块链共识协议竞争获胜的该丙方第二冻结确认交易单为第九交易单,将该第九交易单广播到该区块链网络,其中该第九交易单的第一输出公钥地址指向该甲方的公钥地址,该第九交易单的第二输出公钥地址指向该丙方的公钥地址;当该丙方终止该冻结步骤时,在该第九交易单后链接第九终止交易单并广播到该区块链网络,该第九终止交易单的输出公钥地址为空,该共识节点将该第九终止交易单写入生成该第九终止交易单时刻的区块;
冻结存证步骤,该甲方在该第九交易单后链接该冻结交易单,并广播到该区块链网络,该冻结交易单的输出公钥地址分别指向该甲方的、该乙方的和该丙方的公钥地址;该共识节点将该冻结交易单写入生成该冻结交易单时刻的区块。
4.如权利要求1~3任一项所述的基于区块链技术的多方公平合约存证方法,其特征在于,当该公平合约的签署方仅包括该甲方和该乙方时,该甲方将链接该公平合约的存证数据以及该甲乙双方数字签名的对应的存证交易单并写入生成该存证交易单时刻的区块。
5.一种基于区块链技术的多方公平合约存证系统,其特征在于,包括:
初始化模块,用于完成公平合约的存证,其中甲方将链接公平合约的初始数据以及所有签署方数字签名的初始交易单写入生成该初始交易单时刻的区块;具体包括:初始化发起模块,用于该甲方发起对该初始数据的存证,其中该甲方将该初始数据封装为第一交易单广播到该区块链网络,该第一交易单的第一输出公钥地址指向包括乙方的和丙方的公钥地址,该第一交易单的第二输出公钥地址指向为该甲方的的公钥地址;该共识节点将接收到的该第一交易单写入生成该第一交易单时刻的区块;当该甲方终止该初始化模块的运行时,在该第一交易单后链接第一终止交易单并广播到该区块链网络,该第一终止交易单的输出公钥地址为空,该共识节点将该第一终止交易单写入生成该第一终止交易单时刻的区块;第一初始化确认模块,用于该乙方确认该初始数据,其中该乙方和该丙方在该第一交易单后分别链接乙方第一初始确认交易单和丙方第一初始确认交易单,并广播到该区块链网络,以通过区块链共识协议竞争获胜的该乙方第一初始确认交易单为第二交易单,并废弃该丙方第一初始确认交易单,将该第二交易单广播到该区块链网络,其中该第二交易单的第一输出公钥地址指向该丙方的公钥地址,该第二交易单的第二输出公钥地址指向该乙方的公钥地址;当该乙方终止该初始化模块的运行时,在该第二交易单后链接第二终止交易单并广播到该区块链网络,该第二终止交易单的输出公钥地址为空,该共识节点将该第二终止交易单写入生成该第二终止交易单时刻的区块;第二初始化确认模块,用于该丙方确认该初始数据,其中该丙方在该第二交易单后链接丙方第二初始确认交易单,并广播到该区块链网络,以通过区块链共识协议竞争获胜的该丙方第二初始确认交易单为第三交易单,将该第三交易单广播到该区块链网络,其中该第三交易单的第一输出公钥地址指向该甲方的公钥地址,该第三交易单的第二输出公钥地址指向该丙方的公钥地址;当该丙方终止该初始化模块的运行时,在该第三交易单后链接第三终止交易单并广播到该区块链网络,该第三终止交易单的输出公钥地址为空,该共识节点将该第三终止交易单写入生成该第三终止交易单时刻的区块;初始化存证模块,用于该甲方完成该初始化行为,其中该甲方在该第三交易单后链接该初始交易单,并广播到该区块链网络,该初始交易单的输出公钥地址分别指向该甲方的、该乙方的和该丙方的公钥地址;该共识节点将该初始交易单写入生成该初始交易单时刻的区块;
更新模块,用于完成该公平合约的更新,其中该甲方将链接该公平合约的更新数据以及所有该签署方数字签名的更新交易单写入生成该更新交易单时刻的区块;
冻结模块,用于完成该公平合约的冻结,其中该甲方将链接该公平合约的冻结数据以及所有该签署方数字签名的冻结交易单写入生成该冻结交易单时刻的区块;
恢复模块,用于获取在时间点T时刻的该公平合约的存证数据,其中从区块链网络的历史数据中遍历该时间点T之前的历史区块,找到所有包含该公平合约的存证数据的存证交易单,以最近一次该存证交易单的存证数据,作为该公平合约在该时间点T的值;
其中该签署方包括签署该公平合约的该甲方、乙方和丙方,该存证数据包括对该公平合约的初始数据、更新数据、冻结数据,该存证交易单包括该初始交易单、该更新交易单、该冻结交易单。
6.如权利要求5所述的基于区块链技术的多方公平合约存证系统,其特征在于,所述更新模块具体包括:
更新发起模块,用于该甲方发起对该更新数据的存证,其中该甲方将该更新数据封装为第四交易单广播到该区块链网络,该第四交易单的第一输出公钥地址指向包括该乙方的和该丙方的公钥地址,该第四交易单的第二输出公钥地址指向为该甲方的的公钥地址;该共识节点将接收到的该第四交易单写入生成该第四交易单时刻的区块;当该甲方终止该更新模块的运行时,在该第四交易单后链接第四终止交易单并广播到该区块链网络,该第四终止交易单的输出公钥地址为空,该共识节点将该第四终止交易单写入生成该第四终止交易单时刻的区块;
第一更新确认模块,用于该乙方确认该更新数据,其中该乙方和该丙方在该第四交易单后分别链接乙方第一更新确认交易单和丙方第一更新确认交易单,并广播到该区块链网络,以通过区块链共识协议竞争获胜的该乙方第一更新确认交易单为第五交易单,并废弃该丙方第一更新确认交易单,将该第五交易单广播到该区块链网络,其中该第五交易单的第一输出公钥地址指向该丙方的公钥地址,该第四交易单的第二输出公钥地址指向该乙方的公钥地址;当该乙方终止该更新模块的运行时,在该第五交易单后链接第五终止交易单并广播到该区块链网络,该第五终止交易单的输出公钥地址为空,该共识节点将该第五终止交易单写入生成该第五终止交易单时刻的区块;
第二更新确认模块,用于该丙方确认该更新数据,其中该丙方在该第五交易单后链接丙方第二更新确认交易单,并广播到该区块链网络,以通过区块链共识协议竞争获胜的该丙方第二更新确认交易单为第六交易单,将该第六交易单广播到该区块链网络,其中该第六交易单的第一输出公钥地址指向该甲方的公钥地址,该第六交易单的第二输出公钥地址指向该丙方的公钥地址;当该丙方终止该更新模块的运行时,在该第六交易单后链接第六终止交易单并广播到该区块链网络,该第六终止交易单的输出公钥地址为空,该共识节点将该第六终止交易单写入生成该第六终止交易单时刻的区块;
更新存证步骤,用于该甲方完成该更新行为,其中该甲方在该第六交易单后链接该更新交易单,并广播到该区块链网络,该更新交易单的输出公钥地址分别指向该甲方的、该乙方的和该丙方的公钥地址;该共识节点将该更新交易单写入生成该更新交易单时刻的区块。
7.如权利要求5所述的基于区块链技术的多方公平合约存证系统,其特征在于,所述冻结模块具体包括:
冻结发起模块,用于该甲方发起对该冻结数据的存证,其中该甲方将该冻结数据封装为第七交易单广播到该区块链网络,该第七交易单的第一输出公钥地址指向包括该乙方的和该丙方的公钥地址,该第七交易单的第二输出公钥地址指向为该甲方的的公钥地址;该共识节点将接收到的该第七交易单写入生成该第七交易单时刻的区块;当该甲方终止该冻结模块的运行时,在该第七交易单后链接第七终止交易单并广播到该区块链网络,该第七终止交易单的输出公钥地址为空,该共识节点将该第七终止交易单写入生成该第七终止交易单时刻的区块;
第一冻结确认模块,用于该乙方确认该冻结数据,其中该乙方和该丙方在该第七交易单后分别链接乙方第一冻结确认交易单和丙方第一冻结确认交易单,并广播到该区块链网络,以通过区块链共识协议竞争获胜的该乙方第一冻结确认交易单为第八交易单,并废弃该丙方第一冻结确认交易单,将该第八交易单广播到该区块链网络,其中该第八交易单的第一输出公钥地址指向该丙方的公钥地址,该第八交易单的第二输出公钥地址指向该乙方的公钥地址;当该乙方终止该冻结模块的运行时,在该第八交易单后链接第八终止交易单并广播到该区块链网络,该第八终止交易单的输出公钥地址为空,该共识节点将该第八终止交易单写入生成该第八终止交易单时刻的区块;
第二冻结确认步骤,用于该丙方确认该冻结数据,其中该丙方在该第八交易单后链接丙方第二冻结确认交易单,并广播到该区块链网络,以通过区块链共识协议竞争获胜的该丙方第二冻结确认交易单为第九交易单,将该第九交易单广播到该区块链网络,其中该第九交易单的第一输出公钥地址指向该甲方的公钥地址,该第九交易单的第二输出公钥地址指向该丙方的公钥地址;当该丙方终止该冻结模块的运行时,在该第九交易单后链接第九终止交易单并广播到该区块链网络,该第九终止交易单的输出公钥地址为空,该共识节点将该第九终止交易单写入生成该第九终止交易单时刻的区块;
冻结存证步骤,用于该甲方完成该冻结行为,其中该甲方在该第九交易单后链接该冻结交易单,并广播到该区块链网络,该冻结交易单的输出公钥地址分别指向该甲方的、该乙方的和该丙方的公钥地址;该共识节点将该冻结交易单写入生成该冻结交易单时刻的区块。
8.如权利要求5~7任一项所述的基于区块链技术的多方公平合约存证系统,其特征在于,当该公平合约的签署方仅包括该甲方和该乙方时,该甲方将链接该公平合约的存证数据以及该甲乙双方数字签名的对应的存证交易单并写入生成该存证交易单时刻的区块。
CN201810019050.2A 2018-01-09 2018-01-09 基于区块链技术的多方公平合约存证方法和系统 Active CN109840767B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810019050.2A CN109840767B (zh) 2018-01-09 2018-01-09 基于区块链技术的多方公平合约存证方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810019050.2A CN109840767B (zh) 2018-01-09 2018-01-09 基于区块链技术的多方公平合约存证方法和系统

Publications (2)

Publication Number Publication Date
CN109840767A CN109840767A (zh) 2019-06-04
CN109840767B true CN109840767B (zh) 2021-06-11

Family

ID=66882905

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810019050.2A Active CN109840767B (zh) 2018-01-09 2018-01-09 基于区块链技术的多方公平合约存证方法和系统

Country Status (1)

Country Link
CN (1) CN109840767B (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110443076B (zh) * 2019-08-07 2021-06-01 瑞资(北京)科技有限公司 基于实名区块链的存证方法和系统
CN111464315B (zh) * 2020-04-03 2021-06-15 腾讯科技(深圳)有限公司 数字签名处理方法、装置、计算机设备以及存储介质
CN112148379B (zh) * 2020-08-28 2023-07-07 迅鳐成都科技有限公司 一种联盟链的用户合约卸载方法、装置、系统及存储介质
CN112348539B (zh) * 2020-11-25 2024-05-14 贵州航天云网科技有限公司 一种基于许可链的工业品流转生命周期追溯管理系统及其应用
CN112258189A (zh) * 2020-12-03 2021-01-22 支付宝(杭州)信息技术有限公司 基于区块链的签约管理方法及装置和电子设备
CN113095828B (zh) * 2021-04-27 2023-09-01 支付宝(杭州)信息技术有限公司 基于区块链的数据存证方法及装置
CN113301163B (zh) * 2021-06-02 2022-12-16 网易(杭州)网络有限公司 业务处理方法、系统、电子设备及存储介质
CN113179286B (zh) * 2021-06-30 2022-08-19 广州平云信息科技有限公司 一种区块链的数据监管方法和系统
CN114710297B (zh) * 2022-05-25 2022-09-06 深圳天谷信息科技有限公司 基于聚合签名的区块链存证方法、装置、设备及存储介质

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106504008A (zh) * 2016-10-24 2017-03-15 中山大学 一种基于区块链的公平合同签署方法
CN106960165A (zh) * 2017-03-13 2017-07-18 广东网金控股股份有限公司 一种基于区块链智能合约实现电子合同多方会签的方法
CN106971342A (zh) * 2017-03-29 2017-07-21 宁夏凯速德科技有限公司 去中心化的电子商务平台中基于区块链技术的交易方法及系统
CN107171794A (zh) * 2017-06-27 2017-09-15 葛峰 一种基于区块链和智能合约的电子文书签署方法
CN107230056A (zh) * 2017-06-28 2017-10-03 无锡井通网络科技有限公司 一种基于区块链合约的快速交易系统
CN107292621A (zh) * 2017-06-22 2017-10-24 丁江 海量数据确权存证方法和节点
CN107294709A (zh) * 2017-06-27 2017-10-24 阿里巴巴集团控股有限公司 一种区块链数据处理方法、装置及系统
CN107301536A (zh) * 2017-06-12 2017-10-27 腾讯科技(深圳)有限公司 资源转移方法及装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170140408A1 (en) * 2015-11-16 2017-05-18 Bank Of America Corporation Transparent self-managing rewards program using blockchain and smart contracts

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106504008A (zh) * 2016-10-24 2017-03-15 中山大学 一种基于区块链的公平合同签署方法
CN106960165A (zh) * 2017-03-13 2017-07-18 广东网金控股股份有限公司 一种基于区块链智能合约实现电子合同多方会签的方法
CN106971342A (zh) * 2017-03-29 2017-07-21 宁夏凯速德科技有限公司 去中心化的电子商务平台中基于区块链技术的交易方法及系统
CN107301536A (zh) * 2017-06-12 2017-10-27 腾讯科技(深圳)有限公司 资源转移方法及装置
CN107292621A (zh) * 2017-06-22 2017-10-24 丁江 海量数据确权存证方法和节点
CN107171794A (zh) * 2017-06-27 2017-09-15 葛峰 一种基于区块链和智能合约的电子文书签署方法
CN107294709A (zh) * 2017-06-27 2017-10-24 阿里巴巴集团控股有限公司 一种区块链数据处理方法、装置及系统
CN107230056A (zh) * 2017-06-28 2017-10-03 无锡井通网络科技有限公司 一种基于区块链合约的快速交易系统

Also Published As

Publication number Publication date
CN109840767A (zh) 2019-06-04

Similar Documents

Publication Publication Date Title
CN109840767B (zh) 基于区块链技术的多方公平合约存证方法和系统
CN107528886B (zh) 区块链全网拆分方法与系统
Zamyatin et al. Sok: Communication across distributed ledgers
CN109462587B (zh) 区块链分层共识方法、区块链网络系统及区块链节点
US20230113492A1 (en) Computer-implemented system and method for managing transactions over a blockchain network
US10880095B2 (en) Electronic apparatus, method for electronic apparatus and information processing system
Sarmah Understanding blockchain technology
Pass et al. Analysis of the blockchain protocol in asynchronous networks
Shrestha et al. Blockchain-based message dissemination in VANET
Thin et al. Formal analysis of a proof-of-stake blockchain
CN109314643B (zh) 事务处理装置以及事务处理方法
CN110046894B (zh) 一种基于纠删码的分组可重构区块链建立方法
CN110945548A (zh) 用于管理区块链网络中大型分布式存储池的计算机实现的系统和方法
CN112418860A (zh) 一种基于跨链技术的区块链高效管理架构及工作方法
CN110022231B (zh) 区块链共识推举方法
CN113328997B (zh) 联盟链跨链系统及方法
CN111294339B (zh) 基于Fabric架构的同构联盟链跨链方法及装置
Li et al. Agentchain: A decentralized cross-chain exchange system
Zhang et al. Cycledger: A scalable and secure parallel protocol for distributed ledger via sharding
Lan et al. Horizon: A gas-efficient, trustless bridge for cross-chain transactions
Robinson Consensus for crosschain communications
CN112583598A (zh) 一种复杂物联网联盟链系统通信机制
Decker On the scalability and security of bitcoin
Thai et al. A scalable semi-permissionless blockchain framework
Dixit et al. An overview of Blockchain technology: Architecture, consensus algorithm, and its challenges

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