可验证时延加密函数(Verifiable Time-Delay Encoding Function): VDF有两大要求,即时间要求(加密时间长,而解密时间短)和可验证要求(证明与验证过程高效)。目前,设计使用的VDF算法是学术界研究的热点。

两种解决方案

❑ 迭代SNARK哈希链,迭代过程实现时延特性,zk-SNARK本身满足可验证特性。目前已小范围被应用。

❑ 模的平方根方法,这也是一种常见的可验证加密方法。缺点是,生成证明的时间最好的情况和最坏的情况差一个数量级,因此很难控制加密时间。

现阶段

可验证时延加密算法(VDF)。目前这一过程通过BLS12-381加密算法,多次迭代完成。

限制

加密过程需要的时间必须足够的长,并且尽量不能并行化

  • 这一算法不能并行化,不能通过提高节点的计算力缩短加密时间
  • 可并行化的加密算法可能让攻击者使用高性能计算机或改进计算架构来近似线性地降低执行时间,才能保证恶意矿工无法通过女巫攻击或外源攻击达到目的。

原理: 如何限制并行化

一般可并行化的代码, 软件内启用了多进程或多线程功能.

上下文没有信赖的操作, 编译器可能会做些可并行执行的优化, cpu也可能会做多核间的调度

通过多次迭代BLS12-381的加密算法,即后一个执行的输入信赖前一个执行的输出, 将无法运用多线程或多进程运算, 编译器与cpu也不会作并行化的优化

时空证明 PoSt

它的具体过程如下:首先由矿工生成随机挑战对应的副本片段到整个副本的默克尔路径,随后进行t次迭代操作。每一次循环,随机挑战被更新为上一轮的随机挑战与本轮的迭代轮数以及上一轮的存储证明整体的哈希值。如此循环往复t次,最后输出时空证明。


一次PoSt是通过PoRep实现的,具体流程如图5-8所示。首先根据挑战c,通过循环次数i生成一个新的挑战;根据新的挑战,找到一条能够到达默克尔根rt的默克尔路径,由此生成当前时刻(或者说当前i轮)的证明;还没有结束,再由上一轮生成的证明生成新的挑战,进而生成当前轮的矿工证明,以此往复下去,累计完成了t次,将这个过程生成的证明序列全部交给检验者。

构建加密区块

  • 防碰撞哈希函数 MerkleCRH
  • zk-SNARKs

密封操作

SEAL: AES256

挖矿周期(对于存储矿工)

  • 抵押:存储矿工向网络抵押存储
  • 接收订单:存储矿工从存储市场获取存储请求
  • 密封:存储矿工为未来的证明准备碎片
    • 密封是一种缓慢的顺序操作,它将扇区中的数据转换成复制品,即一个与矿工公钥相关联的唯一的物理副本。
  • 证明:存储矿工证明他们正在存储所承诺的碎片

挖矿周期(对于检索矿工)

  • 收到订单:检索矿工从检索市场得到数据请求
  • 发送:检索矿工发送碎片给客户

隐私

实现保密性:如果客户希望他们的数据被私密存储,他们必须在上传数据之前进行数据加密。


往期精彩回顾:
区块链知识系列
密码学系列
共识系列
公链调研系列
以太坊系列
EOS系列
智能合约系列
Token系列

