πfs: 데이터가 없는 파일 시스템

πfs는 실제 데이터 저장을 원주율(pi)의 숫자로 구성된 인덱스로 대체합니다

πfs는 수학적 상수 π(pi)를 활용하여 하드 드라이브 공간의 필요성을 제거한다고 주장하는 풍자적인 "데이터 없는" 파일 시스템입니다. 이 시스템은 만약 π가 정규수(normal number)라면—즉, 그 숫자들이 고르게 분포되어 있고 가능한 모든 유한한 숫자 시퀀스가 포함되어 있다면—존재할 수 있는 모든 파일이 이미 π의 숫자들 어딘가에 존재한다는 전제를 바탕으로 작동합니다. πfs는 파일 자체를 저장하는 대신, 파일의 데이터를 찾을 수 있는 π 내의 인덱스(위치)와 시퀀스의 길이를 저장합니다.

기술적 구현 및 BBP 공식

이전의 모든 숫자를 계산하지 않고 π에서 데이터를 검색하기 위해, πfs는 Bailey–Borwein–Plouffe (BBP) 공식을 사용합니다. 이 공식은 이전 숫자들이 무엇인지 알 필요 없이 특정 위치의 π의 특정 16진수 숫자를 추출할 수 있게 해줍니다.

현재 구현 세부 사항

  • Granularity: 성능을 극대화하기 위해, 현재 구현은 파일의 각 개별 바이트를 π에서 별도로 조회합니다.
  • Dependencies: 이 시스템은 FUSE (Filesystem in Userspace) 모듈로 작동하기 위해 autoconf, automake, 그리고 libfuse가 필요합니다.
  • Storage: 파일 시스템은 파일 이름과 π 내의 바이트들의 특정 위치(인덱스)를 저장하기 위한 메타데이터 디렉토리가 필요합니다.

"100% 압축"의 역설

πfs가 완전한 압축을 달성한다고 주장하지만, 이는 실용적인 도구가 아니라 정보 이론의 이론적 연습입니다. 핵심적인 역설은 π에서 특정 숫자 시퀀스를 찾기 위해 필요한 주소(인덱스)가 종종 데이터 자체보다 더 크다는 점입니다. \n### 정보 이론적 제약 사항 커뮤니티 토론에서는 π를 저장 매체로 사용하는 개념의 몇 가지 중요한 결함을 강조합니다:

  • Metadata Overhead: π 내 시퀀스의 인덱스와 길이는 그 자체로 데이터입니다. 데이터의 길이가 길어질수록, 해당 특정 시퀀스를 찾기 위해 필요한 인덱스는 기하급수적으로 커지며, 결국 원래 파일의 크기를 초과하게 됩니다.
  • Unproven Assumptions: πfs의 기능은 π가 "정규수"라는 추측에 의존합니다. 사용자들이 언급했듯이, 구성되지 않은 무리수는 정규수이거나 분기적(disjunctive)임이 증명된 적이 없습니다.
  • Computational Cost: 무한한 문자열에서 특정 숫자 시퀀스를 찾는 것은 계산 비용이 매우 많이 듭니다. 한 사용자는 400줄짜리 텍스트 파일을 저장하는 데 5분이 걸렸다고 보고했습니다.

"결론적으로 데이터의 주소를 나타내기 위해 데이터 자체만큼의 데이터가 기본적으로 필요하므로, 압축에 정말 효과적인 것은 아니며, 그저 재미있는 사고 실험일 뿐입니다."

다른 개념과의 비교

πfs의 개념은 가능한 모든 정보를 저장하는 것에 관한 다른 수학적 및 문학적 사고 실험을 반영합니다:

  • The Library of Babel: 가능한 모든 410페이지 분량의 책을 포함하는 이론적 도서관으로, 정보의 존재 여부가 문제가 아니라 정보를 찾는 능력이 문제임을 보여줍니다.
  • Sloot Digital Coding System: 데이터 압축을 위해 수학적 상수를 사용하는 유사한 역사적 시도입니다.
  • nsafs: 정부가 비용을 지불하기 때문에 "무료"라고 주장하며 πfs의 정신을 모장하는 풍자적인 "국가 보안국 파일 시스템"입니다.

Sources