-
Notifications
You must be signed in to change notification settings - Fork 99
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
Have you considered implementing ABY2.0 protocol? #125
Comments
A quick response is no.
|
hi @BeStrongok , as @fionser point out, I do not think hi @fionser , GC requires too much communication overhead, we do have an internal version but not yet been widely used in real business. We might consider adding one for research purposes. |
BTW, the challenging part of 2PC protocol is the offline stage. Hence, Currently, the offline & online stages are merged together. We plan to add a Just-In-Time offline correlated randomness generator that tries to pre-compute the offline stuff beforehand. We believe it will help improve the performance of |
Thanks for quickly reply. @fionser @icavan :) |
Yes, constant round solutions like FHE/GC-style are appreciated, especially in inference scenarios. Users need to check what's the real bottleneck: computation, bandwidth, or latency. Hope you get your answer in your cases. |
Thanks for your guidance, more research i need to do. My case is high latency, so constant round is really what i need. :) This is also a main reason i mentioned ABY2.0 protocol, but i ignored the GC performance. |
Thank you for point out this factors, GC is really expensive in large arithmetic computation, such as network communication. What confuses me is the high latency, parties are not peer-to-peer communication. |
Hi @BeStrongok One question here, you mentioned you were benchmarking Cheetah, may I ask with which version of SPU? Thanks |
I have opened an issue about the performance of Cheetah here, the training time of SS-LR in one epoch is relatively slowly. |
Hi @BeStrongok, That is pretty old. We have made lots of improvements to both Cheetah(credits to @fionser) and other thingy. I would recommend you give it another try :P |
Thanks, it's pretty cool! I will try new version! |
Hi, SPU Team: |
Hi @BeStrongok SPU has implemented PPA here. For truncation, we have lots of truncation kernels. SecureML's you can find it here Thanks |
Thanks for pointing these codes, it's really helpful! But it seems not the 3- and 4-input AND gates introduced by |
Hi @BeStrongok, sorry for the late reply. You are right, the code is the simplest 2-input adder circuit. The 3- and 4- input circuit is NOT implemented in SPU for now. IMHO, ABY 2.0 does not bring enough benefits (compared to Cheetah) under the premise of greatly increasing the complexity of the system, so in the case of limited time, we prefer to optimizing Cheetah instead of implement ABY 2.0. However, the SPU itself is designed as an extensible system and we do not rule out the possibility of introducing ABY2.0. Of course, you are always welcome to contribute new protocols :P |
Yes, i think these generic primitives may be utilized to optimize the existed protocols in SPU, such as ABY3/Semi2k. |
Hi, :)
I'm noticed that the ABY2.0 protocol has constant round in online communication, which is very effective for Secure Two-Party Computation.
Have you considered implementing this protocol? When i'm benchmarking Cheetah, i don't think it's fast enougth, maybe this protocol is more efficiently?
BTW, because SPU has JIT compilation, i'm curious about how to divide offline & online process.
The text was updated successfully, but these errors were encountered: