
Geth 源码系列:存储设计及实现
在区块链的世界中,状态存储是每一个节点的「记忆核心」 — — 它记录着亿万账户的余额、合约的代码、交易的痕迹,甚至决定着一笔交易能否被正确执行。作为以太坊生态的基石,Geth 客户端如何以精密的架构设计承载海量状态数据?其存储系统如何在性能、安全与可扩展性之间找到平衡? 这篇文章是 Geth 源码系列的第二篇,通过这个系列,我们将搭建一个研究 Geth 实现的框架,开发者可以根据这个框架深入自己感兴趣的部分研究。这个系列共有六篇文章,在这第二篇文章中,将系统讲解 Geth 的存储结构设计与相关源码,介绍其数据库层次划分并详细分析各个层次中相应模块的核心功能。 以太坊作为全球最大的区块链平台,其主流客户端 Geth(Go-Ethereum)承担了绝大部分节点运行与状态管理的职责。Geth 的状态存储系统,是理解以太坊运行机制、优化节点性能、以及推动未来客户端创新的基础。 本文作者: po Web3buidler.tech Core Contributor, EthStorage Engineer Geth 底层数据库总览 自 Geth v1.9.0 版本起,Geth 将其数据库分为...

以太坊单独质押实战教程:手把手教你完成部署
内容丨Ray 编辑 & 排版丨Yewlne、环环 以太坊的单独质押(Solo Staking)是保护网络安全和去中心化的黄金标准。通过运行自己的验证者节点,您可以直接参与网络共识,获得完整的质押奖励,并保持对资金的完全控制。本教程将为您提供详细的指导,帮助您在家中部署以太坊单独质押节点,确保安全性和稳定性。前提概要首先,我们需要有这样的一个基本概念:要处理来自执行层的传入验证器存款,您需要运行执行客户端以及共识客户端。这意味着我们至少需要部署两个客户端程序(在本教程中,为三个,共识客户端按照功能进行了拆分)。如果想了解更多执行客户端和共识客户端的差异及功能职责,可以点击阅读: https://ethereum.org/zh/developers/docs/networking-layer/一、选择执行客户端以太坊生态的客户端种类非常丰富,执行客户端和共识客户端都有多种不同语言的实现,如使用 Go 语言实现的 Geth, 使用 Rust 语言实现的 Reth 等。你可以根据自己喜好,选择不同的客户端,整体流程是类似的,只是不同客户端实现涉及的命令不同。在这里,我们不能对所有的客户端...

重磅 | LXDAO 中文名正式从“良心 DAO”改为“蓝翔 DAO”!
撰文 | Bruce 编辑&排版 | Connie 图片 | Ache、Connie、Cikey重磅消息! LXDAO 今日起中文名正式从“良心 DAO”改为“蓝翔 DAO”! 让我们抓紧看看到底怎么个事儿——Web3 技术哪家强?中国就找 LXDAO!LXDAO 创办于 2022 年 6 月,至今已有快 2 年的历史,是由几位喜欢开源的开发者联合发起的一所现代化、综合性的产学研一体的 DAO 组织,主要从事 Web3 公共物品相关的教育、研发和维护。 LXDAO 以创办历史不太悠久,但实训项目齐全、师资力量雄厚、培养模式先进而闻名全国。LXDAO 超过一半的同学为程序员,是现代化 Web3 技师、高级技工的摇篮。学院概况LXDAO 现有 0 个校区(正在筹备在清迈四海搭建第一个线下校区)。我们主要在 Internet 远程学习和工作交流。面向全球 13810 个城市招生,不限语言、地区和种族,能同时容纳上百万人。 LXDAO 拥有丰富的实训项目,涵盖了 Web3 的多种主题,包括但不限于教育、公共物品、全链游戏、开源、开发者关系维护、商务合作等。 我们也跟许多国际单位联合开展一...
LXDAO 是一个专注研发的 DAO 组织,致力于构建支持有价值的公共物品和开源项目的无限循环。 LXDAO is an R&D-focused DAO dedicated to building an Infinite Cycle that supports valuable

