The idea behind sheercoin is to create a cryptocurrency with as little overhead as possible. My plan is to start with bitcoin and remove everything that's not strictly necessary for a cryptocurrency to work. This means:
- No coinbase messages
- No multisig transactions
- No P2SH
- No OP_RETURN
- No scripting at all, in fact
- etc. Open to suggestions on what to "trim"
I think this is a great start. The concept of double signing transactions, while at first blush may seem to conflict the minimalist ethos of Sheercoin, is in fact a key feature as you suggest. As someone said above, it kills plausible deniability regarding receiving payments, but this coin clearly isn't seeking to be all things to all people.
When reading about Sheercoin (
S?) it immediately reminded me of this post from a couple days ago:
http://codesuppository.blogspot.com.ar/2013/12/work-in-progress.html?m=1Visualizing just how much dust and blockchain spam there is out there had an impact on me. I think a very important part of Sheercoin will be finding ways of cutting down on this spam and dust to limit the size of the blockchain from day 1. Have you considered implementing the coin with a method of pruning spent outputs? Perhaps there could be an even more aggressive pruning mechanism where dust gets pruned, or all transactions older than a year or two get pruned automatically (but this is dangerous territory).
Another idea is to consider significant figures (s.f.) in transactions. Even if the currency has, say, a billion units and 100 million subunits, there never really is a good reason to use all those digits in any given transaction. For example, say I buy a tv for 1.23
BTC. It makes sense to make the transaction for 1.23
BTC (3 s.f.) or even 1.234
BTC (4 s.f.), but it really is unnecessary to make the transaction for 1.23456789 (9 s.f.), as the least significant digit (lsd) is only one billionth of the most significant digit (msd). 4 s.f. should be sufficient for any transaction. Therefore, the algo could have miners automatically drop any digits beyond the 4th msd (so, 1234 or 1.234 or 0.1234 or 0.0001234) before including it in a block.
Beyond satisfying my OCD need for neater transactions, what would be the benefit? Well, paired with a (ideally, dynamic, or market based) transaction fee, it would mean accounts would tend not to have a bunch of dust. Why? Say the transaction fee is current 1
S. If you want to send 0.000000001
S, you'll have to pay 1 billion times more in transaction fees, so that will be uncommon. But also, since the transaction fee is dynamic, and transactions only have 3-4 s.f., usually addresses will only contain significant figures just a few digits beyond the transaction fee digit, the rest will be zeros. Does this make sense?
EDIT: Capitalization, punctuation.