Dr. Darren Tapp, Dash Core Group Researcher, discussed in a reddit post how Dash InstantSend is able to scale and thus does not currently require a stress test.
Dr. Tapp first responded to another reddit post inquiring about the plan to expand InstantSend network-wide and the resource requirements.
“I’m from the ASU team here. We thought about trying to find a limit on instant send. However, the limit is dictated by the number of masternodes.
Currently, the network can process more instant send transactions than will fit into blocks. Thus, I feel it’s a bit early to “stress test” instant send.”
Dr. Tapp then described in his full post how a node can be occupied in one of four steps:
No new block on the network
New block announced on the network
Block propagates spreading its transaction goodness.
Node is updated and waits for new block.
Dr. Tapp went on to describe that “the main demand for node resources are during steps 2-3′ and that “during these steps bandwidth demand will be high and processor demand most likely will increase”. Dr. Tapp then continued to discuss how the Dash network is able to handle InstantSend at a network-wide scale because the network will advance fast enough to handle the increased resource requirements of InstantSend.
“Current processors are more than enough to handle our blocks, so that’s not a current concern. When it does become a concern, processing in parallel will be needed and current processors will support much more. Bitcoin Unlimited already has this. Instant send messages can be verified during steps 1, 4, and 5. Verifying instant send messages therefore can use capacity that WILL BE available when not currently propagating a block. The upshot is that if the Dash Network can propagate a transaction mined in a block it can propagate a instant send transaction in that block.”
Dash development team makes this expansion possible
Another redditor asked Dr. Tapp to further elaborate on the reasoning that InstantSend could scale without much increase in resource requirements, which was previously thought to be the case. Dr. Tapp started off by explaining how InstantSend current works by using “multiple signatures to show that a whole quorum signs off on an instant send”, which “does not differ from the original multisig on bitcoin”. He went on to explain that “the original multisig that bitcoin used requires m addresses and signatures in the data structure of a spend (m being the m of n). The current Dash instant send protocol needs something similar with a signature from each quorum member”. Darren then went on to explain how this will change with the 0.13.0 upgrade.
“However, version 13 will change the way instant send works. BLS signatures will be brought in. BLS signatures are much easier to work with. Each quorum member can produce a signature share, and if any node has m signature shares (again m of n) they can combine these to form one recovered signature. Once the complete signature is constructed all the partial signatures can be discarded. To verify one complete signature it is the same work as verifying only one BLS signature.”
He then went on to explain that RAM requirements will grow, as the original commentator pointed out, but “the UTXO takes up about 200MB of RAM currently” with Dash. This is compared to a BitcoinXT node which currently takes a bit over 2.2GB. Finally, Dr. Tapp cited Codablock’s recent article on Long Living Masternode Quorums, which DFN also previously covered, and explained how the Dash development team is working on ways to scale InstantSend.
Dash continues to innovate to increase adoption
The introduction of Automatic InstantSend with Dash version 0.13.0 makes Dash’s already fast transactions even faster. A normal blocktime for Dash is 2.5 minutes, but InstantSend can lock a transaction in just over 1 second thanks to the Masternode network. With the upgrade, this will be available for regular transactions with 4 or fewer inputs and remove the InstantSend fee, which was around $0.02 USD and will now be around Dash’s normal median fee of $0.0005 USD.
The 0.13.0 upgrade also brings Deterministic Masternode Lists and PrivateSend upgrades in addition to the InstantSend upgrade. This upgrade and the new 0.14.0 version will further build the groundwork for version 1.0, which is also considered to be the first of the Evolution releases. These radically new features further help Dash differentiate itself from its competitors by better enabling Dash to easily be used in everyday transactions as a decentralized and peer-to-peer currency.