Arkstream Capital:为什么布局可验证计算和投资 Space And Time
ArkStream Capital
2024-08-28 16:00
订阅此专栏
收藏此文章


 TL; DR 

1. 可验证性是区块链核心特性之一,通过对网络每一个操作或者交易做独立验证,确保了基本的透明化和安全性


2. 链上可验证性指所有计算和执行都在区块链进行,链下可验证性是将部分数据和计算移至链下


3. 可验证计算层属于链下可验证性服务,为需要高度信任和安全的计算场景提供支持


4. 零知识证明(ZKP)技术在可验证计算层的发展中扮演着至关重要的角色


5. 关系型数据库以关系模型作为基础,关系模型以集合论和一阶逻辑的数学原理为基础,为数据的存储和操作提供了一个严格的形式化框架


6. 关系模型的计算理论是关系代数,它为操作数据提供了一组数学运算,如选择、投影、连接等


7. SxT 的 Proof of SQL 技术,通过增强 SQL 的可验证性,架起了 Web2 与 Web3 之间的桥梁


8. SxT 的核心密码学团队研发并开源了加速 Proof of SQL 的 GPU 加速框架 Blitzar


9. SxT 通过其数据织物架构实现了 HTAP,能够处理实时事务和复杂分析,并对多个主流公链的通用数据进行了 ZKP 友好化的存储,实现对外实时、可解码和支持 Tamperproof 的数据服务


 一、区块链的可验证性和可验证计算层 


区块链的可验证性

可验证性是指网络中每一个操作或交易都可以被独立验证,确保其真实性和合法性。对于区块链技术来说,可验证性是其核心特性之一,确保了基本的透明化和安全性。


在中本聪的比特币白皮书中,他提出了一种全新的点对点电子现金系统,旨在消除对第三方中介机构的依赖。这一系统的核心是交易的可验证性。比特币网络中的每一笔交易都通过工作量证明(Proof-of-Work)的机制进行验证和确认。矿工们通过解决复杂的数学问题来创建新的区块,这些区块中包含了若干交易记录。每一个区块通过哈希函数链接到前一个区块,形成一个不可篡改的区块链。


在这个系统中,交易的可验证性由多个参与节点共同完成。每一个节点都可以验证区块中的交易是否合法,这些验证过程是公开透明的。任何人都可以通过下载比特币的开源客户端来查看和验证区块链中的交易记录。这种透明且可验证的机制确保了比特币交易的可信度和安全性,避免了双花问题。


以太坊通过引入智能合约进一步扩展了区块链的应用范围,实现了更加复杂的交易和应用。智能合约的可验证性体现在其代码和执行结果上。智能合约是在以太坊区块链上运行的执行代码,其代码公开,任何人都可以查看和审计。验证智能合约的执行过程由网络中的每一个节点共同完成。每个节点都独立执行智能合约的代码,并验证其结果的一致性。这种去中心化的验证机制确保了智能合约执行结果的可信性,并消除了单点故障的风险。所有合约执行过程都被记录在区块链上,确保了执行结果的透明性和不可篡改性。


链上和链下的可验证性

当所有交易和智能合约执行都在区块链上进行,并由网络中的节点共同验证时,我们称之为链上可验证性,例如比特币的 P2HK 等交易。然而,在某些情况下,将所有数据和计算都集中在区块链上可能效率低下且成本高昂。为了解决这一问题,业内开发了链下可验证性的解决方案。这些方案包括使用乐观欺诈证明和零知识证明机制的 Rollup 以及设计去中心化预言机网络的预言机等。


链上可验证性依赖于区块链本身的共识机制和节点验证,确保所有交易和计算都是透明且安全的。然而,链下可验证性通过将部分数据和计算移至链下执行,利用独立的验证网络或依赖高度可信的链上验证网络,来提升效率并降低成本。例如,Rollup 技术通过将大量交易排序打包处理后再提交到一层网络,从而减少链上负载,同时继承一层网络的安全性。去中心化预言机网络则通过链外数据源和计算,将结果提交到链上,保证了数据的可靠性和准确性。


