CN110473099B - 一种基于区块链智能合约的预发布平台及其方法 - Google Patents

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

Info

Publication number
CN110473099B
CN110473099B CN201910741708.5A CN201910741708A CN110473099B CN 110473099 B CN110473099 B CN 110473099B CN 201910741708 A CN201910741708 A CN 201910741708A CN 110473099 B CN110473099 B CN 110473099B
Authority
CN
China
Prior art keywords
contract
result
transfer
account
authorization
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
CN201910741708.5A
Other languages
English (en)
Other versions
CN110473099A (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.)
Anhui Zhongke lattice Technology Co.,Ltd.
Original Assignee
Anhui Zhongkezhilian Information 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 Anhui Zhongkezhilian Information Technology Co ltd filed Critical Anhui Zhongkezhilian Information Technology Co ltd
Priority to CN201910741708.5A priority Critical patent/CN110473099B/zh
Publication of CN110473099A publication Critical patent/CN110473099A/zh
Application granted granted Critical
Publication of CN110473099B publication Critical patent/CN110473099B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/389Keeping log of transactions for guaranteeing non-repudiation of a transaction
    • 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
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0605Supply or demand aggregation
    • 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/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
    • 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
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • G06Q50/18Legal services

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Accounting & Taxation (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Finance (AREA)
  • General Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Tourism & Hospitality (AREA)
  • Health & Medical Sciences (AREA)
  • Development Economics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Security & Cryptography (AREA)
  • Technology Law (AREA)
  • Bioethics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Resources & Organizations (AREA)
  • Primary Health Care (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种基于区块链智能合约的预发布平台及其方法,该平台包括预发布成果提交与检索子***以及预发布成果追溯与交易子***,用于实现预发布成果存证、追溯、授权、转让等功能。本发明不仅能够方便用户实现预发布成果的存证、取证,通过区块链技术保证存证的可靠性和取证的有效性,还能通过智能合约实现去中心化的预发布成果授权与转让,简化传统预发布成果授权转让的流程,大大降低交易成本。

Description

一种基于区块链智能合约的预发布平台及其方法
技术领域
本发明涉及数据存证、数据资产追溯与交易领域,具体涉及一种基于区块链智能合约的预发布平台及其方法。
背景技术
现今的科研成果预印本***已经在学术界得到了广泛的应用。预印本***解决了传统预印本传播时延长、交流成本高等问题,使得科研成果在未正式通过同行评审前就可以公开分享,从而促进了学术交流并加快了科学研究的脚步。其次,用户可通过预印本***上传科研成果及个人身份信息,从而实现该成果所有权的存证。但是,已有的预发布***仍存在以下两方面问题:第一是预发布科研成果大多存储于中心化的互联网平台上。而中心化存储的数据具有易变性,且易改无痕。故已有的成果预发布平台对原创信息的保护能力较弱,导致原创信息存证难、取证难、认证难。当平台遭受攻击,成果信息发生变更,出现时间及内容上的争议时,用户难以通过该平台来验证成果信息的完整性和真实性。第二是现有的预发布平台功能较为单一,通常仅提供上传、检索和浏览等基础功能,无法实现对预发布成果的综合管理。例如成果数据的验证与追溯、科研成果的授权与转让等。
发明内容
本发明是为了解决上述现有技术存在的不足之处,提出一种基于区块链智能合约的预发布平台及其方法,以期能实现预发布成果的存证、追溯、授权、转让等功能,从而使得预发布成果可以方便、安全、高效地在广大用户中进行流转,同时简化传统预发布成果授权转让的流程,大大降低交易成本。
本发明为解决技术问题采用如下技术方案:
本发明一种基于区块链智能合约的预发布平台的特点包括:预发布成果提交与检索子***以及预发布成果追溯与交易子***;
所述预发布成果提交与检索子***包括:成果提交模块、成果检索模块;
所述预发布成果追溯与交易子***包括:智能合约模块、成果存储模块、成果验证模块、事件监听模块、订单发起模块、授权模块、转让模块以及提现模块;
所述成果提交模块获取当前周期的预发布成果的属性信息和源文件并存储到本地数据库中,再根据所述当前周期的预发布成果的源文件计算出当前周期的预发布成果的哈希值并存储到所述本地数据库中;同时根据所述当前周期的预发布成果的属性信息生成唯一编号,从而将所述唯一编号与所述当前周期的预发布成果的源文件进行关联;所述预发布成果的属性信息包括:成果名称、成果关键词、成果摘要、所有者账户、是否可转让、是否可授权;
所述成果检索模块获取所述成果关键词并从所述本地数据库中检索出对应的预发布成果属性信息和源文件,并将所检索到的所述预发布成果的属性信息进行展示;
所述智能合约模块包括:控制器合约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中。
本发明所述的基于区块链智能合约的预发布平台的特点也在于,
所述相关条件包括:
1)设定所述中转账户合约MAC中的合约创建者为用户;
2)限定用户创建所述中转账户合约MAC时转入所述中转账户合约MAC的金额不小于所述转让费用或授权费用;
3)设置所述中转账户合约MAC的账户余额的冻结期限。
所述授权申请信息包括:预发布成果的名称、预发布成果的唯一编号、用户的账户地址、预发布成果的所有者账户、授权类别、授权时长以及授权费用;
所述转让申请信息包括:预发布成果的名称、预发布成果的唯一编号、用户的账户地址、预发布成果的所有者账户以及转让费用。
本发明一种基于区块链智能合约的预发布方法的特点是按如下步骤进行:
步骤1:获取用户提交的当前周期的预发布成果属性信息和源文件,并计算预发布成果源文件的哈希值,再将预发布成果的属性信息、源文件、源文件的哈希值存储到本地数据库中;同时根据当前周期的预发布成果的属性信息生成唯一编号,从而将所述唯一编号与所述当前周期的源文件进行关联;所述预发布成果的属性信息包括:成果名称、成果关键词、成果摘要、所有者账户、是否可转让、是否可授权;
步骤2:获取用户提交的成果关键词,并从所述本地数据库中检索出相对应的预发布成果属性信息和源文件的,再将所检索到的预发布成果的属性信息进行展示;
步骤3:从本地数据库中获取当前周期的预发布成果的唯一编号、当前周期的预发布成果的哈希值、前一周期的预发布成果的哈希值、当前周期的预发布成果的所有者账户从而构成当前周期的预发布成果的基本信息,其中若不存在前一周期的预发布成果,则设置前一周期的预发布成果的哈希值为“空”;
步骤4:从本地数据库中获取所述预发布成果的基本信息,调用所述工厂合约RFC中的新建存储合约函数创建存储合约RSC,从而将所述预发布成果的基本信息存储到所述存储合约RSC中,并生成所述存储合约RSC的合约地址以及存储合约RSC创建操作的交易哈希值;
步骤5:访问所述工厂合约RFC中的成果哈希-合约映射并存储所述当前周期预发布成果的哈希值与所述存储合约RSC的合约地址之间的对应关系,并触发所述新建存储合约事件,以获取所述存储合约RSC的合约地址以及存储合约RSC创建操作的交易哈希值,并将所述合约地址和交易哈希值存储到本地数据库中;
步骤6:获取用户提交的业务请求,若所述业务请求是成果验证请求,则获取用户提交的预发布成果的源文件,计算所述预发布成果的的源文件哈希值CalculatedHash;再根据所述源文件的哈希值在本地数据库中查询是否存在对应的所述存储合约RSC的合约地址,若不存在,则表示无法确定当前周期的预发布成果的真实性;若存在,则进一步访问所述工厂合约RFC,并根据所述源文件的预发布成果的哈希值CalculatedHash查询所述成果哈希-合约映射来获取对应的存储合约RSC,从而利用所述存储合约RSC中存储的预发布成果的哈希值与所述预发布成果的哈希值CalculatedHash进行比较,若一致,则表明用户提交的预发布成果真实有;否则表明用户提交的发布成果非真实有效;
若所述业务请求是成果追溯请求,则进入步骤7;
若所述业务请求是成果授权请求,则进入步骤9;
若所述业务请求是转让请求,则进入步骤12;
步骤7:获取所述当前周期的预发布成果的哈希值Hash,并根据所述当前周期的预发布成果的哈希值Hash访问所述工厂合约RFC中的成果哈希-合约映射以获取对应的所述存储合约RSC;
步骤8:获取所述存储合约RFC中存储的预发布成果的基本信息并存储到列表List中;并根据所述预发布成果的基本信息中的前一周期的预发布成果的哈希值prevHash进行追溯,若所述前一周期的预发布成果的哈希值prevHash为空,则返回所述列表List;反之将所述前一周期的预发布成果的哈希值prevHash赋值给所述当前周期的预发布成果的哈希值Hash,并返回步骤5;
步骤9:获取所述成果授权请求,并访问所述控制器合约CLC中的所述新建中转账户合约函数来新建所述中转账户合约MAC;
在所述中转账户合约MAC中限定相关条件;
在所述中转账户合约MAC创建完成时生成所述中转账户合约MAC的合约地址,并触发所述新建中转账户合约事件,以获取所述申请信息以及所述中转账户合约MAC的合约地址,并发送给所述预发布成果的所有者账户;
步骤10:访问所述存储合约RSC来验证所述预发布成果的所有者账户是否与所述授权合约AC的执行者一致,若一致,则调用所述授权函数将所述成果授权请求存储到所述授权合约AC中,并触发所述授权事件,从而获取授权成功的交易日志并返回给所述用户和所述预发布成果的所有者账户;若不一致,则授权操作终止;
若用户接收到所述授权成功的交易日志,则表明授权成功;若用户没接收到所述授权成功的交易日志,则记录用户的等待授权时间,并执行步骤9;所述等待授权时间是从用户B发起授权申请开始一直到当前时间的累计值;
若所述预发布成功的所有者账户接收到所述授权成功的交易日志,则访问所述授权合约,并验证所述授权合约中存储的授权信息是否与所述用户的授权申请信息一致,若一致,则表示预发布成果授权成功,则所述预发布成果的所有者账户允许访问所述中转账户合约MAC,从而执行所述中转账户合约MAC中的授权提现方法,并将所述中转账户合约MAC中的授权费用转到所述预发布成果的所有者账户中,以完成所述授权费用的提现操作;若不一致,则表示预发布成果授权失败,终止提现操作;
步骤11:若用户的等待授权时间超过所述中转账户合约MAC中的冻结周期,则调用所述中转账户合约中的解冻方法,将所述中转账户合约MAC中的账户余额转到所述用户中;
步骤12:获取所述成果转让请求,并访问所述控制器合约CLC中的所述新建中转账户合约函数来新建所述中转账户合约MAC,所述成果转让请求包括:预发布成果的名称、预发布成果的唯一编号、用户的账户地址、预发布成果的所有者账户以及转让费用;
在所述中转账户合约MAC中限定相关条件;
在所述中转账户合约MAC创建完成时生成所述中转账户合约MAC的合约地址,并触发所述新建中转账户合约事件,以获取所述申请信息以及所述中转账户合约MAC的合约地址,并发送给所述预发布成果的所有者账户;
步骤13:访问所述存储合约RSC来验证所述预发布成果的所有者账户是否与所述转让合约TOC的执行者一致,若一致,则调用所述工厂合约RFC的新建存储合约函数创建存储合约RSC,并将存储合约RSC中的预发布成果所有者账户设置为所述转让申请的用户,触发所述转让事件,以获取转让成功的交易日志并将返回给所述用户和所述预发布成果的所有者账户;若不一致,则转让操作终止;
若用户接收到所述转让成功的交易日志,则表示转让成功;若所述用户B没有接收到转让成功的交易日志,则记录用户B的等待转让时间,并进入步骤14;所述等待转让时间是从用户B发起转让申请开始一直到当前时间的累计值;
若所述预发布成功的所有者账户接收到所述转让成功的交易日志,则访问所述工厂合约RFC,查询成果哈希-合约映射获取所述存储合约RSC,并根据所述存储合约RSC验证预发布成果所有者账户是否与所述申请转让的用户一致,若一致,则表示预发布成果转让成功,则所述预发布成果的所有者账户允许访问所述中转账户合约MAC,从而执行所述中转账户合约MAC中的转让提现方法,并将所述中转账户合约MAC中的转让费用转到所述预发布成果的所有者账户中,以完成所述转让费用的提现操作;若不一致,则表示预发布成果转让失败,终止提现操作;
步骤14:若用户等待转让的时间超过了所述中转账户合约MAC中的冻结周期,则调用所述中转账户合约中的解冻方法,将所述中转账户合约中的账户余额转到所述用户账户中。
本发明所述的基于区块链智能合约的预发布方法的特点也在于,所述步骤9中的相关条件包括:
1)设定所述中转账户合约MAC中的合约创建者为用户;
2)限定用户创建所述中转账户合约MAC时转入所述中转账户合约MAC的金额不小于所述授权费用;
3)设置所述中转账户合约MAC的账户余额的冻结期限。
所述步骤12中的相关条件包括:
1)设定所述中转账户合约MAC中的合约创建者为用户;
2)限定用户创建所述中转账户合约MAC时转入所述中转账户合约MAC的金额不小于所述转让费用;
3)设置所述中转账户合约MAC的账户余额的冻结期限。
所述步骤9中的成果授权请求包括:预发布成果的名称、预发布成果的唯一编号、用户的账户地址、预发布成果的所有者账户、授权类别、授权时长以及授权费用;
所述中转账户合约MAC包括:合约创建者、账户余额、冻结周期、授权提现方法、转让提现方法、解冻方法。
与现有技术相比,本发明的有益效果在于:
1、本发明利用区块链技术保证了存证的可靠性和取证的有效性,通过智能合约实现去中心化的预发布成果授权与转让,提供了预发布成果的存证与追溯服务,实现了预发布成果存证、追溯、授权、转让等功能。不仅能够方便用户实现预发布成果的存证、取证,通过区块链技术,保证了存证的可靠性和取证的有效性,同时还开辟了预发布成果链上授权与转让的新型服务,并实现了所得收益的自动化分配,通过智能合约实现去中心化的预发布成果授权与转让,简化了传统预发布成果授权转让的流程,大大降低了交易成本。
2、本发明利用哈希函数计算预发布成果的数字指纹,并将数字指纹、时间戳存储到区块链中,并用用户的私钥对该笔存储交易进行签名,从而实现了科研成果所有权的链上存证。
3、本发明基于预发布成果的链上存证信息,可通过访问工厂合约和存储合约实现成果的验证与追溯。利用智能合约作为可信第三方,实现了申请者与所有者之间可直接进行成果授权与转让,从而最大程度上维护了所有者的利益。
附图说明
图1为本发明预发布成果检索流程图;
图2为本发明预发布成果授权时序图;
图3为本发明预发布成果追溯流程图。
具体实施方式
本实施例中,一种基于区块链智能合约的预发布平台的组成包括:预发布成果提交与检索子***以及预发布成果追溯与交易子***;预发布成果提交与检索子***包括:成果提交模块、成果检索模块;预发布成果追溯与交易子***包括:智能合约模块、成果存储模块、成果验证模块、事件监听模块、订单发起模块、授权模块、转让模块以及提现模块;
用户通过成果提交模块进行身份证明材料的上传、源文件的上传以及成果描述等,包括详细了解预发布平台的授权协议、承诺诚实行为、上传成果源文件及身份证明、对成果进行描述、确认成果的上传等步骤。成果提交模块获取当前周期的预发布成果的属性信息和源文件并存储到本地数据库中,再根据当前周期的预发布成果的源文件计算出当前周期的预发布成果的哈希值并存储到本地数据库中;同时根据当前周期的预发布成果的属性信息生成唯一编号,从而将唯一编号与当前周期的源文件进行关联;预发布成果的属性信息包括:成果名称、成果关键词、成果摘要、所有者账户、是否可转让、是否可授权;
当用户在预发布平台上进行检索操作时,成果检索模块获取成果关键词并从本地数据库中检索出相对应的预发布成果属性信息和源文件,并根据获取到的成果属性信息在区块链上进行查询,最后将所检索到的预发布成果的属性信息进行展示,流程如图1所示;检索方式包括两类:分别是模糊检索以及高级选择检索(精准查询)。
智能合约模块包括:控制器合约CLC、工厂合约RFC、存储合约RSC、中转账户合约MAC、转让合约TOC以及授权合约AC;
控制器合约CLC包括:新建中转账户合约函数、新建中转账户合约事件;其中,工厂合约、授权合约、转让合约以及中转账户合约都可以通过控制器合约来生成。
工厂合约RFC包括:新建存储合约函数、成果哈希-合约映射、新建存储合约事件;
中转账户合约MAC包括:合约创建者、账户余额、冻结周期、授权提现方法、转让提现方法、解冻方法;
转让合约TOC包括:转让事件、转让函数,记录了科研成果的转让过程,并在执行转让函数时需要访问存储合约来验证该科研成果的所有者信息。若验证通过,则调用工厂合约生成一份新的存储合约RSC;存储合约RSC主要存储成果的基本信息,用于成果的存证、追溯和验证;中转账户合约MAC的作用类似于中心化***中的可信第三方。在申请授权或转让预发布成果时,申请者首先会调用MAC执行转账和冻结操作(将授权或转让费用转到MAC账户中,且在合约中设定了冻结时间和解冻条件)。然后当授权或转让操作完成后,所有者会访问MAC合约并提取合约账户中的余额。当所有者执行提现操作时,该提现函数会先验证授权或转让操作是否成功。若验证成功则所有者可以继续执行提现操作,否则等超过解冻时间后可由申请者执行解冻操作取回预交的费用。
授权合约AC包括:授权事件、授权函数,用于记录预发布成果的授权过程;
成果存储模块从本地数据库中获取当前周期的预发布成果的唯一编号、当前周期的预发布成果的哈希值、前一周期的预发布成果的哈希值、当前周期的预发布成果的所有者账户从而构成当前周期的预发布成果的基本信息,其中若不存在前一周期的预发布成果,则设置前一周期的预发布成果的哈希值为“空”;
成果存储模块访问工厂合约RFC,并调用新建存储合约函数创建一个存储合约RSC用于存储当前周期的预发布成果的基本信息;成果存储模块在存储合约RSC创建完成时生成存储合约RSC的合约地址以及存储合约RSC创建操作的交易哈希值;成果存储模块再访问工厂合约RFC中的成果哈希-合约映射并存储当前周期预发布成果的哈希值和存储合约RSC的合约地址之间的对应关系,并触发新建存储合约事件;
当事件监听模块监听到新建存储合约事件的触发信号,获取存储合约RSC的合约地址以及存储合约RSC创建操作的交易哈希值,并存储到本地数据库中;
成果验证模块获取到用户A上传的当前周期的预发布成果的源文件,并计算当前周期的预发布成果的源文件的哈希值,再根据源文件的哈希值到本地数据库中查询是否存在对应的存储合约RSC的合约地址,若不存在,则表明无法确定当前周期的预发布成果的真实性;若存在,则成果验证模块进一步访问工厂合约RFC,并根据源文件的哈希值查询成果哈希-合约映射来获取到对应的存储合约RSC,从而利用存储合约RSC中所存储的当前周期的预发布成果的基本信息来验证用户A上传的当前周期的预发布成果的源文件是否真实,若基本信息中当前周期的预发布成果的哈希值与所计算的当前周期的预发布成果的源文件的哈希值一致,则表明用户A上传的当前周期的预发布成果文件的源文件为真实有效;否则表明用户A上传的当前周期的预发布成果文件的源文件非真实有效;
订单发起模块获取用户B提交的授权申请信息或转让申请信息,并根据授权申请信息或转让申请信息,访问控制器合约CLC中的新建中转账户合约函数来创建中转账户合约MAC;授权申请信息包括:预发布成果的名称、预发布成果的唯一编号、用户的账户地址、预发布成果的所有者账户、授权类别、授权时长以及授权费用;转让申请信息包括:预发布成果的名称、预发布成果的唯一编号、用户的账户地址、预发布成果的所有者账户以及转让费用;中转账户合约MAC包括:合约创建者、账户余额、冻结周期、授权提现方法、转让提现方法、解冻方法;
在中转账户合约MAC中限定相关条件,包括:
1)设定中转账户合约MAC中的合约创建者为用户;
2)限定用户创建中转账户合约MAC时转入中转账户合约MAC的金额不小于转让费用或授权费用;
3)设置中转账户合约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:申请者提交授权请求后,订单发起模块将会接收到申请者提交的申请信息。此时订单发起模块访问控制器合约CLC创建中转账户合约。在创建中转账户合约时会限定一系列条件:a.设定该合约的创建者即为申请者;b.合约中的转账对象即为成果所有者;c.限定申请者创建合约时转入合约账户的金额不小于授权费用;d.设定中转账户合约余额的冻结期限为一周。
步骤2:事件监听模块监听到成功创建中转账户合约后,将申请信息和中转账户合约地址发送给所有者。所有者接收到请求后,调用成果授权模块中的申请校验接口。该接口根据中转账户合约地址创建中转账户合约实例,并校验申请内容。验证通过后进行下一步操作。
步骤3:调用成果授权模块的授权接口。在该接口中通过调用授权合约来实现授权过程。首先调用存储合约RSC校验该成果的所有者是否为合约执行者。若验证通过,则继续授权过程,触发授权事件。申请者和所有者可通过事件监听模块监听合约执行的结果。若双方都接收到合约执行成功的回执信息,则获取授权交易日志并进行下一步操作。若申请者没有接收到授权成功的回执消息,则进入步骤5。
步骤4:在回调函数中调用提现模块中的提取授权费用接口,从而访问中转账户合约中的提现方法。在执行提现操作前,***会先调用授权合约验证授权是否成功。若验证成功,所有者才能继续提现。最后中转账户合约根据所有者的贡献值按比例将费用转到所有者账户,完成授权过程。
步骤5:若当前时间超过了中转账户合约中设定的费用冻结时间,那么申请者可以执行解冻操作,将费用从合约中取回。
具体转让过程与授权过程类似;
本实施例中,一种基于区块链智能合约的预发布方法是按如下步骤进行:
步骤1:获取用户提交的当前周期的预发布成果属性信息和源文件,并计算预发布成果源文件的哈希值,再将预发布成果的属性信息、源文件、源文件的哈希值存储到本地数据库中;同时根据当前周期的预发布成果的属性信息生成唯一编号,从而将唯一编号与当前周期的源文件进行关联;预发布成果的属性信息包括:成果名称、成果关键词、成果摘要、所有者账户、是否可转让、是否可授权;
步骤2:获取用户提交的成果关键词,并从本地数据库中检索出相对应的预发布成果属性信息和源文件的,再将所检索到的预发布成果的属性信息进行展示;
步骤3:从本地数据库中获取当前周期的预发布成果的唯一编号、当前周期的预发布成果的哈希值、前一周期的预发布成果的哈希值、当前周期的预发布成果的所有者账户从而构成当前周期的预发布成果的基本信息,其中若不存在前一周期的预发布成果,则设置前一周期的预发布成果的哈希值为“空”;
步骤4:从本地数据库中获取预发布成果的基本信息,调用工厂合约RFC中的新建存储合约函数创建存储合约RSC,从而将预发布成果的基本信息存储到存储合约RSC中,并生成存储合约RSC的合约地址以及存储合约RSC创建操作的交易哈希值;
步骤5:访问工厂合约RFC中的成果哈希-合约映射并存储当前周期预发布成果的哈希值与存储合约RSC的合约地址之间的对应关系,并触发新建存储合约事件,以获取存储合约RSC的合约地址以及存储合约RSC创建操作的交易哈希值,并将合约地址和交易哈希值存储到本地数据库中;
步骤6:获取用户提交的业务请求,若业务请求是成果验证请求,则获取用户提交的预发布成果的源文件,计算预发布成果的的源文件哈希值CalculatedHash;再根据源文件的哈希值在本地数据库中查询是否存在对应的存储合约RSC的合约地址,若不存在,则表示无法确定当前周期的预发布成果的真实性;若存在,则进一步访问工厂合约RFC,并根据源文件的预发布成果的哈希值CalculatedHash查询成果哈希-合约映射来获取对应的存储合约RSC,从而利用存储合约RSC中存储的预发布成果的哈希值与预发布成果的哈希值CalculatedHash进行比较,若一致,则表明用户提交的预发布成果真实有;否则表明用户提交的发布成果非真实有效;
若业务请求是成果追溯请求,则进入步骤7;
若业务请求是成果授权请求,则进入步骤9;
若业务请求是转让请求,则进入步骤12;
步骤7:获取当前周期的预发布成果的哈希值Hash,并根据当前周期的预发布成果的哈希值Hash访问工厂合约RFC中的成果哈希-合约映射以获取对应的存储合约RSC;
步骤8:如图3所示,获取存储合约RSC中存储的预发布成果的基本信息并存储到列表List中;并根据预发布成果的基本信息中的前一周期的预发布成果的哈希值prevHash进行追溯,若前一周期的预发布成果的哈希值prevHash为空,则返回列表List;反之将前一周期的预发布成果的哈希值prevHash赋值给当前周期的预发布成果的哈希值Hash,并返回步骤6;
步骤9:获取成果授权请求,并访问控制器合约CLC中的新建中转账户合约函数来新建中转账户合约MAC;成果授权请求包括:预发布成果的名称、预发布成果的唯一编号、用户的账户地址、预发布成果的所有者账户、授权类别、授权时长以及授权费用;中转账户合约MAC包括:合约创建者、账户余额、冻结周期、授权提现方法、转让提现方法、解冻方法;
在中转账户合约MAC中限定相关条件,包括:
1)设定中转账户合约MAC中的合约创建者为用户;
2)限定用户创建中转账户合约MAC时转入中转账户合约MAC的金额不小于授权费用;
3)设置中转账户合约MAC的账户余额的冻结期限;
在中转账户合约MAC创建完成时生成中转账户合约MAC的合约地址,并触发新建中转账户合约事件,以获取申请信息以及中转账户合约MAC的合约地址,并发送给预发布成果的所有者账户;
步骤10:访问存储合约RSC来验证预发布成果的所有者账户是否与授权合约AC的执行者一致,若一致,则调用授权函数将成果授权请求存储到授权合约AC中,并触发授权事件,从而获取授权成功的交易日志并返回给用户和预发布成果的所有者账户;若不一致,则授权操作终止;
若用户接收到授权成功的交易日志,则表明授权成功;若用户没接收到授权成功的交易日志,则记录用户的等待授权时间,并执行步骤11;等待授权时间是从用户B发起授权申请开始一直到当前时间的累计值;
若预发布成功的所有者账户接收到授权成功的交易日志,则访问授权合约,并验证授权合约中存储的授权信息是否与用户的授权申请信息一致,若一致,则表示预发布成果授权成功,则预发布成果的所有者账户允许访问中转账户合约MAC,从而执行中转账户合约MAC中的授权提现方法,并将中转账户合约MAC中的授权费用转到预发布成果的所有者账户中,以完成授权费用的提现操作;若不一致,则表示预发布成果授权失败,终止提现操作;
步骤11:若用户的等待授权时间超过中转账户合约MAC中的冻结周期,则调用中转账户合约中的解冻方法,将中转账户合约MAC中的账户余额转到用户中;
步骤12:获取成果转让请求,并访问控制器合约CLC中的新建中转账户合约函数来新建中转账户合约MAC,成果转让请求包括:预发布成果的名称、预发布成果的唯一编号、用户的账户地址、预发布成果的所有者账户以及转让费用;
在中转账户合约MAC中限定相关条件,包括:
1)设定中转账户合约MAC中的合约创建者为用户;
2)限定用户创建中转账户合约MAC时转入中转账户合约MAC的金额不小于转让费用;
3)设置中转账户合约MAC的账户余额的冻结期限;
在中转账户合约MAC创建完成时生成中转账户合约MAC的合约地址,并触发新建中转账户合约事件,以获取申请信息以及中转账户合约MAC的合约地址,并发送给预发布成果的所有者账户;
步骤13:访问存储合约RSC来验证预发布成果的所有者账户是否与转让合约TOC的执行者一致,若一致,则调用工厂合约RFC的新建存储合约函数创建存储合约RSC,并将存储合约RSC中的预发布成果所有者账户设置为转让申请的用户,触发转让事件,以获取转让成功的交易日志并将返回给用户和预发布成果的所有者账户;若不一致,则转让操作终止;
若用户接收到转让成功的交易日志,则表示转让成功;若用户B没有接收到转让成功的交易日志,则记录用户B的等待转让时间,并进入步骤14;等待转让时间是从用户B发起转让申请开始一直到当前时间的累计值;
若预发布成功的所有者账户接收到转让成功的交易日志,则访问工厂合约RFC,查询成果哈希-合约映射获取存储合约RSC,并根据存储合约RSC验证预发布成果所有者账户是否与申请转让的用户一致,若一致,则表示预发布成果转让成功,则预发布成果的所有者账户允许访问中转账户合约MAC,从而执行中转账户合约MAC中的转让提现方法,并将中转账户合约MAC中的转让费用转到预发布成果的所有者账户中,以完成转让费用的提现操作;若不一致,则表示预发布成果转让失败,终止提现操作;
步骤14:若用户等待转让的时间超过了中转账户合约MAC中的冻结周期,则调用中转账户合约中的解冻方法,将中转账户合约中的账户余额转到用户账户中。

