一种基于区块链智能合约的预发布平台及其方法技术

技术编号:22595755 阅读:41 留言:0更新日期:2019-11-20 11:36
本发明专利技术公开了一种基于区块链智能合约的预发布平台及其方法,该平台包括预发布成果提交与检索子系统以及预发布成果追溯与交易子系统,用于实现预发布成果存证、追溯、授权、转让等功能。本发明专利技术不仅能够方便用户实现预发布成果的存证、取证,通过区块链技术保证存证的可靠性和取证的有效性,还能通过智能合约实现去中心化的预发布成果授权与转让,简化传统预发布成果授权转让的流程,大大降低交易成本。

A pre release platform and method based on blockchain smart contract

The invention discloses a pre release platform and method based on the blockchain intelligent contract, the platform includes a pre release result submission and retrieval subsystem and a pre release result tracing and transaction subsystem, which are used to realize the functions of pre release result storage, tracing, authorization, transfer, etc. The invention can not only facilitate the user to realize the storage and evidence collection of pre release results, ensure the reliability and effectiveness of evidence collection through blockchain technology, but also realize decentralized authorization and transfer of pre release results through smart contracts, simplify the process of authorization and transfer of traditional pre release results, and greatly reduce transaction costs.

【技术实现步骤摘要】
一种基于区块链智能合约的预发布平台及其方法
本专利技术涉及数据存证、数据资产追溯与交易领域,具体涉及一种基于区块链智能合约的预发布平台及其方法。
技术介绍
现今的科研成果预印本系统已经在学术界得到了广泛的应用。预印本系统解决了传统预印本传播时延长、交流成本高等问题,使得科研成果在未正式通过同行评审前就可以公开分享,从而促进了学术交流并加快了科学研究的脚步。其次,用户可通过预印本系统上传科研成果及个人身份信息,从而实现该成果所有权的存证。但是,已有的预发布系统仍存在以下两方面问题:第一是预发布科研成果大多存储于中心化的互联网平台上。而中心化存储的数据具有易变性,且易改无痕。故已有的成果预发布平台对原创信息的保护能力较弱,导致原创信息存证难、取证难、认证难。当平台遭受攻击,成果信息发生变更,出现时间及内容上的争议时,用户难以通过该平台来验证成果信息的完整性和真实性。第二是现有的预发布平台功能较为单一,通常仅提供上传、检索和浏览等基础功能,无法实现对预发布成果的综合管理。例如成果数据的验证与追溯、科研成果的授权与转让等。
技术实现思路
本专利技术是为了解决上述现有技术存在的不足之处,提出一种基于区块链智能合约的预发布平台及其方法,以期能实现预发布成果的存证、追溯、授权、转让等功能,从而使得预发布成果可以方便、安全、高效地在广大用户中进行流转,同时简化传统预发布成果授权转让的流程,大大降低交易成本。本专利技术为解决技术问题采用如下技术方案:本专利技术一种基于区块链智能合约的预发布平台的特点包括:预发布成果提交与检索子系统以及预发布成果追溯与交易子系统;所述预发布成果提交与检索子系统包括:成果提交模块、成果检索模块;所述预发布成果追溯与交易子系统包括:智能合约模块、成果存储模块、成果验证模块、事件监听模块、订单发起模块、授权模块、转让模块以及提现模块;所述成果提交模块获取当前周期的预发布成果的属性信息和源文件并存储到本地数据库中,再根据所述当前周期的预发布成果的源文件计算出当前周期的预发布成果的哈希值并存储到所述本地数据库中;同时根据所述当前周期的预发布成果的属性信息生成唯一编号,从而将所述唯一编号与所述当前周期的预发布成果的源文件进行关联;所述预发布成果的属性信息包括:成果名称、成果关键词、成果摘要、所有者账户、是否可转让、是否可授权;所述成果检索模块获取所述成果关键词并从所述本地数据库中检索出对应的预发布成果属性信息和源文件,并将所检索到的所述预发布成果的属性信息进行展示;所述智能合约模块包括:控制器合约CLC、工厂合约RFC、存储合约RSC、中转账户合约MAC、转让合约TOC以及授权合约AC;所述控制器合约CLC包括:新建中转账户合约函数、新建中转账户合约事件;所述工厂合约RFC包括:新建存储合约函数、成果哈希-合约映射、新建存储合约事件;所述存储合约RSC用于存储成果的基本信息;所述中转账户合约MAC包括:合约创建者、账户余额、冻结周期、授权提现方法、转让提现方法、解冻方法;所述转让合约TOC包括:转让事件、转让函数;所述授权合约AC包括:授权事件、授权函数;所述成果存储模块从所述本地数据库中获取当前周期的预发布成果的唯一编号、当前周期的预发布成果的哈希值、前一周期的预发布成果的哈希值、当前周期的预发布成果的所有者账户,从而构成当前周期的预发布成果的基本信息,其中若不存在前一周期的预发布成果,则设置前一周期的预发布成果的哈希值为“空”;所述成果存储模块访问所述工厂合约RFC,并调用所述新建存储合约函数创建一个存储合约RSC用于存储所述当前周期的预发布成果的基本信息;所述成果存储模块在所述存储合约RSC创建完成时生成所述存储合约RSC的合约地址以及存储合约RSC创建操作的交易哈希值;所述成果存储模块再访问所述工厂合约RFC中的成果哈希-合约映射并存储所述当前周期预发布成果的哈希值和所述存储合约RSC的合约地址之间的对应关系,并触发所述新建存储合约事件;当所述事件监听模块监听到所述新建存储合约事件的触发信号,获取所述存储合约RSC的合约地址以及所述存储合约RSC创建操作的交易哈希值,并存储到所述本地数据库中;所述成果验证模块获取到用户A上传的当前周期的预发布成果的源文件,并计算当前周期的预发布成果的源文件的哈希值,再根据所述源文件的哈希值到本地数据库中查询是否存在对应的存储合约RSC的合约地址,若不存在,则表明无法确定当前周期的预发布成果的真实性;若存在,则所述成果验证模块进一步访问所述工厂合约RFC,并根据所述源文件的哈希值查询所述成果哈希-合约映射来获取到对应的存储合约RSC,从而利用所述存储合约RSC中所存储的当前周期的预发布成果的基本信息来验证用户A上传的当前周期的预发布成果的源文件是否真实,若基本信息中当前周期的预发布成果的哈希值与所计算的当前周期的预发布成果的源文件的哈希值一致,则表明用户A上传的当前周期的预发布成果文件的源文件为真实有效;否则表明用户A上传的当前周期的预发布成果文件的源文件非真实有效;所述订单发起模块获取用户B提交的授权申请信息或转让申请信息,并根据所述授权申请信息或所述转让申请信息,访问控制器合约CLC中的新建中转账户合约函数来创建所述中转账户合约MAC;在所述中转账户合约MAC中限定相关条件;所述订单发起模块在所述中转账户合约MAC创建完成时生成所述中转账户合约MAC的合约地址,并触发所述新建中转账户合约事件;所述事件监听模块监听到所述新建中转账户合约事件的触发信号后,获取所述申请信息以及所述中转账户合约MAC的合约地址,并发送给所述预发布成果的所有者账户;若所述预发布成果的所有者账户接收到所述授权申请信息,则调用所述授权模块;所述授权模块通过访问所述存储合约RSC来验证所述预发布成果的所有者账户是否与所述授权合约的执行者一致;若验证通过,则所述授权合约AC调用所述授权函数用于存储所述授权申请信息,并触发所述授权事件,从而生成授权成功的交易日志;若验证不通过,则授权操作终止;所述事件监听模块监听到授权事件的触发信号后,将所述授权成功的交易日志返回给所述用户B和所述预发布成果的所有者账户;所述预发布成果的所有者账户接收到授权成功的交易日志后,通过所述提现模块访问所述授权合约,并验证所述授权合约中存储的授权信息是否与所述用户B的授权申请信息一致,若一致,则表示预发布成果授权成功,则所述预发布成果的所有者账户允许访问所述中转账户合约MAC,从而执行所述中转账户合约MAC中的授权提现方法,并将所述中转账户合约MAC中的授权费用转到所述预发布成果的所有者账户中,以完成所述授权费用的提现操作;若不一致,则表示预发布成果授权失败,终止提现操作;若所述用户B接收到授权成功的交易日志,则表示所提交的授权信息通过;若所述用户B没有接收到授权成功的交易日志,则记录用户B的等待授权时间;所述等待授权时间是从用户B发起授权申请开始本文档来自技高网...

