Hello,

The second implementation of MPC will be very different from VIFF in that it is programmed in Java as opposed to Python. For some reason I have still not been able to program in Python, and I only recently got help translating my code to Python.

One of the points with early versions of VIFF was that they needed to be started in a certain order and you had to distribute a configuration file to each party. I found this cumbersome so I added a facilitator (distributor). Each player connects to this distributor, with information about the algorithm that they want to run and ip and port that they are listening on. When enough players have connected to this facilitator. It distributes a list to all players as to who the other players are. The facilitator then plays no further part in the MPC protocol.

In the protocol between players I am trying to shave things down, currently the messages are about 15 bytes + bytes used to transmit the share (the share is encoded as a BigInteger in some underlying field, the underlying field is already transmitted in the first 15 bytes). This might be shaved down to 10 bytes + bytes to transmit the share to avoid overhead. Anyway I can control this protocol down to the last bit, to make it as efficient as possible.

I am trying to replicate the numbering of the operations like it is done in VIFF, but as I only have a wage idea of how it is done in VIFF and since things are programmed differently this will be done in a sightly different way. I am hoping to get a system working where all instances of operations get unique 6 byte long IDs. So that a operation from one player can instantly be compared to likewise operations from different players. But this is the part that I am working on.

Last but not least this MPC implementation will be thread safe, so hopefully multiple instances of MPC can be run concurrently in the same program, using my code as a library.

The programming of algorithms in my framework should be as working with BigIntegers.

The thread that waits for the revealed values should either hang and wait for the values, or get a Future object in return.

(Last, the code will not use Mercury or some other version tracking system as I have not set it up yeat... sigh)

Tord

Siterer Martin Geisler <[EMAIL PROTECTED]>:

Tord Ingolf Reistad <[EMAIL PROTECTED]> writes:

[...] I will look closer at the code again when I have finished
programming another thing I am working on. (No, not my thesis, but a
full implementation of MPC in java, so I can get some real results for
my thesis).

Cool, another framework! Can you describe how this framework will be
different from the ideas behind VIFF?

--
Martin Geisler




_______________________________________________
viff-devel mailing list (http://viff.dk/)
viff-devel@viff.dk
http://lists.viff.dk/listinfo.cgi/viff-devel-viff.dk

Reply via email to