Lisk was forked from the Crypti project by Oliver Beddows and Max Kordek in January 2016. Its ICO ended in March 2016 and collected more than 14,000 Bitcoin. It is an open source blockchain platform for developers to write decentralized applications in JavaScript. The Lisk ecosystem is powered by LSK tokens. It also allows developers to build sidechain linked to the Lisk network. Unlike the smart contracts on Ethereum, Lisk can be used to create full fledged blockchain applications.

A detailed understanding of Lisk

Lisk utilizes a Sidechain Development Kit or SDK written in JavaScript to bring blockchain technology to the world. The LSK token is used to pay the associated fees on the Lisk network. Users holding the token are also allowed to vote for delegates on the Delegated Proof of Stake consensus protocol of the network.

Why JavaScript?

Bitcoin core is primarily written in C++ and Ethereum in Solidity whereas other blockchain applications are written in various languages. This creates confusion among blockchain developers about which language to learn or focus on. Lisk uses JavaScript to make blockchain technology more accessible to blockchain developers. JavaScript was used as it is the most widely used programming language for web development. It aims to simplify blockchain development by focusing on an open source language like JavaScript and not any proprietary language. Its developers are planning to eventually transition to TypeScript, a superset of JavaScript. TypeScript is a strongly typed language and offers more security than JavaScript.

Lisk Framework and Consensus Protocol

Lisk is a decentralized network. It does not use Proof of Work or Proof of Stake as its consensus algorithm. It rather uses a simplified implementation of the original consensus algorithm used by BitShares known as Delegated Proof of Stake. Any person holding some LSK can become a delegate. Elected main chain delegates are the ones who secure the network. Every LSK holder can vote for these delegates. At any point in time, only a maximum of 101 main chain delegates are active. They are the ones who earn the block generation rewards. All other delegates are on standby waiting to become elected or are simply not active. The Lisk SDK is a framework which is used to develop and deploy sidechains and blockchain applications on those sidechains. All the code is written in JavaScript allowing developers the flexibility to develop platform independent blockchain applications.

The Sidechain Platform

The SDK allows developers to deploy sidechains. This sidechain is a completely customizable blockchain, free of interference from the main chain or other sidechains. All specifications and parameters can be customized according to the desired blockchain. The Lisk sidechain allows users to issue their own token or multiple tokens on their blockchain application. Lisk allows the use of the LSK token in a sidechain. This comes with a limitation. Since tokens cannot be transferred between blockchains, any LSK tokens used on a sidechain are actually held by the owner of that sidechain, on the main chain. A set of these tokens then appear in the side chain to be used as desired. Users of that sidechain will not actually hold any LSK tokens. This allows the owner to retrieve all LSK tokens in case the sidechain fails. But this requires trust in the sidechain owner. It is therefore recommended to issue your own token in a blockchain application. In case of a bug or error discovered in any sidechain, only that specific blockchain needs to be hard forked. The main chain stays safe and immutable. Lisk allows users to build public, private or consortium blockchains.

Lisk Blockchain Application Platform

The Lisk SDK also offers users all the tools required to develop a blockchain application. A blockchain applications is comprised of a consensus algorithm, a blockchain, a token, back end and front end. A blockchain application can also leverage other blockchain applications to provide additional services. The Lisk SDK allows users to develop the back end and the front end of a blockchain application. This allows developers to create a complete package in a single space conveniently, without having to rely on other services.

Lisk Blockchain Service Platform

Blockchain services are a sub category under blockchain applications. They are mainly used for specific purposes. Lisk blockchain services are connected with the main chain and ecosystem since they are all running as Lisk sidechains. This allows other blockchain developers to use those services for their own purposes. This makes the ecosystem more complex and allows it to grow rapidly. Also, if any of those services fail, it does not affect the entire Lisk ecosystem. Only a sidechain entry remains on the main chain for that application. Another important feature is open source character. Being open source speeds up development and makes it more efficient. The open source nature also allows developers to use services built by others for their own purposes. As an example, if a developer creates a Proof of Work algorithm for Lisk sidechains, it can be utilized by all developers on the Lisk ecosystem.

