# 空间和时间 Python 数据作业简介

By [fma087218](https://paragraph.com/@fma087218) · 2024-02-05

---

![](https://storage.googleapis.com/papyrus_images/9a391402f1350b6c259c51c6901e2fc1f26dcb4d03357d016ea94eb7a9e7abb7.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 数据作业。

##### **斯科特·戴克斯特拉**

联合创始人兼首席技术官

Scott Dykstra 是 Space and Time 的联合创始人兼首席技术官，也是包括 Sotero 在内的多家数据库和 Web3 技术初创公司的战略顾问。斯科特拥有围绕复杂的绿地挑战和研究驱动的开发建立和扩展大型工程团队的长期历史。 Scott 专长于企业级分析，此前曾担任 Teradata 云解决方案副总裁，他花了近八年的时间将 Teradata 从本地部署转向下一代基于云的 SaaS。 Scott 是一位富有远见的产品领导者，拥有 Web3、数据仓库、云和衍生品交易领域的产品开发专业知识。 Scott 痴迷于美丽的用户体验/用户界面。作为一名彻头彻尾的企业家，《时空》是斯科特作为研究驱动型初创公司高管的第二次成功尝试。

---

*Originally published on [fma087218](https://paragraph.com/@fma087218/python)*
