Celo Tech Talks Part 14 - Plumo Ceremony

Introduction

Judy Piper, an engineering leader at C Labs, welcomes everyone to the Celo Tech Talks series. The series aims to share and spread Celo technology knowledge with the growing Celo community. The previous sessions covered various topics, including an introduction to Celo’s architecture, consensus mechanism, stability protocol, governance, privacy, SDK, and building decentralized applications on the Celo platform.

Plumo: A Snark-Based Light Client

This week’s session features Kobe, a crypto teams lead technical engineering lead at C Labs, who talks about Plumo and the upcoming Plumo ceremony. Plumo is an optimized light client in Celo that utilizes SNARKs (Succinct Non-Interactive Arguments of Knowledge) to create an ultra-light client. The focus of this session is on the setup process for Plumo, which involves a ceremony using a system called Sparrow.

Building a Proof-of-Stake Light Client

Kobe starts by explaining the concept of building a proof-of-stake light client. In proof-of-work networks like Bitcoin and Ethereum, the light client downloads block headers and verifies the proof of work. In Celo’s proof-of-stake network, the light client verifies signatures instead. Kobe explains that Celo performs elections of new validators every 17,280 blocks, which allows for significant savings in terms of data to be downloaded and verified.

The Role of SNARKs in Plumo

Plumo leverages SNARKs to compress many days of synchronization into a small proof. Celo uses the BLS signature scheme to aggregate signatures and obtain a single compact signature for each block. By utilizing SNARKs, Plumo enables efficient synchronization and verification of the validator sets without the need to download and verify all the blocks in between.

The Setup Process for Plumo

Kobe provides an overview of the setup process for Plumo. He explains the need for a setup or ceremony due to the specific proving system, Groth16, used in Celo. The setup ensures the security and integrity of the system. The setup involves multiple participants who contribute in parallel to generate a common random point, which is used to establish the validity of the cryptographic proofs.

Advantages and Trade-Offs of Setups

Kobe highlights the advantages of using setups, such as the efficiency and parallelizability of Groth16 SNARKs. He explains that even though there are alternative proving systems like STARKs, PLONKs, and Marlin, Celo still utilizes setups because of the specific benefits offered by Groth16. The setup process ensures the security and reliability of the cryptographic proofs generated by Plumo.

The Plumo Ceremony and Participation

The Plumo ceremony, which sets up the Plumo light client, is currently underway. It involves two steps: generating randomness and associating a Celo address with the contribution. Participants need to generate their addresses and later associate them with their contributions to establish honesty. The process ensures the integrity of the setup and builds trust among participants. The ceremony will span a few months, with ongoing audits to ensure the system’s security.

Conclusion and Upcoming Session

Kobe concludes his talk by emphasizing the importance of the Plumo ceremony and the ongoing audits to guarantee the integrity of the Plumo light client. He invites participants to join the upcoming session featuring James Prestwich, who will discuss cross-chain interoperability, an essential aspect of the evolving blockchain ecosystem. Participants are encouraged to ask questions during the Q&A session with Kobe.