Crypto PoS
By CryptoPoS
Description
The Problem Crypto PoS Solves: There are QR-code-based services to speed up transactions, but sometimes scanning QR codes can be tricky. Taking inspiration from Web2 finance, I developed a contact-less-based crypto payment service. In this way, the data is shared using near-field communication (NFC). I implemented two different protocols: 1. Card emulation mode: this is the exact opposite of how a credit card works. In this case, the PoS will share the address, chain ID, and amount with the phone, which will then process the transaction. The PoS will then listen for on-chain transactions before confirming the payment (I'm using BlockScout's API for this) 2. Carrying around the phone can't always be convenient. Having just an NFC card to tap to pay is much more convenient (and battery-free). That's why I developed a smart contract that lets users fill up a balance and every time the card is tapped part of the balance will be moved from one account to the other. This smart contract is not secure. Since my NFC card is not a smartcard, I can't sign the transaction, so I'm basically sharing my private key with the PoS. The only way to make this smart contract secure is to develop a custom smartcard, but this is not easy since the technology is proprietary by NXP. To make tax declaration easier, I'm using DBForest to store all transactions and zkVerify to create a zero-knowledge-proof of the whole money transferred, this way I should just tell the government "I handled X money and this is the zk proof of my database containing all transactions". I currently support Optimism Sepolia, Ethereum Sepolia, Celo Alfajores, cUSD ERC20 (on Celo Alfajores), and Zircuit Testnet for making transactions. The PoS chooses which chain and price and the phone will automatically switch to the right network. In case I pay via Ethereum Sepolia, I will also display ENS information so that the PoS can be fully trusted (if I see the wrong ENS I know something has been compromised). Invoices can be created using Request Network.
Overview Video
Technologies Used
- zkVerify
- Request Network
- Docker
- NFC
- Ethereum
- Celo
- Web Sockets
- Optimism
- Zircuit
- DBForest
Built At
ETHWarsaw