If Bitcoin is meant to be the perfect money of this for this new tech era, one important property seems to lack: instant transactions that are secure and trustless. But the winning team of the first ever Blocktrail sponsored Bitcoin Hackathon from Amsterdam may just have found a way to get around confirmations when transacting Bitcoins.
Sure, Bitcoin as it is provides a payments solution that is far more superior to competitors in several ways. Transactions are often many times faster , more secure and cheaper than wire transfers, credit cards or payment providers, eliminating the need for a trusted middle man.
Even if Bitcoin has a lot of trumps, secure and trustless payments are not instant, since the possibility of double spending requires the need for at least one confirmation – which, of course, takes ten minutes on average, and could take more than an hour if you’re totally unlucky. This is less than ideal, especially for some kinds of digital products – a Netflix-type of service that sells movies on demand, for instance or even if you buy a simple coffee , you don’t want to wait 10 minutes – 1 hour to have your coffee .
This Saturday, a team of four hackers who had never met each other before, including two who were using bitcoin for the first time, might have constructed the theoretical groundwork to solve this problem. In 12 hours of coding at the Amsterdam Bitcoin Hackathon even if it was too time shorted to finish a fully functional implementation, the concept itself and its visualization convinced the day’s judges to award them the first prize of 5 Bitcoins, a Trezor hardware wallet, and a ticket to the upcoming The Next Web conference in Amsterdam. “It’s far from a finished commercial product,” NoRiskWallet team member, Sebastian Lobato, emphasized , ” It’s far from ideal in its current form. But I think it’s also something that has never existed in bitcoin before. And who knows? It’s possible that services such as Blocktrail or GreenAddress implement solutions like this one in the future.”
How is this possible ? Instant transaction ?
So how does the NoRiskWallet work? Essentially, the software makes use of a couple of Bitcoin’s funky features, most importantly multisig capability – where several keys are needed in order to spend bitcoin – and lock time – which automates bitcoin transactions at some preset time in the future.
If a customer wants to make use of a NoRiskWallet service, he’d need to fund it by sending bitcoin to a two-out-of-two multisig address. As a key feature, this multisig address must contain a lock time transaction to himself, signed with one key held by the NoRiskWallet service, while the other key remains in the possession of the user. As such, the funds will automatically be sent back to the user at some point in the future, unless both parties overwrite the transaction before that time.
Meanwhile, the NoRiskWallet service would need to create an identical two-of-two multisig transaction with the merchant, funding this address with the same amount of bitcoin as collateral.
Now, when the user decides to buy something from the merchant, he signs his part of the multisig transaction, and has the merchant contact the NoRiskWallet service in order to sign the other end of the transaction. But instead of sending the money to himself, both the user and the NoRiskWallet service send this money to the second multisig address. Subsequently, both the NoRiskWallet service and the merchant sign their end of this multisig wallet in order to forward the money to the merchant, while simultaneously signing a lock time transaction to the merchant as well, using the collateral.
The No Trust Wallet code can be found on their GitHub page, which includes an elaborate explanation of the software in the Readme.