Project Name : Cloak by Team Cloak - Anonymous and Quick transactions in Tron
Project Track : Builder
Team Name : Team Cloak
Project Video : https://youtu.be/ax0E7eck1Fc
Team Member(s) : @maaz
HackerEarth Project Link :HackerEarth
Project Goal : Providing on-chain privacy and simplicity to tron users .
Project Value : Cloak brings a new standard to blockchain, where privacy meets simplicity, providing users with confidence and peace of mind in their financial interactions.Cloak brings real value to Tron by taking privacy and security to the next level. By generating unique addresses for each transaction and allowing funds to be received through a Cloak address without sharing the wallet address, Cloak enhances the confidentiality of financial activities on the Tron blockchain
Project Website : https://cloak-tron.netlify.app/
Project Details:
Welcome to cloak, a revolutionary privacy-centric solution designed to empower users with privacy in financial transactions. Cloak introduces a paradigm shift in financial transactions by allowing users to receive funds in unique stealth addresses without disclosing their personal wallet address with anyone, ensuring the level of privacy and security. cloak works in a very cheap and user friendly atmosphere .
Cloak uses a one-time public key mechanism to generate new address for each transaction, keeping your financial information private and secure. Cloak is a valuable tool for anyone who values privacy and security in their financial transactions.
Github : Github Url
Problem Statement:
In traditional blockchain transactions, reliance on a single wallet address
poses a significant risk to user privacy. For example, well-known addresses
like ’ vitalik.eth ’ expose transaction histories, potentially allowing the
tracking of financial activities. Cloak addresses this issue by eliminating
the need to share any wallet address to receive funds and allow the user to
receive funds in fresh stealth address each time which has no financial
history before.
What’s difference between Cloak and other wallets?
Cloak stands out by prioritizing your privacy. Unlike regular wallets where sharing your address can reveal a lot about your transactions history, Cloak changes the game. Instead of sharing your real wallet address, you provide a Cloak address (a special base58 encrypted key that keeps things private (Not bound to any blockchain address). When you share this key with someone sending you funds, they perform some fancy math stuff. The result? A brand-new stealth address is created for each transaction.
Even the sender can’t figure out your real wallet address because you only share your Cloak address with him and a fresh new address is generated every time he sends funds through your cloak address. Only the owner of the Cloak address, the one holding the DRM key (i.e the private key of Cloak address), has control over this generated address. While the remaining world along with the sender is left wondering about your actual wallet address—it’s like a secret that keeps changing. Cloak makes privacy simple and clever.
Project Test Instructions:
Step 1 : Generate a key pair of cloak address and DRMkey and save it.
Step 2 : Share your cloak address with sender and ask him to send you some trx . The sender sends the funds through your cloak address to an unknown stealth wallet address that only you (the person holding DRM key) of respective cloak address can control!
Note: Never reveal DRM (Dont Reveal Me ) key.
Step 3 : Paste your DRM key file and click on scan you will see the list of stealth addresses that are created with the help of you cloak address . Copy the private key of stealth addresses or save it.
Step 4 : Optional : Securely Withdraw funds to your another address i.e (Exchange address ) by clicking or filling on following icons .
Project Milestones:
We are conducting extensive research to identify the most efficient mechanism for relayers to cover transaction fees during withdrawals. In this system, users would prepay relayers and receive a unique proof. When they later withdraw funds, they can present this proof to the relayers to demonstrate that they have adequate deposits or staked assets to cover the fees or energy costs.
Furthermore, we are exploring the option of incorporating paymasters, allowing users to pay fees using TRC20 tokens. However, we recognize that this approach may present challenges when withdrawing TRC721s.
We are committed to finding the optimal solution for our users and will keep you updated on our progress. Please stay tuned for further developments.
Whats updates have been done for cloak.
1.Simplified the retrieval of public keys from the contract directory in conjunction with Firebase database…
2.Improved user-experience and performance.
3.Added guide section .
4.Added withdraw feature to withdraw funds to another account or exchange quickly , without interacting with any tron wallet .
5.Upgraded design .
6.Several bug fixes and improvements in contract
What’s Next ? Milestones:
1.To add a relayers setup who would pay fee on behalf of user while withdrawing TRc20 and 721.
2.Marketing of cloak.
3.Release docs!.
4.Security audits.
Logic Behind Cloak:
Step 1: Key Generation
The users generate a keyPair of public and private key
Cloak Address :
- Users generate a one-time, base58 encoded Cloak Address. This address is not bound to any blockchain address.
DRM Key:
- A corresponding DRM Key is generated on demand.
- The user securely stores the drm Key as it serves as the private key for the cloak address
Step 2: Stealth Address Creation
Sender’s Role:
-
An ephemeral public key is generated, using random private numbers.
-
Then the random private numbers is computed with the recipient’s cloak address
to generate a unique stealth address. -
They also compute a shared secret of 2 bytes in length (with the help of
random numbers and receiver’s cloak address) and concatenate it with their
ephemeral public key
Public key= 2 bytes secret + Ephemeral public key
Public Key Publication:
The sender publishes the generated public key in a designated log directory on
the blockchain.
Step 3: Receiver’s Verification*
Log Scanning:
-
The recipient periodically scans the log directory for new public keys.
-
For each new key, calculations are performed using the drm Key and
sender’s public key to compute the 2 bytes shared secret. -
If the bytes prefixed with public key (i.e. first 2 bytes of
public key) matched with receiver’s computed bytes that means the public key
belongs to receiver -
He can now compute the private key of that stealth address generated
through his cloak address.
Step 4: Withdrawal of funds
Funds withdrawing:
-
Now it’s up to receiver he can save the private key of that stealth
address or he can withdraw the funds to any wallet address. -
Immediate withdrawal of funds to personal address can lead to expose his
identity but it also provides little privacy by breaking the link between
sender and receiver .
Smart contracts : contract
Summary :
Cloak makes it super easy to get funds on tron blockchain – just share your Cloak address, no need for your wallet address! With Cloak, your transactions are super private and safe. You don’t have to give out your real wallet address anymore. Cloak keeps your info secret, making it simple and secure to receive funds. Try Cloak for a new way to keep your money matters private and hassle-free!