Tuesday 22 August 2017

guide to staking,

The blockchain is a succesion of generated blocks, each block contains a number of transaction informations.

Proof of Work requires some computing power to generate these blocks, as the difficulty increases the computing power necessary increases, only some form of hardware (computing power) is required. A high difficulty network requires a large amount of computing power.

Proof of Stake also requires some computing power, but also requires some coins to be held. This requirement of holding coins creates a process which is far less computing intensive, even on a high difficulty network generic computers are sufficient.

Proof of Work can require substantial investment in computing power.
Proof of Stake can require substantial investment in purchasing coins.


A simple explanation to Proof of Stake : if you hold coins in your wallet whilst leaving it open, unlocked and online, your wallet will occasionally mine/stake/generate a block, this is added to the blockchain and you will receive a reward.



When a coin wallet is mining using Proof of Stake it needs to be online, unlocked, and have eligible coins available.

Inputs : Every transaction creates inputs and outputs, deposits are inputs and withdrawls are outputs, the inputs are the coins that are in your wallet. Also known as UTxO's

Eligibility : each PoS currency will have a Minimum Stake Age, (ExclusiveCoin is 24 hours, PeerCoin is 30 days) once an input is that old it will become eligible to stake.

Mining : Whilst staking your computer is doing work, similar to Proof of Work mining but vastly reduced,
each second all available inputs are hashed to create an output which is compared against the current network difficulty, if the hash is a good number your wallet will create a block and send it to the network.

Probability : each input has a probability of a succesful hash, the probability is based on the input characteristics.
ExclusiveCoin uses the input size (how many coins) and it's age, the greater those numbers the greater the probability and the more likely you are to generate a block.

Orphans : when you generate a block, it is possible that another block will be accepted by the network in preference to yours, your block then becomes an orphan and will appear in your wallet greyed out and with 0 confirmations.

Block creation : when you create a block the wallet will automaticatlly do a number of things, including adding all the unconfirmed transactions from the network, and creating a new transaction which is the stake/minting transaction.

Split/Combine stake transaction : the wallet is programmed with values of a target size for staking inputs, what this means is that it will modify each staking input to fit within the programmed values.
If the current input is lower, it will combine with other staking inputs, and if it is lower, it will split in half.


example.
i withdraw 250 EXCL coins from an exchange to my wallet, 
when that transaction is included in the blockchain, that transaction will become my staking input.
EXCL has a minimum stake age of 24 hours, so my wallet will start attempting to stake/mine a block after 24 hours has passed.
as my staking input gets older, it gets more likely to succesfully stake.
when my input stakes, the wallet will compare the input size to the target size for staking inputs.
my input is 250 coins, and the target size is 100 - 200 coins, obviously larger, so my input will split into two inputs of 125 coins and 125.5 coins (only one of the inputs gets the 0.5 coins reward).
the wallet will now wait until it has an eligible input that is older than 24 hours, and repeat the process.

i withdraw a further 50 coins from the exchange to my wallet, now i have three inputs of 125 and 125.5, and 50.
when my input of 50 coins succesfully stakes, because it is lower than the target threshold the wallet will want to combine it with one or more inputs.
assuming i still have those three inputs, it will combine the 50 coin input with the 125 coin inputs.
now my wallet has two inputs, the new one of 175.5 (including reward) and 125.5

upon my next stake, those two inputs are within the target range and will not be split or combined.
but when one of those inputs receives enough rewards to go over the target threshold it will be split.
and if I withdraw more coins from the exchange, the new input will possibly be split or combined.




note:
there are differing forms of PoS available, this article is usefully targetted toward Exclusive Coin.
for example, some forms do not use input size (or amount) as a probability modifier.