fip | title | status | type | author | created | updated |
---|---|---|---|---|---|---|
31 |
Eliminate FIO Address Expiration |
Final |
Functionality |
Pawel Mastalerz <[email protected]> |
2021-07-05 |
2021-12-07 |
The purpose of this FIP is to eliminate the concept of expiration of FIO Addresses. FIO Addresses will now be valid and functional indefinitely and will never be burned. Users will still need to purchase bundled transactions or pay-per-call to continue to call actions on the FIO Address.
Modified actions:
Contract | Action | Endpoint | Description |
---|---|---|---|
fio.address | burnexpired | /burn_expired | FIO Addresses are no longer evaluated for burning due to its expiration. |
Multiple | remaddress, remalladdr, newfundsreq, cancelfndreq, recordobt, xferaddress, voteproducer, regproxy, unregproxy, regproducer, unregprod, trnsfiopubad, stakefio, unstakefio, addnft, remnft, remallnfts | Multiple | FIO Addresses expiration dates are no longer evaluated for 400:FIO Address expired exception. |
Modified getters:
Endpoint | Description |
---|---|
get_fio_names | For compatibility purposes modify expiration for FIO Addresses to 2106-02-07 ( uint64_t max value - 4294967295 ). |
get_fio_addresses | For compatibility purposes modify expiration for FIO Addresses to 2106-02-07 ( uint64_t max value - 4294967295 ). |
get_pub_address | FIO Addresses expiration dates are no longer evaluated before returning response. |
The FIO Addresses were envisioned to be valid for a period of 1 year. If not renewed, 90 days after the expiration date (this was recently changed to 365 days in anticipation of this FIP) the FIO Address and all associated state content would be permanently burned. The rational was that a valid FIO Address provides value to the user (once set-up anyone can look up mapped public addresses) and incurs hosting costs to the block producers.
However, the automatic burning of FIO Addresses proved problematic for the following reasons:
- It’s up to the integrating wallet to notify the user to renew, which may be challenging for wallets which do not collect contact information from their users.
- Users may not be using their wallets often enough to notice the need to renew.
- As discovered in a recently conducted usability study, some users will abandon FIO Protocol if they have to pay an annual fee or due to the fear that expiring FIO Address may compromise their security if someone else re-registers it.
- As of 5-July-2021 only 352 FIO Address renewals have been executed.
It was acknowledged that elimination of renewal fees on FIO Addresses may reduce income to the FIO Chain. However, it is also believed that improved user experience would grow the user base faster and therefore increased income from other fees may offset that reduction. It’s akin to the Freemium model used by many SAAS companies which offers basic features available for free while charging for more advance features.
- FIO Address will no longer expire or be burned due non-payment of FIO Address renewal fee. Therefore, it will be fully functional indefinitely.
- There will still be a fee to register a FIO Address for the first time. Today, this fee is often covered by the Foundation using tokens allocated at Mainnet as FIO Address Giveaways.
- Users will still need to purchase bundled transactions or pay-per-call to continue to call actions on the FIO Address, such as adding public address mappings, creating new or responding to an existing FIO Request.
- FIO Domains will continue to expire and will need to be renewed.
- FIO Address will still have limited functionality within 90 days after its FIO Domain was not renewed.
- The FIO Addresses will still be burned once its FIO Domain is burned.
No change
FIO Addresses are no longer evaluated for burning due to its expiration.
No change
remaddress, remalladdr, newfundsreq, cancelfndreq, recordobt, xferaddress, voteproducer, regproxy, unregproxy, regproducer, unregprod, trnsfiopubad, stakefio, unstakefio, addnft, remnft, remallnfts
No change
FIO Addresses expiration dates are no longer evaluated for 400:FIO Address expired exception.
No change
No change
No change
For compatibility purposes modify expiration for FIO Addresses to 9999-12-31.
No change
No change
For compatibility purposes modify expiration for FIO Addresses to 9999-12-31.
No change
FIO Addresses expiration dates are no longer evaluated before returning response.
No change
This has been deemed the best approach to eliminate expiration of FIO Addresses.
Released in:
For backwards compatibility, on getters where FIO Address expiration date is returned, it will be modified to 9999-12-31 to ensure it does not break any client expecting a valid date.
Staking for bundled transactions may be considered in the future. A user could stake tokens and elect rewards to be redirected to “buy” new bundled transactions making FIO Address free even for more advanced use.
If elimination of FIO Address renewal fees prove to negatively impact the block producer economics, the following could be considered in the future:
- BPs may elect to charge fees for hosting API nodes.
- State content may be purged of historical data. Something already being considered.
- Cost to store mapped public addresses may be adjusted.