Geth 源码系列:存储设计及实现
在区块链的世界中,状态存储是每一个节点的「记忆核心」 — — 它记录着亿万账户的余额、合约的代码、交易的痕迹,甚至决定着一笔交易能否被正确执行。作为以太坊生态的基石,Geth 客户端如何以精密的架构设计承载海量状态数据?其存储系统如何在性能、安全与可扩展性之间找到平衡? 这篇文章是 Geth 源码系列的第二篇,通过这个系列,我们将搭建一个研究 Geth 实现的框架,开发者可以根据这个框架深入自己感兴趣的部分研究。这个系列共有六篇文章,在这第二篇文章中,将系统讲解 Geth 的存储结构设计与相关源码,介绍其数据库层次划分并详细分析各个层次中相应模块的核心功能。 以太坊作为全球最大的区块链平台,其主流客户端 Geth(Go-Ethereum)承担了绝大部分节点运行与状态管理的职责。Geth 的状态存储系统,是理解以太坊运行机制、优化节点性能、以及推动未来客户端创新的基础。 本文作者: po Web3buidler.tech Core Contributor, EthStorage Engineer Geth 底层数据库总览 自 Geth v1.9.0 版本起,Geth 将其数据库分为...

以太坊单独质押实战教程:手把手教你完成部署
内容丨Ray 编辑 & 排版丨Yewlne、环环 以太坊的单独质押(Solo Staking)是保护网络安全和去中心化的黄金标准。通过运行自己的验证者节点,您可以直接参与网络共识,获得完整的质押奖励,并保持对资金的完全控制。本教程将为您提供详细的指导,帮助您在家中部署以太坊单独质押节点,确保安全性和稳定性。前提概要首先,我们需要有这样的一个基本概念:要处理来自执行层的传入验证器存款,您需要运行执行客户端以及共识客户端。这意味着我们至少需要部署两个客户端程序(在本教程中,为三个,共识客户端按照功能进行了拆分)。如果想了解更多执行客户端和共识客户端的差异及功能职责,可以点击阅读: https://ethereum.org/zh/developers/docs/networking-layer/一、选择执行客户端以太坊生态的客户端种类非常丰富,执行客户端和共识客户端都有多种不同语言的实现,如使用 Go 语言实现的 Geth, 使用 Rust 语言实现的 Reth 等。你可以根据自己喜好,选择不同的客户端,整体流程是类似的,只是不同客户端实现涉及的命令不同。在这里,我们不能对所有的客户端...

重磅 | LXDAO 中文名正式从“良心 DAO”改为“蓝翔 DAO”!
撰文 | Bruce 编辑&排版 | Connie 图片 | Ache、Connie、Cikey重磅消息! LXDAO 今日起中文名正式从“良心 DAO”改为“蓝翔 DAO”! 让我们抓紧看看到底怎么个事儿——Web3 技术哪家强?中国就找 LXDAO!LXDAO 创办于 2022 年 6 月,至今已有快 2 年的历史,是由几位喜欢开源的开发者联合发起的一所现代化、综合性的产学研一体的 DAO 组织,主要从事 Web3 公共物品相关的教育、研发和维护。 LXDAO 以创办历史不太悠久,但实训项目齐全、师资力量雄厚、培养模式先进而闻名全国。LXDAO 超过一半的同学为程序员,是现代化 Web3 技师、高级技工的摇篮。学院概况LXDAO 现有 0 个校区(正在筹备在清迈四海搭建第一个线下校区)。我们主要在 Internet 远程学习和工作交流。面向全球 13810 个城市招生,不限语言、地区和种族,能同时容纳上百万人。 LXDAO 拥有丰富的实训项目,涵盖了 Web3 的多种主题,包括但不限于教育、公共物品、全链游戏、开源、开发者关系维护、商务合作等。 我们也跟许多国际单位联合开展一...
LXDAO 是一个专注研发的 DAO 组织,致力于构建支持有价值的公共物品和开源项目的无限循环。 LXDAO is an R&D-focused DAO dedicated to building an Infinite Cycle that supports valuable

Subscribe to LXDAO

Subscribe to LXDAO
Share Dialog
Share Dialog
<100 subscribers
<100 subscribers



