29 January 2019 / Author: Mikhail Dobrokhvalov, Artiom Ignatyev, Gustav Friis / https://linkdrop.org
Linkdrop Protocol is an open protocol for including digital assets and onboarding properties into links, which enables users and DApps to send crypto without knowing the receivers Ethereum address in advance.
- Receiver
- Sender (User or DApp)
- Linkdrop Operator — server that calls the Linkdrop Smart-Contract
- Verifier — server that verifies user with one of verification methods (SMS, Email, Google Login, etc.)
- Wallet
- Sender shares claim link with the receiver;
- Receiver opens the link in the default browser (or mobile app if it’s a deep link);
- Web app served by Link Operator (LO) or DApp, redirects receiver to a wallet app of his choice that supports the protocol;
- Optional: if sender required a verification, then wallet asks verifier to verify receiver (Verifier is chosen by sender and is configured in the Linkdrop Contract);
- After receiver is verified Verifier provides his signature that receiver is verified;
- Wallet signs receivers Ethereum address by the transit private key and sends signatures (Verification Signature + Transit Signature + Linkdrop Signature) to the Linkdrop Operator;
- LO calls Linkdrop Contract and provides signatures to the Linkdrop Contract;
- Linkdrop Contract verifies signatures and if everything is correct transfer digital assets to the receiver.
DApp sending tokens (one-to-many linkdrop)
A DApp representative can use special Linkdrop Service (e.g. Volca) to generate claim links.
User to User (one-to-one linkdrop)
In order to transfer via link sender can use:
- Dedicated web-app (like Eth2.io);
- Built-in native wallet interface (wallet can setup it’s own LO or use public one).
- Native support for as much wallets as possible (will bring network effects);
- Set in incentives for Linkdrop Operators to bootstrap initial adoption of the protocol;
- A DApp that allows users to send digital assets via links (user-to-user linkdrops);
- Bootstrap community around the technology.
- Linkdrop Operator server implementation;
- Verifier server implementation;
- Linkdrop Smart-Contract;
- A DApp for sending and claiming user-to-user linkdrops;
- A service for deploying business-to-users linkdrops;
- Native wallet libraries (Java, Swift, React Native) for sending (user-to-user) and claiming linkdrops.
- Regular (External) Ethereum accounts support (like Eth2.io);
- Support: Ether, ERC20, ERC721;
- User-to-user linkdrops;
- Open-source implementation of a DApp that allows to send and claim one-to-one linkdrops.
- Dapp-to-user linkdrop support (like Volca);
- Open-source implementation of a service that allows to send and claim one-to-many linkdrops.
- Research and integration with Universal Logins and Meta Transactions;
- Libraries: React Native, iOS, Android;
- Example of Meta Tx implementation combined with linkdrops (like gasless-wallet.volca.tech).
- Research with Integration with upcoming scalability solutions: Plasma, State Channels, ETH 2.0, ZK-Snark rollups.