Hi i’m trying to know if i can identify a specific device when interact with smart contract. Like for exemple, i want to whitelist my smartphone to be able to validate transactions maybe by using my hardware id, or mac address or anything else. Can someone tells me if there is any mean to identify a device ?
2 Answers
No, this is not possible. The Ethereum protocol has no way of identifying what device was used to generate a transaction.
As a matter of fact, a user can sign a transaction on a mobile device and send the signed blob to a transaction relayer. The relayer would then share the transaction with the peer-to-peer network of Ethereum nodes, and pay the gas on behalf of the user.
I understand your goal, and it's interesting idea, but any of those "Hardware" data can somewhat easily be faked. And thus malicious actor could abuse your smartContract.
Instead, transactions on ETH are signed by individual users who have their own wallets/accounts. The best solution for you would be to have a whitelist (mapping) of address that are allowed to conduct specific actions.