Purplecoin: The first stateless sharded cryptocurrency and blockchainWith the advent of Bitcoin, decentralised ledgers have sprung into existence. While revolutionary for its time, Bitcoin could not satisfy the needs of the masses due to its inability to scale to global needs. No other blockchain protocol has managed to achieve this, at least not without sacrificing the one thing that made Bitcoin as powerful as it is: being tamper-proof, even against state actors. We believe we have managed to achieve what Bitcoin couldn't. We will now present the first stateless cryptocurrency.
What is a stateless Blockchain/Ledger/Cryptocurrency?To put it simply, a stateless blockchain allows full-nodes to validate transactions without storing past blocks or unspent transaction outputs. This is done by employing an incredible cryptographic construct known as a cryptographic accumulator. While Bitcoin can theoretically scale by increasing the block size, it would eliminate the ability of regular folks to run a node. This improvement basically allows big blocks sizes while still allowing regular folks to run a node. This also means several things:
- The initial sync to the network is more or less instant, regardless of the chain size. Further syncs are an order of magnitude faster, taking possibly seconds at most. We still have to test this but it seems really fast.
- Transaction validation first and foremost becomes more efficient because we don't need to search the disk for UTXOs as we only check the accumulator, which lives in memory. Memory is orders of magnitude faster than disk, which is the main bottleneck in Bitcoin.
- Users are responsible for storing their own UTXOs in their wallet. Besides these, a full validating node can run while storing only a few kilobytes of data. This means a full-node does not in fact need a disk to run at all.
Scalability through sharded Proof of WorkThere are 16 chains, called sector chains, each representing a group of 16 shards, with a total of 256 shards. Each shard is an independent blockchain and can be processed separately along with the respective sector chain. Transactions are only possible within the same shard. The XPU token is mined therefore on different, independently running chains. As such the tps is equal to the sum of the tps of all chains. Our calculations at a block size of 380kb resulted in 14222 transactions per second assuming they are simple transfers and not complex transactions. As Purplecoin is stateless, the storage size of full-nodes doesn't increase and only relevant assets are kept.
More details about the consensus algorithm:
https://github.com/purpleprotocol/purplecoin/blob/main/doc/consensus.mdMining algorithm which consumes 50% less energyWe are using the Green PoW consensus model which elapses in epochs. Each epoch has 2 rounds. In the first round, every miner participates and has the potential to mine a block. The miner who finds the solution in the first round is not entitled to participate in the second round. Then, the rest of the miners continue mining the block in the first round. When at least 15 miners manage to mine the block, the second round begins. These miners are called runner-ups. Only runner-ups are entitled to mine the block in the second round. Once one of the runner-ups mines the second round block, the next epoch begins.
This mechanism brings energy efficiency to mining (up to 50% compared to if it wasn't employed) and secures shard sectors against 51% attacks. More details around this can be found in the Whitepaper.
Now, every epoch will use a different algorithm. Half of the epochs will be mined exclusively with GhostRider, in order to prevent ASICs from mining a longer chain while allowing CPU/GPU mining. The other half of the epochs will be mined with an ASIC friendly algorithm, chosen randomly every epoch. This is in order to balance GhostRider, as fully ASIC resistant algorithms are subject to hashpower marketplace attacks, while ASIC algorithms are less likely to be subject to these attacks.
Example:
- Epoch 1: GhostRider
- Epoch 2: Sha256
- Epoch 3: GhostRider
- Epoch 4: Fugue
The following are the current proposed ASIC friendly algorithms:
- Blake2s256
- Blake2b512
- Sha256
- Keccak256
- JH
- Fugue
Find out more about mining:
https://github.com/purpleprotocol/purplecoin/blob/main/doc/mining.mdTokenomics and crowdsaleFind more info here:
Crowdsale info:
https://github.com/purpleprotocol/purplecoin/blob/main/doc/crowdsale.mdTokenomics:
https://github.com/purpleprotocol/purplecoin/blob/main/doc/tokenomics.mdLinks