Claims (7)

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所述的基于区块链智能合约的预发布平台,其特征是,
所述授权申请信息包括:预发布成果的名称、预发布成果的唯一编号、用户的账户地址、预发布成果的所有者账户、授权类别、授权时长以及授权费用;
所述转让申请信息包括:预发布成果的名称、预发布成果的唯一编号、用户的账户地址、预发布成果的所有者账户以及转让费用。
4.一种基于区块链智能合约的预发布方法,其特征是按如下步骤进行:
步骤1:获取用户提交的当前周期的预发布成果属性信息和源文件,并计算预发布成果源文件的哈希值,再将预发布成果的属性信息、源文件、源文件的哈希值存储到本地数据库中;同时根据当前周期的预发布成果的属性信息生成唯一编号,从而将所述唯一编号与所述当前周期的源文件进行关联;所述预发布成果的属性信息包括:成果名称、成果关键词、成果摘要、所有者账户、是否可转让、是否可授权;
步骤2:获取用户提交的成果关键词,并从所述本地数据库中检索出相对应的预发布成果属性信息和源文件的,再将所检索到的预发布成果的属性信息进行展示;
步骤3:从本地数据库中获取当前周期的预发布成果的唯一编号、当前周期的预发布成果的哈希值、前一周期的预发布成果的哈希值、当前周期的预发布成果的所有者账户从而构成当前周期的预发布成果的基本信息,其中若不存在前一周期的预发布成果,则设置前一周期的预发布成果的哈希值为“空”;
步骤4:从本地数据库中获取所述预发布成果的基本信息,调用工厂合约RFC中的新建存储合约函数创建存储合约RSC,从而将所述预发布成果的基本信息存储到所述存储合约RSC中,并生成所述存储合约RSC的合约地址以及存储合约RSC创建操作的交易哈希值;
步骤5:访问所述工厂合约RFC中的成果哈希-合约映射并存储所述当前周期预发布成果的哈希值与所述存储合约RSC的合约地址之间的对应关系,并触发所述新建存储合约事件,以获取所述存储合约RSC的合约地址以及存储合约RSC创建操作的交易哈希值,并将所述合约地址和交易哈希值存储到本地数据库中;
步骤6:获取用户提交的业务请求,若所述业务请求是成果验证请求,则获取用户提交的预发布成果的源文件,计算所述预发布成果的的源文件哈希值CalculatedHash;再根据所述源文件的哈希值在本地数据库中查询是否存在对应的所述存储合约RSC的合约地址,若不存在,则表示无法确定当前周期的预发布成果的真实性;若存在,则进一步访问所述工厂合约RFC,并根据所述源文件的预发布成果的哈希值CalculatedHash查询所述成果哈希-合约映射来获取对应的存储合约RSC,从而利用所述存储合约RSC中存储的预发布成果的哈希值与所述预发布成果的哈希值CalculatedHash进行比较,若一致,则表明用户提交的预发布成果真实有;否则表明用户提交的发布成果非真实有效;
若所述业务请求是成果追溯请求,则进入步骤7;
若所述业务请求是成果授权请求,则进入步骤9;
若所述业务请求是转让请求,则进入步骤12;
步骤7:获取所述当前周期的预发布成果的哈希值Hash,并根据所述当前周期的预发布成果的哈希值Hash访问所述工厂合约RFC中的成果哈希-合约映射以获取对应的所述存储合约RSC;
步骤8:获取所述存储合约RFC中存储的预发布成果的基本信息并存储到列表List中;并根据所述预发布成果的基本信息中的前一周期的预发布成果的哈希值prevHash进行追溯,若所述前一周期的预发布成果的哈希值prevHash为空,则返回所述列表List;反之将所述前一周期的预发布成果的哈希值prevHash赋值给所述当前周期的预发布成果的哈希值Hash,并返回步骤5;
步骤9:获取所述成果授权请求,并访问控制器合约CLC中的新建中转账户合约函数来新建所述中转账户合约MAC;
在所述中转账户合约MAC中限定相关条件;
在所述中转账户合约MAC创建完成时生成所述中转账户合约MAC的合约地址,并触发所述新建中转账户合约事件,以获取申请信息以及所述中转账户合约MAC的合约地址,并发送给所述预发布成果的所有者账户;
步骤10:访问所述存储合约RSC来验证所述预发布成果的所有者账户是否与授权合约AC的执行者一致,若一致,则调用授权函数将所述成果授权请求存储到所述授权合约AC中,并触发授权事件,从而获取授权成功的交易日志并返回给所述用户和所述预发布成果的所有者账户;若不一致,则授权操作终止;
若用户接收到所述授权成功的交易日志,则表明授权成功;若用户没接收到所述授权成功的交易日志,则记录用户的等待授权时间,并执行步骤9;所述等待授权时间是从用户B发起授权申请开始一直到当前时间的累计值;
若所述预发布成功的所有者账户接收到所述授权成功的交易日志,则访问所述授权合约,并验证所述授权合约中存储的授权信息是否与所述用户的授权申请信息一致,若一致,则表示预发布成果授权成功,则所述预发布成果的所有者账户允许访问所述中转账户合约MAC,从而执行所述中转账户合约MAC中的授权提现方法,并将所述中转账户合约MAC中的授权费用转到所述预发布成果的所有者账户中,以完成所述授权费用的提现操作;若不一致,则表示预发布成果授权失败,终止提现操作;
步骤11:若用户的等待授权时间超过所述中转账户合约MAC中的冻结周期,则调用所述中转账户合约中的解冻方法,将所述中转账户合约MAC中的账户余额转到所述用户中;
步骤12:获取成果转让请求,并访问所述控制器合约CLC中的所述新建中转账户合约函数来新建所述中转账户合约MAC,所述成果转让请求包括:预发布成果的名称、预发布成果的唯一编号、用户的账户地址、预发布成果的所有者账户以及转让费用;
在所述中转账户合约MAC中限定相关条件;
在所述中转账户合约MAC创建完成时生成所述中转账户合约MAC的合约地址,并触发所述新建中转账户合约事件,以获取所述申请信息以及所述中转账户合约MAC的合约地址,并发送给所述预发布成果的所有者账户;
步骤13:访问所述存储合约RSC来验证所述预发布成果的所有者账户是否与转让合约TOC的执行者一致,若一致,则调用所述工厂合约RFC的新建存储合约函数创建存储合约RSC,并将存储合约RSC中的预发布成果所有者账户设置为转让申请的用户,触发转让事件,以获取转让成功的交易日志并将返回给所述用户和所述预发布成果的所有者账户;若不一致,则转让操作终止;
若用户接收到所述转让成功的交易日志,则表示转让成功;若所述用户B没有接收到转让成功的交易日志,则记录用户B的等待转让时间,并进入步骤14;所述等待转让时间是从用户B发起转让申请开始一直到当前时间的累计值;
若所述预发布成功的所有者账户接收到所述转让成功的交易日志,则访问所述工厂合约RFC,查询成果哈希-合约映射获取所述存储合约RSC,并根据所述存储合约RSC验证预发布成果所有者账户是否与申请转让的用户一致,若一致,则表示预发布成果转让成功,则所述预发布成果的所有者账户允许访问所述中转账户合约MAC,从而执行所述中转账户合约MAC中的转让提现方法,并将所述中转账户合约MAC中的转让费用转到所述预发布成果的所有者账户中,以完成所述转让费用的提现操作;若不一致,则表示预发布成果转让失败,终止提现操作;
步骤14:若用户等待转让的时间超过了所述中转账户合约MAC中的冻结周期,则调用所述中转账户合约中的解冻方法,将所述中转账户合约中的账户余额转到用户账户中。
5.根据权利要求4所述的基于区块链智能合约的预发布方法,其特征是,所述步骤9中的相关条件包括:
1)设定所述中转账户合约MAC中的合约创建者为用户;
2)限定用户创建所述中转账户合约MAC时转入所述中转账户合约MAC的金额不小于所述授权费用;
3)设置所述中转账户合约MAC的账户余额的冻结期限。
6.根据权利要求4所述的基于区块链智能合约的预发布方法,其特征是,所述步骤12中的相关条件包括:
1)设定所述中转账户合约MAC中的合约创建者为用户;
2)限定用户创建所述中转账户合约MAC时转入所述中转账户合约MAC的金额不小于所述转让费用;
3)设置所述中转账户合约MAC的账户余额的冻结期限。
7.根据权利要求4所述的基于区块链智能合约的预发布方法,其特征是,所述步骤9中的成果授权请求包括:预发布成果的名称、预发布成果的唯一编号、用户的账户地址、预发布成果的所有者账户、授权类别、授权时长以及授权费用;
所述中转账户合约MAC包括:合约创建者、账户余额、冻结周期、授权提现方法、转让提现方法、解冻方法。
CN201910741708.5A 2019-08-12 2019-08-12 一种基于区块链智能合约的预发布平台及其方法 Active CN110473099B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910741708.5A CN110473099B (zh) 2019-08-12 2019-08-12 一种基于区块链智能合约的预发布平台及其方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910741708.5A CN110473099B (zh) 2019-08-12 2019-08-12 一种基于区块链智能合约的预发布平台及其方法

