Project Name: HandShake - more secure and reliable way of token transfers, Ensured by Mutual Consent
Project Track: Defi
Team Name: HandShakers
Team Member(s): 2 @nicolas @MirandaKing
Devpost Project Link: Devpost Link
Project Goal: The main goal of the HandShake Protocol is to make token transfers especially safe and secure, no matter how big the transaction. Before any tokens are moved, both the sender and the recipient have a chance to double-check and agree on all the details. This step is like a mutual thumbs-up — it ensures that everyone’s on the same page, and it prevents mistakes like sending tokens to the wrong place or to an inactive account.
With HandShake, you can relax knowing that every transaction is double-confirmed. It’s perfect for when there’s a lot at stake and you need that extra layer of security. Just a simple and secure way to handle big token transfers without any hassle.
Project Value: Why HandShake Protocol Stands Out:
- Peace of Mind with Double Confirmation: The HandShake Protocol isn’t just about sending tokens—it’s about sending them the right way. Before any tokens change hands, both the sender and the recipient check and agree to the details. This double confirmation process means you can always be sure that your tokens are going exactly where they should, reducing errors and enhancing security.
- Flexibility in Gas Payments: One of the biggest hassles with traditional token transfers is the gas fee—especially if you don’t have enough in your wallet at the right time. HandShake changes the game by allowing the gas fee to be paid by the sender, the recipient, or even a third party. This flexibility means that transactions can go through smoothly, no matter who is footing the bill.
- Ideal for Both Big and Small Transfers: Whether you’re dealing with a huge number of tokens or just a few, HandShake makes the process straightforward and secure. It’s designed to handle transactions of any size with the same level of care and precision, ensuring that everyone, from individual users to large organizations, can benefit.
- Boosting Transaction Security: In the world of digital tokens, security can’t be taken for granted. HandShake boosts your transaction security by requiring active participation and verification from both parties involved. This not only prevents funds from landing in the wrong hands but also confirms that the recipient’s account is active and ready to receive, which is crucial for maintaining trust and reliability in digital transactions.
- Enhancing Trust in DeFi: By ensuring that all transactions are mutually verified and agreed upon before they are executed, HandShake builds a stronger foundation of trust in decentralized finance (DeFi). This trust is essential for the growth and widespread adoption of DeFi platforms and services.
The HandShake Protocol adds immense value by addressing key pain points in the token transfer process, making it safer, more flexible, and more reliable for users everywhere. This approach not only enhances user experience but also fosters a more trustworthy and secure ecosystem for digital transactions.
Project Info -
HandShake Protocol leverages the EIP-712 standard, which allows users to see clearly structured data when signing transactions. This clarity ensures that all parties understand exactly what they are agreeing to, enhancing trust and security in decentralized transactions.
Project Website:
Project Test Instructions:
Step 1: Visit the Site and Connect Your Wallet
- Open your preferred web browser.
- Enter the URL of the project site to navigate to the homepage.
- Locate and click on the “Connect Wallet” button. This is typically found in the top right corner of the webpage.
- Select your wallet provider (e.g., MetaMask) from the list.
- Follow the prompts to authorize the website to access your wallet. Ensure that the connection is secure.
Step 2: Access the Dashboard
- Once your wallet is connected, click on the “Dashboard” link, usually located in the website’s main navigation menu or homepage.
- On the Dashboard, you will see an overview of all transactions associated with your connected wallet.
Step 3: Initiate a Transaction
- Locate and click on the “Initiate Transaction” button on the right side of the dashboard.
- A form will appear asking for transaction details. Fill in the necessary fields such as amount, recipient address, and any relevant notes.
- Review the details and confirm the transaction. This action will trigger MetaMask to display the transaction for approval, showcasing the EIP-712 formatted message.
- Approve the transaction in your wallet to proceed.
Step 4: Review and Sign the Transaction
- Navigate to the “Received” tab in the dashboard.
- Here, you can choose to sign the transaction yourself or select a different wallet address for signing. To test both functionalities:
- First, try signing with your own wallet by clicking the “Sign” button.
- or, switch to a different wallet (this may require disconnecting and reconnecting with a new wallet), and try signing the transaction from there.
Step 5: Verify the Signed Transaction
- Go to the “Payments” tab where you can see all transactions waiting for final approval.
- Locate the transaction you have been working on. It should now show as being signed by both parties.
- Click on the “Proceed” button to finalize the transaction.
Step 6: Confirm Transaction Success
- After clicking “Proceed”, your transaction should be processed. A confirmation message or transaction receipt will be displayed.
- Verify the transaction details in your wallet and on the blockchain to ensure everything matches and that the transaction is successfully recorded.
Project Details:
handshake_pitchdesk.pdf (830.0 KB)
HandShake Protocol: How It Works and Innovates
Initiation by Signature:
HandShake Protocol begins with the sender initiating the transaction. Instead of immediately triggering a transfer and incurring gas fees, the sender signs a digital proposal using their private key. This signature effectively states their intent to send a certain amount of tokens to a specified recipient.
Recipient’s Consent:
Upon receiving the notification of the proposed transfer, the recipient reviews the details carefully. If they agree to the terms, they too provide their signature as a form of acceptance. This dual-signature approach ensures both parties are fully informed and consenting before any tokens are moved.
Using EIP-712 for Enhanced Security and Clarity:
A standout feature of HandShake Protocol is its integration of EIP-712, a standard for typed structured data hashing and signing within Ethereum. EIP-712 allows the data involved in these transactions to be structured clearly and securely, which is particularly beneficial in a protocol like HandShake. When users are prompted to sign a transaction, EIP-712 ensures that what they see is not just a confusing hash but a readable, structured summary of the transaction details. This clarity helps prevent mistakes, enhances user understanding, and builds confidence in the safety of the transaction process.
Completion and Gas Fee Flexibility:
Once both signatures are collected, the sender can proceed to finalize the transaction. This step involves the actual transfer of tokens, which now can be done knowing both parties have agreed to the terms. HandShake Protocol also offers flexibility regarding who pays the gas fee—be it the sender, the recipient, or another party. This feature is particularly useful in scenarios where the original sender may not have sufficient funds for the gas fee at the moment of the transaction.
On-Chain Verification:
All signatures and consents are verified directly on the blockchain, providing a secure and tamper-proof system. This verification ensures that all parties are legitimately agreeing to the transaction, which is crucial for maintaining integrity and trust in the transfer process.
Why EIP-712 Matters Here:
Leveraging EIP-712 significantly enhances the user experience by making what you are signing clear and understandable. For a process that relies heavily on mutual consent and understanding, such as in HandShake Protocol, having a transparent and straightforward method of displaying transaction details is invaluable. This use of EIP-712 not only aids in user comprehension but also plays a critical role in security by reducing the risk of fraudulent or mistaken transactions.
By leveraging advanced features like EIP-712, HandShake Protocol not only modernizes token transfers but also addresses key issues of security, consent, and flexibility, making digital transactions more reliable and user-friendly.
Smart Contract links:
Project Milestones
Milestone 1: Development Initiation
Date: 15/04/2024 to 21/04/2024
Tasks: Setting up development environment, initial smart contract creation.
Milestone 2: Implementation of Core Features
Date: 22/04/2024 to 30/04/2024
Tasks: Implementing EIP-712 structured data, recipient notification system, and signature verification.
Creating front-end structure for user-Interaction
Designing front-end.
Milestone 3: Testing and Refinement
Date: 30/04/2024 to 05/05/2024
Tasks: Deploying to testnet, conducting thorough testing, user feedback integration, and final adjustments.
Final Milestone (Mainnet)
Date : 01/06/2024 to 21/06/2024
Tasks
1.Enhancing The UI of the site making the code structure proper in the backend.
2. Fixing bugs and adding more user experience
3. Adding nonce in smart contract to prevent double spent
4. thorough testing of the site
5. deploying smart contract on Mainnet
6… hosting mainnet site
Deployed mainnet Contract Link: HandshakeTokenTransfer | Address 0x184e1b0b544Da324e2D37Bb713b9D0c16c9eF671 | BTTCScan
Platform Link: https://handshake-mainnet.vercel.app/
Future Goal :
Post-hackathon, we aim to integrate HandShake Protocol with major DeFi platforms, expand the range of supported tokens, and explore additional use cases in commercial transactions and cross-chain operations to enhance its accessibility and utility.
Note : We have decided to make something else cause realised the previous entry BTForge which was in Integration category wasn’t bringing any plus value.