๐Ÿฅ‡Welcome to Speed Force

Speed Force is a distributed ledger that supports NFTs, native tokens and smart contracts. This is an innovative network where the community tries out new protocol changes before deploying them to the more conservative BSC network. It has its own token supply called $SF.

Speed Force is also a node built and created by developers. A node is a computer running Speed Force node software. Anyone can join and leave the network, and nodes are run by parties. You can also run your own Speed Force node if you have a regular computer.

Blocks and Outputs

The structure that stores the data is called the Tangle. It consists of separate blocks, each of which stores some small data change. By including blocks into the Tangle, nodes agree on how the Tangle's current state looks like. To get included, each block should reference a few older blocks, and be referenced by a newer block. It means that there is always a front of the most recent blocks: you even can see it. The more new pending blocks there are, the wider the front and the more points are there for newer blocks to attach.

Now, when the nodes agreed on the Tangle state, they can extract useful information from it: for example, who owns what tokens. Each block specifies outputs. In the most basic form, outputs specify an amount of tokens and their owner. Blocks exhaust existing outputs and create new outputs with the same total amount of tokens, but with different distribution and owners. Each output can be spent only once: all future blocks that try to exhaust it will be rejected by the nodes. You can ask a node to go through all blocks for a list of created and exhausted outputs that mention you as an owner. If you strike out all exhausted outputs from the list of created outputs, you will get a list of unspent outputs. The sum of their tokens will make your token balance. This model of accounting is called UTXO.

Unlock Conditions, Addresses, and Seeds

Each output has a list of unlock conditions. Owning an output means that it has an Address unlock condition that has your address listed. Addresses are not arbitrary: you can have multiple of them, but they all are derived from your seed through a special mathematical function.

The seed is a randomly generated number which you can use to cryptographically sign a transaction which you then send to a Speed Force node so it would include it in one of the new blocks. Anyone can check that the signature had been generated by the same seed that generated the address, and that the signature had been generated for that exact transaction. By matching the transaction data, the address in the unlock condition of the output, and the signature, nodes have a faultproof way to confirm your ownership.

This means that you own your funds only for as long as you are the only person who knows the seed. Take the cybersecurity seriously.

Storage Deposits

Speed Force is completely feeless. There are no fees for sending transactions, minting NFTs, or anchoring smart contract chains. But all this additional information has to be stored on the actual physical hardware. If not limited, that would cause node owners to add terabytes upon terabytes of additional storage space to their computers. For this reason, the available storage is bound to the amount of $SMR tokens in outputs. If there is some data in the output (an NFT or a list of native tokens), the $SMR tokens turn into its storage deposit. If during a transfer the new output has too much data and too little $SMR tokens, the network will deny the transaction.

This means that when you trade an NFT you can also have to send some $SF tokens with it. You will get them back, though. With advanced unlock conditions, you can force the recipient to replace your tokens in the storage deposit.

Last updated