Duckcoin is a cryptocurrency that will have zero fees, be decentralized and easy to mine locally on your regular computer, no fancy setup needed. Duckcoin was initially made just to learn how cryptocurrencies work, but it's blossoming into a real currency. Remembering Duckcoin's origins, the code is written to be easy to understand. Feel free to make issues asking questions about the code!
Duckcoin is still under unstable development: If your miner seems to be getting a lot of errors, check if there's been any commit with "HARD FORK" in the commit message
- Decentralized
- Easy to mine
- Zero fees
- Emoji addresses: 🦆🍩🍅💕🤧👔🦚🚥😐📬🎽💰🌹➰👒🩴😑🆓🚔👧
Duckcoin is a cryptocurrency that uses PoW, a common consensus algorithm that is also used by Bitcoin, ETH Classic and Dogecoin, to give miners rewards. However, it is currently operating on a centralized server-client model, which will certainly get me canceled if I release this right now.
Duckcoin works differently from other cryptocurrencies. They need miners to have their own public IPs, or to port forward certain ports so that miners can contact each other in a peer-to-peer way. Because of how widespread Carrier Grade NAT is, it is usually rarely possible to host a node at home, without a custom rig.
As of now, Duckcoin has a central server that miners can send blocks to. Miners don't validate anything, a central server validates the chain. The miner gets a certain reward after the block is accepted. To make a transaction, you must mine your own block with that transaction.
This makes it possible to mine Duckcoin on a regular computer. However, this means Duckcoin is centralized, which is unacceptable for anything called a cryptocurrency (besides, I don't want to deal with people trying to attack the central server).
So, to decentralize Duckcoin, we'll have two kinds of miners: one for the people who do have custom rigs, and one for people mining at home. We'll call the first type "Lnodes" (Large Nodes) and the second "Snodes" (Small Nodes). Lnodes are like multiple instances of the current central server.
The current plan is to have Lnodes set up direct connections between Snodes, allowing Snodes to act as complete participants in the network. Potential problems with this could be that a malicious Lnode could connect an Snode to a fake Snode, but this should be fine since running nodes requires compute power.
Another goal of Duckcoin is to have zero fees by essentially having the payer do the PoW for their own transaction as an Snode. The miner's reward is then what that Snode's PoW is worth.