We have the tools to build a greener Internet, one app at a time.
The Climate Crisis
The United Nations classifies the climate crisis as the defining crisis of our time. Businesses everywhere are called to revamp their infrastructure and processes so that we may stave off calamity.
In the tech industry, data centers are often the focus of concerns, and rightly so. Water is used to cool data centers to keep them from overheating, causing a big drain on our water supply. In fact, a mid-sized data center consumes around 300,000 gallons of water a day, or about as much as 1,000 U.S. households.
Furthermore, the amount of data we create every day is astonishing. It's projected that by 2025, 181 zettabytes of data will exist. The processing power and electricity it takes to compute and store the massive amounts of data we produce daily is already at about 1% of global energy consumption, with no signs of lessening.
These statistics are bleak, but there is hope for a brighter future. While working to make data centers more energy-efficient should be prioritized by those who utilize them, there is another option.
Edge Computing and the Decentralized Web
Building apps on the distributed and decentralized web comes with several green🌱 benefits.
Decentralized Data Storage - Instead of sending data to a server at a data center, data can be stored locally or at or near the edge. Fission's WNFS is a distributed file system built on IPFS, a hypermedia P2P protocol that stores data on various nodes in the network. Apps with WNFS also enjoy offline access, reducing the need for constant Internet access to use the app!
Reduced Data Transfer - Local-first edge apps can process data locally, meaning fewer data transfers to the network! Our smartphones are sophisticated computers in their own right, and we can do many computations without needing to access additional servers or the cloud.
UCAN, Fission's capabilities-based authentication network, doesn't rely on ACLs or Access Control Lists. Therefore, permissions can be validated with fewer calls between the user, the app, and the resource server.
Energy-Efficient Computing - Instead of running the same computations repeatedly and sending those requests to a server or even the distributed network, why not "cache" the results or save time and compute power in other ways?
Fission's IPVM, or Interplanetary Virtual Machine, takes arguments and applies them to a Wasm function. This outputs a CID or content identifier. When computation runs over these CIDs, new CIDs are output. We can use memoization to inform us if an operation has been run before so we can optimize our efforts and copy the CIDs of those outputs (the receipts) into our work. This saves both time and compute power!
In addition, we can use adaptive/hot spot optimization and make popular operations faster by hardcoding frequently called arguments.
Finally, we can choose the order of operations that is most efficient while not impacting the results. This is done in IPVM, where we ensure mutations always happen at the end. In RhizomeDB, Fission's decentralized database, this is done with CmRDTs that enable data replicas to process updates in any order.
We are working at the protocol level, but many ways exist to help make the Internet greener. What are some ways you are reducing your footprint?