Applications and systems other than Mina rely on public execution and require some form of public state to function properly.
This public execution presents a challenge because sensitive data must be made public to participate in these systems. For example, an auctioneer might choose a bid that benefits them the most, and a tally sequencer could attempt to influence the remaining voters based on the current progress of the tally. Ideally, such systems are private and anonymous, and maintain their integrity at all times, especially when operating on sensitive public data. To address this issue, homomorphic encryption, and zero-knowledge proofs can be used. These technologies allow the computation and manipulation of data without revealing its contents, thus ensuring privacy and integrity in applications that rely on the public state.
Luckily, the SnarkyJS ecosystem can be easily extended to allow for a wide range of libraries, tools, and new cryptographic primitives such as homomorphic encryption.