nucypher / zerodb

*This project is no longer actively maintained. If you'd like to become the maintainer, please let us know.* ZeroDB is an end-to-end encrypted database. Data can be stored and queried on untrusted database servers without ever exposing the encryption key. Clients can execute remote queries against the encrypted data without downloading all of it or suffering an excessive performance hit.
GNU Affero General Public License v3.0
1.56k stars 102 forks source link

Switch from Python pickles to other serialization format #8

Open michwill opened 8 years ago

michwill commented 8 years ago

Since we could have native clients in languages other than Python, we'd like to switch to object serialization other than pickle. Something similar to jsonpickle + msgpack (but without arbitrary code execution). This is a longer term goal

dmisiuk commented 8 years ago

:+1:

HarryR commented 8 years ago

http://jmoiron.net/blog/python-serialization/

Ultimately for compatibility JSON encoding rather than pickling seems like the natural choice, the problem with pickle is that it's inherently tied Python.

michwill commented 8 years ago

Certainly. I'm thinking of something more compact and fast, yet cross-language. What about msgpack?

IAlwaysBeCoding commented 8 years ago

how about thrift?

michwill commented 8 years ago

Fastest in Python seems to be msgpack. We will first switch to it in ZEO protocol, then in zerodb itself