So today we’re talking with The Power CTO — Igor Belousov
We’ll discuss technical stuff, Igor replies on the most common questions about consensus algorithm, sharding, platform architecture, comparison with competitors.
Hi Igor, first please take a few words about your decentralized solution for them of us who don’t know the project.
Hi, it’s a bit difficult to disclosure our solution in a few words but I’ll try))
The Power Platform is a three-layer program system of DLT for high-speed processing of interactions in decentralized public space.
3 key tech elements of the platforms:
- Linear scaling via sharding method
- Consensus algorithm Resonance
- Multi-layer architecture
So linear scaling is achieved via sharding?
Yes, automatic sharding plus shards management by Management Layer.
What interactions occur at the Management layer, and which at the Shards layer?
Management layer: registration of the user (account), registration of shards, registration of private shards, registration of nodes, an appointment of examining nodes (validators), nodes punishment. In the Management layer, transactions are checked by all nodes of the system, therefore, this is an expensive interaction.
Shards layer: all classic transactions that exist in regular classic blockchains
How is your sharding different from similar solutions?
Now there are no well-established parameters by which shardings are compared, each project has its own characteristics.
However, I’ve proposed own classification for distributed systems with sharding. Below is a table comparing known platforms.
Note: not all information was published by some of the mentioned projects.
If there is a main chain in the system, this means that the speed of validation of any transaction is equal to the rate of validation in the main chain — 2–3 minutes in general. There is an opinion that when there is a main chain, these are actually different blockchains combined in one platform and not a single blockchain network.
State refers to all system parameters at the moment (all accounts, the number of funds at them, smart contracts and their status). If the state is full (for example, in the Zilliqa project), all nodes must store all the information that is energy consuming. But the main advantage is easier validation. Sharding state — each shard works completely separately, validation takes considerable time. We have a mixed state type. Part of the data (state of shards, accounts belonging to shards, state accounts, private shards, which nodes are validators) is stored on all nodes. And the data that is processed is stored inside the shard.
Cross-shard transactions (between shards) — in most projects go through the main chain, but in our system — directly.
What is the main difference between the Resonance consensus and other BFT protocols?
The most important difference is there is no leader in the shard, a block is created collectively by all nodes. In the other consensuses, the block is usually created by the leader node and then confirmed by the others.
Thus, we reduce the number of coordination steps and, most importantly, completely remove the possibility of censorship, the seizure of control over the shards management is possible only if more than half of the nodes have colluded.
Since all nodes can submit their information, we are going to use mandatory actions to create additional sources of entropy to create a randomizer as close as possible to reality. We enter into each block such data from each node that cannot be predicted, because these data are signed with their private keys, and it is problematic to hack them. On each block new data is entered signed by keys.
Due to what is the transaction validation time less than 1 second achieved?
Reduced the number of matching steps to 3.
The maximum number of nodes in a shard is no more than 150. BFT protocols work most effective on a small number of nodes.
How is the decentralization of the system implemented:
Technological decentralization is achieved through the BFT-like protocol Resonance.
Economic (socio-economic) decentralization is executed through the PoS (proof-of-stake) algorithm. It is beneficial for the owner to protect his node from seizure and not economically profitable to compromise the system.
What is the difference between mining and mining?
Unlike mining, minting does not require calculation, the node receives a reward for the very fact of block creation.
How many transactions are included in one block & what is its size?
The block size is dynamic, 1 block per second. Therefore, the number of transactions in a block will depend on the workload on the shard. We expect an average of 80 transactions per second in one shard, the size of a single transaction is about 200 bytes.
How often are validators changed?
Validators are changed every 1 hour (every 3600 blocks).
The validator checks the blocks in other shards. Then how does the validator know whether to verify the block or not?
When a block comes from someone else’s shard, the present validator knows which a validator is responsible for it (we described above what is included in the full state). If more than 50% of validators have signed a block, then the validator decides to do so.
What will happen to the data if the attackers destroy the shard?
Shard status data is stored in two other shards. The last 2–3 blocks may disappear, all previous will be restored.
How is your platform protected from attack 51%?
“To capture the platform management system — Management Layer, it is necessary to capture more than 50% of all nodes in all shards. This condition is similar to those working in systems with PoW.
Capturing a separate shard will also lead to nothing — since all transactions of the shard are checked by external validators. And in order to confidently capture the majority of validators, it is necessary to get the majority of all nodes. Which leads us to the same indicators of security. “
Is there a defence against a Sybil attack?
Protection against Sybil attack is PoS (proof-of-stake) mechanism. In order for a node to be connected to the system, its owner must send 500,000 SK tokens to a specific system address.
Thank you for detailed answers, hope our auditory has loved this AMA. And we believe this post encourages you to ask interesting and challenging questions!