Hi
Basically each "player" spawns a number of threads. Each thread
has a dedicated TLS channel to the equivalent thread in the other
players. So the number of TLS channels is big. This way the "code"
does not need to worry about what communication should go to
which thread as this is dealt with by the TLS socket connections.
The number of threads depends on various things [what secret sharing
scheme being used, how many offline/online threads you have
configured the system to use, how many ZK threads in the case of
FHE based pre-processing].
Once all this is set up
- And the setup might not be the most efficient way of doing this
stuff [re your points 1->6]. But who cares as its only done once
;-)
For point 6 we now just assume all communications between each
thread of each player just go like they should in the MPC protocol
description. Sometimes [depending on the specific sub-protocol]
this could be a communication from player 1 to players 2->n.
Sometimes it could be all players send to all other players.
Sometimes it could be just two players talk to each other.
Thus at point 6 it all goes a bit weird as you have seen ;-)
One point with 6 is that when we have a round of all talking to
all, we do this in one of two ways
a) All send then all receive
b) Player i sends to players >i, and receives from player <i
then do the others
The reason for doing a is its easier to implement work out
whats going on, but if the messages sent are huge then you
get a block on the communications due to the limits in the OS
[this is a problem when sending big messages consisting of lots
of FHE ciphertexts and what have you]. In this latter case
we switch to mode b of sending.
On a meta level though, 18 does indeed seem a weird number.
Are you sure its 18 channels between each *pair* of players,
and not 18 outgoing per player to all other players?
Nigel
On 20/01/2022 10:01, Julen Bernabé wrote:
> Hi all,
>
> I'm currently doing some research on the way SCALE-MAMBA really works,
> i.e., what TCP/IP protocols are used while the protocol is running. With
> this in purpose, I deployed a SCALE-MAMBA network for three players. I
> captured in WireShark all communications done while the execution was in
> progress and realised the following:
>
> 1. In my case, the first starting the execution was player0. While this
> player was running the execution and the others were offline,
> player0 sends a huge amount of TCP SYN packets to player1. The
> response from player1 was the same amount of TCP RST SYN packets
> telling player1 is not online (that's my assumption).
> * Why did you implement such a number of TCP SYN messages? I
> suppose there's a good reason...
> 2. After some seconds player1 starts the execution. Then player0 and
> player1 finish the TCP Handshake and start some confusing TLSv.1.3
> communications. These communications are not TLS Handshakes, as
> these occur later. Wireshark captured exactly 18 such communication
> with changing ports.
> * What are those 18 communications that are previous to the
> TLSv1.3 handshake? Due to the following steps, I think 18
> communication channels are being created between player0 and
> player1.
> * If those communications are channels, why are there 18? Is that
> a fixed number? Or it grows with the number of players
> participating in the computation?
> 3. When the above step is done, player0 and player1 begin the TCP SYN
> packet sending in order to establish connection with player2. This
> step is similar to step 1, but with two peers trying to connnect
> simultaneously.
> 4. After some time, player2 starts the execution. Then the TCP
> handshakes with player1 and player2 are finished and (again) the
> TLS-not-hanshake communications begin. I captured again 18 different
> communications per player (player0-player2 and player1-player2).
> 5. When the TLS-not-handshake communications finish (exactly the 18 per
> communication), the TLSv1.3 handshake begins. At this stage, again,
> 18 TLS handshakes are performed. This is why I suppose 18 channels
> are being created.
> 6. Lastly, the communications begin. At this stage the capture is very
> tricky and it's hard to know what is happening exactly. I assume the
> previous channels are being used to perform the circuit evaluation,
> am I right?
>
> Thanks beforehand, regards
>
>
> julen
>
> --
> You received this message because you are subscribed to the Google
> Groups "SPDZ/SCALE-MAMBA Discussion Group" group.
> To unsubscribe from this group and stop receiving emails from it, send
> an email to
spdz+uns...@googlegroups.com
> <mailto:
spdz+uns...@googlegroups.com>.
> To view this discussion on the web, visit
>
https://groups.google.com/d/msgid/spdz/a02b1d28-b53d-4151-be19-7230ed06490dn%40googlegroups.com
> <
https://groups.google.com/d/msgid/spdz/a02b1d28-b53d-4151-be19-7230ed06490dn%40googlegroups.com?utm_medium=email&utm_source=footer>.