Transport

The transport layer in OT uses ZeroMQ between the clients and the notary servers. ZeroMQ is not a neutral transport, because it has its own framing. This means endpoints are enforced to use compatible ZeroMQ versions.

The ZMQ socket types are REQ-REP (client-server), which means the client is lock-stepped in communicating with the server. A few important implications from this:

The transport layer is not secured and everything is sent in plain text. Each payload is secured using [electronic envelopes] (http://en.wikipedia.org/wiki/Electronic_envelope). This means that each payload is encrypted, using an encryption key that is encrypted to the recipient's public key, and sent in the envelope as well.

In OT sending works as follows:

And receiving works as follows:

See Credentials for a description on keys and how they are used.

TODO: add link

Used Algorithms

Future Improvements