【技术保护点】
1.一种基于区块链智能合约的预发布平台,其特征包括:预发布成果提交与检索子系统以及预发布成果追溯与交易子系统;/n所述预发布成果提交与检索子系统包括:成果提交模块、成果检索模块;/n所述预发布成果追溯与交易子系统包括:智能合约模块、成果存储模块、成果验证模块、事件监听模块、订单发起模块、授权模块、转让模块以及提现模块;/n所述成果提交模块获取当前周期的预发布成果的属性信息和源文件并存储到本地数据库中,再根据所述当前周期的预发布成果的源文件计算出当前周期的预发布成果的哈希值并存储到所述本地数据库中;同时根据所述当前周期的预发布成果的属性信息生成唯一编号,从而将所述唯一编号与所述当前周期的预发布成果的源文件进行关联;所述预发布成果的属性信息包括:成果名称、成果关键词、成果摘要、所有者账户、是否可转让、是否可授权;/n所述成果检索模块获取所述成果关键词并从所述本地数据库中检索出对应的预发布成果属性信息和源文件,并将所检索到的所述预发布成果的属性信息进行展示;/n所述智能合约模块包括:控制器合约CLC、工厂合约RFC、存储合约RSC、中转账户合约MAC、转让合约TOC以及授权合约AC;/n所述控制器合约CLC包括:新建中转账户合约函数、新建中转账户合约事件;/n所述工厂合约RFC包括:新建存储合约函数、成果哈希-合约映射、新建存储合约事件;/n所述存储合约RSC用于存储成果的基本信息;/n所述中转账户合约MAC包括:合约创建者、账户余额、冻结周期、授权提现方法、转让提现方法、解冻方法;/n所述转让合约TOC包括:转让事件、转让函数;/n所述授权合约AC包括:授权事件、授权函数;/n所述成果存储模块从所述本地数据库中获取当前周期的预发布成果的唯一编号、当前周期的预发布成果的哈希值、前一周期的预发布成果的哈希值、当前周期的预发布成果的所有者账户,从而构成当前周期的预发布成果的基本信息,其中若不存在前一周期的预发布成果,则设置前一周期的预发布成果的哈希值为“空”;/n所述成果存储模块访问所述工厂合约RFC,并调用所述新建存储合约函数创建一个存储合约RSC用于存储所述当前周期的预发布成果的基本信息;所述成果存储模块在所述存储合约RSC创建完成时生成所述存储合约RSC的合约地址以及存储合约RSC创建操作的交易哈希值;所述成果存储模块再访问所述工厂合约RFC中的成果哈希-合约映射并存储所述当前周期预发布成果的哈希值和所述存储合约RSC的合约地址之间的对应关系,并触发所述新建存储合约事件;/n当所述事件监听模块监听到所述新建存储合约事件的触发信号,获取所述存储合约RSC的合约地址以及所述存储合约RSC创建操作的交易哈希值,并存储到所述本地数据库中;/n所述成果验证模块获取到用户A上传的当前周期的预发布成果的源文件,并计算当前周期的预发布成果的源文件的哈希值,再根据所述源文件的哈希值到本地数据库中查询是否存在对应的存储合约RSC的合约地址,若不存在,则表明无法确定当前周期的预发布成果的真实性;若存在,则所述成果验证模块进一步访问所述工厂合约RFC,并根据所述源文件的哈希值查询所述成果哈希-合约映射来获取到对应的存储合约RSC,从而利用所述存储合约RSC中所存储的当前周期的预发布成果的基本信息来验证用户A上传的当前周期的预发布成果的源文件是否真实,若基本信息中当前周期的预发布成果的哈希值与所计算的当前周期的预发布成果的源文件的哈希值一致,则表明用户A上传的当前周期的预发布成果文件的源文件为真实有效;否则表明用户A上传的当前周期的预发布成果文件的源文件非真实有效;/n所述订单发起模块获取用户B提交的授权申请信息或转让申请信息,并根据所述授权申请信息或所述转让申请信息,访问控制器合约CLC中的新建中转账户合约函数来创建所述中转账户合约MAC;/n在所述中转账户合约MAC中限定相关条件;/n所述订单发起模块在所述中转账户合约MAC创建完成时生成所述中转账户合约MAC的合约地址,并触发所述新建中转账户合约事件;/n所述事件监听模块监听到所述新建中转账户合约事件的触发信号后,获取所述申请信息以及所述中转账户合约MAC的合约地址,并发送给所述预发布成果的所有者账户;/n若所述预发布成果的所有者账户接收到所述授权申请信息,则调用所述授权模块;/n所述授权模块通过访问所述存储合约RSC来验证所述预发布成果的所有者账户是否与所述授权合约的执行者一致;若验证通过,则所述授权合约AC调用所述授权函数用于存储所述授权申请信息,并触发所述授权事件,从而生成授权成功的交易日志;若验证不通过,则授权操作终止;/n所述事件监听模块监听到授权事件的触发信号后,将所述授权成功的交易日志返回给所述用户B和所述预发布成果的所有者账户;/n所述预发布成果的所有者账户接收到授权成功的交易日志后,...