密码学系列 - 可验证时延加密算法(VDF)相关推荐

  1. 【联邦学习邂逅密码学系列】基于同态加密算法python代码实现

    这是我的学习笔记,若有不足和错误之处,欢迎交流和指正,谢谢! 联系方式:lrcgnn@163.com 前言 联邦学习是一种参与方之间联合隐私训练的新范式,受到学术界和工业界的关注.然而一些研究表明,联 ...

  2. 密码学系列(三):区块链+密码学基础知识

    密码学系列(三):区块链+密码学基础知识 一.区块链的概念 区块链概述 区块链的特点 区块链变化 市场现状 二.区块链政策与标准 区块链的特点与发展 三.区块链的定义 区块链的价值 四.区块链开发语言 ...

  3. 密码学系列 - 国密算法SM1/SSF33

    国密分组密码 SM1分组密码和SSF33分组密码均为国密分组密码标标准,SM1和SSF33的密钥长度和分组长度均为128比特. 目前这两个分组密码标准的算法尚未公开,其实现仅可以通过硬件芯片的方式获得 ...

  4. 密码学系列之:SAFER

    简介 分组密码是一个非常优秀的加密结构,很多常用加的加密算法使用的都是分组算法,比如DES.SAFER表示的也是一种分组密码算法.一起来看看吧. SAFER简介 SAFER的全称是Secure And ...

  5. 密码学系列 - 椭圆曲线签名的基本原理

    ECDSA 涉及到三个重要的概念 第一个是私钥,私钥是一个只有我自己知道的数字,我可以用私钥去生成签名,比特币使用的私钥是一个256 bit 的整数. 第二个是公钥,公钥是跟私钥配对的一个数,是根据私 ...

  6. 密码学系列 - 椭圆曲线 ECC - ED25519

    密码学 - 椭圆曲线 ECC ED25519 椭圆曲线是一系列满足如下方程的点: y^2 = x^3 + ax + b 并且 4a^3 + 27b^2 != 0 特性 封闭性:因为椭圆曲线上的点相加, ...

  7. 密码学系列 - 国密算法

    国密即国家密码局认定的国产密码算法.主要有SM1,SM2,SM3,SM4,SM9.密钥长度和分组长度均为128位. 国密算法种类 SM1 为对称加密.其加密强度与AES相当.该算法不公开,调用该算法时 ...

  8. 密码学系列 - 默克尔路径

    默克尔树 (merkle tree) 默克尔树,也称为哈希二叉树,是一种用于有效地汇总和验证大型数据集完整性的数据结构. 默克尔路径 可用于证明在一个很大字节数的区块中上千笔交易中的具体某一笔交易的存 ...

  9. 密码学系列(二):专有名词缩写【持更】

    密码学系列(二):遇到的一些专有名词缩写[持更] 密码学相关 密码产品所需 密码学相关 CRL:证书吊销列表 在线证书状态协议(OCSP):一个互联网协议,用于获取符合X.509标准的数字证书的状态. ...

最新文章

  1. NanoPi NEO的Matrix库硬件编程
  2. 正态随机分布 C++实现
  3. Web Design and Programming (7175 6691) University of Canberra Faculty of Science and Technology
  4. 马云卖数据,你卖商品
  5. mysql的hash分区_MySQL中hash和key分区值的计算方法
  6. java 从数据库取值_JAVA操作数据库--从一张表中取值,经过判断,然后插入另一张表中。...
  7. javascript提示抖动实现方法
  8. Vector的使用详解
  9. C++学习之路 | PTA乙级—— 1024 科学计数法 (20 分)(精简)
  10. leetcode —— 2. 两数相加 (对于链表更新的细节)
  11. 6. 同步化器(Synchronizers)
  12. hex和base32和base64的区别与联系
  13. android安装到内存卡,android手机怎么把软件安装到内存卡里
  14. 《广播电视节目制作经营许可证》申请流程
  15. 帮你分清嵌入式与单片机
  16. Vue项目管理器中 安装及使用Monaco Editor
  17. linux的系统监视器图片_替代Windows还有多远?国产统一操作系统UOS上手体验
  18. EMLOG采集插件 采集资源 小刀模板采集通用
  19. CentOS 7配置httpd服务器
  20. 解决win10 VC++6.0 应用程序无法正常运行 0xc0000142

热门文章

  1. 微信公众平台 发送消息-群发接口
  2. 块设备驱动介绍(浅析)
  3. SAP IDES各Client用途和用户名密码 1
  4. vscode import 自动引入文件路径
  5. 计算机app无法删除,电脑出现删除不了软件怎么处理?已经用了腾讯安全管家还是删不干净?...
  6. java 置顶的后台代码_[置顶] 程序员喝酒
  7. 恭贺2022年下半年NPDP产品经理认证班成功举行
  8. 媒体人的不二选择,你确定不来看一看吗?
  9. 从《Doom》到《Dunia》 回顾3D游戏引擎发展历程二
  10. AQR: 二十年告诉你,造就成功的,不仅仅是专业