Since the launch of Lisk in early 2016 there were a lot of misunderstandings and confusion about what it really is, and what it enables people to do in the future. With this review I want to explain briefly what Lisk is and what it isn’t and I hope that this article will help you to clean up some misunderstandings regarding Lisk.
What you'll learn 👉
Misunderstandings
Lisk is one of the newer cryptocurrencies and there are various myths, misunderstandings, and other wrong facts about Lisk. In this review I will try to clean up the most prominent ones.
Lisk team uses JavaScript, which is not secure!
Not true! The programming language used plays an important role, and it is true that JavaScript is a weakly typed language and that there are other programming languages they could have used, which owing to their strongly typed nature, make it less probable for the developer to write bad code. However, that doesn’t mean that JavaScript is inherently unsecure and that other languages do not come with other important trade offs. Also, at the end of the day it is the developer’s obligation to write secure code in the first place. There are a few reasons why the Lisk team decided to use JavaScript. They chose JavaScript because it is basically everywhere on the web, it is accessible to any developer, and has huge companies like Microsoft and Google working on its security and speed across a wide range of devices. JavaScript is used to add interactive elements on almost every website, so by utilizing JS the Lisk team is giving blockchain accessibility to the most widely used language in the world. More use means more developers and more developers means more value.
JavaScript has limitation on number precision larger than 32 bits, but this limitation is not a problem, nor has it been since Lisk’s inception. The Lisk team has worked around this limitation by conducting integer based arithmetic throughout the code base using BigNumber.js (a light javascript library for node.js and the browser). Blockchain application developers are largely shielded by API. They can also utilize the same library used by the Lisk core (in cases which require it).
In order to further strengthen the code base, the team behind Lisk is planning an eventual transition to TypeScript, which is a strongly typed JS. Once TypeScript is implemented, it should mitigate the problems normally associated with weakly typed code. For maximum speed and security, they are also contemplating pushing back certain critical core features to C++.
Lisk is a fork of Ethereum!
Not true! The Lisk code base was forked from a project called Crypti. Crypti collected 750 BTC 2 years ago in order to develop a blockchain application platform, and in the end the Crypti foundation developed a code base which was a good starting point for a new project. However, financial reserves were simply not enough to develop the idea to its fullest extent. Luckily, Max Kordek and Oliver Beddows (people behind Lisk) saw the potential and decided to take over, giving the world the decentralized blockchain application platform it deserves.
Lisk is a competitor to every blockchain project!
Not true! It’s true that you can implement practically everything into a Lisk sidechain. However, the blockchain space is big enough (and it’s only getting bigger) to have several projects solving the same problems.
- A social blogging system can be done on a standalone blockchain or on Lisk.
- Anonymous transactions can be performed in a standalone blockchain or in Lisk.
- Decentralized storage can be done in a standalone blockchain or in Lisk.
The list goes on and on. If you need one of these services in your Lisk blockchain app, you can just plug into third party technologies and leverage their functionalities from within your Lisk blockchain app. This means that you don’t need to re-implement everything.
What Is Lisk?
A cryptocurrency
Lisk is a cryptocurrency and it launched its own digital token (LSK) in May, 2016 to help raise funds to finance the project. It takes just ten seconds to send LSK from one account to another, and after about 1–2 minutes the transaction can be deemed immutable.
A decentralized network
Lisk is a decentralized network with its own blockchain, like Bitcoin, Bitshares or Nxt. However, Lisk doesn’t use Proof of Work (PoW) like Bitcoin, or Proof of Stake (PoS) like Nxt, rather they use a consensus algorithm called Delegated Proof of Stake (Dpos), which is a simplified implementation of BitShares’ original consensus algorithm. Every LSK holder can vote for mainchain delegates that are securing the network, and only the top 101 users with the heaviest votes (i.e. highest number of Lisks individually owned) have a say in problem solving resolutions and are able to cast votes to carry forward motions. Only these top users can earn block generation rewards, which means there is a financial incentive to become an active delegate. Every other delegate is on standby awaiting to become elected.
A framework
The Lisk App SDK is a framework to deploy your own sidechains and develop blockchain applications on top of them, and the result is that the applications and functions built on the Lisk App SDK are continually improved, and therefore better overall. The language of choice for Lisk for individual app construction is JavaScript, one of the most popular programming languages, which means that you can develop platform independent social networks, IoT applications, sharing economies, online shops, contract execution platforms, exchanges, storage platforms, financial applications, prediction markets, messengers, games, and much more on your own blockchain, fully decentralized, and without the hassle of complicated consensus protocols or peer to peer networking algorithms.
A sidechain platform
As I already mentioned, the Lisk App SDK enables you to deploy a sidechain to Lisk. Sidechains are additions to the main blockchain, free of pollution or spam on the mainchain or other sidechains. The sidechains allow for unlimited flexibility, and all transaction types, parameters, and specifications can be changed to fit perfectly to your blockchain application.
In order to prevent spam on a blockchain there is always a token of value. It is required to save any data on the blockchain, e.g. a fee to send transactions. In your Lisk sidechain you can either use the LSK tokens from the mainchain or an entirely new custom one you have created.
It’s important to note that you have one limitation in the case you want to use mainchain LSK tokens within your sidechain. Tokens can’t be transfered between different blockchains. Although a sidechain means more security and faster application for application developers, it is a completely new and independent blockchain! Remember, a sidechain is a completely new and independent blockchain, and that’s why Lisk allows for a special transaction type to transfer LSK tokens from the mainchain to a sidechain. Practically, the LSK tokens never leave the mainchain, they are simply transfered to the sidechain owners Lisk account (on the mainchain!). At the same time, the equal number of LSK tokens will be replicated on the sidechain and can be used by yourself as normally, which means that in the case of a badly written sidechain or blockchain application, all LSK tokens are safe and can be retrieved easily by the sidechain owner. However, there is a catch. This also means that you have to trust the sidechain owner, which doesn’t make sense for all types of blockchain applications, only for some owned by reputable individuals or startups.
What if you want to develop a truly trustless application, and you don’t want to hold LSK tokens belonging to your users? Well, then you can simply issue an entirely new custom token you have created (or multiple ones) on the sidechain and use them as a completely new cryptocurrency. That means you can distribute them in an ICO or sell them on exchanges, and in this way your users have full and exclusive control over their custom tokens in a completely trustless way, and can use them inside your blockchain application. You might also implement a mini-exchange system inside your blockchain application to easily exchange custom token against LSK.
If a bug was discovered in the Lisk sidechain or blockchain application and a hardfork is necessary because of that, then only the sidechain needs to be hardforked, while the mainchain stays completely unharmed and immutable.
There are ongoing discussions about public, private, and consortium blockchain, which is a blockchain where the consensus process is controlled by a pre-selected set of nodes. You can build whatever you want and need with Lisk. However, we are putting our main focus on public consortium blockchains in order to attract startups and developers. That means federated blockchains which are faster (higher scalability), provide more transaction privacy and are secured by delegates chosen from a public marketplace which are being paid for generating blocks, either by the blockchain application owner or its users.
A blockchain application platform
The thing is, sidechains are only decentralized databases of blockchain applications that allow the issuance of tokens of value, being immutable, and having a decentralized network, and for our users the most interesting part is the blockchain application platform.
The Lisk App SDK (Software Development Kit) allows the deployment of sidechains and offers all necessary tools to develop a blockchain application. A blockchain application is not only a script running in a decentralized and trustless manner, it’s much more powerful. It consists of 4 parts:
- Sidechain (as the immutable database)
- Consensus algorithm (by default DPoS)
- Front end (the application user interface)
- Back end (the application logic)
As you can see, a blockchain application is a fully fledged application, but it can also connect into the existing ecosystem of Lisk by utilizing the LSK token, attracting sidechain delegates, leveraging other blockchain applications (i.e. blockchain services), and starting with an existing user base.
One more thing worth noting is that thanks to the Lisk App SDK you can easily create complete blockchain applications ready to download and use in one convenient package. The Lisk App SDK allows you to develop the back end of your application (i.e. the functionalities), and also to develop a front end (i.e. user interface). In this case the front end can also be accessed in a decentralized way. This is currently a unique feature within the blockchain industry.
Some people say that if the code is not stored on the blockchain then it’s not a decentralized application. However, a distinction has to be made here. The application itself is running on your computer just as a Torrent client or the Bitcoin client, which means that it has to be downloaded first. Now there are multiple users running the application. Some of them are simply using the application (=users), while others have the special permission to generate new blocks inside the sidechain and therefore secure the network (=delegates). Your blockchain application and sidechain is secured by multiple devices now. This means that it is decentralized, thus it’s a decentralized application.
A blockchain service platform
Blockchain services are a type of blockchain application that only have a single use and they allow you to do something very specific, similar to a single purpose application.
Here are some examples:
- Oracles as a service (e.g. to get the result of a real life event or to get opinions about your product)
- Smart contract execution as a service (e.g. calculating a random number which is safe from manipulation)
- Decentralized hosting as a service (e.g. storing documents or images in a decentralized, encrypted cloud)
- Identity as a service (e.g. single sign-in for different sites with encrypted personal information directly accessible on demand)
It’s also important to note that Lisk blockchain services are all running on their own Lisk sidechains, so they are all plugged into the Lisk mainchain and ecosystem, which means that once such a service exists every other blockchain application developer can leverage it. For example, if you want to develop a social network and want to store user images, you can plug into a blockchain service that enables you to do exactly that. However, there is the other option. You can also create a bridge to a third party decentralized hosting service, i.e. StorJ.
That means that over time Lisk blockchain applications can become more feature-rich and more complex and that the whole Lisk app ecosystem might grow. All those blockchain services can fall back on the existing Lisk ecosystem with its users and the LSK token. This might hopefully stimulate demand for it. Additionally, all those blockchain services are independent. This means that if they fail, only they fail and what remains is a small sidechain entry on the Lisk mainchain.
The open source character is another powerful component. It’s possible to hide JavaScript code. However, the majority won’t do it in order to gain trust. Now, every time a cool feature is integrated into a blockchain application or service, it is available for everyone else to copy it, improve it, and integrate it into his own blockchain application or service.
Here are some of the examples where being open source has real advantages:
- We won’t have the necessary libraries to execute Solidity smart contracts on Lisk in the beginning. However, it’s possible to integrate the EVM into any Lisk sidechain. If someone does that at one point of time, everyone could utilize the source code. This means that they would be able to either offer smart contract execution as a service, or execute smart contracts locally inside their sidechain, and at that point developers won’t need to plug into the Ethereum network anymore.
- It will probably take some time until there is a PoW consensus algorithm for Lisk sidechains, but once someone develops one, everyone else can utilize it.
- If a project fails due to financial or political reasons, someone else can simply use the code and re-deploy the blockchain application again, or they might even write a sidechain migration and take the old users with him to his new sidechain.
A decentralized directory for applications
Nowadays, we have two centralized solutions owned by corporations for centralized applications – Apple’s App Store and Google’s Play Store.
With Lisk we have the network, ecosystem, and SDK for decentralized blockchain applications. However, we also have a decentralized application directory directly within the client which can be accessed by everyone. All blockchain applications and services built on the Lisk platform have to be registered on the Lisk mainchain. This way the connection between mainchain and sidechain is created and the application directory can find all blockchain applications and services. During the registration the developer is able to set a unique blockchain application name, tags, icon, category, description, and download link.
In this way, users are offered an alternative app store for decentralized, platform independent, blockchain applications.
A decentralized and public delegate marketplace
The Lisk delegate marketplace is a way to connect sidechain delegates and blockchain application developers, which is necessary because every sidechain is an independent blockchain that needs its own set of nodes to secure it. If blockchain application developers don’t use our default consensus algorithm (e.g. PoW or PoS), they will have to take care of the sidechain miners/forgers themselves. This might be a better option for some use-cases, but if the blockchain application developers are using default consensus algorithm (DPoS), they will be able to rent delegates from the delegate marketplace for a recurring fee.
This kind of delegate marketplace enables us to do a lot more with Lisk than other platforms can do, but it can only work with DpoS.
- Supporting third party software like Bitcoin, Ethereum, etc.
Imagine this. You have a blockchain application that saves purchase receipts on the sidechain for every Bitcoin transaction your users are doing, but how you can get the Bitcoin transactions of your users? A blockchain explorer is centralized and an oracle is far too slow. This means that, in order to access its API and get all necessary data instantly, you have to run the Bitcoin client locally next to your blockchain application. That means these kinds of delegates will have to promote themselves as sidechain delegates with a local Bitcoin instance running, which will be one of the attributes a delegate will have inside the delegate marketplace. It’s important to note that the same applies to any other third party software, centralized and decentralized.
- Staying in certain jurisdictions for legal purposes
Some blockchain applications might offer features that are legal in some countries and illegal in others. The startup behind the blockchain application might be very serious about it and wants to stay 100% legal. This means that the sidechain needs to be secured by a set of nodes that are only running in the jurisdictions where the blockchain application features are legal. This will also be one of the attributes a delegate will have inside the delegate marketplace.
Generating a basic income for everyone in the world
Every sidechain delegate can be rented for a fee they define. Imagine in two years you can secure 50 niche blockchain applications with your Raspberry Pi 5 that you purchased for $5. In this way you can generate a basic monthly income of $50. This might not sound like much for many people. However, this is enough money to last for a month in large parts of the world. Making this scenario not fiction, but a very possible reality because the world is becoming more connected every day and even in those parts of the world the internet accessibility is improving.
- Lite clients for every blockchain services and application
Thanks to federated sidechains it’s extremely easy to update the code and introduce changes, and it is extremely easy to develop a lite client for your blockchain service or application (which is even more important). It is estimated that mobile devices will be (and some will say that they already are) the computers of the future. Nobody wants to stay in sync with a blockchain on mobile devices. This means that we need to let users access any blockchain application without any installation process and with a simple click inside the application directory, which can be done with a lite client that is receiving the whole blockchain application from a sidechain delegate in a decentralized way.
Conclusion
You should dig deep into the code and study it if you want to completely understand the Lisk framework and what it enables developers to build. Since Lisk is very new, only time will tell if this cryptocurrency has what it takes to take off among mainstream JavaScript coders. However, there are certainly positive signals that they are heading in the right direction.
I hope that this article helps answer a lot of your questions and shows what Lisk really is, and also what Lisk is aiming to become.
Useful Links
- Official Website
- Github
- Documentation
- Lisk Chat
- Bitcointalk Announcement
- Coinmarketcap