链下可验证性突破了单纯链上可验证性的限制,能够应用于更多的场景。它不仅提高了区块链的可扩展性和效率,还降低了交易成本,使得复杂计算和大量数据处理成为可能。无论是在金融、游戏还是社交等领域,链下可验证性都展示出其广泛的应用前景。


可验证计算层

可验证计算层是一种链下可验证性服务,它为广泛的计算任务提供支持。这一层特别适用于需要高度信任和安全性的计算场景,包括但不限于:


1. AI 模型推理:执行人工智能模型的推理过程,确保结果的准确性和可追溯性。

2. 区块链数据索引:提供对区块链数据的快速查询和索引服务,增强数据检索的效率和便捷性。


通过这种方式,可验证计算层扩展了区块链和 AI 的应用范围,允许复杂的计算在链下执行,同时保持结果的可验证性和透明度。


零知识证明(ZKP)技术在可验证计算层的发展中扮演着至关重要的角色。 随着 ZKP 技术的不断进步,可验证计算层得以细分为几个专业领域,以满足不同计算需求和应用场景:


1. ZKP 协处理器网络:这一网络由专门设计的协处理器组成,它们针对零知识证明的计算进行了优化。这些协处理器能够高效地执行和验证那些在传统区块链上难以处理的复杂计算任务,从而扩展了区块链的计算能力。

2. 通用可验证计算层:这是一个更为广泛的计算平台,旨在提供跨平台的可验证计算服务。它不仅服务于区块链行业,还能够与现有的 Web2 实现无缝集成。这种通用性使得可验证计算能够应用于更广泛的领域,包括但不限于金融服务、人工智能等。


通用可验证计算层相较于 ZKP 协处理器网络,具有几个显著的优势:


1. 更广泛的适用性:它不仅限于特定的计算任务,而是能够适应多种不同的计算需求。

2. 促进技术融合:作为 Web2 到 Web3 过渡的桥梁,它有助于现有系统与区块链技术的融合,推动了技术的创新和应用的多样化。

3. 增强互操作性:通过提供与 Web2 环境的兼容性,通用可验证计算层增强了不同系统和平台之间的互操作性。


反之,通用可验证计算层的缺点在于其技术实现的复杂性,需要适配多种计算任务和场景,由此可能导致更高的抽象和兼容性设计需求,并且为了维持广泛适用性,可能引入额外的性能开销,而 ZKP 协处理器网络则因专注于特定任务,在效率上可能更优。


广义的可验证计算层包括多种细分类型,如零知识虚拟机(zkVM)、零知识机器学习(zkML)、零知识协处理器(zkCoprocessor)、预言机,以及一些通用的可验证计算层。在某些应用场景中,这些技术可能存在功能重叠,例如 zkCoprocessor 和通用可验证计算层,但彼此之间基本都可以相互促进,实现协同效应。为了明确各自的功能范围和优势,我们对它们的情况和侧重点进行了简单区分。



 二、我们为什么投资 Space and Time 

在通用可验证计算层这一领域积极探索的优质项目是 Space and Time(后续简称为 SxT)。通过融合先进的零知识证明技术,它自主研发了包括 Proof of SQL 和高性能的 GPU 证明生成器在内的关键技术,并计划基于 zkSync 技术栈推出 Layer2,为 AI 和区块链提供了高性能的可验证计算服务。


在探讨 Proof of SQL 之前,让我们先对关系型数据和 SQL 的基础知识进行简要回顾,这会有助于我们更深入地理解 Proof of SQL 的概念和机制。


关系型数据库和 SQL 的基本介绍

关系型数据库自 20 世纪 70 年代诞生以来,以关系模型作为基础,一直是数据管理的基石。关系模型以集合论和一阶逻辑的数学原理为基础,为数据的存储和操作提供了一个严格的形式化框架。关系型数据库的引入,代表了数据管理从早期的文件系统向结构化和规范化的表格形式进行重大转变,它使得数据组织更加有序,操作更加一致和可靠。我们常说,关系型数据库的表类似于 Excel 中的工作表,是关系模型中的一个实体,单个表能够执行查询和建立索引,而不同表之间能够进行关联操作。



