Community Circles
A privacy layer for Unconditional Income using Community shields
About
The problem it solves Circles UBI has a local sybil resistance property, but it publicly exposes the trust graph among people. We specified and started an implementation with Noir to build community shielded contracts that hide the trust graph. Fungibility and sybil resistance in Circles is achieved through a "path transfer" over the trust connections of the graph. To ensure integrity while shielding the trust graph we needed to solve several problems, briefly highlighted in the github readme.
How it's made
Challenges we ran into Our shielded community contract required recursion within Aztec Noir, but we struggled with converting advanced types back into Field elements for the verification proof.