secretflow / secretflow

A unified framework for privacy-preserving data analysis and machine learning
https://www.secretflow.org.cn/docs/secretflow/en/
Apache License 2.0
2.32k stars 385 forks source link

隐私求交具体配置参数问题 #1349

Closed coderSun20201112 closed 1 month ago

coderSun20201112 commented 3 months ago

Issue Type

Others

Source

source

Secretflow Version

secretflow-1.5.0.dev240319

OS Platform and Distribution

centos7.9

Python version

3.10

Bazel version

6.5

GCC/Compiler version

11

What happend and What you expected to happen.

老师,我有几个问题,想请教下:
问题1:我通过页面发起求交任务时,我发现数据源是CSV文件,能否改成直接从数据库读取?
问题2:每次发起任务来求交,总是需要合作节点来审核,能否绕开审核,直接运行任务?
问题3:生成的结果是写入CSV,目前展示的全部的列,我不想展示全部的列,我能配置哪几个列写入CSV吗?
问题4:ECDH、KKRT、RR22分别适合哪些场景,有这方面的说明吗?
问题5:KKRT与RR22中,有个参数“分桶大小”,这个参数干什么用的,配置大了会如何,配置小了会如何?
问题6:假如目前有1个Bob节点,Bob节点数据量1万,100个Alice节点,每个Alice节点数据量1000万,且100个Alice同时向Bob节点发起求交,针对这种情况,为了节省Bob节点的网络通信量,ECDH/KKRT/RR22选择哪种算法合适,对应的参数选择哪个合适?

Reproduction code to reproduce the issue.

6fj commented 3 months ago

我先来回答一下psi的问题哈,

  1. ecdh适合计算资源高,但网络条件差。kkrt适合计算资源一般,但网络条件良好。rr22目前是三个算法中性能最好的,推荐使用,但是前面两个算法比较成熟。
  2. 数据分块使用,一般不需要调整。
  3. 同时求交有点歧义,是指同时使用同一份数据吗?虽然你这个是非平衡psi的场景,但因为数据量不大,所以参照回答4即可。
coderSun20201112 commented 3 months ago

我先来回答一下psi的问题哈,

  1. ecdh适合计算资源高,但网络条件差。kkrt适合计算资源一般,但网络条件良好。rr22目前是三个算法中性能最好的,推荐使用,但是前面两个算法比较成熟。
  2. 数据分块使用,一般不需要调整。
  3. 同时求交有点歧义,是指同时使用同一份数据吗?虽然你这个是非平衡psi的场景,但因为数据量不大,所以参照回答4即可。

这里每个Alice节点的数据都是不同的,但Bob节点数据是相同的,毕竟Bob节点就1个

coderSun20201112 commented 3 months ago

问题7: 基于问题6的背景下,Bob节点网络带宽压力可能会较大,为此,我想把Bob节点的数据分发给这100个Alice节点,然后每个Alice节点收到数据后存储到本地,然后再与本地数据进行隐私求交,基于这个设计,那隐语这边有没有方法,既可以保证Alice节点无法得知数据明文,同时还不影响与本地数据求交?

6fj commented 3 months ago

问题7: 基于问题6的背景下,Bob节点网络带宽压力可能会较大,为此,我想把Bob节点的数据分发给这100个Alice节点,然后每个Alice节点收到数据后存储到本地,然后再与本地数据进行隐私求交,基于这个设计,那隐语这边有没有方法,既可以保证Alice节点无法得知数据明文,同时还不影响与本地数据求交?

100个alice节点之间有什么联系呢,属于同一方吗?本地隐私求交是啥意思?

coderSun20201112 commented 3 months ago

问题7: 基于问题6的背景下,Bob节点网络带宽压力可能会较大,为此,我想把Bob节点的数据分发给这100个Alice节点,然后每个Alice节点收到数据后存储到本地,然后再与本地数据进行隐私求交,基于这个设计,那隐语这边有没有方法,既可以保证Alice节点无法得知数据明文,同时还不影响与本地数据求交?

100个alice节点之间有什么联系呢,属于同一方吗?本地隐私求交是啥意思?

100个alice节点就是100家不同的机构,彼此没有联系,彼此数据各自独立; 本地求交,我的意思是Alice拿到Bob的数据后,就不用再通过网络与Bob节点交互了,直接在自己服务器上计算交集,不再发任何网络请求了。

