12 karma · joined April 20, 2020
The result of much exploration and experimentation – I'm excited to share Ceramic with you.
Ceramic is a decentralized platform for data stream processing that is built on top of IPFS (interplanetary file system). Ceramic provides a way for developers to create and host streams of information and ever-changing files on the decentralized web – and share updates in real-time with anyone in the world.
Ceramic is still in early testing, but more than 2,000 developers have already started playing with the technology – their projects range from decentralized identity, to decentralized social media, content publishing, decentralized collaboration tools, cross-app/org data sharing, etc.
I would greatly appreciate any thoughts and/or feedback from the HN community so that I can work on making the system better.
Without a standard, many developers have been forced to create custom formats for their signed and encrypted data. This has been prohibitive to the openness and interoperability of information stored in IPFS by siloing data to their particular implementation. Another approach to authenticated data has been to put data in IPFS and put the CID of the data in a smart contract on a blockchain, such as Ethereum. This is essentially an expensive way of adding a signature on top of the data and persisting the signature record on the blockchain.
With the introduction of EIP-2844, a standard that allows wallets to support a few new methods for signing and decrypting data based on DIDs and the dag-jose IPLD codec, we can now simply put authenticated and encrypted data directly into IPFS. In this tutorial, you will learn how you can utilize these primitives with two libraries, js-did and 3ID Connect.
This work was funded through grants by the IPFS, Filecoin, and Ethereum foundations.
More advanced moderation tools can be built on top, too.
This also works for encryption in members threads. To remove a member, you can create a new thread without the member and link the original thread. This gives forward secrecy since new encryption keys are generated for the new thread.
We're working on improving this system over time, but it requires some more advanced cryptography such as proxy re-encryption (like nucypher).
3Box also has support for members only OrbitDB threads which can restrict posting to members, and encrypted OrbitDB threads to make posts private to the group. To Mark's point above.