I discussed a novel coin idea with andu. We didn't hear anything for some time now from the other programmer, googleplex, so I'll start to implement it, if DC holders like it.
TL;DR: a new coin, based on some Dash ideas with one minute transaction time, anonymous transactions, and a built-in fast Dice (max. 4 seconds delay), implemented as a trustless system (no central server needed) and provably fair.
First some background information. Dash uses a system of a few thousand Masternodes, see
the Dash whitepaper for details. It allows advanced concepts like instant payment, with transaction times of less than 4 seconds (but normal transactions are fast, too, because the average block time is one minute). It does this with a random quorum of Masternode servers. Same concept is used for Darksend, for sending coins anonymously. Both ideas makes it a good base for Darkclam, because of the stated goals (see first post in this thread).
Now the novel idea I propose is to use the network itself as a Dice service. There is no investor. If you win a bet, new coins are created and if you lose a bet, coins are destroyed. On average the supply should stay the same, if the bets are not too big, e.g. a whale bets half of all supply and loses, but even then it would just half or increase by a factor of 1.5. Less than some normal fluctuations for some coins at exchanges.
One way to implement this is to use an external random source and to use the blockchain to record bets. After a draw of the external random source, the coins are created or destroyed and every node can verify it.
Chancecoin uses this system. The coin seems to be dead now, because the developers disappeared, but it was listed for some time even at Poloniex.
I propose a new way how to handle bets: with the Dash quorum system. n random masternodes are selected (of course, the select algorithm has to be safe and random, too, otherwise you could select all your own servers) and each masternode creates a server seed and sends back the hash to the client. Then the client creates a random seed (or the user enters it), which is then sent to all selected masternodes. The idea is that you can't trust one server, but you can trust the quorum. All masternodes send back their server seed, which can be verified by all other masternodes and a roll is generated with an algorithm as used by just-dice, but all server seeds and the client seed are concatenated. This is the provably fair part. Needs to be thought in detail, and messages needs to be signed etc., but it should work similarly to the instant payment concept of Dash.
There will be no proof-of-stake or proof-of-work when creating new blocks. But a bet will have a small fee, which will prevent spamming the network as well (and normal transactions will have a fee as well), and a randomly selected masternode creates a block and gets the fee (maybe as in NXT and WAVES: the more DC the masternode owns, the higher the probability that it creates a block).
My plan to implement this: first I will implement Dash with the
Scorex framework, which is written in
Scala (WAVES already uses this framework and is currently tested a lot, with bug-bounties, and I guess will be at Poloniex soon, so a good code base). This will help me to understand the concepts of Dash in detail, and it will help the crypto community as well, because it is so much easier to test or change things in Scala than in C++, which is currently used for Dash. The Scorex framework provides a lot of common functions, so that the actual implementation of Dash shouldn't be that difficult, and would be mostly translating the existing C++ code to Scala. More advantages of Scala compared to C++: bugs like buffer overflows are impossible, the code runs without recompiling on Windows, Mac and Linux (because it is compiled to Java JVM classes), and it is much more compact, easier to write, and easier to read than C++.
After this I will implement the Darkclam coin, with the Scorex framework, based on some parts of Dash. There will be an integrated web browser (already part of the Scorex framework with Akka), which will provide the usual transfer and wallet functions (I suggest a decentralized wallet on the network, like in counterparty), and additionally the Dice game. You can connect to some official server on the internet, or run your own server locally on your computer. There is no way that the Dice game can get shut down by shutting down one server.
Then there will be a testnet for some time, until everyone agrees that it is stable and we can release the mainnet. The counterparty DC coins then will be transferred to the new coins on the mainnet. One way would be proof-of-burn, but maybe there are other ways possible with the counterparty API.
That's all a lot of work, and more developers are welcome. I'll do this all for free, because I believe in Darkclam, and hopefully can sell a bit later on Poloniex
I guess it could need a year until it is all done, if I do it all by myself.