Menlo One explained in plain English
Most blockchains are chasing the dream of a completely decentralized internet. This is an internet where no one has to rely on a single point of failure. An internet so resistant to censorship that even a government couldn’t shut it down. Bitcoin can be used to store simple data like account balances, but decentralizing a social media network or complex game like Starfox is a bigger challenge. Many hoped that Ethereum could facilitate the fully decentralized internet, but scaling issues have proved troublesome. Projects like EOS and Hashgraph promise to address slow transaction speeds and scaling issues, but the future is still unknown.
Fortunately, we can look to applications like OpenBazaar for inspiration. This marketplace app offers complete decentralization and censorship resistance without sacrificing performance. It achieves all this on its desktop application by leveraging multiple decentralized networks — Bitcoin, IPFS, and P2P networking protocols — instead of a singular blockchain.
Today we present Menlo One, a developer framework for building decentralized applications with the same speed and user experience of traditional applications.
Menlo One: A viable solution for a decentralized internet
At its core, Menlo One is a web development framework and ecosystem for caching the data read from a blockchain to a high performance web server. I know what you’re thinking: “that’s not decentralized!” Your response is reasonable but not quite right. When end users receive the data on the Menlo One framework, they validate it with a smart contract that has a hash of the data the publisher intended you to see. Instead of another blockchain, it’s a layer 2 network sitting on existing blockchain networks, using them synergistically. At launch, Menlo One uses Ethereum and IPFS, but we plan to support networks like NEO and EOS. Our framework requires users to install a local desktop application bundled with an Ethereum lite node. This allows the framework to handle transactions without bothering users every time they land on a new website.
We first attempted to create an OpenBazaar-style marketplace for ICOs, but soon realized the powerful implications of offering a decentralized webstack and decided to adapt our marketplace into a framework and make it open source, allowing other developers to use our technology.
Our developers framework can facilitate the building of decentralized exchanges, security marketplaces, and DAICOS. Using Menlo One, a team could even build a completely decentralized social media network the size of Facebook.
The decentralized internet: more than transactions-per-second.
Many blockchain projects are working to increase the transactions-per-second. However when you build a decentralized network, size matters.
Many functional decentralized blockchains require users to download the entire blockchain or trust a third party website to do it for them. The problems here are that trusting a third party defeats the purpose of decentralization, and downloading the entire blockchain is not ideal for most users. Just consider that the blockchains of Ethereum and Bitcoin are now both in the double digit gigabytes. This is just not practical.
A decentralized internet will at minimum require security, usability, broad distribution and speed. Even the fastest blockchain today can’t deliver content as quickly as a centralized cloud based server. Content Nodes are a solution to this problem by essentially creating a decentralized cloud server network run by individual users who are incentivized in Menlo Tokens (ONE™) to deliver the correct content to websites or applications.
Web servers are bigger than your laptop
Most of your favorite websites require complex operations to ensure a fast user experience. For example, when you search for something on Amazon, it does not show you all the results. That would be a huge data payload and would take a long time to download.
Instead, the site paginates those results on a series of quick-to-download pages. Even searching for something and quickly returning a result is complex for a system as big as Amazon. If a user wanted to perform this task on a decentralized app using existing technology, they would have to download Amazon’s entire database of products (or enough to fill the hard drive) to search through, and then perform complex logic to find the item. When even a simple search for a vacation photo on Apple’s Finder to takes a long time to return a result, then it becomes clear that searching for data is best left to high performance web servers.
A blockchain like Ethereum in its current form couldn’t scale to hold all of Amazon, so a decentralized Amazon seems impossible. By leveraging decentralized storage solutions like IPFS with the security of networks like Ethereum and the speed and computing power of the cloud, we found a way.
Centralized vs Blockchain vs Menlo One
Here’s how the centralized web works
To read this article right now on Medium, you connected to Medium’s web server, and you told it what article you wanted to read (this is the part of the URL after the .com)
Then, the webserver searched it’s database for this article and sent it to your computer. I put that data on Medium’s server through it’s publishing platform, and we’re both trusting Medium to present the article to you without any censorship or alterations.
The team at Medium could hypothetically replace all the article images with the Dogecoin’s Doge, and replace the words “Craig Wright” with “Satoshi Nakamoto” if they wanted to. Worse yet, Medium could ban any content related to blockchain and delete this article.
This, by the way, is not out of the question link. For this reason a system with a single, trusted, central server is not decentralized or trust-less.
Decentralized blockchains are different because the user downloads the entire chain (i.e. the database). The user can’t search the blockchain without downloading at least a large piece of it (unless relying on a third party). This system works well for small pieces of data like account balances, but it is not viable for a large database like the one Medium would use.
The blockchain is “decentralized” because everyone has a shared copy of the data, and “trust-less” because there is a complex consensus mechanism, which no one can alter, to determine the validity of the data.
Menlo One is a blend between the worlds of the centralized web and a decentralized blockchain. With this framework, developers could build a trust-less, decentralized Medium (dMedium) with the same speed and ease of use as the original. If dMedium was built with Menlo One, users would still connect to a webserver, and it would still search a database for this article, and it would send it to the user’s computer all the same.
Here’s the difference:
If I published the article on dMedium, I wouldn’t have sent the data to a centralized server. With Menlo One, this post would be sent to a blockchain, and unlike a centralized system, we don’t blindly place our trust with one server. Instead, dMedium would be hosted on “Content Nodes” which are independently run web servers that serve the same data that they copy and index from blockchains.
The Content Nodes would save this article in a high-performance, easily-searchable database. And if you were reading this article on dMedium, you would receive it on your computer and then compare it with a copy I put on a blockchain. This would allow you to ensure that this is the article I intended for you to read,, unaltered and uncensored.
Crowdsourcing web hosting, and paying users to use the internet
There is a cost for this of course. There is a cost in GAS to the user, as well as a cost for the server hosting the Content Node. Plus the Content Node also has a bill from its web host. To offset these costs, every publisher on the Menlo One network supports the network with a small payment (borrowing from the philosophy of Bitcoin).
If I published this article on dMedium, I would have deposited some of Menlo One’s ONE™ token in the dMedium smart contract. Once the reader validates that the article they got from dMedium is valid, the Menlo One smart contract pays the server for delivering the article and pays the reader for the GAS cost, and even a little extra.
But why would I pay someone to read my article? And why would I pay an additional cost for a Content Node to give it to you? I could have advertisements on the page that offset those costs. I could be using the article to promote my upcoming book about the time I met the creator of Bitcoin, Satoshi Nakamoto (image below of that amazing moment).
Menlo One makes it relatively easy for anyone to make passive income by hosting a Content Node. Hosting a Content Node could be quite lucrative if someone were to use Menlo One to build a site as popular as Facebook. Since Medium has struggled to monetize, perhaps Medium could rebuild itself with Menlo One. Hosting Content Nodes could provide them with an alternative business model.
Proof-of-Reputation based security
At this point, you might be wondering why the Content Node is incentivized to sending accurate data. The answer is ONE™ tokens and reputation. For a Content Node to monetize, they have to place ONE™ tokens in a smart contract. The Content Node stands to lose these tokens if they serve users altered data. Furthermore, the Content Node can’t monetize immediately. They have to serve a lot of data over time to build up their “reputation.” If a Content Node cheats the system, they lose not only the staked tokens for that transaction, but weeks or months of work.
The end users consuming content also need a good “reputation” to get the ONE™ token payout. Users build their reputation in ways relevant to the publisher and application. For instance, I would pay a user to read my article if that person is friends with an editor at the New York Times, but I wouldn’t want to pay a bot.
The path to an (actually) decentralized internet?
There are many projects trying to build a decentralized network that can handle large scale use cases like a social media networks or games. Most solutions involve highly experimental technology, and most of it is yet to be built.
Menlo One, however, uses existing networks in a new way. While it leverages traditional cloud-based servers, cloud-based servers are fast! After all, high performance cloud hosts are optimized to be far better performing than the average laptop most P2P blockchain projects use for storing their data.
Menlo One is currently in a private alpha stage but is working with a small group of projects who are building their dApps with our framework. Menlo One plans a public release along with some of these project in September 2019. https://menlo.one