Wow, thanks so much for the thorough responses! I have to say this could very well be the most professionally managed thread in all of Bitcointalk
How about speed/scalability? I assume one of the advantages of Stratis is that it doesn't suffer from the same TPS and block size bottlenecks that Bitcoin faces? I have to admit I don't know anything about Stratis.
Appreciate it percocet! We do not intend to specifically implement a scaling solution in the initial release of DNotes 2.0, though it will be capable of handling a higher TPS. The scaling issue is largely unsettled, and there are a multitude of options that require in-depth research and analysis. The most viable scale-ability solution has not been selected as of yet.
I think the scaling problem will be with cryptocurrency for a while yet. If everyone in the world, all 7.5 billion of us, made a transaction with DNotes five times a day, that would be 37.5 billion daily transactions added to the blockchain.
Assuming that we won't wait more than a minute per block, that is still 26 million transactions per block forged each minute. And if each transaction uses as much memory as it does in bitcoin,
the blockchain will grow by 11GB per minute. The way blockchains are currently structured, you need access to the last time an address was used before you can confirm that address owns the value being transacted. If you wanted to spend value from an address that was ten years old, not even what many would consider long term savings, it would
have to go back through 60,359 terabytes of data. So even if the scaling issue was resolved to enable an 11GB block to be forged every minute, the nodes would have a very hard time keeping up with the data transfer rate. And the total size of the blockchain would become unworkable very quickly.
I don't think even Moore's law will get us out of this one. I believe the
final solution will borrow heavily from video compression. Currently each wallet value is being stored as a transaction somewhere way back in the blockchain, in a series of transactions. Instead, the optimum blockchain will hold all wallets in parallel. At the start of each day, a new 'keyframe' of wallets will be generated from the previous 24 hours of transactions. Then through the day, each transaction will layer on top of that wallet's keyframe location. And each block will be partitioned based on localised transaction groups, and nodes will calculate partitions in parallel.
This will mean that only the previous hash, the last keyframe, and subsequent transactions will need to be stored by a node. And
local transactions can be processed very quickly in a way that is necessary for face to face purchases. While distant transactions can take longer, which is already well tolerated.
While
this might be a great final solution, people tend to solve the problem in front of them, not work backwards from the endgame. So
I'm expecting to see the 'scaling problem' go through many iterations before we see general acceptance of a single cryptocurrency for daily trading. But if DNotes were to implement the endgame solution now, it would certainly give them a tremendous point of differentiation. I can just see it now,
"DNotes, scales to ubiquitous world-wide daily transactions."