在以太坊生态系统中,公共物品的资金分配一直是一个棘手的问题。如何在资源有限的情况下高效、公平地支持关键开源项目,是一个长期存在的挑战。Deep Funding 应运而生,结合人工智能和去中心化的评审机制,创新性地解决了这一难题。通过动态依赖关系图和 AI 权重模型,Deep Funding 为以太坊生态提供了一种全新的资源分配方式,既提升了透明度,又激励了贡献者。这不仅是一次技术上的探索,更是对未来分配机制的一次大胆尝试。
Deep Funding 是一个旨在优化公共物品资金分配的创新项目,利用人工智能(AI)和去中心化评审机制,解决以太坊生态系统中资源分配效率低下的问题。由以太坊联合创始人 Vitalik Buterin 提供 25 万美元的初始资金支持,目标是构建一个公平、透明、高效的资金分配系统,支持以太坊及其依赖的关键开源项目,实现长期可持续发展。
在一个有机网络的生长过程中,资源分配始终是关键所在。合理的资源分配可以促进生态的稳步增长,而错误的分配则可能带来不必要的资源浪费甚至阻碍发展。这种分配需要具备前瞻性,但在以太坊的公共物品资金分配中,长期以来存在两个主要问题:
人类在面对复杂和抽象问题时容易失去理性:当需要对遥远且难以量化的未来价值进行评估时,人们往往倾向于做出不理性的判断。这种局限性可以通过将复杂任务拆解为更小、更具体的决策来解决,从而避免在宏观决策中出现偏差。
以选举为基础的资助机制存在固有缺陷:这种机制容易使资金更多地流向显而易见的表层项目,而忽视了深层的复杂依赖关系。一些对以太坊生态至关重要但隐藏较深的公共物品,可能因此得不到足够的资金支持。
上述问题表明,仅依赖传统的资助方式不足以应对公共物品分配的复杂性和深远影响。这正是 Deep Funding 提出的创新解决方案的起点。通过引入深度依赖图和人工智能技术,它为以太坊生态注入了新的分配逻辑,使资源分配更加科学和有效。

Deep Funding 的核心目标是解决当前公共物品资金分配中的两大问题,提供一个更有效、更公平的解决方案。Vitalik 在 Green Pill 播客中提到,“Deep”包含两层含义:
Deep Graph 深度图: 这是一个全面描绘以太坊生态系统中所有代码库、协议和功能模块之间深层次依赖关系的网络。这些关系并非简单的连接,而是复杂而动态的交互。公共物品的价值往往难以直接衡量,因为它们可能对网络的远期发展产生深远影响,而这些影响通常是抽象的、难以量化的。Deep Graph 的任务是通过构建具体的依赖关系网络,让这些价值显性化,并引导资金分配向“实际产生价值”倾斜。
Deep Learning 深度学习: 在 Deep Graph 的基础上,利用深度学习技术为每一条依赖关系赋予权重,衡量其“有用程度”(usefulness)。在这个过程中,去中心化的人类评审团如同方向盘,而 AI 则是强大的发动机。AI 的角色是处理复杂的数据并发现隐藏的依赖关系,从而释放人类评审的精力。人类可以专注于关键的价值观和伦理判断、长远影响的权衡以及底层规则的调整,而 AI 则承担起繁重的数据分析工作,使整个系统更加高效。
通过这种双重机制,Deep Funding 不仅解决了资金分配的不公平性,还显著提升了决策的科学性和可持续性,为以太坊生态系统的健康发展注入了新的动力。

