你们还记得”病毒”这个词从哪儿来吗?这里我说的是真正生物病毒,后来被IT安全专家们借用过来,命名为将自身代码插入其它目标以自我复制和传播的计算机程序。
很有可能这一信息技术词汇不久就能恢复其本来意义—来自微软公司和华盛顿大学的研究专家们在数据存储领域中开创了新的里程碑,以人造DNA的形式写入约200MB数据。
你可能会问:这和生物病毒又有什么联系呢?打个简单的比方—病毒将自身的遗传代码插入受感染生物体的DNA内,导致DNA自我复制病毒而不再合成通常的蛋白质,这一过程显然十分关键。
最具侵略性的病毒会破坏正常的生理过程,极端情况下会导致细胞死亡,最后让整个生物体坏死。以此类推,最具侵略性的恶意软件可能让受感染信息系统彻底无用,或”死亡”。
因此,目前人类已开始以DNA的形式书写信息,现在开始担心这些数据”硬件级别”的安全保护也不为过。但首先,简要介绍一下该”硬件”的工作方式。
DNA内部
DNA的全称是脱氧核糖核酸,是我们生物体中最大的分子,同时携带有遗传信息。就好比IT领域的引导映像,负责启动计算机和载入操作系统。多数情况下(一些例外情况我不会在这篇博文中谈及),在操作系统载入到内存后,计算机启动可执行模块,需要用来支持其本身和执行编程好的工作。采用相同方式,活细胞多数情况下使用DNA生成”可执行文件”—RNA(核糖核酸)序列,处理蛋白质合成以维持生物体并执行相应功能。
从眼睛和头发的颜色到遗传性异常,生物体的所有特性均保存在DNA内。在核甘酸序列中编码—分子块只含(多数已知生物体)4种含氮碱基:腺嘌呤、鸟嘌呤、胸腺嘧啶和胞嘧啶。这些被称为”生物位”。如你所见,大自然采用四进制对遗传信息进行编码,与使用二进制代码的人造计算机不同。
值得一提的是,DNA拥有内置代码校正功能—众所周知,DNA有两条核苷酸链,以双螺旋结构互相缠绕。
这两条核苷酸链利用氢键相连,氢键只会在严格定义的核苷酸对之间形成—同时两者互相补充。这能确保被编码入一条链中的既定核苷酸序列的信息能与另一条链的互补核苷酸类似序列相符。这就是其代码修正机制的工作方式—在编码或复制时,第一条DNA链作为数据来源使用,而第二条链则用于控制序列。这表明第一条链中编写某些遗传特征的核苷酸序列也可能被破坏。
此外,使用冗余编码算法将遗传特征编码入核苷酸序列。为了便于解释其工作方式—想象每个遗传特征都以核苷酸序列写入,并附有检验和。
自从50年前发现DNA以来,编码遗传特征或基因的核苷酸序列已被广泛研究。如今,你可以在许多实验室甚至在线读取DNA —访问23andme或类似网络服务。
科学家如何读取DN
在过去几百年里,科学家们发明了确定微小物结构的方法,比如:X光结构分析、质谱分析法以及各种光谱方法等。对于由2-4个原子组成的分子尤其适用,但显然更大分子的试验结果要复杂得多。分子中的原子越多,则越难了解其结构。
需要牢记的是,DNA被认为是目前最大的分子,理由充分:人类单倍体细胞上的一个DNA包含了30亿对碱基。DNA的分子量比最大已知蛋白质高出许多个数量级。
简而言之,DNA的原子数量巨大得难以想象,因此仍采用传统方法破译实验数据的话,就算用最新的超计算机,也需要花费数月甚至数年的时间。
但科学家们想出了排序方法能极大加速破译过程。背后的主要原理是:将长长的碱基序列分成许许多多短的片段,然后就能并行分析了。
为此,生物学家需要用到分子机器:被称为聚合酶的特殊蛋白质(酶)。这些蛋白质的核心功能是通过离开核苷酸链和从碱基建立复制物进而复制整个DNA。
但我们并不需要复制完整的DNA;相反,我们希望将它分割成一个个片段,通过加入所谓的引物和标记实现—能分辨聚合酶开始和终止复制过程位置的混合物。
引物中含既定的核苷酸序列,在发现相应互补碱基序列的地方将自身依附到DNA上。聚合酶发现引物后开始复制序列,从溶液中取出构建块。就像所有生命历程一样,这一切都是在液态下进行。聚合酶持续复制序列直至遇到标记:停止构建DNA链后即得到修改后的核苷酸。
但这里有个问题。聚合酶、DNA链、引物、标记和我们的构建块都分散在溶液中。因此无法断定聚合酶开始的准确位置。我们唯一能确定的是从哪里复制序列,以及复制到哪里去。
继续IT方面的类比,我们将以下列方式举例说明。将DNA想象成一个数位组合:1101100001010111010010111。如果我们将0000用作引物,11用作标记,我们将得到以下一组片段,置于概率递减的顺序之中。
使用不同的引物和标记,我们将获得所有可能的短序列,然后根据其组成的知识推断出更长的序列。
你可能一时没法反应过来,确实有些复杂,但实际确实可行。事实上,由于我们多个过程并行,因此这个方法用起来速度飞快。相比几个月或数年时间,这只需要几个小时即可完成—尽管从IT角度看并不算非常快。
DNA和随机访问
在了解如何读取DNA后,科学家们还学会了如何合成分子序列。微软研究专家们并非是首批尝试以人造DNA形式写入信息的专家。就在几年前,来自EMBL-EBI的研究专家成功编码了739 KB的信息。
有两点让微软的工作实现突飞猛进。首先,研究人员们大幅增加了存储数据容量,达到200MB。距离包含在人类DNA链内750MB的数据量不算太过遥远。
而真正创新的地方在于他们提出了一种读取部分DNA的方式,每次排序时只有大约100碱基(生物位)长。
研究人员们通过使用引物和标记,读取从DNA链一开始就固定偏移的特定核苷酸组。并不是完全能随即访问任何一位,但已经十分接近—实现存储块访问。、
研究专家们认为,这类DNA内存可以做成高密度的长期存储模块。道理显而易见:已知最出色的闪存密度能达到约1016位/立方厘米,而预计DNA内存的密度比这还要高出3个数量级:约1019位/立方厘米。
同时,DNA也是一种相当稳定的分子。再加上内置冗余码和纠错方案,上面的数据可能需要好多年甚至几个世纪才能全部读取。
回到病毒话题
但从信息安全角度,这又意味着什么呢?这意味着以这种方式存储的信息,其完整性可能会受到数十亿年来专门从事数据破坏的生物体的威胁,那就是病毒。
我们不太可能会看到创造出的大量转基因病毒”围猎”编码的人造DNA的景象。很长一段时间内只会更容易—在数据还是数字形式且未写入DNA前,修改数据并插入恶意代码。
但这是个有待解决的问题,如何保护这类数据免受现有病毒的腐坏。例如,聚合酶很乐意在溶液中复制各种DNA:例如,常见流感病毒的DNA。
当然在你写重要文件时,有人打喷嚏或咳嗽的话,还是需要小心…