Introducing Cerberus: Decentr’s Proprietary Blockchain Storage Solution
We are proud to unveil our first set of public code, which is our Data Storage and Validation code named “Cerberus”.
Cerberus is named after the Greek gatekeeper of the Underworld. In the same way this hellhound was loyal to Hades, preventing any souls from leaving his domain, Decentr’s proprietary tech, Cerberus, is loyal to you, the user, preventing any data leaving the blockchain unless you choose to allow it.
The Cerberus code can be viewed here.
In the coming weeks and months we will also be releasing our Charon Module to the public along with all other open source connectors and tech stacks as development continues.
There are 3 critical components of the Decentr system that secure PDV:
- Cerberus — data storage and validation.
- Decentr — blockchain. In particular decentrd — node which can be connected to any blockchain client we build with, including Holochain, Tomochain, etc.,with decentrcli — cli (command line interface) connection to decentr Blockchange storage and other blockchain features.
- Charon — browser plugin and Decentr browser connector module: compatible with both Chrome and Firefox.
Below you can see how Cerberus and future modules play their part in the overall Decentr system.
Cerberus is responsible for data storage and validation. It is a proprietary blockchain storage solution that we started to develop in Q4 2019.
PDV by its very nature contains a large amount of data: personal user info, browser cookies, health, sport activity, and so on. One of the roles of Cerberus is to validate the incoming data with flexible yet specific rules to verify data quality and to prevent fraud; for example, the generation of random data that in return sees a rise in PDV.
There will be a huge amount of PDV per user (read: Big Data). If the entirety of PDV data was saved at each node, the node would require a lot of space, which would mean only big organisations could handle it. Blockchain (decentrd) tracks who owns each PDV block, but the blocks themselves are saved and encrypted with the AES256 GCM algorithm in Cerberus. Currently, Cerberus uses Amazon S3 under the hood, which is a centralised solution that will only remain in the MVP version. As we move beyond our MVP version into our fully decentralised product, Amazon S3 is going to be replaced with storage oracles and a solution similar to SIA.
To simplify certain questions that may arise from this article, here is a brief FAQ section regarding Cerberus:
1. Why doesn’t Cerberus use IPFS https://ipfs.io/?
> IPFS is like a distributed cache, which means with this system it is acceptable for data to be lost: this is not acceptable for Decentr. Data storage on Decentr has to obey the three “R”’s, these being: robust, resilient and reliable. Once PDV is saved it is never lost, and remains a user’s property to do with as they please.
2. Why is Cerberus centralised?
> Cerberus is centralised only in MVP stage, but its source code is open and you can review that your data will always be safe. Later it is going to be replaced with storage oracles.
3. Is PDV encrypted?
> Yes, PDV is encrypted with the AES256 GCM algorithm. Only owners of PDV can view their data, as well as data buyers/companies after a user releases their data to specific data buyers/companies, should they choose, to improve their PDV.
4. Who can access PDV?
> Only the owner can access PDV at this stage. The data owner must use a private key and sign a request to confirm access to PDV.
5. How does PDV validation work?
> First, a user sends PDV with a signed request to Cerberus and gets an address for the PDV. Second, a user sends a create_pdv transaction, the address having been acquired. Third, when the block with that transaction is applied, the blockchain(decentrd) checks PDV validity with Cerberus.
We look forward to answering all your questions. Please find our official links below.
Official Links for Decentr:
Official Email Address: Admin@decentr.net
Official Website Link: https://decentr.net/
Official Telegram Discussion Group: https://t.me/DecentrNet
Official Telegram Announcements Channel: https://t.me/DecentrAnnouncements
Official Twitter: https://twitter.com/DecentrNet
Official Medium: https://medium.com/@DecentrNet