在公共物品的资金分配中,通常存在两种截然不同的偏好倾向:
类似公立机构的保障模式: 这一模式注重为长期贡献者提供稳定的支持,有助于确保项目的持续性。然而,需要警惕“福利化”倾向,因为它可能导致创新动力的减弱,尤其在需要突破性思维的情况下。这种模式的激励往往类似于“基础保障”,对于一些关键的公共物品项目,其激励水平可能无法匹配其实际贡献。
类似私立机构的投资模式: 这一模式追求高潜在回报,更倾向于激励解决复杂问题或开发重要创新项目。虽然它在短期内可能无法有效支持长期贡献者,但更适合鼓励具有较高风险和高回报的探索性项目。Vitalik 认为,目前的公共物品资金分配需要更多引入类似“重赏之下出勇夫”的机制,以满足网络对于多样化公共物品的需求。
Deep Funding 的设计旨在结合上述两种偏好的优点,通过动态调整的 Deep Graph 和 AI 权重模型,提供一种更平衡的资金分配方式。
对保障模式的优化:Deep Graph 实时反映公共物品的依赖关系和实际贡献,为“基础保障”提供科学依据,确保资金能够分配到关键的长期支持项目上。
对投资模式的提升:通过 AI 对深层依赖关系的权重分析,将公共物品的潜在突破性价值可视化,为愿意承担风险的资助者提供明确的投资方向。
这种机制不仅为公共物品资金分配注入了灵活性和透明度,还激励了更大胆、更具前瞻性的创新。
虽然 Deep Funding 的机制最初设计用于以太坊生态的公共物品分配,但其潜力远不止于此。例如,在科学研究(Desci)和艺术领域,也存在类似的资金分配挑战。然而,将软件工程之外的数据结构化并合理组织是一项巨大的挑战。如何在不同领域实现机制的适配与优化,将是未来探索的关键。
以目前正在进行的 DeepFunding Mini-Contest
https://github.com/evalscience/deepfunding-mini?tab=readme-ov-file
官方给出的代码为例:
DeepFunding Mini 数据集来源于 Ethereum 依赖图谱
https://github.com/deepfunding/dependency-graph
收集了开源项目的多维度特征和历史融资数据。数据集在 HuggingFace 平台开放获取
https://huggingface.co/datasets/evalscience/deepfunding-mini
包含:
训练集:2,387条项目比较数据,涉及245个独特仓库
测试集:1,023条项目比较数据
数据集采用成对比较的设计方式,每条记录包含两个项目(A 和 B)的详细信息。主要字段可分为以下几类:
a. 基础信息
id:记录唯一标识符。
project_a/b:GitHub 仓库 URL。
weight_a/b:资金分配权重(标签值)。
b. 项目特征
maintainer_a/b:项目维护者。
language_a/b:主要编程语言。
created_at_a/b:创建时间。
updated_at_a/b:最后更新时间。
star_count_a/b:获得的 Star 数量。
fork_count_a/b:Fork 数量。
is_fork_a/b:是否为 Fork 项目。
c. 依赖关系特征
num_packages_a/b:发布包数量。
num_dependents_in_oso_a/b:依赖数量。
list_of_dependents_in_oso_a/b:依赖项目列表。
list_of_packages_a/b:发布包列表。
oso_dependency_rank_a/b:依赖关系排名。
d. 资金相关信息
list_of_funders_a/b:资助方列表。
total_funding_usd_a/b:总融资金额(美元)。
total_funding_usd_since_2023_a/b:2023 年以来的融资金额。

官方例子中,直接使用 polars 库加载位于 hugging face 的数据集:
import polars as plsplits = {'train': 'train.parquet', 'test': 'test.parquet'}df_train_data = pl.read_parquet('hf://datasets/evalscience/deepfunding-mini/' + splits['train'])df_train_data
运行结果:

