原力矿池的零知识证明服务系统

[复制链接]
9251 |0
发表于 2020-5-15 09:36:13 | 显示全部楼层 |阅读模式

零知识证明服务系统

外包计算也称为委托计算,是一种客户机-服务器的服务模式,它允许客户将函数计算过程交付给服务器,而客户自身仅产生待计算变量及接收返回的计算结果。这种模式对终端计算能力要求低,使其可以完成对复杂计算问题的处理。因此外包计算不但使计算资源得到更加充分的利用,同时也促进了移动便携设备的发展。但由于计算过程外包于网络服务器,所以如何保证计算被正确地执行,同时满足验证效率要优于计算效率,即实现高效的可验证外包计算成为保障网络信息安全研究领域的热点之一。

 

零知识证明

零知识证明的概念并非全新,于20世纪80年代初由麻省理工学院研究人员S.Goldwasser、S.Micali及C.Rackoff提出。零知识证明指的是证明者能够在不向验证者提供任何有用的信息的情况下,使验证者相信某个论断是正确的。简单来说,Ben Fisch指出,零知识证明是一种技术,可证明使论述为真的证据的存在,而不用暴露证据本身,例如,人们可以证明自己拥有符合审计的证据,而不需要披露证据本身的细节。

 

系统特性

本软件具备以下特性:

  • 零知识证明信息

服务器端完成零知识证明计算,提供零知识证明信息。

  • 零知识证明接口
  • 可插拔证明模块
  • 动态库调用

 

系统功能

本软件功能需求包括:

  • 零知识证明
  1. 客户端和服务器端能够正确的通信
  2. 对于大文件,服务器端能够正确的进行零知识证明
  3. 对于小文件,服务器端能够正确的进行零知识证明
  • 零知识验证
  1. 对于正确的证明,客户端能够验证通过
  2. 对于错误的证明,客户端能够验证失败
  3. 对于超时的证明,客户端能够验证失败
  • 并发多任务调度
  1. 服务端能够满足客户端同时发起多个证明请求

系统架构:

wk588_com_mimuboljdwg.jpg

wk588_com_mimuboljdwg.jpg

系统结构采用简单的客户端服务器模型,但是部署方式非常灵活。可以采用单级和多级混合的方式部署。比如客户端可以是fileDavinci客户端节点,也可以是矿池节点。另外,也可以给其他非fileDavinci客户节点,比如zcash区块链的客户端节点,但是需要采用本软件的SDK库。

 

子系统介绍

  • 客户端子系统

客户端子系统的主要操作如下:

  1. 发送存储数据
  2. 接收零知识证明
  3. 验证零知识证明
  • 服务器端子系统

服务器端子系统也成为零知识证明子系统,主要操作如下:

  1. 存储客户端发送的数据
  2. 执行零知识证明计算
  3. 提供零知识证明
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

热门版块
快速回复 返回顶部 返回列表