Gas Ticketing
Allowing users to get unfunded (no ETH) accounts funded through a private channel to a coordinator using blinded signatures to maintain user privacy.
Created on 10th June 2023
•
Gas Ticketing
Allowing users to get unfunded (no ETH) accounts funded through a private channel to a coordinator using blinded signatures to maintain user privacy.
The problem Gas Ticketing solves
When users receive some ERC-20 token (or any other asset other than ETH) to a new account they face the problem that the account has no ETH, so they cannot do anything with those funds. They could use a doxxed account to fund that unfunded account, but they lose their privacy. Next, they could funnel funds through Tornado Cash (or similar apps) to fund that account, but this comes with high gas costs. To maintain their privacy at the new account, users can use our "gas ticketing" concept, allowing them to buy a "ticket" (for a small amount of ETH) from a (doxxed) account A and redeem it to an account B that isn't doxxed. This is done without letting anyone (not even the coordinator) establish a connection between the ticket purchase (A) and redemption (B), so users effectively maintain their privacy. This is especially useful for users that receive a grant (e.g. in DAI) and want to use a fresh account for that, or users that employ stealth addresses (that also come with the problem of funding the recipient's account with ETH).
Similar to David Chaum's centralized e-cash, or Bitcoin CoinJoins, we use Blinded Signatures to achieve that property of not creating a link from the account purchasing the ticket to the one redeeming it.
We implement it in a CLI app and set up a coordinator using the Sepolia testnet, for showcasing our PoC.
Challenges we ran into
Implementing the cryptography required for Blinded Signatures in Python (CLI) and Go (coordinator).
Tracks Applied (2)
Ethereum Future
Community, Activism & Accessibility
Technologies used
