This sort of thing is preferable in general and should be done eventually, but not on the roadmap for 1.0.
I feel like we should start organizing a list of new features that the core devs agree are desirable for after 1.0 and order them by priority.
A list of things off the top of my head (that the core devs do not necessarily agree should be done) in no particular order:
- Non-binding proposals (a very basic implementation is described here but I would prefer a nice one)
- Dynamic parameters (and potentially even binding proposals which are proposed by delegates and ratified by shareholders)
- UIA dividends
- Prediction markets
- DNS
- Voting (with cryptographic privacy so that it is suitable for elections)
- Decentralized BTC/BitAsset exchange
- BitShares Standard Gateway for ECDSA altcoins (Actually I have a better, more secure version of it in mind than the one I linked to that I haven't written up yet.)
- Better distribution of BitAsset yield
- Generalized BitAssets (which allow using any other BitAsset as the collateral as well as custom price feed definitions, margin call percentage limits, and authority slates)
- Bond markets
- Constraining transactions to particular blockchain forks as added security, or "Economic Clustering" as NXT calls it (We used to have this with TaPoS and was IMO unnecessarily removed from the transition to DPOS, but it is very easy to add back in by slightly changing the transaction signing and validation procedure.)
- Schnorr signatures as an optional alternative to ECDSA (which I believe should make using threshold signatures easier and faster)
- Improvements to lightweight client security
- Faster validation (by a super majority of delegates) of the blockchain using threshold signatures, which also makes using secure lightweight wallets far more convenient
- Blockchain pruning
- Smart contracts / Turing complete scripting
- Support for child DACs
Of these, the only ones I
believe there is core dev support for are dynamic parameters, prediction markets, DNS, Voting, smart contracts (however there may not be consensus on architecture and implementation details for smart contracts / Turing complete scripting), bond markets, and perhaps at least some form of generalized BitAssets. Besides that I am sure there is at least partial dev support for non-binding proposals and a decentralized BTC/BitBTC exchange. It would be nice to get those listed somewhere (and any other ones I forgot that the devs agree to) and figure out a prioritization for them.
In my opinion one of the highest priorities should be the Turing complete scripting since if that is done well it can be used to allow other outside devs to easily implement many of the other features in parallel such as DNS, Voting, decentralized BTC/BitAsset exchange, prediction markets, bond markets, and perhaps even generalized BitAssets (although I think I would prefer if the generalized BitAssets were done natively, and perhaps the bond market as well, or at least if "BitBTS" collateralized by BTS with a 100% collateral requirement was added, as a means of separating BTS value from BTS voting rights, then I guess I might be okay with generalized BitAssets implemented with the Turing complete scripting). Another high priority feature, IMO, is actually a set of features that I think work well together which is to implement Schnorr signatures, the threshold signature block signing by a super majority of the delegates, and the changes to the consensus protocol that commit database state to the block headers which allow lightweight clients to operate more securely (and have the side benefit of making blockchain pruning feasible).