Publications (2)

Publication Number Publication Date
CN110473099A CN110473099A (zh) 2019-11-19
CN110473099B true CN110473099B (zh) 2021-11-05

Family

ID=68511759

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910741708.5A Active CN110473099B (zh) 2019-08-12 2019-08-12 一种基于区块链智能合约的预发布平台及其方法

Country Status (1)

Country Link
CN (1) CN110473099B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107222303A (zh) * 2017-05-11 2017-09-29 暨南大学 基于区块链和云平台的数字版权追溯***建设方法
CN108460605A (zh) * 2018-02-09 2018-08-28 深圳市优权天成科技有限公司 一种基于区块链的纸质艺术品的溯源防伪方法及***
CN109949057A (zh) * 2019-03-28 2019-06-28 西南石油大学 基于区块链的数字艺术作品防伪溯源交易***及交易方法
CN110011996A (zh) * 2019-03-26 2019-07-12 阿里巴巴集团控股有限公司 基于区块链的应用授权方法及装置和电子设备

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10949722B2 (en) * 2017-10-24 2021-03-16 0Chain, LLC Systems and methods of sustainability protocol using distributed blockchain application with IoT sensors

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107222303A (zh) * 2017-05-11 2017-09-29 暨南大学 基于区块链和云平台的数字版权追溯***建设方法
CN108460605A (zh) * 2018-02-09 2018-08-28 深圳市优权天成科技有限公司 一种基于区块链的纸质艺术品的溯源防伪方法及***
CN110011996A (zh) * 2019-03-26 2019-07-12 阿里巴巴集团控股有限公司 基于区块链的应用授权方法及装置和电子设备
CN109949057A (zh) * 2019-03-28 2019-06-28 西南石油大学 基于区块链的数字艺术作品防伪溯源交易***及交易方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"区块链应用研究进展";朱建明;《科技导报》;20171231;全文 *

