Split Me Up — The digital way to backup your seed Phrases

Pranav singhal
Aug 31, 2018 · 4 min read

The idea is to digitally backup your seed phrase — the string of words you use to login to your crypto wallet. In one sentence, here is what ‘Split Me Up’ does. It takes your seed phrase, encrypts it with a password, passes it through ‘Shamir’s Secret Sharing Algorithm’ — or Shamirizes it( as I like to call it), and distributes the pieces thus generated over a network of anonymous users. These users are connected to the network through a telegram bot.


Before I go into what ‘Split Me Up’ is, let me explain why it is.

It seems a little absurd to me that while we are trying to replace physical money with a digital, more secure mode of payment via crypto currencies, we still rely on pen and paper to backup seed phrases that we use to access our crypto-wallets. It is a massive roadblock — not only for people using ethereum right now, but also for new users to join the crypto-movement( because that’s what it is, it’s a movement!).

So what we wanted to do was come up with a trustless method to backup your seed phrase that would not need you to write it on a piece of paper.

The idea was conceived at EthIndia — which was a community hackathon organised by the Ethereum Foundation.

Me and my 2 amigos(Harshit Singhal & Arvind Kalra) were inspired by NuCypher’s usage of ‘Shamir’s Secret Sharing Algorithm’(you can learn more about it here; it’s very interesting maths) and Gnosis multi-signature wallet.


How It works

So The platform has three parts —

  • The first part handles how the user securely backups his/her seed phrase on the network
  • The second handles how he/she securely recovers his/her seed phrase
  • The third part manages the network of anonymous users who are storing the pieces of these seed phrases

(I promise to come up with better names for these parts in the future, but for now, please forgive my lack of creativity.)

The First Part

You login using a username and password(The password isn’t saved anywhere so please don’t forget it). Then you enter in your seed phrase. We encrypt the seed phrase using the password, Shamirize it and send the pieces to a network of telegram users who are anonymous to each other. The service isn’t free though. You pay a fee in two parts; one part is a security and the other is a reward — what these are for will become clear in a minute.

The Second Part

To recover your key, you login again using your username. We send a request to the network of peers to send pieces of your key back to you. Once you receive your pieces, you combine them using Shamir’s algorithm. Then, using your password, you decrypt it to recover your seed phrase. Once you confirm that you have received the correct seed phrase, you get your security back( which was the first part of the fees you submitted). After that, we reward the peers on the network who responded to the request. This comes from the second part of the fees you had submitted.

The Third Part

As for the third part, it manages the network of peers. To become a peer, you connect to our telegram bot( you will need an ethereum account to do so). Once connected, you will start receiving two kinds of messages; the first kind would be pieces of users’ seed phrases, and the second kind would be ‘request messages’ asking you to reply with the correct piece. If you respond successfully and quickly, you will receive a reward for your work.


Putting It all Together:

Right now, we are using a simple web-interface, linked using a node-express server to our network of telegram users. The link to the GitHub repo is here, and a working beta of the app is here.

The app is currently deployed on the Kovan testnet. You will need to visit the faucet to try the app out. Visit this link, and send your account number in the message channel to receive Dai required for the app.

We are currently using Dai( learn more about it here) as the ERC20 token of choice in the hopes that a cryptocurrency that promises a stable price in dollars will attract more users to the platform.

A look into the future…

The platform is currently in beta, but in the future, we plan to move from a telegram bot to our own custom app. This would allow us to move to a subscription based reward system where we wouldn’t need members to respond to our ‘request messages’ themselves. Instead, we will ask them to rent us a part of their mobile device’s RAM and storage. Based on that, we will pay them on a monthly basis for the same.

As the network of our peers grows, we will keep modifying the parameters of our implementation of Shamir’s algorithm to avoid potential collusion between nodes. For now, we are dependant on the password. It is the last stand against nodes colluding to steal a user’s key.

Feedback

I hope that you liked the platform and had a chance to try it out.
We would love to hear from you. So leave us a message on twitter to let us know how we can make the platform better.

Here are our twitter handles…

Pranav Singhal

Arvind Kalra

Harshit Singhal

SplitMeUp

A trustless digital way to backup private keys for crypto wallets

Pranav singhal

Written by

I am Pranav Singhal, first of my name, developer of web-apps, player of guitar, student of physics. Ask me about blockchain. Need coffee to function

SplitMeUp

SplitMeUp

A trustless digital way to backup private keys for crypto wallets

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade