edited roadmap

This commit is contained in:
Lee Wong 2017-06-27 21:53:58 +07:00 committed by moocowmoo
parent 908d7804f1
commit 15b2d3dd92

View file

@ -6,149 +6,158 @@ title: "OFFICIAL DASH ROADMAP - Version 2.1.1 // Delivery Milestones"
original-author: Evan Duffield original-author: Evan Duffield
original-link: https://github.com/dashpay/dash-roadmap/blob/master/README.md original-link: https://github.com/dashpay/dash-roadmap/blob/master/README.md
--- ---
OFFICIAL DASH ROADMAP
Version 2.1.1 // Delivery Milestones
Evan Duffield / evan@dash.org / Dash Labs
Andy Freer / andy@dash.org / Dash Core CTO
Dash Evolution will be the first user-friendly and scalable digital currency platform suitable for mass adoption. Because this is such an ambitious goal, weve created a detailed roadmap to guide development. Evolution will be launched in three stages. Each release will increase the processing power, ease of use, feature set, and scalability of the network.
We intend to increase the user capacity of the network by an order of magnitude with each new stage of development. Furthermore, because of increases in the amount of available budget funding, we will be able to grow the development team rapidly. We plan to double the number of developers with each release, allowing us to accelerate the implementation of each phase.
We intend to schedule releases of Dash Evolution in a way that produces a high-quality product and provides a user-friendly experience. In addition to emphasizing quality and user experience, we will use each incremental release as a robust framework for future development. The Dash Core Team believes that taking the time to create a high quality product will create the most value over the long term. A quick rush to market would likely result in an inferior product that causes temporary price growth but long-term stagnation or decline.
# OFFICIAL DASH ROADMAP
### Version 2.1.1 // Delivery Milestones
<br /><br/>
- Evan Duffield / evan@dash.org / Dash Labs
- Andy Freer / andy@dash.org / Dash Core CTO
<br /><br/>
Dash Evolution will be the first user-friendly and scalable digital currency platform suitable for mass adoption. Because this is such an ambitious goal, weve created a detailed roadmap to guide development. Evolution will be launched in three stages. Each release will increase the processing power, ease of use, feature set, and scalability of the network.
We intend to increase the user capacity of the network by an order of magnitude with each new stage of development. Furthermore, because of increases in the amount of available budget funding, we will be able to grow the development team rapidly. We plan to double the number of developers with each release, allowing us to accelerate the implementation of each phase.
We intend to schedule releases of Dash Evolution in a way that produces a high-quality product and provides a user-friendly experience. In addition to emphasizing quality and user experience, we will use each incremental release as a robust framework for future development. The Dash Core Team believes that taking the time to create a high quality product will create the most value over the long term. A quick rush to market would likely result in an inferior product that causes temporary price growth but long-term stagnation or decline.
Several new technologies are required to deliver such an excellent user experience. These technologies will expand the capabilities of the backbone infrastructure supporting the network and will ensure that it is capable of handling the transaction loads and data storage requirements of a mass-market user base. Several new technologies are required to deliver such an excellent user experience. These technologies will expand the capabilities of the backbone infrastructure supporting the network and will ensure that it is capable of handling the transaction loads and data storage requirements of a mass-market user base.
Masternodes will scale and be tested using a system called ”state transitions.” This system will provide a mathematically predictable way of determining the quality of service that masternodes provide. Full access to the blockchain will be required to perform proper state transitions of user objects, which will reference governance objects and blockchain transactions to perform quorum operations. Masternodes which fall under a threshold of activity will automatically be removed from the masternode list using a new system called “masternode blocks.” Masternodes will scale and be tested using a system called ”state transitions.” This system will provide a mathematically predictable way of determining the quality of service that masternodes provide. Full access to the blockchain will be required to perform proper state transitions of user objects, which will reference governance objects and blockchain transactions to perform quorum operations. Masternodes which fall under a threshold of activity will automatically be removed from the masternode list using a new system called “masternode blocks.”
DashDrive will be implemented using software called IPFS, a user-friendly and popular P2P file system which will automatically handle most of the networks sharing, redundancy and syncing operations. IPFS writes will utilize masternode quorums for security. DashDrive is an internal facing system that stores user objects within the network in a decentralized way. There is no public-facing system for storage of non-Dash related information. DashDrive is not a replacement for consumer and enterprise applications like Dropbox; its a mechanism to allow smooth functioning of the network. DashDrive will be implemented using software called IPFS, a user-friendly and popular P2P file system which will automatically handle most of the networks sharing, redundancy and syncing operations. IPFS writes will utilize masternode quorums for security. DashDrive is an internal facing system that stores user objects within the network in a decentralized way. There is no public-facing system for storage of non-Dash related information. DashDrive is not a replacement for consumer and enterprise applications like Dropbox; its a mechanism to allow smooth functioning of the network.
Network operations will scale using a targeted model to allow for exponential growth. Hardware requirements for masternodes will gradually increase to power a larger network that services more users with greater functionality. When the first phase of Evolution is deployed, masternodes will face new hard disk requirements. They will need both a solid state drive (for faster retrieval of blockchain data) and an ordinary hard disk with higher storage capacity. Eventually the network will finance the creation of masternode-specific hardware with custom requirements. Such hardware will allow massive parallelization of transaction processing, hashing, and other system functions. More powerful hardware will increase the throughput of the network significantly. This hardware will be entirely open source and non-exploitable and will connect to commodity hardware for additional storage capacity. Network operations will scale using a targeted model to allow for exponential growth. Hardware requirements for masternodes will gradually increase to power a larger network that services more users with greater functionality. When the first phase of Evolution is deployed, masternodes will face new hard disk requirements. They will need both a solid state drive (for faster retrieval of blockchain data) and an ordinary hard disk with higher storage capacity. Eventually the network will finance the creation of masternode-specific hardware with custom requirements. Such hardware will allow massive parallelization of transaction processing, hashing, and other system functions. More powerful hardware will increase the throughput of the network significantly. This hardware will be entirely open source and non-exploitable and will connect to commodity hardware for additional storage capacity.
Over the past few months we have been rapidly increasing the size of our development team in order to accelerate delivery of Evolution. In the meantime, a number of Core developers have been focused on delivering and implementing Dash 12.1. This update was absolutely vital, serving as a link between the existing Dash codebase and future Evolution releases. Now that 12.1 has been successfully rolled out, our entire development team is transitioning to work on Evolution. Over the past few months we have been rapidly increasing the size of our development team in order to accelerate delivery of Evolution. In the meantime, a number of Core developers have been focused on delivering and implementing Dash 12.1. This update was absolutely vital, serving as a link between the existing Dash codebase and future Evolution releases. Now that 12.1 has been successfully rolled out, our entire development team is transitioning to work on Evolution.
In order to create a quality product as quickly as possible, the team had to create a solid foundation. We had to carefully plan the projects roadmap, create enormous amounts of documentation, and do significant research to ensure that we do not make time- and resource-wasting mistakes during the creation of Evolution. We will soon be opening a vast amount of private documentation to the community, ensuring complete transparency of our development work. This phase of the project is coming to a close, with the entire team now beginning to focus on creating the actual codebase for Evolution. In order to create a quality product as quickly as possible, the team had to create a solid foundation. We had to carefully plan the projects roadmap, create enormous amounts of documentation, and do significant research to ensure that we do not make time- and resource-wasting mistakes during the creation of Evolution. We will soon be opening a vast amount of private documentation to the community, ensuring complete transparency of our development work. This phase of the project is coming to a close, with the entire team now beginning to focus on creating the actual codebase for Evolution.
We would also like to announce the creation of a new team to be centered in Hong Kong, called Dash Labs. This team will be the scientific arm of the project, focusing on research and the development of custom hardware. Evan Duffield and Andy Freer are heading up this team. Dash Labs aims to create the first open-source versions of many different types of hardware. Our goal is to help the digital currency space to remain open and transparent, while reducing the economic advantages of closed-source proprietary technology. For example, advanced open-source ASICs would eliminate most of the advantages of privately-developed ASICs. As a result, mining centralization could be significantly reduced. All economic actors will have a level playing field, at least with respect to hardware solutions.
We would also like to announce the creation of a new team to be centered in Hong Kong, called Dash Labs. This team will be the scientific arm of the project, focusing on research and the development of custom hardware. Evan Duffield and Andy Freer are heading up this team. Dash Labs aims to create the first open-source versions of many different types of hardware. Our goal is to help the digital currency space to remain open and transparent, while reducing the economic advantages of closed-source proprietary technology. For example, advanced open-source ASICs would eliminate most of the advantages of privately-developed ASICs. As a result, mining centralization could be significantly reduced. All economic actors will have a level playing field, at least with respect to hardware solutions.
DashPay Wallet Alpha (September 2017) # DashPay Wallet Alpha (September 2017)
- Dash version of CoPay, pre-Evolution functions, on test-net
- Will lead to full Evolution wallet (not merely a web wallet)
- DashCore 12.2 Release (September 2017)
- 2MB block size increase, activation in November 2017
- 2MB / 5MB block research documentation
- Launch of a read-only/view-only portal for project documentation which will be open to the entire community (to ensure transparency)
- Launch a read-only/view-only portal to view current tickets, projects the teams are working on
Dash version of CoPay, pre-Evolution functions, on test-net <br /><br/>
Will lead to full Evolution wallet (not merely a web wallet) # DashPay Evolution Wallet Testnet Release (November 2017)
DashCore 12.2 Release (September 2017) - User signup and friending process (Signup procedure for Evolution on testnet // reservation testnet)
2MB block size increase, activation in November 2017 - Basic support for purchase agreements
2MB / 5MB block research documentation - Evolution Account Management (Create, Review, Update, Delete)
Launch of a read-only/view-only portal for project documentation which will be open to the entire community (to ensure transparency) - DAPI testnet release
Launch a read-only/view-only portal to view current tickets, projects the teams are working on
DashPay Evolution Wallet Testnet Release (November 2017)
User signup and friending process (Signup procedure for Evolution on testnet // reservation testnet) <br /><br/>
Basic support for purchase agreements # DashCore 12.3 Release (December 2017)
Evolution Account Management (Create, Review, Update, Delete) - HD wallets, rehaul of networking code, etc etc (other Trac items)
DAPI testnet release - Evolution Alpha Release to Partners (testnet, December 2017)
DashCore 12.3 Release (December 2017) - Integration partner testing
- Merchant and app testing
- API & SDK testing
- Multi-stage escrow transactions
- Support for user/merchant ratings via maintenance quorums
HD wallets, rehaul of networking code, etc etc (other Trac items) <br /><br/>
Evolution Alpha Release to Partners (testnet, December 2017) ## DashPay Evolution Wallet Livenet Release (February 2018)
Integration partner testing - Signup and Friending Process Evolution on Livenet
Merchant and app testing - Evolution Account Management on LiveNet
API & SDK testing - DAPI Livenet Release
Multi-stage escrow transactions
Support for user/merchant ratings via maintenance quorums
DashPay Evolution Wallet Livenet Release (February 2018)
Signup and Friending Process Evolution on Livenet <br /><br/>
Evolution Account Management on LiveNet # 13.0 - Evolution v1 - Mainnet (June 2018)
DAPI Livenet Release - Public DashPay, DAPI, DashDrive, DashCore v13.0 release
13.0 - Evolution v1 - Mainnet (June 2018) - Fourth Hiring Wave - Full-time developers
- 500K daily-users supported <sup>[22](#f22)</sup>
- Ethernet networking requirement <sup>[15](#f15)</sup>
- 1TB HDD / 128GB SSD Req <sup>[8](#f8)</sup> <sup>[9](#f9)</sup>
- 64TX/SEC && 5.33MB blocks <sup>[16](#f16)</sup> <sup>[20](#f20)</sup> <sup>[21](#f21)</sup>
- Quorum-based DAPI implementation <sup>[4](#f4)</sup>
- Proof of service / Proof of blockchain
- Governance object support for users, groups, accounts
- Email-based invitation system <sup>[2](#f2)</sup>
- State transitions <sup>[6](#f6)</sup>
- Encryption of object data
- Offices in Arizona, Europe (CORE), and Asia (Dash SW)
- Age-based quorums <sup>[13](#f13)</sup>
- Friending system / Semaphore-based approval system <sup>[7](#f7)</sup>
- IPFS DashDrive implementation / Limited sharding ability
- Official user-friendly Wallet
- Masternode blocks <sup>[11](#f11)</sup>
Public DashPay, DAPI, DashDrive, DashCore v13.0 release <br /><br/>
Fourth Hiring Wave - Full-time developers # 14.0 - Evolution v2 (TBD)
500K daily-users supported 22 - Fifth Hiring Wave - Full-time developers
Ethernet networking requirement 15 - 5M daily-users supported
1TB HDD / 128GB SSD Req 8 9 - 2TB HDD / 256GB SSD / 16/32 Xeon processor
64TX/SEC && 5.33MB blocks 16 20 21 - 128TX/SEC && 10.67MB blocks <sup>[17](#f17)</sup>
Quorum-based DAPI implementation 4 - GB Ethernet-handoff / Co-located level networking requirement
Proof of service / Proof of blockchain - Ability to move money between public and private accounts <sup>[5](#f5)</sup>
Governance object support for users, groups, accounts - DashDrive v2 <sup>[3](#f3)</sup>
Email-based invitation system 2 - Governance objects for multi-user accounts (multisig)
State transitions 6 - Masternode redundancy planning <sup>[26](#f26)</sup>
Encryption of object data - Third-party add-ons for customer DAPI objects / wallet schema versioning
Offices in Arizona, Europe (CORE), and Asia (Dash SW) - Automatic form filling for delivery addresses using encrypted blobs
Age-based quorums 13 - External storage support to offload blob storage for payment request history and other information
Friending system / Semaphore-based approval system 7 - Fiat / Credit card support from within wallet, seamless design <sup>[27](#f27)</sup>
IPFS DashDrive implementation / Limited sharding ability - Unofficial Evolution wallets with custom features <sup>[23](#f23)</sup>
Official user-friendly Wallet - Evolution marketplace / Add-ons / Rating system <sup>[25](#f25)</sup>
Masternode blocks 11 - Hardened entropy-based wallet seeding system <sup>[18](#f18)</sup>
14.0 - Evolution v2 (TBD) - Collateralized mining <sup>[12](#f12)</sup>
Fifth Hiring Wave - Full-time developers <br /><br/>
5M daily-users supported # 15.0 - Evolution v3 (TBD)
2TB HDD / 256GB SSD / 16/32 Xeon processor - Sixth Hiring Wave - Full-time developers
128TX/SEC && 10.67MB blocks 17 - 50M daily-users supported
GB Ethernet-handoff / Co-located level networking requirement - 10 GB Ethernet-handoff / Co-located networking requirement
Ability to move money between public and private accounts 5 - 256TX/SEC && 21.34MB blocks <sup>[17](#f17)</sup>
DashDrive v2 3 - DashDrive sharding / 4TB HD / 512GB SSD
Governance objects for multi-user accounts (multisig) - PCI-E hardware-based masternode peripheral <sup>[14](#f14)</sup>
Masternode redundancy planning 26 - Masternode shares via governance objects
Third-party add-ons for customer DAPI objects / wallet schema versioning - Group-based masternode shares program <sup>[1](#f1)</sup>
Automatic form filling for delivery addresses using encrypted blobs - Group-based voting system for picking / dropping hosting providers on group owned masternode
External storage support to offload blob storage for payment request history and other information - Group-based voting for network proposals
Fiat / Credit card support from within wallet, seamless design 27
Unofficial Evolution wallets with custom features 23
Evolution marketplace / Add-ons / Rating system 25
Hardened entropy-based wallet seeding system 18
Collateralized mining 12
15.0 - Evolution v3 (TBD)
Sixth Hiring Wave - Full-time developers <br /><br />
50M daily-users supported # 16+ - TBD
10 GB Ethernet-handoff / Co-located networking requirement - Complete end-to-end open source masternode hardware / with custom silicon for processing high volumes of payments and other information. Important for maintaining exploit free hardware systems.
256TX/SEC && 21.34MB blocks 17 - Fully open source / ahead-of-curve solutions for ASIC creation, allowing fair distribution and removing proprietary individual investment which creates imbalances in mining hardware <sup>[19](#f19)</sup>
DashDrive sharding / 4TB HD / 512GB SSD - v16 - 42.68MB 512TX/S
PCI-E hardware-based masternode peripheral 14 - v17 - 85.36MB 1024TX/S
Masternode shares via governance objects - v18 - 170.72MB 2048TX/S
Group-based masternode shares program 1 - v19 - 341.45MB 4096TX/S
Group-based voting system for picking / dropping hosting providers on group owned masternode
Group-based voting for network proposals
16+ - TBD
Complete end-to-end open source masternode hardware / with custom silicon for processing high volumes of payments and other information. Important for maintaining exploit free hardware systems. <br /><br/>
Fully open source / ahead-of-curve solutions for ASIC creation, allowing fair distribution and removing proprietary individual investment which creates imbalances in mining hardware 19
v16 - 42.68MB 512TX/S
v17 - 85.36MB 1024TX/S
v18 - 170.72MB 2048TX/S
v19 - 341.45MB 4096TX/S
Footnotes Footnotes
<br /><br/>
<br /><span id="f1">1</span>: Group of savings accounts which correlate to single group-operated masternode
1: Group of savings accounts which correlate to single group-operated masternode <br /><span id="f2">2</span>: Sybil-proof system, where each user created has the ability to invite three others; invitee cant invite anyone (only proper created accounts using default registration system)
2: Sybil-proof system, where each user created has the ability to invite three others; invitee cant invite anyone (only proper created accounts using default registration system) <br /><span id="f3">3</span>: Efficient propagation of sub-objects according to user-based quorum filtering
3: Efficient propagation of sub-objects according to user-based quorum filtering <br /><span id="f4">4</span>: DAPI has no access to users addresses / only object updates besides the singular pubkey address which is the users publicly-visible, address-based identity in the system.
4: DAPI has no access to users addresses / only object updates besides the singular pubkey address which is the users publicly-visible, address-based identity in the system. <br /><span id="f5">5</span>: ADAPI (private Tor-routed DAPI implementation for PrivateSend)
5: ADAPI (private Tor-routed DAPI implementation for PrivateSend) <br /><span id="f6">6</span>: Burn-based credit system for allowing users to update governance objects
6: Burn-based credit system for allowing users to update governance objects <br /><span id="f7">7</span>: Friending system has two objects which point to each other, inverting users into/from fields
7: Friending system has two objects which point to each other, inverting users into/from fields <br /><span id="f8">8</span>: Subject to change according to ASU research
8: Subject to change according to ASU research <br /><span id="f9">9</span>: HD (disk-based) storage used for DashDrive governance object storage
9: HD (disk-based) storage used for DashDrive governance object storage <br /><span id="f10">10</span>: SSD storage used for blockchain-only storage / caches
10: SSD storage used for blockchain-only storage / caches <br /><span id="f11">11</span>: Blockchain-based masternode quorum record / historic accounting of active masternodes at specific times
11: Blockchain-based masternode quorum record / historic accounting of active masternodes at specific times <br /><span id="f12">12</span>: System of requiring collateral + mining hardware to create blocks on network. Each collateral allowed to mine block every specific amount of time.
12: System of requiring collateral + mining hardware to create blocks on network. Each collateral allowed to mine block every specific amount of time. <br /><span id="f13">13</span>: All active masternodes will be sorted into four groups by age. The oldest 25% of the network will be in the first group, the next-oldest 25% will be in the next group, and so on. Masternode quorums will draw 25% of their quorum from each age group.
13: All active masternodes will be sorted into four groups by age. The oldest 25% of the network will be in the first group, the next-oldest 25% will be in the next group, and so on. Masternode quorums will draw 25% of their quorum from each age group. <br /><span id="f14">14</span>: X11 hashing, quorum selection, sha/crypto transaction processing and other common functions available via custom hardware allowing for higher network security and higher transaction support
14: X11 hashing, quorum selection, sha/crypto transaction processing and other common functions available via custom hardware allowing for higher network security and higher transaction support <br /><span id="f15">15</span>: System requires highly interconnected second-tier network with co-located ethernet handoff. VPS co-location should be suffient for first evo release.
15: System requires highly interconnected second-tier network with co-located ethernet handoff. VPS co-location should be suffient for first evo release. <br /><span id="f16">16</span>: Upgrade to 5MB blocks doesn't require specialized hardware.
16: Upgrade to 5MB blocks doesn't require specialized hardware. <br /><span id="f17">17</span>: Base two log-linear growth model, based on mathematically model of crypto-sphere economy and historical growth of the space.
17: Base two log-linear growth model, based on mathematically model of crypto-sphere economy and historical growth of the space. <br /><span id="f18">18</span>: Base two growth model of block sizes beyond this
18: Base two growth model of block sizes beyond this <br /><span id="f19">19</span>: Easy to remember way of seeding wallets
19: Easy to remember way of seeding wallets <br /><span id="f20">20</span>: Internal budget-based investments to create low nanometer / high quality ASIC hardware which offers bleeding edge advantage to the market, cutting out any ability for private investment to gain large advantage over other miners.
20: Internal budget-based investments to create low nanometer / high quality ASIC hardware which offers bleeding edge advantage to the market, cutting out any ability for private investment to gain large advantage over other miners. <br /><span id="f21">21</span>: State transitions are calculated to be (200*73*10)*500000/576 bytes, per block, increasing blocksize by 807291 bytes each block, 17% of the total blocksize.
21: State transitions are calculated to be (2007310)*500000/576 bytes, per block, increasing blocksize by 807291 bytes each block, 17% of the total blocksize. <br /><span id="f22">22</span>: Tier-2 conceptually is able to handle much larger block propagation, due to having much higher quality network connections. We plan on having large farms of co-located servers, eventually connected using ethernet hand-off. Masternodes located in the same facility can be used for local syncing, allowing more rapid propagation of blocks to catch new servers up. Tier-1 remains permissionless, but also becomes vastly more expensive. Processing of blocks uses custom hardware, allowing for us to process transaction/transition signatures in a parallelized way.
22: Tier-2 conceptually is able to handle much larger block propagation, due to having much higher quality network connections. We plan on having large farms of co-located servers, eventually connected using ethernet hand-off. Masternodes located in the same facility can be used for local syncing, allowing more rapid propagation of blocks to catch new servers up. Tier-1 remains permissionless, but also becomes vastly more expensive. Processing of blocks uses custom hardware, allowing for us to process transaction/transition signatures in a parallelized way. <br /><span id="f23">23</span>: 868 transactions per block, if assumed 1 transaction per day, per user (lots of assumptions // we need more data). (5TX/SEC + 2TS/SEC)
23: 868 transactions per block, if assumed 1 transaction per day, per user (lots of assumptions // we need more data). (5TX/SEC + 2TS/SEC) <br /><span id="f24">24</span>: Second-generation Evolution wallets are software based wallets which expand the object schema to allow internal wallet-to-wallet custom relationships for custom applications such as allowing businesses to have custom wallets for their application. This will allow streamlined applications with easy to use features within subsets of the whole dash economy.
24: Second-generation Evolution wallets are software based wallets which expand the object schema to allow internal wallet-to-wallet custom relationships for custom applications such as allowing businesses to have custom wallets for their application. This will allow streamlined applications with easy to use features within subsets of the whole dash economy. <br /><span id="f25">25</span>: DashDrive object writes require fees for each object written to the system. The system is designed to use an initial burn of coins, which create a small credit that is tracked in the system, debits are introduced for each operation that is done in relation to Evolution.
25: DashDrive object writes require fees for each object written to the system. The system is designed to use an initial burn of coins, which create a small credit that is tracked in the system, debits are introduced for each operation that is done in relation to Evolution. <br /><span id="f26">26</span>: Using specialized state transition for maintenance functions Each component of masternode will run redundantly under a load balancer to allow for individual component failure without causing a cascade which creates an outage
26: Using specialized state transition for maintenance functions Each component of masternode will run redundantly under a load balancer to allow for individual component failure without causing a cascade which creates an outage <br /><span id="f27">27</span>: Using third party API keys, allowing user to setup keys in settings then use from wallet seamlessly without ever leaving Dash.
27: Using third party API keys, allowing user to setup keys in settings then use from wallet seamlessly without ever leaving Dash. <br /><span id="f28">28</span>: By leveraging dapi and third party tools, we can deploy addons and a marketplace, which allows custom third party services to integrate directly in the wallet such as debit/credit cards and fiat bank account support
28: By leveraging dapi and third party tools, we can deploy addons and a marketplace, which allows custom third party services to integrate directly in the wallet such as debit/credit cards and fiat bank account support