Back at Crypti we were in contact with Lerner once, regarding the Proof of Time algorithm....
- DPoS makes the whole system much simpler, therefore easier to maintain, control and enhance.
- DPoS also allows us constant 10 second blocks, which will be critical in decentralized applications.
- With DPoS everyone who is active within the community and therefore has some popularity has the chance to become a forger. With PoS if you aren't rich you can forget it to forge.
There are more advantages. But the 10 second blocks really were the important factor for us. Personally I think, DPoS is just a method to achieve decentralization. Now this is done and running perfectly, we won't put much work into this anymore. At Lisk we will concentrate on the decentralized applications and user experience.
This leads into a technical area I would like to get out in the open and discuss more.
We have shown at Crypti that the 0.5.4 code can run very well on microcomputers like Pi2 and even CHIP. Olivier is even currently running a backbone Crypti node on a Pi2 from his home ISP. However, having a computer that can execute the 0.5.X code quickly enough is only part of the picture. As I recall, Litoshi tried to run a Crypti backbone node on a much-higher-than-Pi2-capability home PC from his home ISP. He failed to sync with the rest of the network due to the "high" latency of his home ISP. The key to Olivier's Pi2 node success is that his home internet service provider (ISP) has an unusually "low" latency.
From these experiences, the impact and relationships of network latency on Lisk capabilities needs to be quantified, so people have realistic expectations on what their Lisk DPoS backbone nodes and their Lisk dapp sidechain nodes can accomplish.
In general terms, in the upcoming Lisk network there will be 101 DPoS nodes. During one blocktime, all of these different nodes must exchange some fixed number of messages W between them in some algorithmic sequence X to write the next block. How fast these messages can be exchanged determines how fast the overall block time can be. To get the desired Lisk backbone blocktime of 10 seconds, you need a certain maximum allowed message transfer time Y and thus a certain maximum allowed network latency Z. What are these WXYZ numbers for the baseline Lisk 10 second blocktime? I believe this all needs to be described in a technical section of the Lisk whitepaper.
For Lisk sidechains, I believe we need to go beyond the Lisk mainchain case. We somehow need to allow the use of higher latency internet communications links for sidechains, and allow Lisk sidechain users to increase their blocktimes and set them as required to compensate for high network latency and still work correctly.
There needs to be a formula established for Lisk sidechain users so they can say "My maximum network latency is X, so I have to set my sidechain blocktime at Y or greater".
So, questions. What is the maximum ISP network latency that would still allow a DPoS delegate to run a Lisk node from their home on a Pi2 or CHIP? Will Lisk 0.5.X have adjustable sidechain blocktimes allowing the use of home ISP connections to support Lisk sidechains running on networks of Pi2s/CHIPs, no matter how high the latency of the home ISP communcation links connecting them?