Shielder-SDK
Apart from the Shielder contract that is deployed on-chain, there is a number of other components of the Shielding Infrastructure that must be all put together to make it work. The full discussion of technical details is included in Protocol Details however let us briefly discuss here the most important parts:
The ZK-SNARKs:
ZK-circuits: low-level algebraic representation of the account logic in the Shielder.
Verifier: this part is deployed on-chain and the Shielder contract interacts with it in order to verify ZK-proofs included as part of transactions.
Prover: run by the end-user to construct ZK-proofs, locally, on user's device.
Relayer network: user transaction in the shielder are put on chain by special actors called relayers to guarantee 100% unlinkability.
Viewing Keys: the user has access to special "viewing keys" which allows them to view all their past activity in shielder (while any other user can't see that). The user can also share this key with any other entity that they want to grant view access to their trace.
Shielder is integrated into user-facing applications via the Shielder-SDK (see Integration guides), a library (currently available in JavaScript) that allows developers to integrate Shielder without any background in ZK or knowledge of how Shielder works under the hood. The Shielder-SDK provides a clear programmatic interface to Shielder, enabling the development of privacy-enhanced apps and wallets.
Currently, the Shielder-SDK offers maximum flexibility to developers in how privacy is integrated into their wallet or dApp. However, we plan to introduce higher-level building blocks, allowing developers to opt in to ready-to-use components—potentially trading off some flexibility for ease of use.
Last updated