喷泉码(Fountain Code)

在 DNA 数据存储里,“喷泉码(Fountain Code)”可以理解成一种专门擅长应对“有些 DNA 片段丢了”的编码方法。经典的 DNA Fountain 是 Erlich 和 Zielinski 在 2017 年发表在 Science 上的方案,它建立在 LT(Luby Transform)喷泉码之上。PubMed

1. 为什么叫“喷泉码”?

可以把原始文件想成一桶水,DNA 片段则是一滴一滴从喷泉里喷出来的“水滴(droplet)”。

传统纠错码通常是:

K 个原始块 → 预先确定的 N 个编码块

而喷泉码是:

K 个原始块 → 可以不断生成新的编码水滴 D₁、D₂、D₃……

你不需要拿回指定的那些 DNA 分子。只要最终获得了略多于 K 个足够独立的水滴,就可以以很高概率恢复全部原始数据。

这正好符合 DNA 存储的特点:某些寡核苷酸可能在合成、PCR、保存或测序过程中完全消失,但我们并不特别在乎“到底丢了哪一条”。