Design Philosophy and Features

From FLO Wiki
Jump to navigation Jump to search

Design Philosophy[edit]

FLO is designed to achieve four goals:

1. Provide a decentralized metadata layer

2. Provide proof of data integrity

3. Prevent widespread data atrophy

4. Provide high throughput of transactions

Design Features[edit]

floData - The Secure Metadata Layer[edit]

Metadata ("floData") can be added to any FLO transaction and broadcast to the network. floData is added right after the outputs and before the locktime, and it is included when calculating signature hashes for inputs. Once the transaction and imbedded floData is appended to the blockchain via the sCrypt Proof-of-Work algorithm, it is immutably stored on the distributed FLO network. floData cannot be changed without changing the input to the signature, thus invalidating the transaction. If the transaction is invalidated by a floData change, the block containing the invalid transaction will become invalidated as well, causing a cascading effect invalidating every block chained after it. This feature can be employed in a number of file storage, indexing, and retrieval applications

Block Size and Speed[edit]

Initially, floData was limited to 140 bytes. Currently, 1040 bytes of data can be stored on the blockchain with a maximum block size of 1MB. If the blocks are consistently filled, the maximum block size may be increased. With a target time of 40 seconds, FLO is fast. In fact, it is 15x faster than Bitcoin, and 3.75x faster than Litecoin. To further assist with transaction throughput, the maximum ancestor limit for an unspent transaction output (UTXO) chain has been increased from the Bitcoin default of 25 up to 1250. This permits large amounts of information to be efficiently indexed.

Additional Security[edit]

FLO does not allow reorganizations of 100 or more blocks, and uses a continuity of Proof-of-Work blocks to secure the blockchain. Once a transaction receives 100 confirmations (~1 hour), it cannot be tampered with or removed from the blockchain.

Block Reward and FLO Economy[edit]

FLO’s initial block reward was 100 FLO. However, after every 800,000 blocks, the reward is reduced by 50%. Over 150MM FLO have been mined out of the 160MM total. Based on a genesis block of June 17th 2013, the block reward will likely be reduced to less than 1 FLO per block sometime around 2020-2022. In 2050, at block 27,200,000, the block reward will be reduced to zero. Current block reward information can be found at http://floblockhalving.com/. Upon the block reward reaching zero, the incentive for mining will solely come from transaction fees. Transaction fees increase relative to the total amount of floData used. The minimum transaction fee (protocol minimum) is currently 1 FLO per 10MB data (.0001 FLO per 1000 bytes of floData). Significantly, users storing large amounts of floData are incentivized to pay higher fees to miners to increase throughput. In recent months, these incentives have led to increased mining rewards which have attracted an increasing number of FLO miners.