Stealth adress implemetnation using FHE , to securily generate and store wallet on the fhe evm and make confidential transactions between 2 parties
Nocto is a cutting-edge DApp that allows users to generate and securely store stealth addresses on Fhenix, ensuring privacy and confidentiality in Ethereum transactions , a seed for generating the stealth address is generated by the Dapp and stored on Fheniw. With Nocto, a sender can transfer ETH to a receiver, which generates a unique redeem code. The sender then provides this code to the receiver, allowing them to securely reclaim the ETH.
To maintain transaction confidentiality, Nocto leverages the non-deterministic nature of Fully Homomorphic Encryption (FHE). This means that even when the same redeem code is used by both the sender and receiver, the transactions cannot be linked. To further prevent linking based on transaction amounts, Nocto standardizes the amount of ETH sent by all users, functioning like a mixer. The app can be modified / adapted to support the following use cases :
Future Improvements:
This project is built on the Fhenix blockchain, utilizing their FHE (Fully Homomorphic Encryption) library to code smart contracts and securely store encrypted inputs within the contracts. The frontend is developed using React and Tailwind CSS, with Fhenix.js employed for data encryption and permit generation.
A key innovation of this DApp is its ability to leverage the non-deterministic nature of encryption, effectively breaking the link between the sender and receiver, ensuring transaction confidentiality. This project was initially created as a proof of concept and is intended to evolve, potentially incorporating zk proofs and additional security enhancements.
Fhenix documentation warns against using decryption within smart contracts, as it may compromise privacy. To mitigate this, two solutions are proposed:
1-Utilizing zk proofs instead of redeem codes. 2-Running this DApp within a Layer 3 on top of Fhenix, which ensures threshold encryption is always maintained, prevents live memory access on the node, and avoids network issues