Aleph.im Is Like a Decentralized AWS Lambda for Web3 DApps
Decentralized apps rely on computing infrastructure just like traditional applications, but the stack often looks a little different. This is resulting in familiar cloud computing architecture being retooled with decentralization at the core. One of the players in this space, Aleph.im, is providing on-demand serverless resources for compute, database and storage needs, similar to what AWS Lambda offers developers in cloud computing deployments.
A Decentralized Approach to Scale
In an interview with The New Stack, Aleph.im founder Jonathan Schemoul explained that “Aleph.im is by itself a new kind of network — not a blockchain, but using blockchain-related technologies.” Some of these technologies include hashing, elliptic curve signatures, peer-to-peer networking, and gossipsub (the mesh and gossip-based pubsub protocol).
Up to this point, the Aleph.im structure has been made up of approximately 70 core channel nodes. Recently announced funding is being used to expand this to a network of 150 compute node operators. Schemoul goes on to explain, “The core of the concept is messages (hence the .im domain). They define database entries, storage, forget requests and even serverless computing virtual machine creations. The network accepts messages signed by any address of a supported network (verifying that the signature is valid and corresponds to a public key that corresponds to the address), and writes hashes of lists of messages on blockchains to avoid history tampering. The trick here is that the network writes on blockchains once in a while, and just one hash for thousands of messages.”
“A node can subscribe to channels,” he continued, “where messages are flowing (a bit like instant messaging channels) and if it doesn’t subscribe to a channel it doesn’t see all its messages. We call this part the sharding of the aleph.im network. It will get automated later this year.”
Cost Comparison to Cloud Providers
I asked Schemoul about the cost comparison between deploying on Aleph.im vs. AWS, which is a familiar pricing model for most developers. Right now a direct comparison is challenging, because the current model requires holding ALEPH tokens in order to get service — which is very different from AWS pricing.
Schemoul explained that the Aleph.im roadmap has a goal “to be pretty much on-par or a bit cheaper than centralized alternatives [like AWS or Google Cloud] thanks to market dynamics, where providers compete to provide service in the most efficient way. The APIs and endpoints being the same whatever the providers are on the other end of the network.”
For now, running a node requires holding 200,000 ALEPH in a wallet, which translates to roughly $156,000.00 per node as of this writing. Some of that cost can be offset by simultaneously staking the ALEPH in your wallet and nodes also earn ALEPH by participating in the network.
The nodes themselves are configured through a partner like NodeForge, or you can deploy your own node with a combination of Docker, MongoDB, IPFS, and the PyAleph node software.
In looking at the Node Forge documentation for deploying an Aleph node, I noticed they are hosting on a multicloud infrastructure. Since this frequently means leveraging some mix of AWS, Azure, or Google Cloud, I asked Schemoul how this avoids the same centralization issues faced in cloud computing.
“The whole idea is to have a variety of hosting places and types,” he replied. “The more diversified the network is, the better. So, yes, although it is possible that some may choose to host their nodes within the AWS, Azure or Google Cloud infrastructure, it is also not as bad as it sounds. Regardless, we are creating a diverse, distributed, and non-centrally controlled network of nodes designed to function in such a way that even if one goes down, or even if one of ‘the big guys’ (e.g. AWS) goes down, odds are high that the others will probably still be up.”
Decentralized Capacity and Scale
One of the challenges in building out any infrastructure is the risk of demand for resources exceeding capacity. According to Schemoul, Aleph.im is thinking about capacity risks this way: “There are currently about 70 core channel nodes operated by long-term, trusted Aleph community members, and each of the forthcoming resource nodes will be linked to one of these core channel nodes. This means that in the event a resource node goes down for any reason, the network can continue to operate at full capacity off of the core channel nodes. These core channel nodes have been the key infrastructure for the entire Aleph.im network throughout all of our 2021 partnerships and indexing efforts.”
Aleph.im has seen some early success in working with Ubisoft to provide decentralized storage for dynamic NFTs used in the blockchain-powered Ubisoft Quartz gaming platform. Ubisoft is leveraging compute on-demand from Aleph.im in cases where metadata is pushed to the network as database entries. The Aleph.im compute nodes spin up a virtual machine on request to compile the data as a readable format for secondary markets, with the metadata url pointing to a microVM. Gamers are notoriously intolerant of performance issues, so it seems like a positive signal that Aleph.im is meeting the challenges of supporting a gaming dApp (decentralized app) from a company the size of Ubisoft.
Another potential opportunity is in decentralized finance. Here again, Schemoul explains, “the DeFi industry still has a lot of centralized parts (middleware servers, centralized indexings, databases, etc.). All this code can be run as microVMs and reduce regulatory issues by being fully decentralized, from top to bottom.”
You can check out additional example dApp source code, including the CMS that runs aleph.im and a blogging dApp in their developer resources.