【技术特征摘要】
1.一种基于区块链智能合约的预发布平台,其特征包括:预发布成果提交与检索子系统以及预发布成果追溯与交易子系统;
所述预发布成果提交与检索子系统包括:成果提交模块、成果检索模块;
所述预发布成果追溯与交易子系统包括:智能合约模块、成果存储模块、成果验证模块、事件监听模块、订单发起模块、授权模块、转让模块以及提现模块;
所述成果提交模块获取当前周期的预发布成果的属性信息和源文件并存储到本地数据库中,再根据所述当前周期的预发布成果的源文件计算出当前周期的预发布成果的哈希值并存储到所述本地数据库中;同时根据所述当前周期的预发布成果的属性信息生成唯一编号,从而将所述唯一编号与所述当前周期的预发布成果的源文件进行关联;所述预发布成果的属性信息包括:成果名称、成果关键词、成果摘要、所有者账户、是否可转让、是否可授权;
所述成果检索模块获取所述成果关键词并从所述本地数据库中检索出对应的预发布成果属性信息和源文件,并将所检索到的所述预发布成果的属性信息进行展示;
所述智能合约模块包括:控制器合约CLC、工厂合约RFC、存储合约RSC、中转账户合约MAC、转让合约TOC以及授权合约AC;
所述控制器合约CLC包括:新建中转账户合约函数、新建中转账户合约事件;
所述工厂合约RFC包括:新建存储合约函数、成果哈希-合约映射、新建存储合约事件;
所述存储合约RSC用于存储成果的基本信息;
所述中转账户合约MAC包括:合约创建者、账户余额、冻结周期、授权提现方法、转让提现方法、解冻方法;
所述转让合约TOC包括:转让事件、转让函数;
所述授权合约AC包括:授权事件、授权函数;
所述成果存储模块从所述本地数据库中获取当前周期的预发布成果的唯一编号、当前周期的预发布成果的哈希值、前一周期的预发布成果的哈希值、当前周期的预发布成果的所有者账户,从而构成当前周期的预发布成果的基本信息,其中若不存在前一周期的预发布成果,则设置前一周期的预发布成果的哈希值为“空”;
所述成果存储模块访问所述工厂合约RFC,并调用所述新建存储合约函数创建一个存储合约RSC用于存储所述当前周期的预发布成果的基本信息;所述成果存储模块在所述存储合约RSC创建完成时生成所述存储合约RSC的合约地址以及存储合约RSC创建操作的交易哈希值;所述成果存储模块再访问所述工厂合约RFC中的成果哈希-合约映射并存储所述当前周期预发布成果的哈希值和所述存储合约RSC的合约地址之间的对应关系,并触发所述新建存储合约事件;
当所述事件监听模块监听到所述新建存储合约事件的触发信号,获取所述存储合约RSC的合约地址以及所述存储合约RSC创建操作的交易哈希值,并存储到所述本地数据库中;
所述成果验证模块获取到用户A上传的当前周期的预发布成果的源文件,并计算当前周期的预发布成果的源文件的哈希值,再根据所述源文件的哈希值到本地数据库中查询是否存在对应的存储合约RSC的合约地址,若不存在,则表明无法确定当前周期的预发布成果的真实性;若存在,则所述成果验证模块进一步访问所述工厂合约RFC,并根据所述源文件的哈希值查询所述成果哈希-合约映射来获取到对应的存储合约RSC,从而利用所述存储合约RSC中所存储的当前周期的预发布成果的基本信息来验证用户A上传的当前周期的预发布成果的源文件是否真实,若基本信息中当前周期的预发布成果的哈希值与所计算的当前周期的预发布成果的源文件的哈希值一致,则表明用户A上传的当前周期的预发布成果文件的源文件为真实有效;否则表明用户A上传的当前周期的预发布成果文件的源文件非真实有效;
所述订单发起模块获取用户B提交的授权申请信息或转让申请信息,并根据所述授权申请信息或所述转让申请信息,访问控制器合约CLC中的新建中转账户合约函数来创建所述中转账户合约MAC;
在所述中转账户合约MAC中限定相关条件;
所述订单发起模块在所述中转账户合约MAC创建完成时生成所述中转账户合约MAC的合约地址,并触发所述新建中转账户合约事件;
所述事件监听模块监听到所述新建中转账户合约事件的触发信号后,获取所述申请信息以及所述中转账户合约MAC的合约地址,并发送给所述预发布成果的所有者账户;
若所述预发布成果的所有者账户接收到所述授权申请信息,则调用所述授权模块;
所述授权模块通过访问所述存储合约RSC来验证所述预发布成果的所有者账户是否与所述授权合约的执行者一致;若验证通过,则所述授权合约AC调用所述授权函数用于存储所述授权申请信息,并触发所述授权事件,从而生成授权成功的交易日志;若验证不通过,则授权操作终止;
所述事件监听模块监听到授权事件的触发信号后,将所述授权成功的交易日志返回给所述用户B和所述预发布成果的所有者账户;
所述预发布成果的所有者账户接收到授权成功的交易日志后,通过所述提现模块访问所述授权合约,并验证所述授权合约中存储的授权信息是否与所述用户B的授权申请信息一致,若一致,则表示预发布成果授权成功,则所述预发布成果的所有者账户允许访问所述中转账户合约MAC,从而执行所述中转账户合约MAC中的授权提现方法,并将所述中转账户合约MAC中的授权费用转到所述预发布成果的所有者账户中,以完成所述授权费用的提现操作;若不一致,则表示预发布成果授权失败,终止提现操作;
若所述用户B接收到授权成功的交易日志,则表示所提交的授权信息通过;
若所述用户B没有接收到授权成功的交易日志,则记录用户B的等待授权时间;所述等待授权时间是从用户B发起授权申请开始一直到当前时间的累计值;
若所述用户B的等待授权时间超过所述中转账户合约MAC中的冻结周期,则所述用户B允许访问所述中转账户合约MAC中的解冻方法来将账户余额费用从所述中转账户合约MAC转到用户B中;
若所述预发布成果的所有者账户接收到所述转让申请,则调用所述转让模块;
所述转让模块通过访问所述存储合约RSC来验证所述预发布成果的所有者账户是否与所述转让合约的执行者一致;若验证通过,则所述转让合约TOC访问所述工厂合约RFC,调用所述新建存储合约函数创建所述存储合约RSC,并将所述存储合约RSC中的预发布成果所有者设置为所述申请转让的用户B,从而触发所述转让事件,并生成转让成功的交易日志;若验证不通过,则转让操作终止;
所述事件监听模块监听到转让事件的触发信号后,将所述转让成功的交易日志返回给所述用户B和所述预发布成果的所有者账户;
所述预发布成果的所有者账户接收到转让成功的交易日志后,通过所述提现模块访问所述工厂合约RFC,查询成果哈希-合约映射获取所述存储合约RSC,并根据所述存储合约RSC验证预发布成果所有者账户是否与所述申请转让的用户B一致,若一致,则表示预发布成果转让成功,则所述预发布成果的所有者账户允许访问所述中转账户合约MAC,从而执行所述中转账户合约MAC中的转让提现方法,并将所述中转账户合约MAC中的转让费用转到所述预发布成果的所有者账户中,以完成所述转让费用的提现操作;若不一致,则表示预发布成果转让失败,终止提现操作;
若所述用户B接收到转让成功的交易日志,则表示转让申请已完成;
若所述用户B没有接收到转让成功的交易日志,则记录用户B的等待转让时间;所述等待转让时间是从用户B发起转让申请开始一直到当前时间的累计值;
若所述用户B的等待转让时间超过所述中转账户合约MAC中的冻结周期,则所述用户B允许访问所述中转账户合约MAC中的解冻方法来将账户余额费用从所述中转账户合约MAC转到用户B中。


2.根据权利要求1所述的基于区块链智能合约的预发布平台,其特征是,
所述相关条件包括:
1)设定所述中转账户合约MAC中的合约创建者为用户;
2)限定用户创建所述中转账户合约MAC时转入所述中转账户合约MAC的金额不小于所述转让费用或授权费用;
3)设置所述中转账户合约MAC的账户余额的冻结期限。


3.根据权利要求1所述的基于区块链智能合约的预发布平台,其特征是,
所述授权申请信息包括:预发布成果的名称、预发布成果的唯一编号、用户的账户地址、预发布成果的所有者账户、授权类别、授权时长以及授权费用;
所述转让申请信息包括:预发布成果的名称、预发布成果的唯一编号、用户的账户地址、预发布成果的所有者账户以及转...

【专利技术属性】
技术研发人员:李晓风赵赫谭海波许金林
申请(专利权)人:安徽中科智链信息科技有限公司
类型:发明
国别省市:安徽;34

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1