{"id":16085,"date":"2017-06-29T00:00:00","date_gmt":"2017-06-28T16:00:00","guid":{"rendered":"https:\/\/www2019.dash.org\/2017\/06\/29\/how-to-enable-on-chain-scaling\/"},"modified":"2021-09-18T11:39:44","modified_gmt":"2021-09-18T11:39:44","slug":"chainscaling","status":"publish","type":"post","link":"https:\/\/wp.dash.org\/news\/chainscaling\/","title":{"rendered":"How To Enable On-Chain Scaling"},"content":{"rendered":"
How To Enable On-Chain Scaling<\/p>\n
Scalability has long been a massive barrier to the adoption of digital currency. To date, nobody has figured out how to process as many transactions-per-second as PayPal or VISA. The leaders of various digital currency projects claim that one day the whole world will be using \u201ctheir\u201d currency, but they can provide no credible plan for how they will scale their network to the necessary level. Even Satoshi Nakamoto, founder of Bitcoin, seems to have simply assumed that advances in hardware and networking would solve the scalability problem for him. Dash is the first digital currency to come up with an answer to scalability that\u2019s not based on technology that doesn\u2019t yet, and might never, exist. Dash will be able to rival the likes of PayPal and VISA simply by using its existing infrastructure.
\nDash\u2019s two-tier network has provided a number of advantages over the years, and has allowed for the creation of compelling technologies such as InstantSend, PrivateSend, and decentralized governance. At present, there are over 4000 incentivized masternodes powering the second-tier of the network. Since these masternodes share in the block reward, their owners can afford to use higher-quality VPS hardware to host their nodes. This results in a high-quality decentralized network infrastructure. By leveraging the masternode system, Dash will be able to scale far faster than any other project. The first version of Dash Evolution will be able to support 500 thousand daily users, and over approximately the next three years, we will scale to a network capable of supporting 50 million users. This document explains how we intend to accomplish this unprecedented feat.
\nMany projects in the space believe that on-chain scaling is impossible. That\u2019s simply because they haven\u2019t explored alternative P2P architectures for higher performance. We intend to show just how far an incentivized second tier architecture can take a project like Dash.
\nHere is how our network looks today, with the second tier completely indistinguishable from the first tier.<\/p>\n
From VPS to Server Farm
\nDash is already attracting significant interest from well-known companies who would like to build new products on top of Dash. Because companies are interested in Dash now, we realize that we must begin scaling immediately. When the first version of Dash Evolution is released next year, we anticipate even greater interest and consequently must ensure that our network\u2019s capacity increases rapidly. In order to fulfill our goals of scalability, Dash will begin supporting 2MB blocks beginning in Q4 of this year. We intend on scaling the network before its transaction capacity is maxed out. We must stay ahead of the curve.
\nThe first version of Dash Evolution, which we anticipate releasing in 2018, will support 5MB blocks. We believe that the incredible features and ease-of-use that we are building into Evolution will cause a spike in demand for our network\u2019s services. We want to ensure that we have sufficient transaction capacity to meet those additional needs. The second version of Evolution will support 15MB blocks using custom masternode hardware currently being researched by Dash Labs. We will likely use GPU acceleration to accomplish the necessary block processing, effectively creating the first iteration of our \u201cultra-large block acceleration\u201d (ULBA) hardware. Finally, the third version of Evolution will support 45MB blocks by using custom hardware with PCI-EX cards to optimize block processing and enable the network to support 50 million users.
\nHere\u2019s how the network will look after upgrading.<\/p>\n
Theoretical Issues <\/p>\n
\nIt\u2019s reasonable to ask why other digital currency projects haven\u2019t adopted ultra-large blocks in order to scale their transaction capacity. The difficulty with large blocks is that each node must process each transaction within the block and then relay it to the network. Many digital currencies rely on altruism\u200a\u2014\u200aordinary users running nodes for free\u200a\u2014\u200ato power their network. Unfortunately, because of the lack of economic incentives, these networks end up being bottlenecked by the slowest nodes. Dash solves this problem by economically incentivizing its masternodes, since they share in the block rewards.
\nThe technical solution to creating a network which can support large blocks is three-fold. First, we must ensure that each masternode is running on hardware powerful enough to rapidly process each block. Secondly, we must make sure that each masternode has enough bandwidth to propagate blocks to the network quickly enough. Third, we must ensure the second-tier masternode network is highly interconnected and able to relay blocks amongst itself at incredibly high speeds.
\nEven without custom hardware, masternodes are capable of supporting significantly larger block sizes, assuming that they have adequate CPU, RAM, and hard drives. Therefore, we intend to begin the process of introducing larger block sizes even before Evolution is released. Scalability is a big concern in the digital currency space right now, with several projects experiencing high fees and long confirmation times. By beginning the scaling of Dash\u2019s network immediately, we can offer a solution to these issues before they cripple our network as well.
\nGavin Andresen did a great deal of research on 20MB blocks before his retirement. Based on Gavin\u2019s research, I\u2019ve concluded that our network can easily handle 20MB and larger blocks, provided that we solve propagation issues shortly thereafter. See below for Gavin\u2019s excellent research:
\nhttp:\/\/gavintech.blogspot.com\/2015\/01\/twenty-megabytes-testing-results.html<\/a>
\nhttp:\/\/gavintech.blogspot.com\/2015\/01\/looking-before-scaling-up-leap.html<\/a>
\nBased on this research and our own research over the past year and a half, we offer the following upgrade plan for the masternode network.
\nPhases Of Masternode Upgrades
\nPhase I\u200a\u2014\u200aV13: Normal VPS servers, which can be upgraded to relatively high-performance levels without requiring custom hardware. This will allow us to support blocks up to about 20MB.
\nPhase II\u200a\u2014\u200aV14: Custom computers with multi-core high-end processors, colocated in server farms for fast propagation and ultra-low latency.
\nPhase III\u200a\u2014\u200aV15 : GPU acceleration. GPUs such as nVidia\u2019s Tesla series contain scriptable CUDA processors. The model below contains 448 such cores, which would allow masternodes to process the signatures from each transaction in parallel. We\u2019ll also program small scripts for accelerating various tasks of dash-core, offloading some of the heaviest processing pieces to the masternode network.<\/p>\n