Phore Synapse — brand new code base
Phore Synapse is Phore’s new consensus algorithm based on CASPER and sharding. This short article explains it as simply as possible.
In current version of Phore, every node in the network validates every single transaction. Synapse works by splitting the network in many shards and having only a small percentage of validators validating each transaction.
For example, with 3 shards, we can increase transaction throughput by 3x. We expect to have many more than 3 shards (probably 64 shards on launch).
Each of these shards is assigned a set of validators who verify transactions in that shard. If the validators stuck with the same shard forever, there would be a clear problem. Unfortunately, this means an attacker would only need to control 51% of a single shard to control all transactions on that shard. We solve this by frequently shuffling the validators between shards.
The other aspect of Synapse is CASPER which is a secure proof-of-stake algorithm. The basic idea of CASPER is to reward validators who are in the majority and punish validators who are in the minority.
In the example above, one fork has 51% of validators behind it and one fork has 49% of validators. Over time, validator balances on the 49% are slashed and validator balances on the 51% fork are rewarded. Eventually, this will reach a state when 2/3 of the validators agree on one of the forks. When that happens, the block is considered justified and cannot change.
Synapse provides a solid foundation on which we can build state execution functions. These state execution functions could be anything: executing transfer transactions, smart contract executions, data storage and auditing, governance, zerocoin, etc.
At launch, we plan to have 2 types of shards: transfer shards for simple Phore transfers, and a governance shard to provide a development budget and voting.