Also Published As

Publication number Publication date
CN110473099A (zh) 2019-11-19

Similar Documents

Publication Publication Date Title
AU2018374912B2 (en) Model training system and method, and storage medium
JP2022000757A5 (zh)
CN101969451B (zh) 一种基于智能手机的poi数据采集***及方法
CN108769212A (zh) 数据同步方法、装置、计算机设备和存储介质
CN108123936A (zh) 一种基于区块链技术的访问控制方法及***
CN110889729A (zh) 一种基于区块链网络的数据验证方法和装置
US20210049715A1 (en) Blockchain-based data procesing method, apparatus, and electronic device
CN113011883A (zh) 一种数据处理方法、装置、设备及存储介质
CN109636605A (zh) 一种数字资产交易所的监管方法及***
CN110400080A (zh) 考核数据监控方法、装置、计算机设备和存储介质
CN114817888A (zh) 证书登记和颁发方法、装置与存储介质
WO2022100155A1 (zh) 接口授权监控方法、装置、计算机设备和存储介质
CN110473099B (zh) 一种基于区块链智能合约的预发布平台及其方法
Gigli et al. A decentralized oracle architecture for a blockchain-based iot global market
CN106875175B (zh) 一种便于支付主体扩展的方法和装置
CN114398441B (zh) 数据导出方法、装置、计算机设备和存储介质
CN110677494B (zh) 访问响应方法和装置
CN110363515B (zh) 权益卡账户信息查询方法、***、服务器及可读存储介质
CN113284265A (zh) 一种基于积分证明链的共享停车管理方法及***
CN115344768A (zh) 话题热度信息的处理方法和装置、存储介质及电子设备
CN114462998A (zh) 一种日志防篡改方法、***及存储介质
CN111008078A (zh) 数据的批量处理方法、装置、设备及计算机存储介质
CN111161003A (zh) 预切换税号的云平台开票方法及装置
CN109688212A (zh) 基于物联网技术控制的临时物品存储柜***及存储方法
CN113726804B (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
TR01 Transfer of patent right

Effective date of registration: 20211201

Address after: 230022 Room 501, block B, Anhui Institute of industrial technology innovation, No. 2221, Changjiang West Road, high tech Zone, Hefei, Anhui Province

Patentee after: Anhui Zhongke lattice Technology Co.,Ltd.

Address before: 230000 R & D building 506-1, Hefei Institute of technology innovation engineering, Chinese Academy of Sciences, northwest corner of the intersection of Xiyou road and Shilian South Road, high tech Zone, Shushan District, Hefei City, Anhui Province

Patentee before: ANHUI ZHONGKEZHILIAN INFORMATION TECHNOLOGY Co.,Ltd.

TR01 Transfer of patent right