空间证明(PoS)

来自非小号百科
Doge留言 | 贡献2024年12月12日 (四) 05:46的版本 (创建页面,内容为“'''空间证明(Proof of Space, PoS)'''是一种共识算法,通过分配一定量的内存或磁盘空间来解决服务提供者提出的挑战,从而证明用户对某项服务(如发送电子邮件)的合法兴趣。该概念由 Dziembowski 等人于2013年提出,另一个不同形式的表述由 Ateniese 等人提出<ref>[https://eprint.iacr.org/2013/796 Proofs of Space] ''Stefan Dziembowski, Sebastian Faust, Vladimir Kolmogorov, and Krzyszto…”)
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)

空间证明(Proof of Space, PoS)是一种共识算法,通过分配一定量的内存或磁盘空间来解决服务提供者提出的挑战,从而证明用户对某项服务(如发送电子邮件)的合法兴趣。该概念由 Dziembowski 等人于2013年提出,另一个不同形式的表述由 Ateniese 等人提出[1]。空间证明与工作量证明(Proof of Work, PoW)非常相似,但 PoS 使用存储而非计算来获得加密货币。空间证明不同于内存硬函数,其瓶颈不在于内存访问事件的数量,而在于所需内存的容量。

在比特币发布后,人们开始研究其 PoW 挖矿机制的替代方案,并在加密货币的背景下研究了 PoS。区块链爱好者认为,空间证明是一种更公平且更环保的替代方案,因为存储设备是通用的,且其能源成本较低。

2014年,Signum(前身为 Burstcoin)成为首个实际实现 PoS(最初称为容量证明)区块链技术的项目,并且仍在积极开发中。除了 Signum,还有多个理论和实际的 PoS 实现被发布和讨论,如 SpaceMint 和 Chia。然而,一些项目因对存储设备产生的较高磁盘读取需求而受到批评,这会增加存储设备的需求量并缩短其寿命,这点与 Signum 的需求相比显得更为显著[2]

概念描述[编辑 | 编辑源代码]

空间证明(Proof of Space, PoS)是一段数据,证明者(Prover)通过将其发送给验证者(Verifier),以证明其保留了一定量的存储空间。为了实用性,验证过程需要高效,即占用较少的空间和时间。而为了安全性,如果证明者实际上没有保留声称的空间,那么通过验证的难度应该很高。

一种实现空间证明的方法是使用难以铺石(hard-to-pebble)图。验证者要求证明者对一个难以铺石的图进行标记。证明者提交该标记,随后验证者要求证明者在提交的标记中打开几个随机位置以供验证。

存储证明[编辑 | 编辑源代码]

存储证明(Proof of Storage,又称可检索性证明或数据拥有证明)与空间证明相关,但不同之处在于,存储证明的证明者展示的是其实际使用空间正确存储了一段数据,而不是仅仅展示可用空间以解决某种难题。

容量证明[编辑 | 编辑源代码]

容量证明(Proof of Capacity, PoC)是一种允许矿工预先计算(“绘图”)PoW 函数并将其存储到硬盘驱动器(HDD)上的系统。容量证明的首次实现是 Signum(前称 Burstcoin)[3]

条件容量证明[编辑 | 编辑源代码]

容量证明(PoC)共识算法被用于一些加密货币中,而条件容量证明(Conditional Proof of Capacity, CPOC)是 PoC 的改进版本。CPOC 包含工作量(Work)、权益(Stake)和容量(Capacity)系统,其运行方式类似于 PoW、PoS 和 PoC 算法。通过质押数字资产,用户可以获得更高的奖励收入。此外,CPOC 为顶级用户设计了一种新的奖励机制。在该算法中,矿工通过确保其绘图文件包含与上一区块相关的特定数据,为证明增加了条件组件。这一附加条件使得该共识机制在安全性和去中心化方面相比传统的容量证明算法更为出色。

时空证明[编辑 | 编辑源代码]

时空证明(Proof of Space-Time, PoST)是一种证明,表明证明者在一段时间内保持了其预留空间的不变性。其创造者认为,存储成本不仅与容量密切相关,也与使用该容量的时间密切相关。时空证明与存储证明有关(但不一定存储有用数据),而 Moran-Orlov 的设计允许空间和时间之间的权衡。时空证明的首次实现是通过 Chia 区块链完成的[4]

用途[编辑 | 编辑源代码]

空间证明(Proof of Space, PoS)可作为传统客户端难题应用(如反垃圾邮件措施和防止拒绝服务攻击)的工作量证明(Proof of Work, PoW)的替代方案。空间证明还被用于恶意软件检测,通过判断处理器的 L1 缓存是否为空(例如,是否有足够空间执行 PoS 程序而不会发生缓存未命中),或者是否包含抗拒被逐出的程序。

Signum(前称 Burstcoin)[编辑 | 编辑源代码]

Signum 是第一个使用基于硬盘的区块链验证技术的区块链,于2014年创立。Signum 的容量证明(Proof of Capacity, PoC)使用磁盘空间而非计算资源来挖掘区块。不同于工作量证明(PoW)中矿工通过不断改变区块头并计算哈希值寻找解决方案的方式,容量证明(由 Burstcoin 实现并由 Signum 进一步开发)通过 Shabal 加密算法预先生成随机解决方案(称为绘图文件或 plots),并将其存储在硬盘上。这个阶段被称为绘图(plotting),可能需要数天甚至数周的时间,具体取决于硬盘的存储容量。在接下来的挖矿阶段,矿工将其解决方案与最新难题进行匹配,拥有最快解决方案的节点将获得挖掘下一区块的权限。

SpaceMint[编辑 | 编辑源代码]

2015年,一篇论文提出了一种名为 SpaceMint 的加密货币。它尝试解决基于铺石(pebbling)的 PoS 方案中一些实际设计问题。在将空间证明应用于去中心化加密货币时,该协议需要被调整为非交互式协议,因为网络中的每个个体都必须充当验证者[5]

Chia[编辑 | 编辑源代码]

主条目:Chia

2018年,一种名为 Chia 的加密货币提出了两篇论文,介绍了基于空间证明和时间证明的新协议。

2021年2月,Chia 发布了一份白皮书,概述其商业模式,并自此启动主网及其加密货币 Chia Coin(XCH),采用了空间时间证明(Proof of Space Time)模型。Chia 的空间时间模型也依赖于绘图(在存储介质上生成空间证明文件)来解决难题。

与许多基于存储的加密货币不同,Chia 的绘图文件不存储任何有用数据。此外,Chia 用于绘图的时间证明方法引发了人们对固态硬盘(SSD)寿命缩短的担忧,因为绘图生成过程中涉及的大量写入活动(通常是在 SSD 上绘图,然后将完成的绘图文件转移到硬盘驱动器上用于长期存储)。

参考链接[编辑 | 编辑源代码]

  1. Proofs of Space Stefan Dziembowski, Sebastian Faust, Vladimir Kolmogorov, and Krzysztof Pietrzak
  2. Chia mining can wreck a 512GB SSD in as little as 6 weeks | PC Gamer
  3. Proof of capacity (PoC) | consensus
  4. Simple Proofs of Space-Time and Rational Proofs of Storage Tal Moran Ilan Orlov
  5. SpaceMint: A Cryptocurrency Based on Proofs of Space Sunoo Park, Albert Kwon, Georg Fuchsbauer, Peter Gaži, Joël Alwen, and Krzysztof Pietrzak