πfs: 无数据文件系统

πfs 用圆周率的数字作为索引来取代实际的数据存储

πfs 是一个讽刺性的“无数据”文件系统,它声称通过利用数学常数 π (pi) 来消除对硬盘空间的需求。该系统的运作前提是,如果 π 是一个正规数(normal number)——这意味着它的数字分布均匀,并且包含所有可能的有限数字序列——那么每一个可能存在的文件都已经存在于 π 的数字中。πfs 并不存储文件本身,而是存储文件数据在 π 中可以找到的序列索引(位置)和长度。

技术实现与 BBP 公式

为了在不计算所有前置数字的情况下从 π 中检索数据,πfs 利用了 Bailey–Borwein–Plouffe (BBP) 公式。该公式允许在给定位置提取 π 的特定十六进制数字,而无需知道其之前的数字。

当前实现细节

  • Granularity: 为了最大限度地提高性能,当前的实现会在 π 中分别查找文件的每一个字节。
  • Dependencies: 该系统需要 autoconf, automake, 和 libfuse 来作为 FUSE (Filesystem in Userspace) 模块运行。
  • Storage: 该文件系统需要一个元数据目录来存储文件名以及字节在 π 中的特定位置(索引)。

“100% 压缩”的悖论

虽然 πfs 声称实现了完全压缩,但它更多是信息论中的一个理论练习,而非实际工具。其核心悖论在于,定位 π 中特定数字序列所需的地址(索引)通常比数据本身还要大。

信息论约束

社区讨论强调了使用 π 作为存储介质的几个关键缺陷:

  • Metadata Overhead: π 中序列的索引和长度本身就是数据。随着数据长度的增加,查找该特定序列所需的索引会呈指数级增长,最终超过原始文件的大小。
  • Unproven Assumptions: πfs 的功能依赖于 π 是一个“正规数”这一猜想。正如用户所指出的,目前还没有任何非构造性的无理数被证明是正规数或离散数(disjunctive number)。
  • Computational Cost: 在无限字符串中搜索特定的数字序列在计算上是非常昂贵的。一位用户报告说,存储一个 400 行的文本文件需要花费五分钟。

"The conclusion being that you basically need the same amount of data to represent the address of your data as the data itself, so it's not really effective at compression, just a fun thought experiment."

与其他概念的对比

πfs 的概念反映了其他关于存储所有可能信息的数学和文学思想实验:

  • The Library of Babel: 一个理论上的图书馆,包含每一本可能的 410 页书籍,说明了挑战不在于信息的存在,而在于寻找信息的能力。
  • Sloot Digital Coding System: 一种使用数学常数进行数据压缩的类似历史尝试。
  • nsafs: 一个讽刺性的“国家安全局文件系统”,它通过声称因为政府买单所以是“免费”的来模仿 πfs 的精神。

Sources