均方误差(Mean Squared Error, MSE)是 DeepFunding 项目采用的核心评估指标。它通过计算预测值与真实值之间差异的平方平均值,来衡量模型预测的准确性。
数学定义:MSE = (1/n) * Σ(y_true - y_pred)² 其中:
n:样本数量
y_true:真实的资金分配权重
y_pred:模型预测的资金分配权重
基准模型的 MSE 表现
下列是官方根据不同的指标计算项目金额分配结果的计算例子:
df_train_data = df_train_data.with_columns( (pl.lit(0.5).alias("random")), # A random baseline where all entries are 0.5 (pl.col("star_count_a") / (pl.col("star_count_a") + pl.col("star_count_b"))).alias("stars_ratio"), # The github star ratio (pl.col("fork_count_a") / (pl.col("fork_count_a") + pl.col("fork_count_b"))).alias("forks_ratio"), # The github fork ratio (pl.col("total_funding_usd_a") / (pl.col("total_funding_usd_a") + pl.col("total_funding_usd_b"))).alias("funding_ratio"), # The total funding ratio )
from sklearn.metrics import mean_squared_error

资金比率基准:0.083 (最佳)
随机基准:0.125
Forks 比率:0.187
Stars 比率:0.195 (最差)
通过上述对比可以发现,社交指标(如 Star 数)的误差显著高于资金相关特征。这表明依赖于社交指标的模型在资金分配上的效果较弱,而基于资金相关性的模型具有更高的准确性。
当前,Deep Funding 正在进行首次竞赛,重点关注 GitHub 仓库和开源项目的资源分配。参赛者需要通过构建一个加权依赖图,计算每个项目应获得的资助额度,推动开源生态的公平和高效发展。
本次挑战赛总资助金额为 25 万美元,分配如下:
17 万美元:根据依赖图的权重分配给各个项目。
4 万美元:奖励在评审中表现最佳的模型。
4 万美元:奖励为竞赛提交创新模型的参赛者。
由 LXDAO 和 ETHPanda 联合发起的 DeepFunding 中文力量,致力于汇聚社区资源,共同探索前沿技术的应用。如果您:
对训练 AI 模型或数据科学具有丰富经验或浓厚兴趣;
热衷于解决公共物品捐赠和分配中的权重计算难题;
渴望探索基于早期实验成果的新协议;
欢迎加入我们!我们将组建参赛团队,共同挑战最优模型设计。在这里,您将获得:
深度参与以太坊生态系统核心建设的机会;
竞争总计 80,000 美元的奖金池;
与全球顶尖开发者和研究者一起推动开源项目发展的宝贵体验。
别再犹豫,立即加入 DeepFunding 中文力量 by LXDAO x ETHPanda,一起探讨“价值”与“依赖”的深层逻辑,用创新的 AI 模型描绘未来资源分配的蓝图。
DeepFunding 中文力量群组链接:
Let’s dig deep, build deep, and we’ll receive funding from deep, standing stronger and more resilient.
https://x.com/vitalikbuterin/status/1867886974058520820
https://github.com/deepfunding/dependency-graph?tab=readme-ov-file
https://github.com/evalscience/deepfunding-mini?tab=readme-ov-file

在以太坊生态系统中,公共物品的资金分配一直是一个棘手的问题。如何在资源有限的情况下高效、公平地支持关键开源项目,是一个长期存在的挑战。Deep Funding 应运而生,结合人工智能和去中心化的评审机制,创新性地解决了这一难题。通过动态依赖关系图和 AI 权重模型,Deep Funding 为以太坊生态提供了一种全新的资源分配方式,既提升了透明度,又激励了贡献者。这不仅是一次技术上的探索,更是对未来分配机制的一次大胆尝试。
Deep Funding 是一个旨在优化公共物品资金分配的创新项目,利用人工智能(AI)和去中心化评审机制,解决以太坊生态系统中资源分配效率低下的问题。由以太坊联合创始人 Vitalik Buterin 提供 25 万美元的初始资金支持,目标是构建一个公平、透明、高效的资金分配系统,支持以太坊及其依赖的关键开源项目,实现长期可持续发展。
在一个有机网络的生长过程中,资源分配始终是关键所在。合理的资源分配可以促进生态的稳步增长,而错误的分配则可能带来不必要的资源浪费甚至阻碍发展。这种分配需要具备前瞻性,但在以太坊的公共物品资金分配中,长期以来存在两个主要问题:
人类在面对复杂和抽象问题时容易失去理性:当需要对遥远且难以量化的未来价值进行评估时,人们往往倾向于做出不理性的判断。这种局限性可以通过将复杂任务拆解为更小、更具体的决策来解决,从而避免在宏观决策中出现偏差。
以选举为基础的资助机制存在固有缺陷:这种机制容易使资金更多地流向显而易见的表层项目,而忽视了深层的复杂依赖关系。一些对以太坊生态至关重要但隐藏较深的公共物品,可能因此得不到足够的资金支持。
上述问题表明,仅依赖传统的资助方式不足以应对公共物品分配的复杂性和深远影响。这正是 Deep Funding 提出的创新解决方案的起点。通过引入深度依赖图和人工智能技术,它为以太坊生态注入了新的分配逻辑,使资源分配更加科学和有效。

Deep Funding 的核心目标是解决当前公共物品资金分配中的两大问题,提供一个更有效、更公平的解决方案。Vitalik 在 Green Pill 播客中提到,“Deep”包含两层含义:
Deep Graph 深度图: 这是一个全面描绘以太坊生态系统中所有代码库、协议和功能模块之间深层次依赖关系的网络。这些关系并非简单的连接,而是复杂而动态的交互。公共物品的价值往往难以直接衡量,因为它们可能对网络的远期发展产生深远影响,而这些影响通常是抽象的、难以量化的。Deep Graph 的任务是通过构建具体的依赖关系网络,让这些价值显性化,并引导资金分配向“实际产生价值”倾斜。
Deep Learning 深度学习: 在 Deep Graph 的基础上,利用深度学习技术为每一条依赖关系赋予权重,衡量其“有用程度”(usefulness)。在这个过程中,去中心化的人类评审团如同方向盘,而 AI 则是强大的发动机。AI 的角色是处理复杂的数据并发现隐藏的依赖关系,从而释放人类评审的精力。人类可以专注于关键的价值观和伦理判断、长远影响的权衡以及底层规则的调整,而 AI 则承担起繁重的数据分析工作,使整个系统更加高效。
通过这种双重机制,Deep Funding 不仅解决了资金分配的不公平性,还显著提升了决策的科学性和可持续性,为以太坊生态系统的健康发展注入了新的动力。

在公共物品的资金分配中,通常存在两种截然不同的偏好倾向:
类似公立机构的保障模式: 这一模式注重为长期贡献者提供稳定的支持,有助于确保项目的持续性。然而,需要警惕“福利化”倾向,因为它可能导致创新动力的减弱,尤其在需要突破性思维的情况下。这种模式的激励往往类似于“基础保障”,对于一些关键的公共物品项目,其激励水平可能无法匹配其实际贡献。
类似私立机构的投资模式: 这一模式追求高潜在回报,更倾向于激励解决复杂问题或开发重要创新项目。虽然它在短期内可能无法有效支持长期贡献者,但更适合鼓励具有较高风险和高回报的探索性项目。Vitalik 认为,目前的公共物品资金分配需要更多引入类似“重赏之下出勇夫”的机制,以满足网络对于多样化公共物品的需求。
Deep Funding 的设计旨在结合上述两种偏好的优点,通过动态调整的 Deep Graph 和 AI 权重模型,提供一种更平衡的资金分配方式。
对保障模式的优化:Deep Graph 实时反映公共物品的依赖关系和实际贡献,为“基础保障”提供科学依据,确保资金能够分配到关键的长期支持项目上。
对投资模式的提升:通过 AI 对深层依赖关系的权重分析,将公共物品的潜在突破性价值可视化,为愿意承担风险的资助者提供明确的投资方向。
这种机制不仅为公共物品资金分配注入了灵活性和透明度,还激励了更大胆、更具前瞻性的创新。
虽然 Deep Funding 的机制最初设计用于以太坊生态的公共物品分配,但其潜力远不止于此。例如,在科学研究(Desci)和艺术领域,也存在类似的资金分配挑战。然而,将软件工程之外的数据结构化并合理组织是一项巨大的挑战。如何在不同领域实现机制的适配与优化,将是未来探索的关键。
以目前正在进行的 DeepFunding Mini-Contest
https://github.com/evalscience/deepfunding-mini?tab=readme-ov-file
官方给出的代码为例:
DeepFunding Mini 数据集来源于 Ethereum 依赖图谱
https://github.com/deepfunding/dependency-graph
收集了开源项目的多维度特征和历史融资数据。数据集在 HuggingFace 平台开放获取
https://huggingface.co/datasets/evalscience/deepfunding-mini
包含:
训练集:2,387条项目比较数据,涉及245个独特仓库
测试集:1,023条项目比较数据
数据集采用成对比较的设计方式,每条记录包含两个项目(A 和 B)的详细信息。主要字段可分为以下几类:
a. 基础信息
id:记录唯一标识符。
project_a/b:GitHub 仓库 URL。
weight_a/b:资金分配权重(标签值)。
b. 项目特征
maintainer_a/b:项目维护者。
language_a/b:主要编程语言。
created_at_a/b:创建时间。
updated_at_a/b:最后更新时间。
star_count_a/b:获得的 Star 数量。
fork_count_a/b:Fork 数量。
is_fork_a/b:是否为 Fork 项目。
c. 依赖关系特征
num_packages_a/b:发布包数量。
num_dependents_in_oso_a/b:依赖数量。
list_of_dependents_in_oso_a/b:依赖项目列表。
list_of_packages_a/b:发布包列表。
oso_dependency_rank_a/b:依赖关系排名。
d. 资金相关信息
list_of_funders_a/b:资助方列表。
total_funding_usd_a/b:总融资金额(美元)。
total_funding_usd_since_2023_a/b:2023 年以来的融资金额。

官方例子中,直接使用 polars 库加载位于 hugging face 的数据集:
import polars as plsplits = {'train': 'train.parquet', 'test': 'test.parquet'}df_train_data = pl.read_parquet('hf://datasets/evalscience/deepfunding-mini/' + splits['train'])df_train_data
运行结果:

均方误差(Mean Squared Error, MSE)是 DeepFunding 项目采用的核心评估指标。它通过计算预测值与真实值之间差异的平方平均值,来衡量模型预测的准确性。
数学定义:MSE = (1/n) * Σ(y_true - y_pred)² 其中:
n:样本数量
y_true:真实的资金分配权重
y_pred:模型预测的资金分配权重
基准模型的 MSE 表现
下列是官方根据不同的指标计算项目金额分配结果的计算例子:
df_train_data = df_train_data.with_columns( (pl.lit(0.5).alias("random")), # A random baseline where all entries are 0.5 (pl.col("star_count_a") / (pl.col("star_count_a") + pl.col("star_count_b"))).alias("stars_ratio"), # The github star ratio (pl.col("fork_count_a") / (pl.col("fork_count_a") + pl.col("fork_count_b"))).alias("forks_ratio"), # The github fork ratio (pl.col("total_funding_usd_a") / (pl.col("total_funding_usd_a") + pl.col("total_funding_usd_b"))).alias("funding_ratio"), # The total funding ratio )
from sklearn.metrics import mean_squared_error

资金比率基准:0.083 (最佳)
随机基准:0.125
Forks 比率:0.187
Stars 比率:0.195 (最差)
通过上述对比可以发现,社交指标(如 Star 数)的误差显著高于资金相关特征。这表明依赖于社交指标的模型在资金分配上的效果较弱,而基于资金相关性的模型具有更高的准确性。
当前,Deep Funding 正在进行首次竞赛,重点关注 GitHub 仓库和开源项目的资源分配。参赛者需要通过构建一个加权依赖图,计算每个项目应获得的资助额度,推动开源生态的公平和高效发展。
本次挑战赛总资助金额为 25 万美元,分配如下:
17 万美元:根据依赖图的权重分配给各个项目。
4 万美元:奖励在评审中表现最佳的模型。
4 万美元:奖励为竞赛提交创新模型的参赛者。
由 LXDAO 和 ETHPanda 联合发起的 DeepFunding 中文力量,致力于汇聚社区资源,共同探索前沿技术的应用。如果您:
对训练 AI 模型或数据科学具有丰富经验或浓厚兴趣;
热衷于解决公共物品捐赠和分配中的权重计算难题;
渴望探索基于早期实验成果的新协议;
欢迎加入我们!我们将组建参赛团队,共同挑战最优模型设计。在这里,您将获得:
深度参与以太坊生态系统核心建设的机会;
竞争总计 80,000 美元的奖金池;
与全球顶尖开发者和研究者一起推动开源项目发展的宝贵体验。
别再犹豫,立即加入 DeepFunding 中文力量 by LXDAO x ETHPanda,一起探讨“价值”与“依赖”的深层逻辑,用创新的 AI 模型描绘未来资源分配的蓝图。
DeepFunding 中文力量群组链接:
Let’s dig deep, build deep, and we’ll receive funding from deep, standing stronger and more resilient.
https://x.com/vitalikbuterin/status/1867886974058520820
https://github.com/deepfunding/dependency-graph?tab=readme-ov-file
https://github.com/evalscience/deepfunding-mini?tab=readme-ov-file
print(f"Random MSE: {mean_squared_error(df_train_data['weight_a'], df_train_data['random'])}") print(f"Stars MSE: {mean_squared_error(df_train_data['weight_a'], df_train_data['stars_ratio'])}") print(f"Forks MSE: {mean_squared_error(df_train_data['weight_a'], df_train_data['forks_ratio'])}") print(f"Funding MSE: {mean_squared_error(df_train_data['weight_a'], df_train_data['funding_ratio'])}")
最后计算结果:
print(f"Random MSE: {mean_squared_error(df_train_data['weight_a'], df_train_data['random'])}") print(f"Stars MSE: {mean_squared_error(df_train_data['weight_a'], df_train_data['stars_ratio'])}") print(f"Forks MSE: {mean_squared_error(df_train_data['weight_a'], df_train_data['forks_ratio'])}") print(f"Funding MSE: {mean_squared_error(df_train_data['weight_a'], df_train_data['funding_ratio'])}")
最后计算结果:
No activity yet