While all other phases have been successfully implemented into the Lisk SDK, this phase is currently in active development. It includes a change of the ID system, a new address system and a few more technical improvements of the Lisk protocol. The most visible change for the end-users will be the new addresses, which will now, for example, look like this: lskoaknq582o6fw7sp82bm2hnj7pzp47mpmbmux2g. This length increase implies several security improvements: Registering your public keys is not needed any more, the probability of address collisions for different public keys becomes negligibly small, and mistyping up to four characters can always be detected (mistyping more characters will still be detected with a very high probability). Similarly, we extend transaction and block IDs from 64 bits to 256 bits, hence greatly strengthening the pre-image resistance and immutability of the Lisk blockchain for a long time into the future. Additionally, we introduce a universal serialization method compatible with Protocol Buffers that can greatly improve the efficiency for storing and transmitting blocks and transactions. It further simplifies the development with the Lisk SDK as this method can be easily used for custom transactions. We also now use Merkle trees for transactions in blocks enabling short inclusion proofs. Finally, we define a new genesis block schema and process for performing a decentralized snapshot of a Lisk blockchain, which will be very helpful for migrating the Lisk Mainnet to the next major Lisk Core release. |