合成生物学挖比特币?丨再创
学术
2024-09-27 05:36
英国
想象一下细菌挖掘加密货币。我们通过对 66 种大肠杆菌菌株进行 2 位 MD5 加密哈希算法(比特币使用的 SH256 的前身)进行编码,向这个想法迈进了一步。这个过程需要超过 1 百万碱基对的 DNA,相当于一个小基因组的大小。—— Chris Voigt 9 月 24 日 发布于 X。Chris 的 X 让我十分感兴趣。这篇发表在 Nature Chemical Biology 上的文章「Partitioning of a 2-bit hash function across 66 communicating cells」到底介绍了什么?真的可以用微生物来挖比特币吗?背后的技术是如何实现的?完整的 128 位 MD5 哈希算法是一种加密散列函数,用于将任意大小的数据映射到固定大小的哈希值。哈希算法与加密货币的关联在于它在区块链结构的构建、工作量证明的计算、交易的防篡改、钱包地址的生成等关键环节中发挥了核心作用。为了维护加密货币网络的安全性和去中心化性,”挖矿“过程需要消耗大量的计算资源,”矿工“必须不断尝试找到一个特定的哈希值,才能获得区块奖励(加密货币)。Chris 提到要在细胞内实现哈希算法概念需要两点:
1. 哈希算法必须简化:完整的 128 位 MD5 哈希算法在细胞内现阶段不可能实现。Chris 团队使用了 2 位版本的 MD5 函数,重复该函数将输入字符串(消息)转换为 8 位哈希值。简化版的哈希空间从2^128(340万亿亿亿亿个可能值)减少到了仅仅2^8(256个可能值)。2. 基于多细胞系统的分布式计算:1.1 M 人工设计的 DNA 线路需要分布在不同的细胞群体中,依赖于多细胞群体实现分布式计算,最后实现哈希算法的概念。简化的 2 位版本的 MD5 函数转换为由 110 个 NOR 或 NOT 门组成的线路,并将这逻辑门通过分区算法划分到 66 个菌株。▲ 相同颜色的模块代表同一个细胞;其余的为一个逻辑门代表一个细胞。将 MD5 函数转换为由 110 个 NOR 或 NOT 门组成的设计后,研究团队的目标则是将其用 DNA 设计进行实现。这里面的关键点也有两点:1. 优质的与细胞通讯、逻辑信号处理相关的元件:每个细胞节点所承载的子线路是基于噬菌体抑制蛋白-启动子库、诱导表达系统和四个正交的发送-接收细胞通讯系统设计。这些元件都经过了研究团队的精细表征,以便能够与后续的自动化设计软件对接。▲ 12 套噬菌体抑制蛋白-启动子库以及其对应的响应曲线。2. 可以拓展到多细胞系统的升级版 Cello 软件:Cello 本质上是一种用于在活细胞中设计 DNA 线路的编程语言。我们可以利用 Cello 将我们想要实现的逻辑编码为可基于转录的逻辑门的 DNA 序列,用于在细菌中执行。此过程原本只在单细胞种实现。在本工作中,升级版的 Cello 可以用于进行跨细胞的 DNA 线路设计。▲ Cello 可以将 Verilog 格式编码为可以在细胞内执行功能的 DNA 序列。最终,66 个菌株中整体的基因线路总长为 1.1M,其中最大的单细胞节点需要最多 41 个基因(23 个调控基因),总长为 43 kb 的重组 DNA。同时没有一个包含子线路的细胞表现出明显的生长缺陷,这得益于每个逻辑门的精心设计、所有逻辑门都在基因组而非质粒上等等。▲ 66 个细胞节点的每一个逻辑的输出逻辑都符合预期。完整菌株集不能相互连接以构建完整的 MD5 函数。尽管作者通过细胞分布式计算成功展示了部分简化版 MD5 哈希算法的核心原理,但由于通信速度缓慢和复杂性限制,他们并未在细胞内完整实现这个简化版本的哈希算法。失败的原因之一是由于可用的正交细胞间通信信号的数量造成的。目前实验中仅使用了4种通信信号(OC6、OHC14、pC-HSL、DAPG),这限制了能够有效传递信息的细胞数量和线路的复杂性。若想在接触不受限制的液体环境的中实现简化版的哈希算法,预估需要超过几十种甚至上百种正交的通信信号。综合来看,超级简化的哈希算法在细胞内实现了概念验证。但这仍然为了一个玩具类项目,用来综合展现现有合成生物学的设计能力。同时,我们离用微生物挖虚拟货币还距离很远,而且我真的不需要用微生物来做这件事。本文所代表的复杂线路设计在合成生物学早期时无法想象的。▲ 我们当然希望看到更加复杂的线路设计,这体现着合成生物学日益增加的能力。1.1M 已经接近一个大肠杆菌的 1/3。相比之前的合成生物学研究,本文的设计代表了一个显著的进展。例如,文章提到,2020 年构建的 LCD 显示屏生物计算器基因线路,分布在 7 个大肠杆菌菌株中,总共使用了 0.1 Mb 的 DNA。2011 年用 4 个菌株构建的 XOR 逻辑线路总规模仅为 0.03 Mb,而 2009 年设计的边缘检测线路(edge detector)也只有 0.018 Mb 的规模。这些早期的设计相比本文的设计相比,逻辑门数量和基因元件的复杂度都更低。作者在文章中称 Sc5 已经是迄今为止最大的合成线路了(整个细胞包含有 43kb 的重组 DNA,其中 31kb 用于合成 Sc5 所需要的子线路)。逻辑门数量和基因元件复杂度显著增加。Sc5 包含了 8 个逻辑门,这些逻辑门通过基因调控的方式在细胞中实现。此外,该子线路还有 3 个通信输出,意味着它能够与其他子电进行多层次通信。(笔者认为这里的「大」更多的是指人为从头设计的 DNA 的复杂度,并非只是指长度)1. DNA 合成与模块化组装能力的提升:如模块化的 DNA 组装技术以及一系列大片段 DNA 的编辑和承载工具。2. 表征明确的优质遗传元件:具有明确表征数据的高性能、正交化、可调谐的遗传元件让我们可以在设计更加得心应手。3. 自动化设计工具的引入:如 Cello 等自动化设计工具一定程度上摆脱了手动设计的繁琐过程,提升了效率。4. 测序方法的进步:Nanopore 对于长片段测序的准确度提升。分布计算的核心理念是将一个复杂的计算任务分解成多个小任务,每个小任务由一个单独的细胞负责执行。通过这种方式,可以实现并行计算,即多个细胞同时进行计算,从而加快整个系统的计算效率。多细胞系统允许在每个细胞中执行独立的计算任务,并通过细胞之间的通信实现结果的组合和整合。多细胞系统的优势主要体现在其能够通过并行处理、复杂性管理、容错机制、信号处理以及模块化设计来应对复杂计算任务。与单细胞系统相比,多细胞系统能够更加高效地分配任务,处理大规模的基因线路,并且能够更好地适应生物环境中的不确定性。多细胞系统虽然有巨大潜力,但是本文也暴露了现阶段多细胞系统设计的诸多问题。比如基于现有通讯机制虽然一定程度上有效,但它的速度非常慢。作者估计,若依赖这种机制完整地计算出"MIT"的哈希值,可能需要 200 天才能完成 64 次迭代(生物信号从一个细胞扩散到另一个细胞,接着另一个细胞接收到信号并处理,再生成新的输出,整个过程需要大量时间。化学信号的产生、扩散和接收都要经历几个小时)。当然这个工作并不是上限。考虑到大脑,我们还有更多的提升空间。人脑在 10^11 细胞之间有 10^15 连接,这些细胞以 1 毫秒的时间尺度传递信息,这代表了通过生物学实现的生物计算的最高水准。本文的细胞是液体环境中培养的,这会加剧不同节点的之间通讯的干扰。大脑中的神经元处于一种固定介质中,这种介质提供了高精度的空间组织、稳定的信号传递、局部化的化学环境调控等诸多优势。我们可以也将不同的细胞与能够结构支持和环境稳定性的固定介质(如水凝胶)等结合起来,并引入基于光、电等信号驱动的局部或者全局通讯模式,从而提升多细胞系统相互通讯的稳定性和速度。长期来看,我们仍需要在进一步提升基因线路的复杂性和规模,开发更多通信系统来增加多细胞系统的通信能力,并尝试在复杂系统中引入更多的反馈机制来增加系统的稳定性。不要为了实现为现代计算机设计的算法而失去自己的优势。我们应该发挥细胞本身的优势。所以就不要想来挖比特币了~▲ 现代计算机与生物系统对于信息的处理过程存在着巨大的差异。来源:「Pathways to cellular supremacy in biocomputing」生物系统在非结构化的、异步的、模拟的计算模式下表现出其独特的优势和效率。生物计算系统,如细胞、组织或整个生物体,是高度动态和分布式的,不一定需要固定的网络结构。每个单元或细胞独立行动,不一定需要与其他单元保持严格同步。而且生物处理的信号是连续的(模拟信号),例如基因表达水平或化学信号浓度。这种特性使得生物系统能够在复杂、多变的环境中进行适应性强的运算。Amorphous Computing 非结构化计算在计算领域,amorphous
computing 指的是一种没有固定拓扑结构的计算系统,在这种系统中,计算节点可以是分布式的、相互通信的单元,它们可以动态形成不同的拓扑结构。生物系统的计算往往是非结构化的,与严格组织成电路或网络的传统计算系统不同。细胞和分子可以以高度动态、分布式的方式进行交互,没有严格的空间或时间同步。例如,单个细胞在不同时间接收和处理信号,其响应可能依赖于复杂的环境因素,而不是固定的指令集。这使得生物系统能够通过自然的选择、随机性和适应性来处理信息。Asynchronous Computing 异步计算传统的数字计算通常需要所有操作在一个固定的时间步调下进行(即同步),而生物计算则更倾向于异步进行。在生物系统中,细胞之间的信号传递、基因表达、蛋白质合成等过程都可以在不同的时间点发生,而不需要等待其他细胞完成某一操作。这种异步特性使得生物系统更具灵活性,可以并行处理多个任务,而不是像传统计算机那样必须按照严格的顺序操作。与传统的数字计算(二进制,0和1)不同,模拟计算中的信息是连续的,具有无穷多的可能状态。生物系统大多是模拟计算的典型例子。比如,细胞中的基因调控是通过浓度梯度、信号分子的数量或细胞膜电位的变化来控制的。这些生物信号是连续的,并不像数字计算那样只存在两个离散的状态(开或关,0或1)。生物计算通过处理这些复杂的、连续变化的信号来完成其功能。