关系模型的计算理论是关系代数,它为操作数据提供了一组数学运算,如选择、投影、连接等。关系代数通过这些运算定义了数据操作的基本单元,能够在不改变数据的情况下对数据进行查询和操作。SQL(Structured Query Language)正是基于关系代数理论的一种高级查询语言,它提供了一种声明式的方式来查询、更新和管理数据。SQL 的设计使得用户能够以接近自然语言的方式编写查询,而底层的数据库管理系统则负责优化和执行这些查询。



借助 SQL,关系型数据库可以执行复杂的数据计算,支持各种查询,包括多表连接、嵌套子查询、聚合操作等。这使得关系型数据库不仅能够高效地处理日常的事务性操作(如插入、更新、删除),还能够执行复杂的数据分析任务,例如商业智能和报表生成。现代的关系型数据库还扩展了 SQL 的功能,以支持窗口函数、递归查询以及在分布式环境中的大规模数据处理能力,进一步提升了其在复杂计算中的应用范围。


关系型数据库和 SQL 的结合使得数据管理和分析变得更加直观、高效。在今天的计算机领域,关系型数据库仍然是许多应用程序的核心组成部分,而 SQL 作为查询和操作数据的主要工具,继续在大规模数据处理和复杂计算中发挥关键作用。


关系型数据库的架构和实现

关系型数据库系统由客户端和服务端构成,这两个部分相互配合,共同保障数据的高效管理和操作。


客户端扮演着用户与数据库之间的桥梁角色,它通过图形用户界面(GUI)或命令行接口(CLI)使用户能够便捷地执行 SQL 查询和命令。客户端的核心职责包括:


1. 提供查询和数据操作的接口,使用户能够检索、添加、更新或删除数据库中的数据。

2. 支持数据分析,允许用户应用聚合函数和窗口函数等高级数据处理技术。

3. 实现数据库管理,包括对数据库对象的维护和用户权限的控制。


服务端则是数据库系统的心脏,它承担着处理客户端请求、执行数据操作和维护数据存储的重任。服务端的关键职责细化为:


1. 查询处理,涉及解析用户的 SQL 查询、制定执行策略,并执行这些查询。

2. 数据存储,确保数据的持久化,管理存储结构如表和索引,以优化读写效率。


服务端的复杂性意味着它通常包含多个组件,例如:


1. 存储引擎,负责数据的物理存储和索引机制,不同存储引擎可能针对特定类型的操作进行优化。

2. 解析器:读取并分析 SQL 语句,将其转换成能够被执行的内部格式

3. 索引器,用于创建和维护索引,加快数据检索速度。

4. 查询优化器:负责解析 SQL 查询并生成高效的执行计划。

5. 执行器:负责根据解析后的查询计划执行 SQL,检索或者修改数据

6. 事务管理器:确保数据库操作的原子性、一致性、隔离性和持久性(ACID)。


PS: 解析器 / 存储引擎 / 优化器 / 执行器也可以合并理解查询执行引擎


通过这种分层和模块化的设计,关系型数据库能够灵活地适应各种数据管理需求,同时保持操作的高效性和数据的完整性。



在实现 SQL 的多种关系型数据库中,有开源、适合快速开发和中小应用的 MySQL,标准兼容、适合复杂查询和数据完整性要求的 PostgreSQL,企业级和提供全面集成工具的 SQL Server 等。


Proof of SQL

即使是最精妙的设计,如果被不慎利用,也可能引发潜在的风险。对于 SQL 而言也是如此,最知名的是 SQL 注入攻击。攻击者通过在正常的 SQL 查询中嵌入恶意代码,便可以操控数据库执行未授权操作,这不仅可能导致敏感数据泄露,还可能引发数据篡改甚至系统被完全控制的风险。传统上,我们采用参数化查询、输入验证和最小权限原则等来防范 SQL 注入攻击。尽管采取了防御措施,但是 SQL 查询和执行的潜在风险依旧存在,数据使用者仍难以对执行过程进行有效验证。


