Request: add bandwidth usage to the hostdb and host stats, similarly to used/remaining storage
FEATURE REQUEST
Description of Request
During this year, with the implementation of Skynet, the use cases of Sia have moved from cold storage to warm/hot storage. While in cold storage an important metric is how much is being stored and how much capacity remains on a host, in hot storage the amount of data transferred is more relevant, as typically the data is stored once and then transferred many times. It is becoming important for hosts, renters and network monitors to have access to per-host bandwidth metrics
Reason or Need for Feature
- Hosts analyzing their status with the
host -v
command could know not only how much data they have stored, but also how much data is being transferred, helping them to price their bandwidth accordingly - Renters could use the bandwidth usage from their
hostdb
table as part of the host selection mechanism, similarly to the remaining storage. These can be cheated on the host side, but for example if a host is reporting zero or near-zero download bandwidth, that can be indicative that the host is broken, and so it has to be penalized in score - Network monitors can present figures of data being transferred through the network. I think that while the network-wide used storage has stagnated during the last year, most probably the data transfers have increased several folds due to Skynet, and this is an interesting network metric we are missing from the whole picture
- As a side effect of the previous point, if prospective hosts observe that the bandwidth usage of the network is increasing, this could encourage them to start hosting, as they can expect relevant income from downloads. Right now, as the sole metric they have is the used storage, and this is stagnant, new hosts are discouraged to join
Design / Proposal
As a design I would suggest that hosts track bandwidth usage during the last 1000 blocks (weekly usage), for example. This information can be presented in the host -v
command, be communicated to the renters during the hostdb
scans and a then be presented in the hostdb
table and API.