[EMAIL PROTECTED] writes:

Hi Tord,

Thanks for the detailed reply! I'm now more or less installed in
Switzerland, so let me send an answer...

> 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.

Yeah, I saw that Tomas volunteered to help -- I will of course also
like to help. If you guys start working on this, then *please*
remember to include the rest of the list in your discussions. That
will also make it much easier to review the code later.

> 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. [...]

That is not an inherent property of the VIFF design. If you look at
the bug tracker you will find a report about this with a suggestion
that looks like your solution (I'm offline right now so I cannot
lookup the right issue number for you).

> 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.

Sounds cool! If there isn't already, then there ought to be an issue
about this in the VIFF tracker... We have discussed it already back
when we talked about replacing the (insecure) marshal module with our
own thing.

> 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

Have you looked at the documentation? If I am able to guess the URL
correctly, then it ought to be online at

  http://viff.dk/doc/0.6/program-counters.html

I wrote that a long time ago, but never got any comments... It tries
to describe the current implementation, but it also lists an
alternative idea.

> 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.

Cool, please read the above document and comment on it with your
ideas!

> 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.

Nice.

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

Yeah, the curse of Java's missing operator overloading... :-)

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

Ah, so a bit like Deferreds? I think I saw a Future class in Java at
some point in some corner of the API docs, but I don't remember the
details.

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

It is "Mercurial" and it's the new thing -- all the new cool projects
are using it or something like it (git or bazaar). The Linux Kernel
guys are using git, Mozilla people are using Mercurial, Ubuntu is
pushing bazaar.

Really, CVS and SVN (and other centralized revision control systems)
are quickly becoming legacy systems...

As for your Mercurial setup problems, then what are those? I'm also
active on the Mercurial mailing lists and I haven't seen you post
there :-)

Anyway, on every Linux system I have tried I just did a

  python setup.py install --home=$HOME/opt

and then added ~/opt/bin to PATH and ~/opt/lib/python to PYTHONPATH.
Move contrib/hgk to ~/opt/bin too and enjoy the 'hg view' extension
after you have enabled it. My ~/.hgrc file looks like this:

  [ui]
  username = Martin Geisler <[EMAIL PROTECTED]>

  [extensions]
  hgext/hgk =
  hgext/gpg =
  hgext/mq =
  hgext/patchbomb =
  hgext/record =
  hgext/transplant =
  hgext/graphlog =

  [diff]
  git = 1

and I suggest that you make a similar one, but with your own name! :-)

-- 
Martin Geisler

VIFF (Virtual Ideal Functionality Framework) brings easy and efficient
SMPC (Secure Multi-Party Computation) to Python. See: http://viff.dk/.
_______________________________________________
viff-devel mailing list (http://viff.dk/)
[email protected]
http://lists.viff.dk/listinfo.cgi/viff-devel-viff.dk

Reply via email to