-
Notifications
You must be signed in to change notification settings - Fork 2
Description
As described in #138 , derandomization aims at taking a snapshot of a (any) protocol run.
For this we require changing of the networking layer or the protocol running function to enable writing in an external (ephemeral) file all the data sent by the participants.
The snapshot will consist of a set of files, one per party, recording all the messages sent by the corresponding party and in order.
For example: taking the snapshot for participant Pj means dynamically creating a file sent_pj which will contain records in the following spirit:
Pj sent to P0:
Pj sent to P8:
Pj sent to P0: -------- yes this repetition could be that round 2 started before round 1 ends
Pj sent to P1:
etc...
To preserve the order, every sent function should take hold of a lock to prevent any concurrent writing in the file.
Acceptance Criteria:
- Create one file per participant
- Append sent data per participant in the file in a precise encoding manner
- Create a lock system for the files
- Implement decoding function for the files that is able to read the files and properly collect the data.
- Test encode/decode