Judy Piper, an engineer at C Labs, welcomes the audience to another installment of the Celo Tech Talks series. Celo is a mobile-first blockchain platform with a mission to create a financial system that promotes prosperity for everyone. These tech talks aim to share and spread knowledge about Celo technology with the growing community. In the previous talk, Alex Cruz discussed Celo’s smart contracts. In this session, Alex Holly, another protocol engineer, focuses on CIP (Celo Improvement Proposal) and introduces the topic.
Before diving into the topic, Judy introduces Alex Holly and asks him to introduce himself. Alex has been working on Celo for the past 10-11 months, primarily focusing on the contracts and primitives team and the developer experience team. He shares his background, mentioning his work with a Berlin-based blockchain company before joining C Labs. Alex is based in Berlin but originally from New Zealand.
Alex begins by addressing the question of why data should be stored off-chain. He explains that storing data on-chain is expensive, using the example of Ethereum, where storing a single gigabyte of data costs over $76,000. This cost creates a significant barrier to entry for users, especially within Celo’s target market. Storing less data on-chain allows for more transactions to be handled, which is crucial for achieving high throughput, comparable to Visa’s scale.
Alex introduces CIPs (Celo Improvement Proposals) as a means to address the challenge of off-chain data storage. He highlights CIP4, which focuses on validator-run attestation services for the decentralized identity protocol, and CIP3, which specifies a signature scheme to ensure the authenticity of data. He provides a concrete example of storing a user’s name off-chain and describes the different players in the network involved in accessing and verifying the data.
The issue of metadata leakage is discussed, where even if the message is encrypted, the fact that a message is sent to a recipient becomes public information. To address this, Alex presents an algorithm that computes a shared secret between the sender and recipient and uses it to hash the message path. This process ensures that the path can only be computed by the intended recipients, providing privacy and preventing metadata leakage.
Alex explains how Velora, a mobile app for Celo, handles off-chain storage. Users can upload their data along with the necessary signatures and distribute the keys to recipients. The recipients, including non-Velora users, can retrieve and verify the data using the specified path and public keys. Alex mentions an optimization called “Staccato” that improves user experience by providing storage buckets for Velora users.
Alex concludes by discussing future possibilities, such as integrating with Wallet Connect to allow dApps to access users’ off-chain data in a permissioned manner. He emphasizes the importance of user experience and the potential for incorporating additional features like audits and permissions for dApps. Alex invites the audience to join the Celo community in exploring and discussing these ideas further.
The session concludes with a Q&A session. Alex addresses questions about revoking access to existing data and potential alternatives like Filecoin and IPFS. He emphasizes that revoking access can only prevent future readers but not erase data that has already been accessed. Alex also mentions that C Labs is hiring and encourages interested individuals to join the team.