project screenshot 1
project screenshot 2
project screenshot 3

FVoice AUTH

Currently, biometric authentication primarily uses facial recognition and fingerprint recognition. We can now utilize user voice authentication for encryption and store it on the blockchain, allowing direct login to the wallet for on-chain operations.

FVoice AUTH

Created At

ETHGlobal Brussels

Project Description

  1. Registration User Registers: User begins the registration process on the application. Record Voice: The application prompts the user to record their voice. Extract Voiceprint: The recorded voice is processed to extract a voiceprint. Store Voiceprint on IPFS: The extracted voiceprint is stored on IPFS, and an IPFS hash is generated. Store IPFS Hash on Blockchain: The application requests the user to confirm a transaction using their wallet (e.g., MetaMask) to store the IPFS hash on the blockchain.
  2. Login User Logs In: User initiates the login process on the application. Record Voice: The application prompts the user to record their voice. Get Stored Voiceprint IPFS Hash from Blockchain: The application retrieves the IPFS hash of the registered voiceprint from the blockchain. Download Stored Voiceprint from IPFS: Using the IPFS hash, the application downloads the registered voiceprint from IPFS. Extract and Compare Voiceprints: The recorded voiceprint from the login process is extracted and compared with the downloaded registered voiceprint. Compare Voiceprints: If the voiceprints match (within a defined threshold): Success: The user is authenticated, and the wallet login QR code is displayed or scanned. If the voiceprints do not match: Failure: The user is rejected, and an appropriate message is displayed. Implementation Steps

How it's Made

  • Frontend (React) Record Voice: Use the VoiceRecorder component to record the voice. Upload to IPFS and Store Hash on Blockchain: Prompt the user to confirm the transaction using MetaMask to store the IPFS hash on the blockchain during registration. Retrieve Hash and Compare: During login, retrieve the IPFS hash from the blockchain and compare the recorded voiceprint with the stored voiceprint.
  • Backend (Django) Extract Voiceprint: Process the recorded voice to extract the voiceprint. Handle IPFS and Blockchain Interaction: Handle storing and retrieving the IPFS hash and voiceprints, and perform the comparison.
background image mobile

Join the mailing list

Get the latest news and updates