Skip to content

Instantly share code, notes, and snippets.

@zpalmtree
Created February 17, 2018 16:04
Show Gist options
  • Save zpalmtree/5b941e19325f7196c8db4c084a9e2de7 to your computer and use it in GitHub Desktop.
Save zpalmtree/5b941e19325f7196c8db4c084a9e2de7 to your computer and use it in GitHub Desktop.

Q: Can you speak more about your Mobius development milestone? A: The goal of the Mobius milestone is to be able to have fast blocks with a shorter chain. The end goal being that a normal user can board the network, form transactions, and go about their business without worrying about syncing transactions that happened 10 years ago at 30 second block speeds. If you look at how big the chain is from a size perspective, compared to bitcoin, not only are fast blocks working against us, but our security features make us a little bit more beefy when it comes time to broadcast a transaction. From a technical perspective, there are several ways we can accommodate this. The first way that I explored was pruning. This is a concept that is employable on many networks, and the gist of it is that in cryptonote project, you can prune two ways: one is from a network level, like in Boolberry, and the other is to have a multi-tiered daemon system where you can have full reference daemons(or historical daemons as some people call them), and they have the full unabbreviated chain. Then you have light nodes that carry a trimmed version of the chain that has some of the non-essential data removed. For Mobius our initial intention was to pick up where CZ and the Aeon team left off, but I couldn’t help but wonder about other methods. One method we’ve been exploring lately is ‘churn’ for old coins, meaning coins on the network would have a shelf life, and as you approach the end of this shelf life, the coins need to be rebroadcast and be closer to the beginning of the chain. This cuts the expansion of the chain from a length perspective and shifts the momentum growing your chain from being a time based growth, to being transactional volume based. We have a finite amount of coins and those coins do no good just sitting somewhere, and some day in 2140 they'll stop being produced. For old money to earn their keep on the network, they need to move and provide a miner’s incentive to process ongoing transactions. This ongoing process of sending those at the back to the front sounds simple, but there are many considerations involved. For Mobius, we’re overall set on a few different solutions to cut the chain sync time right away. If i publish what i use right now, which is a rigidly checkpointed daemon, you can sync the entire chain on modest hardware in less than an hour. This helps those that may be just boarding the network now who don't care what happened 4 years ago on the blockchain, and they should not have to care. They should not be burdened by that, so why not have a build process that automatically integrates our transaction milestone checkpoints natively into the checkpointed daemon. This reduces the time-to-spend as i call it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment