Micro-blocks & Key-blocks for faster transactions & certifications
As we talked about it on the chat, I let an issue here.
Basically, this is about implementing bitcoin-ng improvement in ucoin 0.20.
The white paper : http://arxiv.org/abs/1510.02037
Some articles : http://hackingdistributed.com/2015/10/14/bitcoin-ng/ https://tonyarcieri.com/on-the-dangers-of-a-blockchain-monoculture
After reading it, I think it should be easy for us to build such a protocol since we already sign issued blocks. The change would just be about two things :
- Have two kind of blocks : Key blocks and micro blocks. Mining a key block gives the authorization to issue micro blocks. Micro blocks do not need proof of work to be issued.
- Removing the transactions & certifications from the key block document
- Place the transactions and certifications in the micro-block document.
The limitations seems to be about Microblock Fork Prevention. Since the micro-blocks do not require PoW, they can be used to issue multiple forks and cause double spending attacks. The authors of bitcoin NG use a new "poison transaction" to cancel fraudulent transactions issued by the key leader. I'm not sure this idea is ideal for uCoin, maybe we will have to come up with another idea.
Another inconvenient that I read here : https://www.reddit.com/r/Bitcoin/comments/3s72d1/bitcoin_ng_or_how_cornell_researchers_think_a/ is that the Key node is subjected to DDOS. On bitcoin NG, they suggest to share the node private key on multiple addresses, but it's not something we want to do with ucoin.