Mooncoin Foundation was created by volunteers with a purpose to help developers and to support Mooncoin.
If you want to join us or to share your ideas on how we all can help and support Mooncoin development, please PM, or leave your comments.
Hello Mooncoin!
I'd like to join the Mooncoin Foundation!
1) I can offer deterministic Gitian builds for the Mooncoin wallet to improve wallet security and trust.
2) I can also support the wallet development with unique features like advanced checkpointing (ACP) that is now available for the 0.9.x wallet series.
Titan
What is Advanced Checkpointing?
Advanced Checkpointing allows us to send out checkpoints without having to redistribute the Feathercoin software. This works by having a 'master node' which checkpoints each block it sees on the network protecting it from the attacker. This checkpoint is then picked up by all the other clients on the network which will then ignore any blocks generated by a 51% attack. This protects merchants from transaction reversal and miners from losing their newly minted coins. With Advanced Checkpointing, Feathercoin becomes the most secure of all the Scrypt cryptographic currencies.
is this it?
http://www.coindesk.com/feathercoin-secures-block-chain-advanced-check-pointing/
https://bitcoinmagazine.com/6263/feathercoin-interview-with-peter-bushnell/ (see below in the interview, where they cover ACP)
One thing to keep in mind: using one central node as the reference for the checkpoints is the opposite of decentralization.
Maybe we should develop a better system to overcome 51% attacks? I'm still wondering, whether it would be a good idea to change from mining to staking in that regard (also if you think about protecting the environment, as mining pulls a lot of electricity)? What do you all here think about that? Any other ideas?
Hello Mooncoin!
There are a couple comments in place regarding ACP.
1) First of all ACP originates form Peercoin, the original proof of stake (POS) coin.
Thus every POS coin has ACP built in! Not every POS coin has the master node set up.
2) Feathercoin ported the ACP code from Peercoin to work with POW after the network suffered a severe attack.
Shortly thereafter I integrated the ACP code into the Luckycoin wallet with permission form Sunnyking.
The system is now working for nearly 2 years without failure.
While the Luckycoin certainly got its fair share of sometimes quite sophisticated attacks.
3) The Bitcoin 0.9.x wallet code completely broke the ACP internals due to a redesign of the internal block chain handling code.
That's the reason why Feathercoin hasn't updated their wallet.
4) The new ACP code is now a complete redesign to work with the Bitcoin 0.9.x series code base.
It took quite some time to figure everything out.
5) ACP features:
Accepting checkpoints is optional.
Every wallet can opt out from the checkpointing system.
ACP is driven by a single master node that decides on the checkpoints.
Every wallet is capable of being a master node with the right key.
It is a centralized authority that locks down the block chain.
In the same way are the hard checkpoints in the wallet issued by the developer centralized.
ACP blocks many types of attacks due to the fact that the block chain cannot be rewritten beyond a few blocks back.
Typically the checkpoint window is only a few minutes, after that no transaction can be changed.
With only hard checkpoints the whole block chain history back to the last hard checkpoint can be rewritten with enough hash power.
Food for thought.
Titan
That's good information. Thanks, Titan.
So the best would be to have some (master) nodes that are picked randomly to set the checkpoint every few minutes/blocks, if you use ACP? Is that possible, too?
It is only safe to have a single checkpoint master node due to the consistency requirement for the checkpoints.
The handover from one checkpoint master node to another is a delicate process. Two different forks could receive a checkpoint if one is not careful. If such an inconsistency is detected ACP puts the whole network in safe mode.
Generally the master node has to be reliable and well protected. Even in the case of a failure of the master node another node can be configured to take over the job. The network still works normally even without receiving new checkpoints.
Hhmm. A "master-node" seems to be a possible single point of failure. OK, the fallback to another node to become a master-node and possible fallback to the "simple-mode" (without ACP at all in case the backup-node also fails), could help. But how is that handled automatically by the network? Can it be handled automatically at all?
What about to place checkpoints into the blockchain of other coins by working together with them? Would that be possible?
Maybe that would be a cool idea. That way the different coins can "control" each other, making it very difficult to attack a single coin that is part of the whole network of "collaborating" coins.
Server uptime is not really a problem in this day and age. From my experience a well configured server can run for months without touching it.
The ACP handover must be done manually to ensure no inconsistent checkpoints are generated.
The checkpoint is a block hash. To be valid it must be a block hash of the current chain. So cross checkpointing another coin is not possible without the proper block chain information.