Privacy and Encryption
Last updated
Last updated
One of beoble's core values is "no compromise on privacy and security".
The current section, <Privacy and Encryption>, describes more about how beoble achieves its core value to maximize privacy and security level.
Before reading through this section, you might want to have a quick look at Communication Delivery Graph (CDG) section first if you haven't already.
Communication Delivery Graph (CDG)Wallet: Refers to Web 3.0 wallet of any existing layer 1.
End-to-End-Encryption: A security method that keeps your communications secure that doesn't allow any third party to read your message contents, using chatroom participants' public keys.
Multi-Layered Encryption Method: A security method to provide multi-level access control to different parties on a single encrypted object.
Delivery Path: A path in the graph where a single beoble message is delivered within the nodes in the graph
beoble's privacy and security methodology is special in a way that it leverages special techniques like multi-layered encryption on top of end-to-end encryption. In a nutshell, beoble uses multi-layered encryption to encrypt both path and message, to only be decrypted and consumed by proper "middle-man" nodes. It's like a "Russian doll" encryption.
Imagine a scenario where user A sends the message "GM!" to user B.
User A, which uses wallet 0xA, initiates sending chat "GM!" to user B, which uses wallet 0xB.
beoble client SDK figures out the path (A -> B -> C -> D in the above figure) and encrypts using the public keys in the following order:
Encrypts the inner-most layer using user B's public key
Encrypts the following layer using the public key of the last node in the path, node D.
Encrypts the subsequent layers using the nodes' public keys in the opposite order of the path, node C -> node B -> node A.
The message "GM!" is now encrypted in 5 layers.
When delivered to node A, node A decrypts the message using its own private key and figures out the next destination (node B) and the encrypted message, which is, at this point, encrypted in 4 layers.
Node B and node C conduct the same process.
When delivered to node D, node D decrypts the message and figures out that it now needs to be delivered to the final destination, user B, thus, sending it to wallet 0xB.
User B now decrypts the message using the private key to view the actual message "GM!".
This structure makes it impossible for any of the middle-man CDG nodes to view the message while participating in the delivery process.