NummumNummum is yet another alternative crypto-currency with code based on bitcoin core developer
Jeff Garzik's libccoin and picocoin.
Nummum's main purposes are educational (for me) as well as experimental. All the better if it has some benefit for others too.
Nummum does not re-invent the wheel. It takes several working crypto-currency concepts and amalgamates them into a single
modular and
scalable solution.
It is very much a work in progress. Most of the features in the feature list have not yet been implemented (see TODO lists) so at the moment it is more of a wish list than a feature list.
All forms of contribution and constructive criticism are most welcome.
Key Features- No pre-mining
- Built-in pseudo-anonymity as well as an ūber-anonymous module with Zerocoin-like functionality
- P2P pool mining module with p2pool-like functionality
- Messaging module similar to Bitmessage for messaging between addresses
- Coloured coin / token module
- P2P exchange module that uses the DML/chan feature of the messaging module to announce, discover and agree potential trades then set up trading contracts (needs more thought)
See Trading across chains - Gambling / betting module that uses the DML/chan feature of the messaging module to announce, discover, agree and settle wagers
- Ability to add other crypto-currencies as a module
- Ability to add tax module for governmental use
- Unlike bitcoin, which is the name of network, the protocol, the client and the currency unit (sometimes confusing when explaining to new users) Nummum has a slightly different name for each of these layers
- Reference client can operate as either a full-chain client or a header-only client (SPV mode)
See Thin Client Security - Reference client can optionally use a truncated block chain
- Initial block reward 255
- Gradual, non-linear decay of block reward
- Block reward never reaches 0. Starts at 255 then gradually reduces to and settles at 1 after ~51 years
- Ūber-anonymity incurs a larger fee
- Block interval 63 seconds
- Difficulty adjustment every block, calculated using a moving average
- Uses SHA-3 (SHAKE-512 instead of SHA-256 and RIPE-160)
- Uses scrypt
- Uses Proof of Work / Proof of Stake hybrid (maybe not, needs more thought)
- Currency units divisible to 9 decimal places
- Written as a C library (libnummum) with reference executables including a relay daemon (commeō), a Nummum client (nummus) and a messaging client (nūntius)
- Each module written as a C library
Definitionshttps://en.wiktionary.org/wiki/nummus- Nummum
The protocol
- Nummnet
The network
- nummus
The reference command line client
- nummulus
The reference GUI client
- Nummō (singular) & Nummī (plural)
The currency units
- Currency Symbol
# (Number / hash symbol)
- Currency Code
NUM
- Anonummum
The ūber-anonymous module of Nummum (https://www.youtube.com/watch?v=8N_tupPBtWQ)
- Numminas
The P2P mining pool module of Nummum
- Nūntium
The P2P messaging module of Nummum
- Exonummum
The coloured coin / exonumia / token module of nummum
- Cambium
The exchange module
- Bitcoinum
The bitcoin module
- Āleārum
The gambling and betting module
- Tribūtum
The tax module where taxes may be deducted at transaction source
- commeō
A reference relay daemon
- nūntius
A reference command line messaging client
- nūntiō
A reference messaging client GUI
- Codex
The ledger / block database
- Cassifile
The nummus and nūntius wallet and keystore
- Motto
Nummus parit nummōs
Model
+----------------+----------------+---------------+---------------+
| | | | |
Storage | Cassifile | Codex DB | Nūntī DB | Exo DB |
| (wallet) | (blocks) | (messages) | (tokens) |
| | | | |
+----------------+----+-----------+---------+-----+---------------+
| | | |
Software | nummus | nūntius | commeō |
| (client) | (messenger) | (relay) |
| | | |
+----+-----------+----+-----+------------+--+--------+------------+
| | | | | | |
Application | | Anonummum | Numminas | Nūntium | Exonummum | Cambium |
| | (privacy) | (mining) |(messaging) | (token) | (exchange) |
| | | | | | |
| +-----------+----------+------------+-----------+------------+
| |
Protocol | Nummum |
| |
+-----------------------------------------------------------------+
| |
Network | Nummnet |
| |
+-----------------------------------------------------------------+
| |
Transport | Internet |
| |
+-----------------------------------------------------------------+
CalculationsThe following calculations run from the
bc command :
scale=9
initial_reward=255
block_interval_seconds=63
final_reward_reduce_interval_blocks=4194303
reward_reduce_interval_blocks=0
total_nummi=0
total_time=0
year_in_seconds=60*60*24*365
for (i=initial_reward; i>=1; i--) {
reward_reduce_interval_blocks = final_reward_reduce_interval_blocks/i
total_nummi += reward_reduce_interval_blocks*i
total_time += reward_reduce_interval_blocks*block_interval_seconds
}
"Total nummī in existence after final reward reduction = "; total_nummi
"Time to final reduction to 1 nummō reward (years) = "; total_time/year_in_seconds
"Total nummī rewarded per year when reward is 1 nummō = "; year_in_seconds/block_interval_seconds
"Percentage of total nummī rewarded per year when reward is 1 nummō = "; ((year_in_seconds/block_interval_seconds)/total_nummi)*100
quit
give the following results :
Total nummī in existence after final reward reduction = 1069547264.999985588
Time to final reduction to 1 nummō reward (years) = 51.283339378
Total nummī rewarded per year when reward is 1 nummō = 500571.428571428
Percentage of total nummī rewarded per year when reward is 1 nummō = .046802100 Source Codehttps://github.com/Nummum/NummumFurther Readinghttp://nummum.github.io/Nummum