# 
Space and Time
 Python 数据作业简介

By [honey](https://paragraph.com/@duoergun) · 2024-01-30

---

![](https://storage.googleapis.com/papyrus_images/9b6bc3bddf2aca8251791e55925449e5ef6c73b28b48cb4b7cb9e3bcd199ab18.png)

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

如果您一直关注 Space and Time，您可能听说过我们为 SQL 构建了第一个也是唯一一个 ZK 证明。[SQL 证明](https://www.spaceandtime.io/sxt-platform/proof-of-sql)是一个非常强大的工具，它允许智能合约以经过加密验证的方式使用 SQL 检索和处理数据，这为区块链技术开辟了大量新用例。但是，虽然 SQL 是一种功能强大且接近图灵完备的语言，但它并不能覆盖 100% 的业务用例。例如，为了创建自定义业务逻辑，您最终将需要部署任意代码。Chainlink 对此构建了一个令人印象深刻的解决方案：[Chainlink Functions](https://chain.link/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](https://app.spaceandtime.ai/?utm_source=sxt+blog&utm_medium=blog&utm_campaign=python&utm_content=announcement)上提供测试版。

### **怎么运行的**

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

Python Data Jobs 加速了将数据从任何链下源获取到空间和时间的过程，而无需编写代码。今年早些时候，Space and Time 发布了[AI SQL](https://www.spaceandtime.io/ai-sql)，这是一项由 OpenAI 驱动的服务，允许用户编写自然语言提示，例如“显示 Sui 上按余额排序交易最多的前 5 个钱包”，然后将其转换为 SQL查询，并返回结果。我们很高兴与大家分享，[Space and Time Studio](https://app.spaceandtime.ai/?utm_source=sxt+blog&utm_medium=blog&utm_campaign=python&utm_content=announcement)中的 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](https://truflation.com/)将数十种不同数据源（商品、债券利率、住房等）的大量实时通胀数据摄取到存储中，然后构建聚合（通胀指数），通过预言机在链上公开。借助 Python 数据作业，可以有效地处理这些大量数据并为聚合做好准备。

**示例用例：**[dClimate](https://www.dclimate.net/)定期 ETL 来自多个天气源的天气数据并存储它。Python Data Jobs 可以通过自动提取和转换天气数据来简化此过程。

#### **DeFi 的复杂计算**

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

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

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

### **开始使用**

您可以开始在[Space and Time Studio](https://app.spaceandtime.ai/?utm_source=sxt+blog&utm_medium=blog&utm_campaign=python&utm_content=announcement)上与 Houston 一起构建 Python 数据作业。为了庆祝我们新产品的测试版发布，我们向所有用户免费提供为期一个月的 Python 数据作业。

[https://www.spaceandtime.io/blog/python-data-jobs](https://www.spaceandtime.io/blog/python-data-jobs)

---

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