How do you give people the ability to purchase a new kind of cryptocurrency with Bitcoin in a completely decentralized way? This was the first question we faced when creating the Ultranet, a decentralized private marketplace where all transactions are end-to-end encrypted, and all data is preserved as long as a single node in the world is running the software. The problem was that all buyers wanted to use a familiar currency, Bitcoin, but the marketplace required a new kind of cryptocurrency, Ultra, to function properly. Thus we needed to invent a completely decentralized way to allow someone to convert Bitcoin into Ultra which we describe in this post. Note, however, that this problem is not exclusive to the Ultranet; most crypto projects can benefit from this breakthrough and allow their users to purchase their native cryptocurrencies with Bitcoin as well, before they’re ever listed on a centralized exchange.
How it Works
The key insight driving this mechanism was the fact that a public/private key pair on the Ultranet can double as a public/private key pair on the Bitcoin network. Once we realized this, we could design the Ultranet in such a way that certain Bitcoin transactions, which we call “burn” transactions, could automatically grant Ultra to the corresponding public key on the Ultranet. The end result is a process that runs behind-the-scenes on the Ultranet app that works as follows:
- User creates an account, which generates a public/private key pair. Let’s call these keys PrivA and PubA. Remember that PrivA and PubA represent both an Ultranet key pair and a Bitcoin key pair at the same time.
- User is asked to send Bitcoin to PubA by broadcasting a transaction on the Bitcoin blockchain.
- The Ultranet app notices that PubA now has some Bitcoin associated with it.
- The Ultranet app allows the user to send the Bitcoin stored in PubA to a special “burn address,” which all Ultranet nodes are aware of.
- Whenever Bitcoin is sent from a public key, in this case PubA, to the designated burn address, all Ultranet nodes allow a new Ultranet transaction granting Ultra to PubA to be mined on the Ultranet.
- How much Ultra to grant to PubA on the Ultranet is determined automatically based on how much Bitcoin PubA burned on the Bitcoin blockchain, and a price curve baked into the Ultranet protocol.
- Once the new Ultranet transaction is mined into the Ultranet blockchain, the user can spend the newly-minted Ultra associated with PubA. Thus completes a fully-decentralized process of exchanging Bitcoin for Ultra that involved no interaction with any centralized third parties whatsoever.
How long does this process take? Just a few minutes, and it’s as seamless as depositing Bitcoin into a centralized exchange in spite of the fact that it’s completely decentralized.
Is it safe? In fact, it’s much safer than using a centralized exchange because your coins are always in your custody. As a result, many people have already safely purchased thousands of dollars worth of Ultra using Bitcoin on the Ultranet platform.
But the key here is that this process is not only useful for the Ultranet. Because the Ultranet is a completely 100% open-source platform, any new cryptocurrency that wants to bootstrap itself can implement this process and give its users a seamless way to get started on the platform using Bitcoin in minutes. To read a more technical explanation of how everything works, check out the paper we wrote about the Ultranet system.
But of course, nothing beats trying it yourself, which you can do by downloading the Ultranet desktop app. You can buy some Ultra with Bitcoin in minutes and become a part of the movement challenging the platform oligarchy. And if you have any questions, the supportive community of people over at r/Ultranet will help you out.