[发明专利]去中心化环境下流水线计算的验证方法和系统及介质在审
申请号: | 202010640589.7 | 申请日: | 2020-07-06 |
公开(公告)号: | CN111857827A | 公开(公告)日: | 2020-10-30 |
发明(设计)人: | 张天诩;李明煜;夏虞斌 | 申请(专利权)人: | 上海交通大学 |
主分类号: | G06F9/302 | 分类号: | G06F9/302;G06F9/38;G06F9/50;G06F21/60;G06F21/64 |
代理公司: | 上海汉声知识产权代理有限公司 31236 | 代理人: | 胡晶 |
地址: | 200240 *** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 中心 环境 下流 水线 计算 验证 方法 系统 介质 | ||
本发明提供了一种去中心化环境下流水线计算的验证方法和系统及介质,结合密码散列函数和数字签名技术,在去中心化环境下执行流水线计算的过程中生成并保存证据,用户利用计算过程中生成的证据可以验证流水线的最终计算结果是否为根据原始输入数据经过流水线程序得到的。将所有证据串联成证据树,在去中心化环境下证明流水线的最终结果是否为根据原始输入数据经过流水线程序得到的。与现有的去中心化计算相比,赋予用户检查结果正确性的能力。
技术领域
本发明涉及流水线计算的正确性验证技术领域,具体地,涉及一种适用于去中心化环境下的流水线计算的验证方法和系统及介质,尤其是一种适用于去中心化环境下的流水线计算的正确性验证方法。
背景技术
随着区块链技术的盛行,去中心化计算已经成为一种趋势。所谓去中心化计算,就是将计算机资源(包括硬件和软件)分散到单独的计算节点,这些节点可能处于不同的地理位置,或者属于不同的个人或机构。去中心化计算可以有效利用分散的计算能力,但是一般来说这些分散的计算能力都不强,无法单独完成较大的计算,因此需要将较大的计算拆分为流水线(pipeline),流水线是指将计算过程拆分为多个步骤,由多台计算机合作完成计算。但是在去中心化环境中,流水线计算产生的中间结果可能被去中心化网络以外的攻击者篡改,进而得到错误的最终结果。
用户拿到最终结果后,无法得知计算的中间过程,即便结果是错误的,用户也无法验证结果的正确性。这是一个必须解决的问题。
发明内容
针对现有技术中的缺陷,本发明的目的是提供一种去中心化环境下流水线计算的验证方法和系统及介质。
根据本发明提供的一种去中心化环境下流水线计算的验证方法,包括:
执行步骤:根据流水线各个阶段执行计算,得到流水线计算结果;
验证步骤:验证流水线计算结果的正确性。
优选地,所述执行步骤包括:
第一阶段执行步骤:由流水线第一阶段计算机读取输入数据并根据流水线第一阶段程序进行计算,得到第一阶段计算结果,对输入数据、流水线第一阶段程序和第一阶段计算结果生成第一证据,将第一阶段计算结果和第一证据上传至数据库;
第二阶段执行步骤:由流水线第二阶段计算机从数据库读取第一阶段计算结果和对应证据,将第一阶段计算结果作为输入,根据流水线第二阶段程序进行计算,得到第二阶段计算结果,对第一阶段计算结果和第一证据、流水线第二阶段程序、第二阶段计算结果生成第二证据,将第二阶段计算结果和第二证据上传至数据库。
优选地,所述第二证据的生成是使用密码散列函数对第一阶段计算结果和第一证据、流水线第二阶段程序、第二阶段计算结果分别计算摘要,使用计算机的私钥对摘要进行数字签名,摘要和数字签名一起构成第二证据。
优选地,所述验证步骤包括:
后一阶段验证步骤:根据流水线计算结果中的数字签名验证完成流水线计算结果中的最终结果计算的计算机是否是本网络中的节点,根据流水线计算结果中的摘要验证流水线计算结果中的最终结果有没有被修改,同时验证最终结果是否以流水线倒数第二阶段计算结果作为输入,由流水线最后阶段程序计算得到;如果验证未通过,说明流水线最后阶段计算过程中出错,最终结果不正确;
前一阶段验证步骤:验证完成流水线倒数第二阶段结果计算的计算机是否是本网络中的节点,是否被修改,是不是以流水线倒数第三阶段计算结果作为输入,由流水线倒数第二阶段程序计算得到;如果验证未通过,说明流水线倒数第二阶段计算过程中出错,最终结果不正确。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海交通大学,未经上海交通大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010640589.7/2.html,转载请声明来源钻瓜专利网。