4.3 KiB
Ore
Ore is a cryptocurrency you can mine from anywhere, at home or on your phone. It uses a novel proof-of-work algorithm to guarantee no miner can ever be starved out from earning rewards.
How it works
The primary innovation of Ore is to offer mining rewards that are non-exclusive. In traditional proof-of-work systems such as Bitcoin, mining rewards are exclusive. That is, only one miner can win every ~10 minutes, and that miner takes home all the tokens for the round. This has had the longterm effect of starving out casual miners who are simply unable to keep up in the arms race against much larger and well-resourced professional mining firms.
The primary reason Bitcoin is designed this way is that its proof-of-work system serves two roles. It's responsible not only for distributing tokens, but also for coordinating network consensus. This makes sense as the tokens are intended to be rewards for those who dedicate resources to securing the Bitcoin network. However due starvation problems outlined above, it has the unintended consequence of excluding major portions of the global population (>99%) from ever being able to mine. This ultimately limits the number of people who can reasonably acquire the token, and thus contributes to further consolidating the supply. Ore takes a different approach.
Ore builds upon the consensus layer provided by Solana and uses it to reimagine proof-of-work purely as a token distribution mechanism. So rather than setting up every miner in a winner-take-all competition against one another, Ore gives each miner their own individual computational challenge. As long as a miner provides a valid solution to their personal challenge, the protocol guarantees they will earn a piece of the supply. Since no miner can be censored from the network and valid solutions are non-exclusive, starvation is avoided.
Supply
Ore provides strong protection and guarantees against runaway supply inflation. The supply growth rate is bounded strictly to a range of 0 ≤ R ≤ 2 ORE / min. In other words, linear. The reward rate – amount paid out to miners per valid hash – is dynamically recalculated every epoch (60 seconds) to maintain a target average supply growth rate of 1 ORE / min. This effectively means if global hashpower dedicated to mining Ore is increasing, the reward rate paid out per hash will decrease, and vice versa.
A linear supply growth was chosen for its simplicity and straightforward predictability, a quality that can only be guaranteed by cryptocurrency. Ore aims to strike a balance between the unpredictable runaway inflation of fiat currencies on one hand and the feudal deflationary systems of alternative cryptocurrencies on the other. Ore holders simultaneously have incentive to loan and spend while also being protected against longterm exponential inflation.
Program
Entrypoint– The program entrypoint.Consts– Program constants.Errors– Custom program errors.Instruction– Declared instructions and arguments.Loaders– Validation logic for loading Solana accounts.
Instructions
Initialize– Initializes the Ore program, creating the bus, mint, and treasury accounts.Reset– Resets the program for a new epoch, resetting the bus accounts and topping up the treasury.Register– Creates a new proof account for a prospective miner.Mine– Verifies hashes provided by miners and issues claimable rewards.Claim– Distributes claimable rewards as tokens from the treasury to a miner.UpdateAdmin– Updates the admin authority.UpdateDifficulty- Updates the hashing difficulty.
State
Bus- An account (8 total) which tracks and limits the amount mined rewards each epoch.Proof- An account (1 per miner) which tracks a miner's current hash, claimable rewards, and lifetime stats.Treasury– A singleton account which manages program-wide variables and is the mint authority for the Ore token.