#  space and time:Python 数据工作介绍

By [fff](https://paragraph.com/@fff-8) · 2024-02-28

---

**它是什么以及我们为何构建它**
=================

如果您一直关注 Space and Time，您可能听说过我们为 SQL 构建了第一个也是唯一一个 ZK 证明。 SQL 证明是一个非常强大的工具，它允许智能合约以经过加密验证的方式使用 SQL 检索和处理数据，这为区块链技术开辟了大量新用例。但是，虽然 SQL 是一种功能强大且接近图灵完备的语言，但它并不能覆盖 100% 的业务用例。例如，为了创建自定义业务逻辑，您最终将需要部署任意代码。 Chainlink 对此构建了一个令人印象深刻的解决方案：Chainlink Functions。 Functions 允许 Javascript 在 Chainlink 节点上冗余运行，并就输出达成共识。现在，智能合约可以使用 Proof of SQL 访问经过 ZK 验证的分析和数据处理，以及使用 Functions 快速运行的脚本。

但 Web3 中还有另一类用例尚未解决：长时间运行的 Python 作业。与 Space and Time 合作的企业和开发人员正在与数据打交道，而数据工程师使用 Python，因此我们知道我们需要解决两件事。第一：让用户能够利用 Python 从现有数据库中提取数据，进行转换，然后以最简单、最快的方式将其加载到 Space and Time 中，而无需实际编写代码。第二：以加密保证的方式将Python作业连接到智能合约。介绍 Space and Time Python 数据作业，现已在 Space and Time Studio 上提供测试版。

**怎么运行的**
=========

**将数据放入空间和时间中**
---------------

Python Data Jobs 加速了将数据从任何链下源获取到空间和时间的过程，而无需编写代码。今年早些时候，Space and Time 发布了 AI SQL，这是一项由 OpenAI 驱动的服务，允许用户编写自然语言提示，例如“显示 Sui 上按余额排序交易最多的前 5 个钱包”，然后将其转换为 SQL查询，并返回结果。我们很高兴与大家分享，Space and Time Studio 中的 AI 聊天机器人 Houston 现在可用于生成简单的 ETL（提取、转换、加载）脚本，以从 Web2 数据库或 Web3 去中心化存储平台的源中获取数据，准备并将其加载到空间和时间中。 Houston 创建一个连接到 PostgreSQL（或 Snowflake 或 IPFS，例如）的脚本，了解数据库中的内容，对其进行转换，在 SxT 中创建表，并一次从 PostgreSQL 加载一行并加载到 SxT 中。通常，数据库迁移是一项耗时、昂贵且乏味的工作，需要使用 Python。现在，您可以使用自然语言一次性完成此操作。

**从空间和时间中获取数据**
---------------

Python 数据作业还可以用于从空间和时间中获取数据，对其进行处理，并将其发送到智能合约。 Web3 尚未解决这个问题的原因在于 Python 作业通常运行很长时间。例如，如果您有一个脚本来计算 BTC 在今年剩余时间内保持在 4 万美元以上的概率，则该脚本必须从市场捕获数据，对其进行处理，并在 Python 中对其运行蒙特卡罗模拟，这总共可能需要大约 20 秒。如果您将结果连接到智能合约，您需要确保它是防篡改的。基于共识的证明对于快速运行的脚本来说是完美的，但对于运行那么长时间的脚本来说效果不佳。如果您在 30 个节点上冗余地运行计算，节点 1 可能会在 18 秒内完成作业，而节点 5 需要 25 秒完成，节点 15 需要 21 秒完成。需要新的架构。

在整个 Python Data Jobs Beta 版中，Space and Time 正在研究一种使用 ZK 来实现此目的的解决方案。如今，它依赖于乐观安全性（有点像乐观汇总）。当您在 SxT 中运行 Python 数据作业时，输入、输出和代码本身都被哈希到主链上。该脚本仅运行一次，如果结果不符合预期，用户可以请求证明，SxT 以加密方式证明运行的内容。我们没有通过冗余计算和共识来实时证明它，而是只运行一次并散列所有元数据以创建防篡改审计跟踪，以激励节点操作员不篡改执行。我们很高兴分享有关 ZK 解决方案的更多信息，该解决方案将增强 Python 数据作业的实时安全性。

**它能实现什么**
==========

**无缝数据库迁移**
-----------

只需告诉 Houston 您想要执行什么迁移，为其提供对源数据库的访问权限，Houston 就会使用已构建的 SQL 提示框架来检索有关数据库的信息。如果您说“编写一个 Python 脚本将我的 Snowflake 数据加载到 SxT 中”，Houston 将提示您访问并生成一个 Python 脚本来查询 Snowflake、抓取数据、计算出架构，然后将其一次性复制到 SxT LLM 推断。

示例用例：Truflation 将数十种不同数据源（商品、债券利率、住房等）的大量实时通胀数据摄取到存储中，然后构建聚合（通胀指数），通过预言机在链上公开。借助 Python 数据作业，可以有效地处理这些大量数据并为聚合做好准备。

示例用例：dClimate 定期 ETL 来自多个天气源的天气数据并存储它。 Python Data Jobs 可以通过自动提取和转换天气数据来简化此过程。

**DeFi 的复杂计算**
--------------

想象一下，如果您的智能合约可以运行复杂的链下计算，例如根据不同的市场条件以防篡改的方式预测代币的未来表现。 Python Data Jobs 可让您将复杂的财务模型（例如用于预测价格变动或评估风险因素的模型）集成到具有乐观安全性的智能合约中。这使得 DeFi 协议能够利用除 SQL Proof 之外的更复杂的业务逻辑。

示例用例：dYdX 在链下执行永续期权/期货定价计算，因为它们需要历史定价输入数据和复杂的计算，而链上智能合约无法执行这些计算。 Python Data Jobs 允许以防篡改的方式完成这些计算。

示例用例：3Commas 在集中式计算容器环境中执行用于 DeFi/CeFi 决策（掉期、期货、机器人交易等）的链下机器学习模型。 Python Data Jobs 提供了一种 Web3 原生替代方案。

**开始使用**
========

您可以开始与 Houston 在 Space and Time Studio 上构建 Python 数据作业。为了庆祝我们新产品的测试版发布，我们向所有用户免费提供为期一个月的 Python 数据作业。

---

*Originally published on [fff](https://paragraph.com/@fff-8/space-and-time-python)*