coderSun20201112 commented 3 months ago

问题7: 基于问题6的背景下,Bob节点网络带宽压力可能会较大,为此,我想把Bob节点的数据分发给这100个Alice节点,然后每个Alice节点收到数据后存储到本地,然后再与本地数据进行隐私求交,基于这个设计,那隐语这边有没有方法,既可以保证Alice节点无法得知数据明文,同时还不影响与本地数据求交?

100个alice节点之间有什么联系呢,属于同一方吗?本地隐私求交是啥意思?

100个alice节点就是100家不同的机构,彼此没有联系,彼此数据各自独立; 本地求交,我的意思是Alice拿到Bob的数据后,就不用再通过网络与Bob节点交互了,直接在自己服务器上计算交集,不再发任何网络请求了。

coderSun20201112 commented 3 months ago

我先来回答一下psi的问题哈,

  1. ecdh适合计算资源高,但网络条件差。kkrt适合计算资源一般,但网络条件良好。rr22目前是三个算法中性能最好的,推荐使用,但是前面两个算法比较成熟。
  2. 数据分块使用,一般不需要调整。
  3. 同时求交有点歧义,是指同时使用同一份数据吗?虽然你这个是非平衡psi的场景,但因为数据量不大,所以参照回答4即可。

问题6,如果我想把计算过程放到Bob节点来执行,然后再由Bob把计算结果发给Alice节点,基于网络带宽占用最小,网络交互次数最少来作为原则,我采用哪个算法比较合适?(服务器性能可以看成市场通用服务器配置)

6fj commented 3 months ago

问题7: 基于问题6的背景下,Bob节点网络带宽压力可能会较大,为此,我想把Bob节点的数据分发给这100个Alice节点,然后每个Alice节点收到数据后存储到本地,然后再与本地数据进行隐私求交,基于这个设计,那隐语这边有没有方法,既可以保证Alice节点无法得知数据明文,同时还不影响与本地数据求交?

100个alice节点之间有什么联系呢,属于同一方吗?本地隐私求交是啥意思?

100个alice节点就是100家不同的机构,彼此没有联系,彼此数据各自独立; 本地求交,我的意思是Alice拿到Bob的数据后,就不用再通过网络与Bob节点交互了,直接在自己服务器上计算交集,不再发任何网络请求了。

隐私求交的定义是保护双方的原始输入,但是你目前似乎没有这个诉求。

coderSun20201112 commented 3 months ago

问题7: 基于问题6的背景下,Bob节点网络带宽压力可能会较大,为此,我想把Bob节点的数据分发给这100个Alice节点,然后每个Alice节点收到数据后存储到本地,然后再与本地数据进行隐私求交,基于这个设计,那隐语这边有没有方法,既可以保证Alice节点无法得知数据明文,同时还不影响与本地数据求交?

100个alice节点之间有什么联系呢,属于同一方吗?本地隐私求交是啥意思?

100个alice节点就是100家不同的机构,彼此没有联系,彼此数据各自独立; 本地求交,我的意思是Alice拿到Bob的数据后,就不用再通过网络与Bob节点交互了,直接在自己服务器上计算交集,不再发任何网络请求了。

隐私求交的定义是保护双方的原始输入,但是你目前似乎没有这个诉求。

按照隐私求交的定义,双方数据不能出本机构,但我只是想:Bob节点数据还是要传输到Alice节点那边,但Alice节点不能破解,且Alice节点还能基于这些密态数据进行隐私求交,这样,就省去Alice节点与Bob节点交互,这个诉求,基于隐语能实现吗?

6fj commented 3 months ago

隐私求交一般不能省去双方的交互。

zhouaihui commented 3 months ago

按照隐私求交的定义,双方数据不能出本机构,但我只是想:Bob节点数据还是要传输到Alice节点那边,但Alice节点不能破解,且Alice节点还能基于这些密态数据进行隐私求交,这样,就省去Alice节点与Bob节点交互,这个诉求,基于隐语能实现吗?

这个需求,听起来可以在Alice部署一套可信执行环境,Alice和Bob在可信执行环境里求交,可以保护数据不被泄露和滥用。这个欢迎体验隐语TEE方案 TrustedFlow,内置求交功能。

github-actions[bot] commented 2 months ago

Stale issue message. Please comment to remove stale tag. Otherwise this issue will be closed soon.