The Fiat-Crypto Gateway
To make the fiat-crypto gateway work on the back end requires the operator of the gateway (i.e. Storj Foundation or some entity it nominates) to engage in continual exchanges of fiat currency for Storj tokens. When a user pays for service in fiat, this fiat then needs to be turned into Storj to pay the storage node. Further, when a service provider requests payment in fiat for access to their storage, the Storj that these nodes have received as payment need to be turned into fiat.
Doing all these exchanges, in practice, requires a “liquidity pool” of Storj tokens that can be provided in exchange for fiat as needed. The operator of the fiat-to-Storj and Storj-to-fiat exchanges need to have some Storj tokens and some fiat currency on hand so that when someone needs to change Storj for fiat, it has the fiat; and vice-versa when someone needs to change fiat for Storj, it has the Storj.
Staking is an elegant way of securing an additional pool of Storj tokens usable for mediating the exchanges this gateway requires.
When an Storj token holder stakes their tokens, this means they are agreeing to “lock-up” and not use their tokens for a period of time. They are temporarily handing over their tokens to the Foundation to manage the staking process — until the lock-up period expires, and they can request the tokens back. These staked tokens are then part of the pool that can be used to mediate the fiat-to-Storj exchanges required on the back end of the fiat-crypto gateway.
In exchange for providing their tokens to be used in this way, the Storj token holder who has staked their tokens is provided with a certain number of bonus Storj tokens, similarly to fiat depositors earning interest.