The dissemination of Lisk Research and LIPs continues on Lisk Magazine. In this article we present a quick overview of the LIP 10, which proposes a new type of blockID for the blocks, in order to enhance the security of the Lisk blockchain.
The LIP 10 has been drawn up by Andreas Kendziorra (with the support of Oliver Beddows) and it suggests to use the SHA3-256 hash of the block header as the blockID of a block, improving the security.
Developers explained that currently, in the Lisk protocol, a blockID consists of 8 bytes of the SHA-256 digest of the block header. This length, that they call “small”, has some advantages (less stored data and better visualisation on small displays), but also drawbacks, such as low resistance to attacks. For example, an attacker could discover another block with the same blockID for a given block in the blockchain. In this case, the corrupt chain might appear to be unaltered to other community members. However, developers specify that this type of attack is limited to delegates and, at the moment, is not attractive in economic terms. Anyway, they suggest to increase the length of the blockID with the purpose of preventing this type of attach in the future.
Let’s compare the two protocols more in detail. In the present Lisk protocol the data block is used as the input text for SHA-256 and then the first 8 bytes of the output are reversed and used as the blockID. In the suggested protocol the data block of the header of the signed block is generated according to the specification (the same as the current protocol). Subsequently, the data block is used as the input for SHA3-256 and its output becomes the blockID, with a length of 256 bit.
In relation to the length of the blockID, they suggest 256 bit because it ensures a high security level, even above the recommendations. In fact, they explained that NIST is suggesting 128 bit as the minimum security level for applications designed to run over 2030 (as ...