Gödel's

Share this post

E2E-Encryption for Roam Research - Part 3

www.goedel.io

E2E-Encryption for Roam Research - Part 3

Roam Research recently added a significant new feature, end-to-end encryption for the content blocks and the uploaded media. In this article, we take a look into how encryption affects performance.

Alexander Rink
Jan 30, 2022
3
Share this post

E2E-Encryption for Roam Research - Part 3

www.goedel.io

Hej,

And welcome to this series of articles about a recent feature Roam Research has released this weekend: end-to-end encryption. I have already explored why encryption is so important and how it works, how secure it is (as far as I can judge at the moment), how you encrypt your graph and how you verify that the encryption is working. This article analyzes whether encryption impacts performance and if it does by how much.

You can follow my analysis by watching the linked videos below.

The Video challenge

Uploading

I’ve tested the encryption impact on media files with an mp4 movie.

Encrypting the 83,9 MB video took 13,3 seconds on the encrypted graph.

Uploading the video took 24,4 seconds on the unencrypted graph and 24,5 seconds on the encrypted, which is pretty much expected given that the file size won’t change much.

We have an expected overhead for encrypting big files that should scale almost linear for the file size (0,16 seconds per MB). You will probably not often upload files with a size bigger than 10 MB (most images, pdf’s and office documents are way smaller), so this performance penalty is nothing to worry about.

Playing

When loading the page with video, it took 14,83 seconds for the encrypted video to be decrypted and ready to be played. That’s very reasonable given the fact we have that AES is symmetric encryption. The unencrypted video took just 0,7 seconds to get prepared. This is annoying, and you can even watch the performance impact when loading images.

Paste a bunch of blocks

I tried to evaluate the performance impact of the block encryption by pasting a rather large document (A Research Center for Augmenting Human Intellect by Douglas C. Engelbart, worth reading, by the way.) The document contains around 44,000 characters in 530 differently indented blocks.

Pasting on the encrypted graph took 4,9 seconds; on the unencrypted graph, 4,9 seconds. Even with this rather large document, no impact is recognizable.

Video: Encrypted Graph

Video: Unencrypted Graph

The 10,000 pages challenge

If you read my TfT Performance Benchmark, you may remember my 10,000 pages data set. If you haven’t read it yet, you should :)

Gödel's
TfT Performance: Roam Research
Hej, And welcome to the Benchmark Results of Roam Research. Roam Research is considered by many to be the gold standard in tools for thought and has a large following. If you are new here, you may want to read: and before you dive into this article…
Read more
a year ago · 8 likes · 7 comments · Alexander Rink

Importing the data into the encrypted graph took a whopping 40 minutes and 42 seconds, while importing the same amount into the unencrypted graph took only 34 minutes and 41 seconds. It seems that with that large amount of data, encryption creates an overhead of around 20 %.

Loading the encrypted graph with the 10,000 pages took 29,5 seconds, loading the unencrypted graph in just 4,8 seconds.

After both graphs are loaded, no performance impact could be seen when working with it except if external media is loaded.

The impact is noticeable but not too worrying, given that the 10,000 pages graph is probably much bigger than yours.

Video: Encrypted Graph

Video: Unencrypted Graph

Conclusion

Overall I was pretty impressed with how well and frictionless the encryption worked. There is a noticeable but acceptable performance impact when loading big media files or large graphs, but working with sensitive data is worth it.

How did you like this series of articles that goes a little deeper into technology? Let me know in the comments.


If you have any questions or suggestions, please leave a comment.

If you want to support my work, you can do this by becoming a paid member:

Or you can buy me a coffee ☕️. Thank you so much for your attention and participation.

Share this post

E2E-Encryption for Roam Research - Part 3

www.goedel.io
Comments
TopNewCommunity

No posts

Ready for more?

© 2023 Alexander Rink
Privacy ∙ Terms ∙ Collection notice
Start WritingGet the app
Substack is the home for great writing