One of Dash’s earliest innovations is instant transactions. We stand out among old-school UTXO blockchains with this feature.
But what makes transactions instant, and more importantly, why does it matter that they are?
What exactly are confirmations?
When you send a transaction, it’s propagated across all the nodes in the network. The transaction “shows up” in the recipient’s wallet right away, but it will show as unconfirmed. This is because it has not yet been included in a block (either by miners or staking validators).
Until a transaction is included in a block, it isn’t considered as final. Many (most?) purely proof-of-work blockchains don’t consider a transaction fully-settled until several confirmations, to minimize the chance of a chain reorg rolling back several blocks.
Is 0-conf safe enough?
Many cryptocurrencies, including Bitcoin in the early days, simply trusted unconfirmed transactions as final for small amounts. This is because double-spends, where a transaction is sent to one address and then redirected to another before confirmation, are tricky to pull off.
An attacker generally has to broadcast two conflicting transactions at the same time, then bribe a miner with a large fee, in order to be confident in a double-spend happening. Barring that, they could attempt a double-spend without miner assistance with every transaction, and simply hope to get lucky and get a free purchase once in a while.
There are some methods to mitigate double-spend risks, such as double-spend proofs, which essentially require waiting an extra few seconds while the merchant’s software attempts to detect if a duplicate transaction is being attempted.
This doesn’t prevent double-spends however, but merely can detect them.
Why always-instant transactions matter
At Dash, we believe that, in order for cryptocurrency to to reach mass adoption, it has to just work. When a customer sends a payment, they should press “send” and not have to worry about a single thing afterwards.
No user should have to wait for their payment to be completed. They shouldn’t have to understand that they need to wait for a confirmation, or even know what a confirmation is. It should just work, every time, no exceptions.
And no merchant should have to worry about deciding how much risk to accept with unconfirmed transactions. They shouldn’t have to carefully select which payment provider has double-spend proofs enabled, and they shouldn’t have to train staff on how to deal with the awkward situation of when a double-spend is detected.
Money should just work. For everyone, in all cases, all the time. No exceptions.
How does InstantSend work?
Dash’s InstantSend leverages the revolutionary masternode network in order to lock transactions when they are sent, giving finality in seconds. Double-spending an InstantSend transaction is impossible, and all transactions are sent like this by default.
Over the years, InstantSend has been continually improved, from an optional feature which would prevent transactions from being re-spent for a period of time, to a default transaction state that can be sent on again and again after the initial payment.
Dash has invested years of development and innovation in making sure payments just work, all the time, no matter the circumstances.
Because you don’t deserve any less from your decentralized money.