Development Roadmap

in #decred8 years ago

The developers have put forward a development roadmap for the software that details short-term, medium-term, and long-term goals. These are actionable goals, many of which already receive active development, but they are considered actionable as development activity in these directions will produce the stated outcomes, which users will see, be able to use, and benefit from in the software.

In the drafting of this development roadmap, it was important not to forecast too far into the future, so that Decred may remain versatile and adaptable to changing conditions in the field. Users can have confidence that these goals are on the developers' minds as they continue working toward them and will begin taking form as progress manifests in the different areas. Attainment of these goals will lay a very strong foundation both through the software and the project upon which to continue building and eventually expand into new areas.

All of these goals aim to work together to establish Decred as a global decentralized network and platform for accessible representation through collective voting and consensus-based decision-making on issues. And that's where it starts.

Short-term (Current) Goals
Daemon
1.Sync in the new database from btcd to prepare for voting on hard and soft forks.
2.Integrate existing Decred consensus rules into the new format inherited from btcd.
3.Demonstrate voting on a simple hardfork.
4.Clean up codebase, extend test coverage, better integrate new btcd features that were quickly merged in.
5.Clean up cryptographic libraries and remove the interface from chainec. Instead, use simple wrappers to reduce overhead.
6.Integrate latest Bitcoin softforks.

Wallet
1.Speed up calls that are heavily used by dcrstakepool, such as getstakeinfo.
2.Add new RPC functionality to the gRPC interface, preparing it for general use.

Governance
1.Make voting simple and easy to use across platforms, from the stake pool to the wallet.
2.Create a website to track voting and easily display information about voting to the end user.
3.Create the initial Decred Assembly and begin making decisions to steer development in public.

GUI
1.Finish the GUI for Windows and polish the externals for presentation.
2.Wire in stake related components of the GUI.
3.Create a one click file to setup and start the GUI, with Tor integration for connectivity.
4.Add a simple functionality to look up and update the daemon and wallet if a new version comes out.

Stakepool
1.Speed up stakepool by using asynchronous calls to the various wallets.
2.Handle situations in which the wallets are desynced without causing failure.
3.Allow external modification of the server's state, e.g. allow triggering maintenance mode.

Scripting language and IDE
1.Finalize the specifications and syntax for the scripting language.
2.Complete the initial implementation of the scripting language, with emphasis on optimization and ease of use.
3.Ensure the scripting language is backwards compatible with Bitcoin scripting, so that the entire Bitcoin-derived ecosystem benefits.

Mining
1.Get gominer functional and into production across multiple platforms.
2.Create specifications and a proof-of-concept implementation for a new mining protocol based on stratum.

Medium-term (3-6 Months) Goals
Daemon
1.Discuss and implement new opcodes to further extend the functionality of the scriping language.
2.Implement multipeer syncing.
3.Design specifications and an implementation for a merkle tree tracking the UTXO set, to enable very fast syncing.

Wallet
1.Separate voting into its own independent process, similar to dcrticketbuyer.
2.Discuss and add basic privacy features, such as single use accounts and merge avoidance.

Scripting language and IDE
1.Have scripting language IDE functional. Integrate new opcodes into the scripting language.

Long-term (6+ Months) Goals
1.Investigate low-cost bidirectional sidechains that operate as PoS chains feeding from the main chain. Discuss the integration of other popular scripting languages or advanced privacy features on a PoS sidechain.
2.Begin integration of the Golang implementation of the Lightning Network.
3.Discuss the application of smart contracts to governance, and building a traditional corporate structure aided by smart contracts. If possible, transfer the development subsidy funds to more decentralized ownership.

Sincerely,
Decred Project

Coin Marketplace

STEEM 0.20
TRX 0.12
JST 0.028
BTC 64400.67
ETH 3506.16
USDT 1.00
SBD 2.53