Welcome to the LIPS repository where community members can propose changes to the Lisk protocol and its software implementation.
Before contributing please read carefully the following guidelines.
If you have any questions on how to proceed with a new or existing proposal, please contact the LIPs editor at lips@lisk.com.
Number | Title | Author | Type | Status |
---|---|---|---|---|
0001 | LIP purpose and guidelines | Lisk Foundation | Process | Active |
0002 | Change to byte based block size limit | Iker Alustiza, Nazar Hussain | Standards Track | Replaced |
0003 | Uniform ordering of delegates list | Iker Alustiza | Standards Track | Replaced |
0004 | Introduce robust peer selection and banning mechanism | Jan Hackfeld | Standards Track | Active |
0005 | Introduce new flexible, resilient and modular architecture for Lisk Core | Nazar Hussain | Informational | Obsolete |
0006 | Improve transaction processing efficiency | Usman Khan | Informational | Obsolete |
0007 | Use a consistent and informative versioning scheme | Maciej Baj | Informational | Active |
0008 | Remove pre-hashing for block and transaction signatures | Andreas Kendziorra | Standards Track | Replaced |
0009 | Mitigate transaction replay on different chains | Manu Nelamane Siddalingegowda, Iker Alustiza | Standards Track | Replaced |
0010 | Use SHA3-256 hash of block header as blockID | Andreas Kendziorra | Standards Track | Withdrawn |
0011 | Implement extensible data persistence model | Nazar Hussain | Informational | Obsolete |
0012 | Remove redundant properties from transaction objects | Andreas Kendziorra | Standards Track | Withdrawn |
0013 | Replace static fee system by dynamic fee system | Iker Alustiza | Standards Track | Replaced |
0014 | Introduce BFT consensus protocol | Jan Hackfeld | Standards Track | Replaced |
0015 | Enable transaction invalidation by using nonces instead of timestamps | Andreas Kendziorra | Standards Track | Replaced |
0016 | Implement fee estimation algorithm for dynamic fee system | Iker Alustiza | Standards Track | Active |
0017 | Make multisignature accounts more flexible, prevent spamming, and prevent signature mutability | Andreas Kendziorra | Standards Track | Replaced |
0018 | Use base32 encoding of long hash of public key plus checksum for address | Andreas Kendziorra | Standards Track | Active |
0019 | Use full SHA-256 hash of transaction header as transactionID | Andreas Kendziorra | Standards Track | Replaced |
0020 | Use full SHA-256 hash of block header as blockID | Andreas Kendziorra | Standards Track | Replaced |
0021 | Change to one vote per account | Jan Hackfeld | Standards Track | Withdrawn |
0022 | Use Randao-based scheme to include standby delegates and reorder delegate list | Iker Alustiza | Standards Track | Replaced |
0023 | Introduce vote locking periods and new vote weight definition | Maxime Gagnebin | Standards Track | Replaced |
0024 | Punish BFT violations | Maxime Gagnebin | Standards Track | Replaced |
0025 | Introduce minimum balance requirement for accounts | Iker Alustiza | Standards Track | Replaced |
0026 | Establish block validity by applying transactions sequentially | Maxime Gagnebin | Standards Track | Replaced |
0027 | A generic serialization method | Maxime Gagnebin, Andreas Kendziorra | Informational | Active |
0028 | Define schema and use generic serialization for transactions | Iker Alustiza | Standards Track | Replaced |
0029 | Define schema and use generic serialization for blocks | Alessandro Ricottone | Standards Track | Replaced |
0030 | Define schema and use generic serialization for account state | Alessandro Ricottone | Standards Track | Replaced |
0031 | Introduce Merkle trees and inclusion proofs | Alessandro Ricottone | Informational | Active |
0032 | Replace payload hash with Merkle tree root in block header | Alessandro Ricottone | Standards Track | Active |
0033 | Introduce numbering scheme for transaction types | Nazar Hussain, Iker Alustiza | Informational | Withdrawn |
0034 | Define new block schema and processing for genesis block | Jan Hackfeld, Nazar Hussain | Standards Track | Replaced |
0035 | Define decentralized snapshot and hardfork process | Jan Hackfeld, Nazar Hussain | Standards Track | Replaced |
0036 | Introduce transaction properties moduleID and assetID | Shusetsu Toda | Standards Track | Replaced |
0037 | Use message tags and chain identifiers for signatures | Andreas Kendziorra | Standards Track | Active |
0038 | Introduce BLS signatures | Andreas Kendziorra | Informational | Active |
0039 | Introduce sparse Merkle trees | Alessandro Ricottone | Informational | Active |
0040 | Define state model and state root | Alessandro Ricottone | Informational | Active |
0041 | Introduce Auth module | Alessandro Ricottone, Ishan Tiwari | Standards Track | Active |
0042 | Define state transitions of Reward module | Iker Alustiza, Mehmet Egemen Albayrak | Standards Track | Active |
0043 | Introduce chain registration mechanism | Iker Alustiza | Standards Track | Active |
0044 | Introduce Validators module | Alessandro Ricottone, Andreas Kendziorra, Rishi Mittal | Standards Track | Active |
0045 | Introduce Interoperability module | Alessandro Ricottone, Mitsuaki Uchimoto | Standards Track | Active |
0046 | Define state and state transitions of Random module | Iker Alustiza, Ishan Tiwari | Standards Track | Active |
0047 | Introduce PoA module | Iker Alustiza, Ishan Tiwari | Standards Track | Active (Lisk SDK only) |
0048 | Introduce Fee module | Maxime Gagnebin, Mitsuaki Uchimoto | Standards Track | Active |
0049 | Introduce cross-chain messages | Maxime Gagnebin, Alessandro Ricottone | Standards Track | Active |
0050 | Introduce Legacy module | Maxime Gagnebin | Standards Track | Active (Lisk Core only) |
0051 | Define state and state transitions of Token module | Maxime Gagnebin, Grigorios Koumoutsos | Standards Track | Active |
0052 | Introduce NFT module | Maxime Gagnebin | Standards Track | Active (Lisk SDK only) |
0053 | Introduce cross-chain update mechanism | Maxime Gagnebin, Alessandro Ricottone | Standards Track | Active |
0054 | Introduce sidechain recovery mechanism | Iker Alustiza, Alessandro Ricottone | Standards Track | Active |
0055 | Update block schema and block processing | Andreas Kendziorra, Alessandro Ricottone, Rishi Mittal | Standards Track | Active |
0056 | Add weights to Lisk-BFT consensus protocol | Jan Hackfeld | Standards Track | Active |
0057 | Define state and state transitions of PoS module | Maxime Gagnebin, Nazar Hussain, Mehmet Egemen Albayrak, Grigorios Koumoutsos | Standards Track | Active |
0058 | Define BFT store and block processing logic | Jan Hackfeld, Mitsuaki Uchimoto | Standards Track | Active |
0059 | Introduce unlocking condition for incentivizing certificate generation | Jan Hackfeld | Standards Track | Active |
0060 | Update genesis block schema and processing | Iker Alustiza, Rishi Mittal | Standards Track | Active |
0061 | Introduce certificate generation mechanism | Jan Hackfeld | Standards Track | Active |
0062 | Use pre-hashing for signatures | Maxime Gagnebin | Standards Track | Active |
0063 | Define mainnet configuration and migration for Lisk Core v4 | Andreas Kendziorra, Sergey Shemyakov | Standards Track | Active |
0064 | Disallow non-required properties in Lisk codec | Andreas Kendziorra | Standards Track | Active |
0065 | Introduce events and add events root to block headers | Alessandro Ricottone, Mehmet Egemen Albayrak | Standards Track | Active |
0066 | Introduce tree based key derivation and account recovery | Maxime Gagnebin | Informational | Active |
0067 | Introduce a generic keystore | Maxime Gagnebin | Informational | Active |
0068 | Define new transaction schema | Grigorios Koumoutsos, Maxime Gagnebin | Standards Track | Active |
0069 | Update Lisk SDK modular blockchain architecture | Shusetsu Toda | Informational | Active |
0070 | Introduce reward sharing mechanism | Grigorios Koumoutsos | Standards Track | Active |
0071 | Introduce dynamic reward module | Vikas Jaiman | Standards Track | Active |
0072 | Introduce direct sidechain channels | Alessandro Ricottone, Mitsuaki Uchimoto | Standards Track | Draft |
0073 | Add 256-bit Integer Types to Lisk Codec | Andreas Kendziorra | Standards Track | Draft |
0074 | Introduce Governance module | Sergey Shemyakov | Standards Track | Draft |