Efficiency is an important aspect of decentralized networks. The various meanings and implications of efficiency on the Safe Network can be subtle and expose various potentially conflicting goals.
The first and most obvious point is Safe Network is designed to not be a blockchain - which is usually taken to mean not an energy magnet the way bitcoin and ethereum and other proof of work protocols are. Safe Network uses different mechanisms to increase the efficiency compared to proof of work. The amount of energy consumed per unit of work will be greatly reduced compared to proof of work.
Keep in mind, efficiency is how much is put in compared to how much we get out. That’s not always easy to compare between systems.
There’s energy efficiency - Safe Network is constrained by data storage and transfer resources (ie harddrive and bandwidth consumption) as the underlying unit of work, whereas proof of work is constrained by computation resources (ie energy consumption) as the underlying unit of work.
Safe Network will be more energy efficient than proof of work because the amount of energy needed to power harddrive and bandwidth consumption is less than the amount of energy required to power computation (for an equal amount of output; meaningful comparison of inputs and outputs is itself wide open to debate).
This leads to a question about capacity efficiency: is it inefficient to have spare harddrive and bandwidth capacity left unutilised (ie not doing anything)?
On one hand it’s inefficient for Safe Network to have 100 copies of data if only 10 are needed to achieve the goals of the network (primarily ensuring permanent storage of all data at an acceptable speed to store and retrieve).
On the other hand it’s inefficient to mandate 10 copies if capacity which could be used for storing 100 copies (to be faster and more reliable) is used elsewhere for less efficient purposes (perhaps nothing).
Capacity efficiency also touches on the potential for decentralization of the network. Consumers often have spare harddrive and bandwidth (a sunk cost), but datacenters do not, which should mean a reduced amount of datacenter participation compared to proof of work. Or it may mean any excess datacenter space is used temporarily for Safe Network while it awaits a ‘real’ use, since leaving it unused is a waste for the datacenter operator. The magnitude of this excess space may be substantial for a large datacenter.
I feel the impact of capacity efficiency on Safe Network (both near and long term) is not well explored.
There’s also pricing efficiency to consider, which is a two-fold consideration and is intended to reflect the best information available of supply (farmers) and demand (uploaders/downloaders). The first consideration is the price for storage demand, the price uploaders pay when storing data, ie the storecost. The second consideration is the price for supplying resources, the price farmers are rewarded for storing and transferring data, ie the farming reward. To what degree are these two factors linked, and how are the distinct? How can we come to understand the impact on efficiency by setting the price at one particular point rather than another? How does efficiency change for varying growth rates (roughly controlled by price)?
There’s also timing / performance efficiency, which asks how much time does it take to achieve something? Ten seconds to fetch a document would be less efficient than one second to fetch the document. How efficient should the timing be? Should performance considerations be different for upload vs download? Should increased resource be used to improve pricing efficiency or timing efficiency or a bit of both? Should the network be capable of streaming a 720p or HD or 4K video, or should people download ahead of time? When does interacting with a large database count as ‘taking too long’? The timing and performance efficiency target is a difficult one to pin down, but I feel it has the greatest impact on the broad perception and utility of the network, so is worth considering carefully.
Are there other types of efficiency that haven’t been covered here? Mistakes or misconceptions? Improvements or comments? Would be interested in your thoughts.
I reckon we all want an efficient network, but what does that mean to you?