Skip to content
Johann Barbie edited this page May 29, 2018 · 3 revisions

Why we don't need Halving:

on PoW blockchains the block rewards are fixed to x tokens per block. halving exists to reduce this static reward and to account for the price of the token to go up over time. by halving it is made sure that the miners are not overpayed for their service to secure the chain. This function is inefficient, as it does not account for how much security the chain needs, but only approximates the cost with a function that depends on time and difficulty. The issuance in PoW chains goes towards competition amongs miners and towards hardware investment, until the block reward is exhausted.

reward(cost of mining, time)
inflation(time, totalSupply)

on the parsec chain, the blockreward adjusts dynamically the the percentage of total token staked. We assume that validators are in competition, and that at any moment, validators stake so many tokens that the best ones can still earn a profit. the competition keeps the inflation down to a minimum, exactly so much, as to pay for the security of the chain at the current token price. Hence, we can say that in inflation is a function of the price of the token and the cost to operate a validator.

reward(cost of validation, % tokens staked)
inflation(% tokens staked, totalSupply)

Parsec fee market:

each transaction pays a fee composed of gas (no unit) and gasPrice in PSC. The fee is payed by having slightly smaller outputs than inputs. the difference is not allocated to any account, but effectively burned, and reduces the amount of tokens in circulation. there is a minimum gasPRice that a transaction has to pay, which is maintained in the plasma contract. If a validator mines a transaction with a gasPrice that is to small, that block can be slashed. validators vote on the gasPrice with every submission of a period, so that the price increases or decreases slowly. As validators are interested to reduce the total supply to push the token price, they are incentivised to include transactions that have a higher gasPrice first.

examples:

deposit:

gas: 0 / gasPrice 1 PSC
inputs: none
outputs: full deposit

transfer:

gas: 20,000 / gasPrice 0.000001 PSC
inputs: 1 PSC
=> max outputs: 0.98 PSC

computationRequest:

gas: 200,000 / gasPrice 0.000001 PSC
inputs: 1 PSC
=> max outputs: 0.8

computationRequest:

gas: 400,000 / gasPrice 0.000001 PSC
inputs: 1 PSC
=> max outputs: 0.6