FIO Protocol

What is FIO Protocol?

The FIO Protocol is bridging the gap between wallets (both exchange-based and self-sovereign) as well as crypto payment processing platforms providing an industry standard decentralized service layer of data, requests and confirmations that abstract away the complexities of the underlying blockchains. The FIO Protocol is not a wallet, not an exchange and not a crypto payment processor, rather, it enables them all to deliver a dramatically improved user experience. The FIO Protocol does not compete with other blockchains nor does it send value on or integrate with other blockchains but, rather, it enables them all to be more successful. Technically speaking, all other blockchains do not even know that the FIO Protocol exists.

Important things to know about the FIO Protocol

FIO Protocol is decentralized
The service FIO offers is not centralized. There is no company making money off adoption, just a non-profit foundation trusted by the community to support the technology. The FIO Protocol is a decentralized business model rewarding everyone who adds value. It does this directly via the blockchain by distributing fees and tokens directly to validators, integrators, and (in the future, once FIP-21 is released) voters who stake their tokens.


FIO Protocol does not directly send or receive your cryptocurrency
The FIO Protocol, which acts like a layer 2 usability layer for all blockchains, doesn't actually integrate directly with any other blockchain. When sending to a human-readable FIO address or responding to a FIO Request, the wallet, exchange, or FIO-enabled service you are using looks up the native blockchain address and sends to it directly. FIO is not involved in that transaction in any way. For example, the wallet looks up a bitcoin address mapped to [email protected] and once it has that BTC address, it does a normal BTC transaction on the BTC chain.


FIO Protocol is a standalone blockchain built on EOSIO technology
The FIO Protocol is a Byzantine Fault Tolerant DPOS blockchain. Data lookups and validations for FIO Address interactions are secured by the FIO Chain. Only the FIO private key holder who owns the FIO Address NFT can map native blockchain addresses to that FIO Address or send encrypted FIO Requests from that FIO Address. This ensures the entire security of the network (currently over $14M worth of FIO tokens are being used to vote in the top block producer) is securing your FIO Address mappings.

What are main goals of the FIO Protocol?

The FIO Protocol reimagines and enables a better way of sending and receiving blockchain-based value, regardless of the wallet, exchange, token or coin used. This is achieved in a manner which is:

  • Human-meaningful: allows users to initiate transactions using human-readable and memorable identifiers like “[email protected]” or “[email protected]
  • Decentralized: powered by a public blockchain that does not require a centralized solution of a trusted third party
  • Secure: enables transactions to be exchanged between parties in a secure way. All FIO Protocol transactions require a FIO private key, which is stored in the user’s wallet
  • Private: sensitive counter-party information, including public addresses and metadata, can be encrypted on the blockchain
  • Interoperable: once integrated into a wallet, the FIO Protocol works with any blockchain and cryptocurrency without any integration to those chains
  • eCommerce ready: enables request for payment functionality (i.e. for wallet-to-wallet order cart presentation) along with robust, immutable and private metadata for every transaction and simple refund processes

What are the Primary Features of the FIO Protocol?

The FIO Protocol currently provides several features, with a robust roadmap of future items that may be added. Currently, the FIO Protocol enables the following:

FIO Address

FIO Addresses act as the human readable “wallet names” and user identifiers on the network. In addition, FIO Addresses are the gateway to all other capabilities of the FIO Protocol. Registration of a FIO Address is done in a FIO enabled wallet or exchange where a FIO Private/Public Key pair is generated. The FIO Address and all actions on the FIO Chain are self-sovereign via the FIO Private Key. Without a FIO Address, users cannot access any of the other FIO protocol capabilities.

FIO Request

A FIO Request is a transaction in which a payee is requesting funds from payer using FIO Addresses. The payee first encrypts all sensitive metadata (e.g. currency, amount, public address of payee, memo, etc.) using Diffie-Hellman key method , which derives a shared secret from the payee private key and the payer public key and places the transaction on the FIO Chain. The payer polls the FIO Chain, decrypts the metadata inside their wallet and uses the information to pre-populate the send transaction, which is broadcasted to the native blockchain without involving the FIO Protocol.

FIO Data

In addition, the payer places a metadata about the native blockchain transaction (e.g. native blockchain transaction id, refund address, memo, hash of off-chain metadata, etc.) on the FIO Chain. Just like the request, the metadata would be encrypted using Diffie-Hellman key method.

Resources

If you are interested in integrating FIO Protocol check out our Integration Guide, and if you are ready to dive into code, our API spec will explain all the calls we provide.

If you want to spin-up your own node or even become a block producer, check out the FIO Chain section for more information about building a node.