IOTAlias aims to solve one of the problems that IOTA has as a result of its quantum resitant condition and the use of Winternitz one time signature scheme: the non-reusable addresses. If you have been around for a while using the GUI Wallet, you probably had issues at some point and got a warning saying that you were trying to reuse keys.
This has not been overlooked by the IF and the developers from the community, that contributed to find ways around this situation, an example of which is Trinity or the more recent IXI Hub for Exchanges.
However, this limitation with the addresses is still unfriendly for donations/regular payment scenarios in which you would need to update the addresses you provide to customers everytime you spend its balances. This could change.
Let’s meet Raul Paiste, one of the minds behind this project that promises to make IOTA a grandmother-proof system, as he will explain later.
Writer and editor, IOTA Hispano
If you like what we're doing, help us move forward! Donations: https://iotahispano.com/donate/
Tell us a bit about your background
My first job at age 16 was a software developer for an Internet Service provider. I wrote dial-back scripts for network devices and even the first real estate search engine in the country. At age 17 my bosses realised that I am good in sales and I ended up being a 18 year old Seles Director for the ISP. At this point my life steered away from software development, but whatever I was doing I was always close to technology and overseeing software development projects.
Few years later while I was working in the gambling industry I had a chance to lead the building of the first online casino and the community in the region and 2010 lead the development of an online lending platform. Finally 2013 I ended up as the CEO of publicly listed banking company in Australia. These were great times and taught me to see things from the high level, but I never stopped being fascinated by coding. When my baby girl was born I decided to give up the corporate life, taught myself app development and have been focusing on my own businesses full time.
What’s the story behind your approach to DLTs? When did you discover them?
I’m one of these “poor bastards” who was looking into Bitcoin early 2009, when a friend of mine was considering buying a mining rig, but didn’t take this too seriously. I remember how I actually went to the website and thought I will buy 50 BTC just for fun for something like 5€ but the payment provider did not accept my card (guess it was debit) and I just moved on.
After that I was following to commotion in the background until 2017 when I cursed myself about 2009 and bought my first Bitcoins at around $2000. This is also when I started doing some in depth research on the DLTs and was wowed by the elegance of the concept. Yet I felt that this is only going to work short term on a small scale and couldn’t be a global solution for 7.5B people.
When did you find out about IOTA and what were your first thoughts?
I remember listening to the 10 hour long 2017 Bitcoin Conference video on Youtube. At this point I had not paid any attention to any alternative DLT-s yet. I casually scrolled down and below the video was the first short comment “Was there anything about IOTA in there?”. This was ultimately the defining moment for me.
I thought “It’s a 10 hour long video about Bitcoin and all this guy wants to know is, weather there is something about IOTA there. What the hell is IOTA?”. It took me about an hour to read the whitepaper and look at some Youtube videos and boom I was an immediate fanboy. You know the feeling you get when some moment in your life is of high importance. That was this moment!
I knew there and then that this IS the future and it’s much more than just “currency”, it’s a whole new paradigm. The future of the “internet” if you like. Containing the transaction confirmation into a fixed scope regardless of the network size ( = scalability) is the key as well as and all the actors carrying out all the roles of the network ( = no fees). Same day I went opened Bitfinex account and converted all my Bitcoin to IOTA, started Facebook group and Youtube channel called IOTA Revolution and invited all my friends along for the ride.
Tell us about the genesys of IOTAlias, how did the project start?
Like many other people new to IOTA I got in trouble when transfering my iotas from the Exchange to Light wallet. First I made a withdrawal from the Exchange to the IOTA address I had used before. Since the funds took long time to arrive from Exchange I had moved the full balance to new seed and a day later the new iotas reached my old wallet and I was unable to move them.
I didn’t understand the problem and struggled with it for days, wrote in Slack and all possible forums, Github etc with no help. Until I met Eric who was the admin of the biggest IOTA Facebook group. He was the only person who actually understood what the problem was and was able to explain and solve it for me in 5 minutes. Essentially Light wallet “protects” user from double spending from an address and because I had sent iotas to same address as previous time the address was now “locked”.
This was the beginning of our friendship with Eric. We soon realised that we have a lot in common in terms of being fans of UX and ultra easy to use software interfaces. We called it “grandma proof”, referring to the most difficult audience – grandmas, who would be able to use it. We were closely following the UCL / Trinity wallet development, but from what we saw in our communities and what was planned in Trinity we felt this was not enough to cater for an AVERAGE user. The online seed generators and tens of other scandals just further strengthened this notion.
One day I proposed Eric to make our own ultra UX granma proof IOTA Wallet. On top of being a developer I am also pretty good at UX and UI and Eric is a top level developer, so we thought we could do it. We started drawing out the app and developing it and were already doing huge headways in terms of usability, but we soon realised that we need to solve some underlying problems first.
We knew from the start that we want to use human readable permanent aliases instead of 90 character addresses so the recipient would not need to communicate their new address every single time. But we didn’t have a solution yet. Yes, we could keep the aliases and bunch of pre-generated addresses on a Firebase server, but this would make it centralised and vulnerable to attacks. We paused the wallet development to find a perfect decentralised solution that we could build open source libraries for. Our objective was for this solution to become a standard in IOTA community allowing to make all IOTA human interfaces (including exchanges and other wallets) as easy to use as possible.
How can IOTAlias solve the problems on donations in IOTA?
IOTA addresses are disposable in nature. This means you can only send money out from an address once and many cases receive money there only once as well. Each time you spend from an IOTA address you disclose small random portion of the private key and if you do that 2 or more times the private key becomes susceptible to brute force attacks and your funds can be stolen. Wallets protect the user against this double spending by restricting the transactions and this is why the recipient of the funds always needs to share a new address with the sender to avoid “funds getting stuck” like i did in the early days.
Sending new address to my boss each week for salary is not a good user experience for both me or my boss. But it is outright impossible for donations where I publish the address where tens of thousands of people could be making payments at any time. They could even store it in their wallets so even changing the address on my website would not solve the problem. It would not be possible for me to give separate address to everybody and if I want to spend even one iota from the donations all the future funds would get locked up.
The only solution to this problem is creating a layer of permanent aliases that refer payment to the right “fresh” IOTA addresses. To do this decentralised on the Tangle however is not that easy because all you have to work with is the same disposable addresses. Since you can’t send iotas to an address multiple times the address has to be used more as an “information gateway” rather than value store. Plus there are Snapshots that on a regular basis clear all the previous transactions. As you can see, this was quite a hard nut to crack, but we did not give up.
After 3 months of back and forth we came up with a 3 part solution that consists of Aliases, Cheques and Deep links all working together decentralised and natively on the Tangle without any servers or changes to IRI required and provide the functionality we need to create grandma proof UX IOTA interfaces.
Instead of sending iotas directly to recipient the sender wallet will instead move them to their own special address and send a 0 value transaction to recipient containing asymmetrically encrypted private keys to the funds that only the recipient can open with their alias private key. This transaction is what we call an “IOTA cheque” due to its similar nature to the traditional cheques. Recipient wallet software will keep an eye on their alias addresses and once a new cheque arrives it moves to funds to its next available address. This all is done automatically behind the scenes by the open source libraries we will build. A completely seamless process for the user who just makes a payment and sees the funds come into their account.
What other case of use could this project have?
IOTAlias opens up hundreds of other user friendly use cases like sending iotas to people who are completely new to IOTA and don’t even have a seed / wallet yet. You can literally send 1000 iotas to all your Facebook friends, over e-mail or even print out physical IOTA cheque that you can give someone as a gift.
Deep linking protocol also makes it possible to create a one click PayPal express checkout like eCommerce experience that is super easy to integrate to any online shop. This will be our next project after the libraries and the wallet are production ready.
What is the status of the project right now? Are we close to have a beta release?
The libraries are at the end of specification phase now, so whenever we get a green light from IOTA Foundation it will take 3-4 month until the open source libraries and documentation will be made available for the community.
Our own wallet we already have a working UI and most of the onboarding, we paused just on the right time so we would not need to rewrite much and can pick up straight where we left off once IOTAlias libraries are finished.
Eric Hop is a project collaborator. He’s the guy behind Qubic. Is there any implementation of this in IOTAlias, or could there be?
We started the IOTAlias project before Eric got offered a job in IOTA Foundation and we didn’t know much about Q back then. Now of course things have changed, but Eric remains an advisor for the project and if we would see some benefits of integrating Qubics into the project we will definitely do that.
If you like what we're doing, help us move forward! Donations: https://iotahispano.com/donate/