The Lisk protocol

This section gives an overview of the Lisk protocol, the set of rules followed by a blockchain created with the Lisk SDK using the default configuration. A blockchain that uses custom constants or adds transactions may therefore deviate from the protocol described here. The aim of this documentation is to provide a high-level overview of the protocol. A complete technical specification of most parts of the protocol is given in the respective Lisk Improvement Proposals.

Overview of the Lisk protocol

The Lisk protocol is the formal set of rules that defines a blockchain created with the Lisk SDK. The Lisk protocol defines an account-based blockchain with a set of default transaction that are used to modify the accounts state. The account state and transaction logic is structured into modules. A module can define new account properties and a set of transactions acting on the whole account state. The Lisk SDK contains four default modules: Token, Sequence, Keys, and DPoS. Every account property except the address and every transaction of the Lisk protocol therefore belong to one of these four modules. The fees for transactions are paid with the chain native token. Transactions are gathered in blocks by delegates, which are selected using a Delegated Proof-of-Stake mechanism. Delegates agree on blocks using the Lisk-BFT consensus algorithm.

The following diagram depicts the main characteristics of the Lisk protocol.

introDiagram

This documentation is structured as follows:

  1. Accounts: In this section the different properties of accounts are explained.

  2. Transactions: This section outlines the default transactions present in the Lisk protocol.

  3. Blocks: This section describes the different block properties and how new blocks are created.

  4. Consensus algorithm: This section illustrates how the delegates eligible to create blocks are selected and how they reach agreement on new blocks.

  5. Network: This section describes the Lisk P2P network used to exchange information such as blocks or transactions between nodes.

  6. Lisk Mainnet: This section lists the properties specific to Lisk Mainnet.

  7. Appendix: This section contains additional information related to the Lisk protocol.