PySyft icon indicating copy to clipboard operation
PySyft copied to clipboard

Whether the grid node will see the data uploaded from the data owner?

Open lepangdan opened this issue 2 years ago • 5 comments

Question

Whether the grid node will see the data uploaded from the data owner?

Further Information

I recently study the course in OpenMined website. Currently, I am running the code in /courses/federated-learning/duet_basics/exercise. I am wondering whether the grid node will see the data uploaded from the data owner because I notice there needs a data owner uploading its data to the grid node. So if it is, is the data of the data owner still safe and private? I am not sure what gridNode will see about the data of worker. Another computation is performed in worker of data owner or gridNode?

Any help is welcome!

image

System Information

  • OS: [e.g. iOS]
  • OS Version: [e.g. 22]
  • Language Version: [e.g. Python 3.7, Node 10.18.1]
  • Package Manager Version: [e.g. Conda 4.6.1, NPM 6.14.1]

Additional Context

Add any other context about the problem here.

lepangdan avatar Jun 27 '22 07:06 lepangdan

Hi @lepangdan, data sent to a Domain is visible by the person who sent it there, and anyone who owns the domain since they have control of the physical database and the data is not stored encrypted at rest by default. Typically this means that private data is only added by Data Owners to their Domains.

Does that answer your question?

madhavajay avatar Jun 28 '22 02:06 madhavajay

Hi, @madhavajay Thanks for your reply. And I have 4 confusing problems which need to be clarified with your help.

  1. Whether Duet or GridNode or OpenMined could see the data uploaded by the data owner because the following code shows data owner needs to send their data to duet age_data_pointer = age_data.send(duet, pointable=True) see here.
  2. Or the data owner doesn't send actual data to the duet, which only creates a data address pointer, and makes the duet know where the data is stored, and sent the address of the dataset if the data owner allows, then the duet sent to address to the data scientist?
  3. The speaker says GridNode exit and does not participate in connection anymore after the data owner and data scientist create a connection see here, however, we can see in code, duet still do much work, is the two things conflict?
  4. The computation shown follow see here is performed in the server of data owner or Duet/GridNode?
    average_age = data_ptr.float().mean()
    # Now the Data Scientist wants to download the result.
    try:
        average_age.get()
    except Exception as e:
        print(e)
    

lepangdan avatar Jun 28 '22 03:06 lepangdan

@lepangdan In the version you refer to syft 0.5 with Duet, there are two nodes and they communicate peer to peer. There is a signalling server used to establish the p2p connection through a firewall but after that the traffic is purely peer to peer and uses this library: https://github.com/aiortc/aiortc

I believe it has some kind of encryption of the UDP packets but you would need to check their documentation. Regardless, Syft 0.5 is not intended for production use.

madhavajay avatar Jun 28 '22 05:06 madhavajay

@madhavajay so you mean the data owner did upload the actual data (encrypted version) to duet, not duet just knowing an address pointer?

lepangdan avatar Jun 28 '22 06:06 lepangdan

@lepangdan in Duet there are two nodes, one is the Data Owner side with a store, and the other is the Data Scientist. All data that is send with .send goes to the Data Owner side. None of that traffic goes through any other servers.

madhavajay avatar Jun 29 '22 02:06 madhavajay

I see,many many thanks!

发自我的iPhone

在 2022年6月29日,10:33,Madhava Jay @.***> 写道:



@lepangdanhttps://github.com/lepangdan in Duet there are two nodes, one is the Data Owner side with a store, and the other is the Data Scientist. All data that is send with .send goes to the Data Owner side. None of that traffic goes through any other servers.

— Reply to this email directly, view it on GitHubhttps://github.com/OpenMined/PySyft/issues/6614#issuecomment-1169467647, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AF3DX5T53ECQY3ALMKA6EK3VROYWFANCNFSM5Z5OKYXQ. You are receiving this because you were mentioned.Message ID: @.***>

lepangdan avatar Oct 11 '22 07:10 lepangdan