SxT 的 Proof of SQL 技术,通过增强 SQL 的可验证性,架起了 Web2 与 Web3 之间的桥梁,目前,该项技术已被集成到 Google BigQuery,并在 Microsoft Azure Marketplace 完成上架。


通过 Proof of SQL 文档中的时序交互图,我们可以清晰地看到零知识证明(ZKP)在 SQL 执行过程中的交互时机和位置,以及 SxT 引入的额外机制设计,例如数据摄取和承诺(ingestion/commitment)。Proof of SQL 抽象了三个核心角色:数据源、验证者和证明者。在创建数据表之前,Proof of SQL 通过执行数据摄取和承诺步骤,确保数据的原始完整性和防篡改性。在执行具体的 SQL 查询时,证明者的角色不仅负责传统 SQL 的执行查询,还包括生成和提交零知识证明,由此,增强了查询的安全性和可验证性。



针对不同的功能,SxT 设计了一个三层去中心化节点架构,分别是 Prover,Validator(Indexing Node)和 Transaction Serving(Consensus Node)。这一架构中,Prover 的角色与之前讨论的时序交互图保持一致,而数据源和验证者的职责由 Validator(Indexing Node)和 Transaction Serving(Consensus Node)共同执行。


Validator(Indexing Node)是不需要 GPU 支持的轻量级节点,专注于数据索引和生成供 Prover 节点使用的加密指纹。这些节点从 RPC 提供者获取原始区块链数据,解码并将其转换为关系数据模型。它们通过提交索引数据给交易节点,以获得共识批准并实现数据的高效存储。此外,验证者还通过开发源数据提供者在数据摄取前使用的加密签名库,增强了数据的安全性。验证者节点的设计特点在于支持可更新的承诺方案,为数据库中的每一行数据提供准确无误的加密保证。它们的承诺签名是验证区块链中每个事务和事件的关键。


Transaction Serving(Consensus Node)则处理包括拜占庭容错(BFT)共识、数据摄取时的序列化 / 压缩以及提供低延迟的非防篡改查询服务在内的多项网络需求。这些节点在接收验证者节点提供的索引区块链数据承诺时,通过阈值签名达成共识,同时缓冲原始数据以实现存储压缩,并利用共识服务去中心化地验证交易。设计上,Transaction Serving(Consensus Node)采用多版本并发控制(MVCC)技术确保数据一致性,并将数据在内存中以 Apache Arrow 记录批次形式缓冲,随后压缩成 parquet 文件,优化存储效率。此外,交易节点运用 Apache Datafusion 库,提供快速的查询服务,无需零知识证明。同时,它们还提供全面的 REST API,满足对区块链数据的常见请求,如代币转账、余额查询、交易历史和区块元数据等。



ZKP 证明生成和加速框架

在 ZKP 项目中,证明的生成不仅是技术实施的基础,也是实现 ZKP 价值的基石。没有可靠的证明者,ZKP 技术的实际应用和潜在价值就无法实现。确保 ZKP 证明生成的准确性是这项技术广泛应用和持续发展的先决条件。


SxT 的 Prover 生成证明的过程是一个高度集成的四步流程。首先,Prover 解析 SQL 查询文本,创建一个抽象语法树(AST),这是后续步骤的基础。接着,Prover 执行查询并构建生成证明的交互式协议,这个协议依赖于数据库中的数据。在执行查询的同时,Prover 生成必要的中间值,即"见证",这些见证是验证查询执行的关键,但对验证者来说是未知的。Prover 接着计算承诺,这是对见证数据的一种加密形式,用于在不泄露数据的情况下证明其存在。最后,Prover 构建约束,这是证明的一部分,用于向验证者展示查询结果的正确性。整个过程中,ZKP 的 Fiat-Shamir 变换使得证明过程可以是非交互式的,即验证者不需要与 Prover 进行实时通信即可验证证明的有效性。



