Dash InstantSend Explained
Last Updated: 1st November 2018
InstantSend is a feature of the Dash protocol that utilizes transaction locking and masternode consensus to facilitate instantaneous transactions on the Dash blockchain. InstantSend allows Dash to compete with existing centralized payment platforms such as VISA, who offer rapid transaction times. Dash’s InstantSend technology offers this, but in a decentralized and trustless manner.
The first element of the InstantSend feature is transaction locking. This mechanism is designed to prevent double-spends in the Dash network. Currently, in order for merchants to protect against double-spends in systems such as Bitcoin, they must usually wait until a block has been confirmed, to ensure that the transaction being sent is valid. However, the limitation with this is that, on average, it takes 10 minutes for a block on the Bitcoin blockchain to be confirmed. Transaction locking is designed to improve upon the manner in which double-spends are currently being dealt with in existing cryptocurrency systems, which in turn produces significantly faster transaction times.
With transaction locking, a client relays an intention to lock funds from a specific input to a specific output to the entire network. This is accomplished by sending a message that consists of the transaction, and the accompanying lock command. Once the locking message has propagated across the Dash network and reached everyone, a set of deterministically selected masternodes, which is the second element of Dash’s InstantSend feature, will form a consensus. Once consensus is successfully achieved, another message will be propagated across the network, and at this point, all clients will respect the lock on the funds.
Masternode Locking Authority and Consensus
Once a group of algorithmically selected masternodes receive a transaction locking message, they will begin voting on the validity of the transaction lock. If consensus is not achieved amongst the masternodes, then the transaction will require a standard confirmation to assure that it is valid. The utilization of masternodes in this manner can be contrasted to how merchants must, at present, prevent against double-spends in other cryptocurrency systems, which is to use clients that observe a network, that will then signal to a merchant if any double-spending attacks are identified. By using masternodes as observers, and giving them greater authority with regard to InstantSend transactions, double-spend protection can be guaranteed in a manner that does not result in high transaction times.
An example of an InstantSend transaction on the Dash network would be the following:
- Alice decides to send a transaction of 5 DASH for an item from Bob’s (merchant) online store, using a locked transaction.
- This transaction is then broadcasted to the whole network and eventually reaches a set of selected masternodes.
- These masternodes form a consensus as to the validity of the locked transaction message. If consensus is not reached, then Alice’s transaction will require a standard confirmation to ensure its validity. If consensus is achieved, then the masternodes will sign a ‘consensus transaction’ message, which is propagated to the network.
- When a node sees all the consensus messages, they can consider the transaction as confirmed.