Implement Streaming Crypto Operations
We've come to the conclusion that the encryption/decryption pools, while alleviating the blocks in the main twisted reactor, are a big source of complexity, and at the same time produce a big overhead. They are significant contributors to the memory explosion when handling big blobs.
An alternative architecture has been proposed, which basically consists on creating a pipeline of crypto operations (for writing new docs: aes+hmac, for downloading: hmac+decrypting) that can end up either hooked to the upload/download operations or sinked to a filewriter/consumer.
Some related analysis is in this issue: https://github.com/pixelated/pixelated-user-agent/issues/761#issuecomment-244145705
(from redmine: created on 2016-09-15)