另外,Prover 作为 ZKP 技术执行的关键,其效率直接关系到可用性。只有当证明生成时间接近实时或加速到用户可接受的范围时,ZKP 技术才能实现其应用价值,并在实际生产环境中被采用。为此,SxT 的核心密码学团队研发并开源了 Blitzar,这是一个旨在加速 Proof of SQL 的 GPU 加速框架。通过 SxT 官网的性能基准测试,我们可以直观地了解其优秀的性能表现。



HTAP 和 Community-Operated Data Warehouse

数据操作需求多种多样,这就催生了两种专注点不同的 SQL 实现:OLTP(Online Transaction Processing)和 OLAP(Online Analytical Processing)。OLTP 是在线事务处理,主要处理数据的写入和更新,而 OLAP,也就是在线分析处理,则专注于数据的计算、查询和读取。拿 PostgreSQL 来说,它就是以数据完整性为重点的 OLTP;而 Snowflake 则是以实时分析见长的 OLAP。


在区块链的世界里,我们既需要 OLTP 也需要 OLAP。为此,SxT 通过其数据织物架构实现了 HTAP,也就是混合事务 / 分析处理。这种架构不仅融合了高性能的 OLTP 和 OLAP 能力,能够处理实时事务和复杂分析,还特别优化了区块链数据的处理,能够应对来自主要区块链的海量事件和交易。另外,作为一个去中心化的多节点系统,SxT 能够轻松扩展至超过 1TB 的数据量,同时提供基于行的 OLTP 内存缓存和基于列的 GPU 加速 OLAP,确保了高吞吐量和实时数据分析。当前,SxT 官方对多个主流公链的通用数据进行了 ZKP 友好化的存储,并且对外提供实时、可解码和支持 Tamperproof 的数据服务。




与此同时,SxT 在其白皮书中提出了去中心化数据仓库的设计,为智能合约提供了一种高效减少计算和存储负担的方式,从而加快了合约执行速度并降低了链上交易费用。这一方案和 Web3 的去中心化理念相符,通过社区拥有和运营的节点实现数据的去中心化控制,使用户能够直接管理和访问数据,同时根据需要选择数据透明或利用零知识证明来保护隐私。随着网络中更多链和参与者的加入,SxT 的网络效应和可扩展性得到了显著提升,公共数据集变得更加丰富。这种设计不仅让数据消费者能够验证信息的准确性,而且确保了每个人都能参与到数据的收集、处理和服务过程中,推动了数据共享和使用的民主化。


AI 和 RAG

大型语言模型(LLM)会受到上下文窗口大小、泛化能力、外部知识获取限制、以及生成内容的重复性和可预测性等训练上的限制。为了克服这些限制,检索增强生成(RAG)技术利用向量搜索数据库,将数据以向量形式存储和管理。通过计算查询向量与数据库中向量的距离,RAG 能够检索与用户输入语义最接近的数据点,从而为 LLM 提供扩展上下文窗口、增强回答的特定性和准确性。尽管 RAG 提升了 LLM 的功能,但它也面临挑战,如处理延迟和对检索信息质量的高依赖性。RAG 增强的 LLM 的智能程度在很大程度上取决于向量搜索数据库检索到的信息的相关性和质量。可以预见未来,下一代的大型语言模型(LLM)将融合向量搜索的检索增强生成(RAG)技术、传统训练方法以及结构化数据处理。目前,SxT 已经推出了 Proof of SQL 和专为 RAG 设计的 Proof of Vector Search 技术。这些技术为 LLM 提供了一种新的方法,使其能够集成最新的上下文信息、实时访问广泛的数据源,并且整合结构化数据进行深入分析,所有这些都以一种可追溯和可验证的方式实现。


应用场景

由于 SxT 的 SQL 兼容性和可验证性,使得它在 Web2 和 Web3 的应用场景都独具优势,这为众多项目提供了巨大的吸引力。其白皮书详细的罗列了多个应用场景,包括构建灵活的 ZK-Rollup/L2 解决方案,实现数据驱动的 dApp 开发,提供安全桥接和多链数据后端,支持去中心化借贷和衍生品市场,增强游戏和社交应用的奖励系统,确保交易安全和数字资产的托管,以及实现实物资产代币化和动态 NFTs。此外,它还能为结算系统、第三方审计、流动性池管理和 CeFi 平台提供透明度和安全性。


 三、结语 

