I often get asked questions about Lens and how it relates to blockchain. I’ve been asked: “since you’re decentralized, how are you leveraging blockchains?”, “How are you different than the other crypto currencies available?”, or “Can you explain how Lens is better than a blockchain?”. These are fair questions to ask in a complex and ever-changing techno-world and in this post I’d like to explore what Lens is, what Lens isn’t and how it relates to blockchains and other crypto technologies available.
What is Lens?
One of the core tenants of Lens is to give users full control of their data. Full control means that they can share, create and delete their data whenever they want. Under the hood this is implemented a lot like a website is today. But instead of a website, you can think of it as your own scalable data node. So rather than companies or other individuals storing your information on their devices, they only store an address that points them to your data. This means that if you change data or remove the data, anyone who had that link to your data will get that update as well. With this model, data would never fall out of date. Additionally, each link you give out to your data is unique for each situation. For example, if you want to share your email address and your phone number with your grandmother, you’d create a special link just for that connection. You could imagine it looking something like “https://codyeilar.com/contact-info/for-grandma”. This is not really what Lens generates for you (under the hood a dat URL is generated, which is not something you would want to memorize), but it illustrates an important point about how each bit of data you give out can be tailored to whom you’re giving it. Additionally, this is synced to the originating data source so that if your email or address changes the next time grandma visits the tailored link you sent her, she will be sure still have the updated contact information.
Aside from the fact that data is now a first class citizen on our network, what else is Lens? One of the things that really excites me about Lens is its decentralized nature. Lens attempts to minimize the amount of centralized services necessary to build the network. In fact, the Lumen is more than just a personal data node, it is a vehicle to help move all kinds of data around on the network. This is essential for scaling really popular data on the network. Centralized companies like Twitter or Instagram must detect really popular content and scale it accordingly. This means that you must rely on that company to scale based on the number of users, and if they stop scaling, you’re stuck waiting for content to load for long periods of time. With a decentralized system like Lens, the network scales based on the number of nodes that join the network and on the popularity of the content automatically, there is no need for a central authority to send data servers all around the world to match the demand. How is something like this possible?
Lens scales naturally because of the way we do data replication under the hood. When you host data, you make that data available to anyone who has the correct keys to unlock the data. However, you may want to make your data available to more than one person, maybe even a large group of people. A Lens works a lot like Bit torrent does: whenever you download a file from the network, you automatically begin hosting it to other interested parties. This is exactly what happens with a Lens. When you share contact information with someone, they automatically re-host that data on your behalf. Keep in mind though that because of the nature of Dat, they will not be able to modify the data in anyway or else it will be easily be detected by the network and notice it as a fraudulent modification (this is done through cryptographic signatures). What this means for scalability is that if you have a piece of content that is extremely popular, the data scales to each device that requests the data and is then re-hosted by that device. This means that if 100 people see your contact information, you have 100 more people serving your data on your behalf so that when the 101st person asks for the data, they may end up pulling it from your device or a device that is closer in proximity to theirs. Unfortunately this has the side effect that it can take a bit longer for everyone to get updates from your contact information data source. In other words, if you update your contact information and push that change to the network, the update will not instantly be noticed on all the other peers. The data will eventually be consistent.
So at its core, Lens is about data subscription and decentralized web enablement. There are many more details that I didn’t go into, but I covered the basics for comparing the differences between us and a blockchain. In the next section, I’ll give you a high level overview of blockchain.
What is a Blockchain?
The details of blockchains are all over the web. I’m not going to do a disservice to the already hundreds of articles written on this topic but I do have a few important points to make about it with regards to the Lens network. Specifically, how does the Lens network handle transactions between peers and how are peers made aware of transactions?
Blockchains are great tools for decentralized consensus and should be used for that purpose. If user A wants to transact with user B and not have a middle man to advertise to the rest of the network about the transaction, then blockchains are a great tool for this. There are lots of uses for a distributed ledger, but the one that comes to everyone’s mind is usually some kind of cryptocurrency. As many articles explain, a cryptocurrency is essentially a distributed ledger with a few rules that allow transactions to happen between two parties. Ultimately, every transaction that takes place on the ledger is permanently recorded. This means that blockchains are append only records and once a block has been added to the chain, it will remain on the chain forever since all subsequent blocks will depend on the value of that one being immutable.
There are a few drawbacks to using blockchains however. First and foremost, transactions occur very slowly. Bitcoin transactions occur at the rate of 3 to 4 transactions per second , which is pretty slow when you compare it to Visa, which around 1,667 transactions per second. This is because of the nature of proof-of-work that is needed to perform any given transaction on the ledger. Another drawback is the amount of energy that is spent in attempting to solve proof-of-work problems in order to get a new block added to the chain. An interesting fact is that one Bitcoin transaction can power about ten U.S. households for 24 hours! That’s a lot of energy for a something as trivial as purchasing a candy bar. So blockchains do have their place, but are they really necessary for Lens?
Lens and Blockchain
So now that we have a basic understanding of both Lens and blockchains, does Lens have a need for a blockchain? The answer is no. We are creating a network that allows users the ability to share and subscribe to arbitrary datasets. That means you might share text data such as an address, or even something like a video. Could a transaction involve cryptocurrency or a decentralized ledger of some sort, sure, but that is an implementation detail based on what the requirements are for that particular data transaction. These transactions could also be facilitated using a service like PayPal, Visa, or even just a handshake from a friend, there is really no limit to what kind of transaction can occur. Imagine if every time I wanted to share data with another individual I need to power 10 households for a day, seems a bit wasteful doesn’t it?
A core feature of what Lens provides is Ledger with verified identities. Many of the blockchain and cryptocurrencies folks talk a lot about self-sovereign identities which emphasize that identity should be under the full control of the individual. The Lens network is 100% behind this idea. In fact, the public ledger only contains public keys of verified identities. The idea being is that anyone (or any robot) can create a public/private key pair, so identity must initially be verified by a human or organization. The key take away here is that a self-sovereign identity does not mean self-attestation. In other words, someone must first prove to be a human (i.e. through an interview, verification of passport information etc.) before their public identity can be published on the network. This identity is ultimately controlled by the individual and can be transported to another organization should Lens no longer be the authority on validating identity of public keys. Lens only has the power to remove or add identities to this ledger, so if someone wants to move their identity to another validating source, there is nothing stopping them from doing so. A great article written about self-sovereign identity goes into much more detail about what we are trying to achieve with identity for the future.
So is there a reason we should put the ledger of identities on a blockchain? Not really. Although a decentralized ledger does seem appealing in this instance, it’s not necessary and increases administrative complexity for no gain. Whoever owns the ledger is ultimately responsible for adding or subtracting users, and so there is no reason to have it distributed, since everyone else is only reading the ledger. Additionally, transactions can be done much quicker with a centralized service. Using typical SQL or NOSQL database technology, all lookups can be done trivially without having to download an entire ledger.
This is a very brief overview about quite a few complex topics such as blockchains, self-sovereign identities, and decentralized data sharing and it is meant to be a starting point to have a conversation about Lens and how it relates to blockchain. So to answer the questions: “how are we different from other cryptocurrencies?” The short answer is that we are not at all a cryptocurrency. “Can you explain how Lens is better than a blockchain?” Lens is not “better” or “worse” than a blockchain. Lens could leverage a blockchain for certain transactions that require it, but there is nothing about the technology that requires a blockchain. I hope this article was helpful for comparing Lens to blockchains, please let me know if you’d like to answer some more questions!