Objective defined

Objective has been defined on the development roadmap

In research

Objective is currently being researched and discussion around the topic has started or has been completed

LIP drafted

One or more LIPs tackling this objective are published on the LIPs GitHub repository for further review

In development

The alpha reference implementation (proof-of-concept) for a LIP related to this objective is currently being developed

LIP proposed

The LIP beta/release implementation has been proposed to the Lisk Testnet

Completed

The Lisk Mainnet accepted the proposal and the objective has been completed

Security and Reliability

Stage 4
Introduce robust peer selection and banning mechanism
Lisk protocol

Introduce a robust peer selection with periodic shuffling together with a banning mechanism. Further refine the gossip-based flooding mechanism for blocks, transactions and signatures in order to improve information propagation. The changes are intended to make the Lisk peer-to-peer network ready to scale to a large number of nodes and further increase the robustness of the network.

Stage 4
Change consensus protocol to add block finality
Lisk protocol

Change the consensus algorithm in order to add block finality guarantees based on classic Byzantine fault tolerance (BFT) research, i.e. guarantees that a block is never reverted. Block finality and a robust consensus are one of the key requirements for introducing sidechains and communication between different chains in Lisk.

Author

Jan Hackfeld

Publication

28.03.19

Stage 4
Mitigate transaction replay on different chains
Lisk protocol

Bind each transaction to a specific chain by using unique chain identifiers. In general, this will prevent that transactions get replayed on other chains. For instance, a transaction from the testnet cannot be replayed on the mainnet. Also, a transaction on a specific sidechain cannot be replayed on another sidechain.

Author

Manu Nelamane Siddalingegowda & Iker Alustiza

Publication

16.10.18

Stage 4
Remove redundant properties in transactions
Lisk protocol

Remove redundant properties in transactions that are not needed for certain transaction types.

Author

Andrea Kendziorra

Publication

18.12.18

Network Economics

Stage 3
Implement fee estimation algorithm for dynamic fee system
Lisk protocol

Implement an algorithm that recommends a fee for a transaction depending on the preceding network usage demand and the desired maximum time for the transaction to be included into a block.

Stage 3
Improve multi-signature solution
Lisk protocol

Change the multisignature process so that nodes can handle a sufficient number of pending multisignatures.

Stage 3
Enable transaction invalidation
Lisk protocol

Introduce a transaction invalidation mechanism that will improve the usability of the dynamic fee system.

Stage 3
Change to byte based block size limit
Lisk protocol

Remove the limit on the number of transactions per block, and introduce a limit on the overall size of the block. This will increase the maximum rate of transactions per second for most transaction types while keeping the growth of the blockchain at a reasonable level.

Author

Iker Alustiza

Publication

17.08.18

Stage 3
Replace static fees with dynamic fee system
Lisk protocol

Introduce a dynamic fee system as a free fee market where the fixed fee for all transaction types will be removed and a minimum fee will be set in the protocol. This minimum fee will be given in terms of LSK per byte used by transactions and any transactions broadcast with a fee below that value will be rejected. For each transaction, it will be up to each user to choose the fee.

Author

Iker Alustiza

Publication

13.02.19

Network Consensus

Stage 3
Incentivise standby delegates
Lisk protocol

Allow standby delegates to participate in the block forging depending on their delegate weight. This way there will be an incentive for standby delegates to also run Lisk nodes.

Stage 3
Punish protocol violations by delegates
Lisk protocol

Add the possibility of punishing delegates for protocol violations such as forging multiple conflicting blocks in the same time slot or not forging for an extended period of time.

Author

Maxime Gagnebin

Publication

30.09.19

Stage 3
Uniform ordering of delegates list
Lisk protocol

Improve the current delegate scheduling process in the block generation rounds. Scheduling a delegate round will be done by hashing each delegate’s unique ID together with a unique ID for the round. Then, the delegates will be unequivocally ordered according to these hash values.

Author

Iker Alustiza

Publication

17.08.18

Stage 3
Change voting system
Lisk protocol

Change the voting system in accordance with the Lisk values of accessibility, simplicity and decentralization. A simple voting system encourages a high participation of all stakeholders of the ecosystem. Moreover, this new voting system is expected to encourage decentralization and a healthy competition for active delegate slots.

Network Longevity

Stage 3
Remove pre-hashing for block and transaction signatures
Lisk protocol

Remove the pre-hashing step from the block and transaction signature processes. This will simplify the protocol since hashing a message (transaction or block header) before signing the resulting hash digest is a redundant step.

Author

Andreas Kendziorra

Publication

16.10.18

Stage 2
Introduce decentralized re-genesis
Lisk protocol

Introduce a decentralized way of writing the account states to the blockchain in order to avoid the maintenance of all past versions of the protocol by Lisk Core. This re-genesis will allow nodes to synchronize from a new genesis checkpoint while only requiring compatibility with the latest protocol version.

Stage 3
Replace address system
Lisk protocol

Change the address system such that: 1) registrations are not needed 2) the address space is sufficiently large to avoid collisions of addresses 3) sending money to a black hole due to user failure (mistyping an address) is mitigated.

Stage 3
Replace block ID system
Lisk protocol

Increase the length of the block IDs to secure the immutability of the blockchain also for next decade(s).

Author

Andreas Kendziorra

Publication

26.10.18

Stage 3
Replace transaction ID system
Lisk protocol

Increase the length of transaction IDs to avoid collisions.

Blockchain Interoperability

Stage 2
Establish inter-blockchain communication
Lisk protocol

Define and implement a protocol for decentralized and trust-less communication between chains in the Lisk ecosystem.

Stage 2
Facilitate inter-blockchain token transfer
Lisk protocol

Using inter-blockchain communication, implement a decentralized and trust-less way to transfer tokens between the Lisk mainchain and sidechains.