A few months back, we released Client-Side Raindrop (hereto “Raindrop”) on the Hydrogen API, an authentication scheme that leverages several of the major security guarantees provided by the Ethereum blockchain.

Raindrop combines the robustness of a public-key crypto system with an immutable on-chain identity protocol to provide off-chain authentication in an incontestable manner. Since the initial Raindrop release, we have continued to pose questions and look at novel applications for our authentication solution.

How It Works

Although Raindrop inherits many of its security properties from the blockchain, the authentication process itself occurs almost entirely off-chain. The off-chain nature of Raindrop authentication makes it immediately useful for many existing centralized portals and applications, but extensibility, to on-chain applications, is a bit more tricky. Since there is no native mechanism for porting off-chain data onto the blockchain, using Raindrop to enhance the security of dApp security was difficult, but we were determined to find a solution.

Thankfully, projects like Chainlink exist, a company that we announced a partnership with in November.

What is Chainlink?

Chainlink is a decentralized oracle platform built on Ethereum. The Chainlink team has built a system of smart contracts and middleware that seamlessly connects the blockchain to off-chain data sources.

With Chainlink, off-chain information can be routed onto the Ethereum blockchain in a secure, efficient, and decentralized manner. Through our Chainlink integration, developers can now seamlessly embed our off-chain Raindrop authentication solution directly within their decentralized application infrastructure.

P2P Wallet Implementation

For our first application, our awesome blockchain intern, Matt, developed a HYDRO wallet protected with Raindrop for multi-factor authentication. This will allow the Hydro Open-Source Community to create a P2P application, like Venmo, with blockchain based identity and validation.

Currently, there are two prominent wallet solutions available on Ethereum:

(1) There is your typical Ethereum address. Storing funds here leaves you exposed to phishing attacks. If your tokens are stored in your Ethereum address, and someone manages to steal your private key, they will have uninhibited access to your funds. That is very bad!

(2) An alternative solution is to set up a multi-sig wallet. Multi-sig wallets are smart contracts that require explicit authorization from several Ethereum addresses in order to execute a transaction. Multi-sigs are arguably safer, but they complicate user experience significantly, by forcing you to manage multiple keys at once. Multi-sig wallets also introduce additional existential risks in the form of key loss. If you ever lose access to some of your keys, your funds are most likely irretrievable.

Implications

Our Raindrop-Chainlink wallet provides a novel middle-ground between key management, user experience, and fund security.

Our wallet allows users to securely make HYDRO withdrawals up to a daily limit that you set. Transactions exceeding the daily limit trigger Raindrop authentication before execution. What that means is, in order to send large transactions, you need to provide a signature from the Hydrogen mobile app.

The Raindrop-Chainlink wallet seamlessly integrates with an existing ERC-1484 identity, the aggregate identity standard created by Hydrogen engineers last year. From any of your associated ERC-14848 addresses, you have the ability to initialize new wallets, make deposits, and request withdrawal requests.

The Hydro Blockchain team will soon be adding this dApp to their marketplace, with many new features and design elements, so the entire world can feel the power of secure P2P payments! We can’t wait to see where they take this project going forward!