-
Notifications
You must be signed in to change notification settings - Fork 50
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
三方联合计算SCQL出现逻辑问题 #290
Comments
C 会有自己的数据参与运算吗? |
C中没有数据,他只是被A和B分别授权了数据,它使用A和B的数据进行计算 |
你使用的是 SCQL 哪种部署模式呀? p2p 还是 中心化的 SCDB ? |
中心化的方式 |
能否提供下具体的query(注意脱敏),以及CCL授权信息,报错信息。以帮助我们进一步确认问题? |
具体的实例是这样的:
此时,在C方执行下述代码: 出现如下报错: 但是如果此时,A将数据授权给B: 此时C再次执行上述sql查询,即可得到结果。 |
这里的报错和UNION有关,因为UNION ALL了A/B的数据,在代码实现上增加了UNION后的数据对所有参与方不为UNKNOWN的要求,因此报错了。 |
我们稍后试一下,这样去做,但是这样的逻辑感觉还是不太对的样子。 为什么在代码实现上增加了UNION后的数据对所有参与方不为UNKNOWN的要求,这个仅针对计算方不行吗?因为只有计算方能拿到数据呀。 此外,这部分校验的代码的位置在哪里呢? |
仅针对计算方也会报错,因为A对B或B对A在UNION后也是UNKNOWN。 scql/pkg/interpreter/translator/build_ccl.go Line 489 in 9cbd515
|
好的,后续我们这边再测试一下 |
您好,请问一下,咱们scql的执行过程中,是否使用SPU进行隐私计算,是根据CCL判断的吗?如果去掉了CCL判断,是不是默认就是明文的方式进行计算了。 |
SCQL 密态引擎包含了 SPU 和 HEU,密态相关的计算会委托给 SPU 和 HEU 进行。 CCL 是做 Query 之前行的约束校验的,不过当前的实现和密态图的翻译有点耦合。是否可以明文计算,或者 reveal 成明文,其实上是根据参与运算的数据属于哪个参与方决定的,以及算子的结果是否是降维的,比如 aggregate 操作。如果没有 CCL,应该全部在密态下执行。 |
我们这边存在如下的业务场景:
存在两个数据方A和B,使用方C,购买了A和B的数据权限执行SCQL。
但是在实际的操作过程中,如果A方仅把数据授权给C方,B方也仅把数据授权给C方,在C方无法执行SCQL运算,会显示CCL的授权错误。
仅当将A方的数据授权给了B和C,B方的数据授权给了A和C的情况下,C方才能执行SCQL运算。
我想请问这是否存在一定的逻辑问题呢?为什么A方和B方,不需要互相使用数据,却需要互相授权才能在C方执行运算。
The text was updated successfully, but these errors were encountered: