-
Notifications
You must be signed in to change notification settings - Fork 140
Open
Labels
OSCPSecretFlow Open Source Contribution PlanSecretFlow Open Source Contribution PlanchallengeSecretFlow Open Source Contribution PlanSecretFlow Open Source Contribution Plan
Description
此 ISSUE 为 [隐语开源共建计划(SecretFlow Open Source Contribution Plan,简称 SF OSCP)Phase 6 任务 ISSUE,欢迎社区开发者参与共建~
- 认领前,辛苦确认是否完成[报名](https://studio.secretflow.com/activity/rkub4eryy7g3vmn/detail
- 更多任务,可查看 「OSCP Phase6 Season of Dev」Project
This ISSUE is one of the tasks of the [SecretFlow Open Source Contribution Plan (referred to as SF OSCP) Phase 6. Welcome to join us in building it together!
- Before claiming a task, please make sure you have signed up.
- For more tasks, you can check the "OSCP Phase6 Season of Dev" Project.
任务介绍
基于SPU,实现FK-PK join功能:即类比数据库系统中,key join后会把两张数据表拼接到一起(key一致的两个行拼到一起);在这个情况下,假设其中一个join key is unique。
- 任务名称:在 SPU 中调研并实现 FK-PK Join
- 技术方向:SPU
- 任务难度:挑战🌟🌟🌟
- 任务预估完成时间:7周+
- 任务 Reviewer:deadlywing
详细要求
- 安全性:原则上需要确保无信息泄漏,若有特殊方案需要着重分析与说明安全性
- 功能性:
- 必须支持secret key join secret key的general case;
- 必须支持inner join
- 必须支持SEMI2K协议(其他协议可选择性支持)
- 通信轮数的复杂度不超过$ \log(n) $(或其多项式);
- 若实现以下功能任一,可有Extra Bonus**:**
- 实现其他所有的连接方式:左连接,右连接,全连接,半连接🌟**;**
- 支持key,payloads的任意Visibility组合,且优化至理论性能最佳🌟🌟**;**
- 正确性:需完整的单测和benchmark性能分析
- 代码规范:C++代码需进行格式化(流水线包含代码规范检查卡点),参考https://github.com/secretflow/spu/blob/main/CONTRIBUTING.md
- 提交说明:关联该 issue 并提交代码至
- 特殊说明:
- 本任务难度较高,需要开发者自行调研方案,在开发之前请务必与maintainer确认方案的可行性;得到认可后再开始代码开发
- 为了高效沟通,请自备文档,必须包括的内容有:
- 参考文献(若有特殊building block,请一并附上)
- 方案详细说明
- 必要的分析:
- 是否需要引入新的MPC原语(衡量短期内方案可行性)
- 安全性分析(必须非常明确,理论上SPU只接受不泄漏任何信息的方案,如有特殊的算子安全性不明确,必须有顶会paper背书)
- 正确性分析(是否概率性成功)
- 理论性能分析(非常重要!!不可缺少!!请结合SEMI2K协议,同时给出通信量和轮数的精确计算,注意不能只是模糊的复杂度量级)
能力要求
- 熟悉C++,bazel等编程语言与工具
- 熟悉SPU的代码架构
- 熟悉SEMI2K协议,非常清楚MPC层算子的开销
- 具有有一定科研能力,能自主调研和设计方案
操作说明
Metadata
Metadata
Assignees
Labels
OSCPSecretFlow Open Source Contribution PlanSecretFlow Open Source Contribution PlanchallengeSecretFlow Open Source Contribution PlanSecretFlow Open Source Contribution Plan
Type
Projects
Status
No status