可验证计算领域的故事尚在萌芽,尽管已有多个项目在此领域深耕多年。近半年来,这一概念逐渐受到关注,例如与 Solana 基金会紧密合作的研究机构推出的 Bonsol 项目,以及最近从芯片层面着手实现可验证性的 Fabric 公司,都显示出这个领域的活跃态势。在这场技术革新中,SxT 公司凭借多年的研发,不仅在 Proof of SQL 技术领域取得了连续进展,还紧跟 AI 的发展趋势,在 RAG 等关键数据技术方面提出了创新方案。在未来,我们有理由相信 SxT 将在多个领域实现广泛应用,推动技术进步和行业发展!


 备注 

1. Integrity 和 Verifiable 的区别是 Integrity 确保数据未被篡改,而 Verifiable 确保数据和操作被独立验证的真实性和合法性 


2. Chainlink 的 function 可以实现部分可验证计算功能,但使用场景相对有限 


3. Verifiable 可以视为高阶特性,如同马斯洛需求层次理论的自我实现需求,位于可用性、安全性等之上 


 Reference 

Space and Time Website:https://www.spaceandtime.io/sxt-platform/indexed-data-and-integrations#indexed-data


Succinct Website:https://succinct.xyz/


Axiom Developer Docs:https://docs.axiom.xyz/protocol/zero-knowledge-proofs/introduction-to-zk


Archetype Verifiable Compute:https://archetype.mirror.xyz/Lov-dI8FOueUt4J4MXPH9gXLyS4VXfHCdEmSg67jzoM


ABCDE zk Coprocessor:https://medium.com/@ABCDE.com/en-abcde-a-deep-dive-into-zk-coprocessor-and-its-future-1d1b3f33f946


RISC Zero Developer Docs:https://dev.risczero.com/api/next/use-cases


Lagrange Website:https://www.lagrange.dev/zk-coprocessor


Brevis SDK Doc:https://docs.brevis.network/


SxT Blitzar:https://github.com/spaceandtimelabs/blitzar-rs


Chainlink Functions:https://functions.chain.link/playground


Google Bigquery:https://cloud.google.com/blog/topics/partners/how-space-and-times-proof-of-sql-integrates-with-bigquery


Microsoft Azure Marketplace:https://azuremarketplace.microsoft.com/en-us/marketplace/apps/spaceandtimelabsinc1674586360724.spaceandtimedb?tab=overview


Anagram Bonsol:https://blog.anagram.xyz/bonsol-verifiable-compute/


SQL Joins:https://www.codeproject.com/Articles/33052/Visual-Representation-of-SQL-Joins


SxT Proof of SQL:https://github.com/spaceandtimelabs/sxt-proof-of-sql


Proof of Vector:https://www.spaceandtime.io/blog/vector-search-to-success


MySQL Architecture:https://dev.mysql.com/doc/refman/8.4/en/pluggable-storage-overview.html


ER Diagram:https://www.researchgate.net/figure/E-R-diagram-of-the-relational-database-target-of-the-transformed-data_fig2_340602559

ArkStream Capital 是由原生加密货币人士创立的加密基金,包含一级市场与流动性策略,投资 web3 原生与前沿的创新,致力于推动 web3 创始人与独角兽成长。ArkStream Capital 团队从 2015 年开始进入加密货币领域,来自 MIT,Stanford, UBS, 埃森哲,腾讯,谷歌等高校与公司。投资组合包含超过 100 家区块链公司,包括 Aave, Sei, Manta, Flow, Fhenix, Merlin, Avail, Space and Time 等。
Website:https://arkstream.capital/
Medium: https://arkstreamcapital.medium.com/
Twitter: https://twitter.com/ark_stream

【免责声明】市场有风险,投资需谨慎。本文不构成投资建议,用户应考虑本文中的任何意见、观点或结论是否符合其特定状况。据此投资,责任自负。

ArkStream Capital
数据请求中
查看更多

推荐专栏

数据请求中
在 App 打开