A Decentralized Application Directory

Corporations such as Google and Apple have established Play store and App store respectively. These are centralized solutions for centralized applications. Lisk offers a decentralized application directory which can be accessed by everyone. It is mandatory for all blockchain applications and services to be registered on the Lisk main chain. This creates a connection between the sidechain and mainchain. This connection is used for utilizing LSK tokens on the sidechain. The application directory uses this connection to find all applications and services. During the registration, the developer can set a unique blockchain application name, category, description, icon, tags and download link. The Lisk application directory thus offers an alternative application store for decentralized, platform independent, blockchain applications.

A Decentralized and Public Marketplace for Delegates

Lisk offers a delegate marketplace to connect blockchain application developers and sidechain delegates. Due to the independent nature of each sidechain, it requires a consensus algorithm to secure it. If blockchain application developers don’t use the default consensus algorithm of Lisk, they have to secure their blockchain themselves. But if developers use the default consensus algorithm of Lisk, which is delegated proof of stake, they can rent delegates from the marketplace for a recurring fee. This allows Lisk to implement a lot more features and services than other applications.

The Lisk Ecosystem

The Lisk ecosystem consists of six components which all together provide all the features and functionality of Lisk. These are the Lisk protocol, core, elements, commander, hub and explorer.

Lisk Protocol

The Lisk protocol is the underlying logic behind Lisk and its concepts. It includes the consensus algorithm, Delegated Proof of Work, security, blocks, transactions and peer to peer communications.

Lisk Core

The Lisk Core is a tool designed to access the network blockchain data of Lisk and secure the network infrastructure. It also allows attaining of delegate forging access and is intended for advanced users only. Lisk core is the program which implements the Lisk protocol. It must be set up on every machine in order to run a node and participate in the network. It consists of four main components. The first is Node.js, which serves as the underlying engine for code execution. The second is Swagger, an open source software framework used for building web services. The third is PostgreSQL, a powerful and open source object-relational database system. All information on the Lisk mainchain is stored on PostgreSQL databases. The last one is Redis, an open source, in-memory data structure store, used by Lisk core to cache API responses.

Lisk Elements

Lisk Elements is a collection of JavaScript libraries, such as API client, shared cryptography, passphrase utilities and other important constants for the ecosystem. It contains several modules which can each be separately installed. It includes relevant cryptographic functions, mnemonic passphrase helpers and functions for creating, signing and verifying transactions. It also contains an API client for interacting with nodes on the Lisk network.

Lisk Commander

Lisk Commander is a command line interface or CLI and aims to be the most convenient tool for developers. It will facilitate node operators, delegates, contributors to the Lisk codebase and everyone who prefers command line over GUI. It allows users to communicate with a local or remote nodes and carry out Lisk related functionality.

Lisk Hub

Lisk Hub aims to be a complete solution to manage Lisk ID, access and send LSK tokens and vote for delegates. Future updates to the Hub will feature a decentralised exchange, a sidechain registration and the ability to launch an ICO.

Lisk Explorer

Lisk Explorer is a tool which is used for accessing the information on the Lisk blockchain. It can be used for gathering information about particular transactions or for general information about the whole network.

Unique Nature of Lisk

A big problem with existing cryptocurrencies like Bitcoin and Ethereum is scalability. Since Lisk implements a sidechain for each application developed on it, it offers much more scalability. An application’s sidechain on Lisk is not affected by other sidechains. The main chain is also not affected by any of the sidechains. Sidechains also offer more security and faster application creation to developers. The open source nature of Lisk also makes it noteworthy. The Lisk SDK allows developers to create blockchain applications easily without having to follow peer to peer network protocols or develop consensus algorithms.

Image provided by Wikimedia Commons.