What Does Lition’s Blockchain Architecture Look Like?
Lition is developing a solution that assures data privacy while being permission-less. This is made possible by connecting a permissioned sidechain to a public mainchain.
In this article I would like to share some insights about our blockchain infrastructure. In the text below you will find a short overview of Lition's Layer 2 solution and a description of the core components that characterize our blockchain architecture. Namely: Transaction Process, Data Separation and Deletion Concept and Sidechain Management.
Why are we working on this kind of architecture? Because applications need scalable, fast and legal blockchain infrastructures to be able to find a fertile context where it makes sense to approach the business arena. As of the time of writing, there is not such a context. Solutions able to keep data private as well as delete them, are missing. Three keywords in direction solution are, sidechain, permissioned nodes and permission-less nodes.
The Layer 2 structure
Lition’s Layer 2 solution consist in permissioned nodes that run a privileged blockchain network, that becomes a sidechain once the mainnet sync happens. The nodes run the network with Lition Proof of Stake (LPoS) consensus algorithm, making it an extreme fast chain. Every n blocks, depending on the industry requirements, the side chain synchronize to the Public Mainnet. Only the hash of the last block is published and saved on the mainnet since it assures the integrity of all previous validated transactions. At the same time, an API is exposed so that public nodes have the opportunity to verify the integrity of a hash within a sidechain
As public net, Lition will use the Ethereum Blockchain, however if technology advances and interoperability between different blockchains will became feasible it is Lition’s goal to develop an “universal” layer 2 solution for all Public blockchains. The role of a public mainnet is to store sidechain’s hashes as proof of their historical integrity. The integrity of recorded blocks is ensured as 2/3rds of sidechain nodes need to confirm integrity to the mainnet.
Transaction processing and mining
By observing Lition’s blockchain from a high level, six main stages are needed to complete the transaction (=Tx) flow. In this order Put Gas on Sidechain, Create Tx, Process Tx, Propagation within sidechain, New block creation (Sidechain) and Mainnet synchronization. To have a better understanding of the following explanations, please refer to the architecture table below.
Put Gas on Sidechain
In order to guarantee that a certain network user will be able to pay for the transactions, he or she has to allocate tokens to the specific Sidechain.
This step refers to the event in which a given user uses Lition’s blockchain and triggers a transaction, which implies a cascade of events as follows. Transaction deployment is compatible with today’s Ethereum blockchain, so developers have no migration effort allowing a fast growth of the blockchain:
During this process the transaction is received from the node which will in turn ensure that enough gas is owned by the user.
Unlike existing blockchain implementations, a user gets an instant (seconds) response if a transaction was processed successfully, i.e. if the smart contract code executed without errors and if the user has had sufficient gas. This ensures the customer’s convenience and expectation for mass market use cases is catered for.
Propagation within sidechain
Once the transaction is processed, it is propagated throughout the network of nodes being part of the sidechain previously specified by the user using a gossip protocol. At this point the transaction will be in at a pre-validation stage waiting to be mined by Lition’s Proof of Stake (LPoS) consensus algorithm.
New Block Creation within the Sidechain
During this stage the transaction triggered by the user, together with a variable number of other transactions, is going through a process that validates this bundle of data and transfers them to the blockchain in an irreversible way. This is similar to existing blockchains, but we introduce finality, ensuring consistency between sidechains and the anchored mainchain hashes.
The validation process is done by nodes that are therefore not only carrying all the historical sidechain data but also function as authority that guarantees correct behavior within the network by staking their own tokens as “collateral”, meaning that in the case of misbehavior, tokens are going to be lost. Lition’s consensus mechanism that will assure the integrity of sidechains can be seen as a pure Proof of Stake (Pos). Each and every sidechain has its own network of nodes. Each node has to subscribe for a particular chain by filling in some parameters in a sidechain-specific smart contract to the backbone mainnet.
To ensure the ability to delete data within a private sidechain, participating privileged nodes need to agree to Terms of Service (ToS) that they will delete data once the properly signed request arrives. They only delete the data, but keep the hashes of the data. This allows the underlying Merkle tree of the block to stay intact, and ensures traceability all the way to the genesis block.
During this stage the transaction which now is already integral part of the sidechain and therefore is irreversible in its specific allocation is going to be validated by a public mainnet.
The communication frequency with the backbone blockchain is industry specific. E.g.: Energy transactions need to be synched often, while Notary contracts less.
The synchronization parameters of each sidechain are decided during the sidechain registration process. The parameters to set are the number of transactions that have to occur before the synchronization happens or the time interval between synchronizations, or both. This particular process will be explained in more depth in the next chapter of this document.
For the purpose of synchronization only the hash of the last block is required to be stored on the Public Chain, as that assures the integrity of the whole interval of blocks. E.g.: The tiniest change in the data saved in previous blocks of the given interval will affect and change completely the hash of the last block.
For more details about the smart contract, consult our Whitepaper.
Use the table below to follow and understand better the process how a new sidechain is created, reported to the mainchain, and how nodes are added and removed.
Every developer or company that decides to join the network has to register it’s sidechain to the mainnet. The owner or initiator needs to hold a node on the mainnet as well as on the sidechain where a master host will assure a client were nodes can connect. Starting from this node on the sidechain, new nodes can be invited to join the network. New nodes can be either privileged or public, depending on the nature of the sidechain, hence the typology of data that needs to be stored on the blockchain.
To mine a sidechain, miners need to become nodes and mine blocks. Should they want to be an publicly announced entry point to the sidechain, they can advertise themselves to the public using the smart contract RegisterNode() on the mainnet. The more sidechain nodes advertise themselves on the publicly visible mainnet, the more nodes a new miner has to initially connect to.
Additionally, nodes mining the sidechain may want to stake tokens in order to receive mining rewards.
At any given point in time, nodes can leave the network. The user might leave this side, and therefore needs to inform the mainnet.
To cancel a node and therefore leave the sidechain the user needs to call the following smart contracts UnRegisterNode()
Data Separation and Deletion Concept
Separate storage of private and public data is core to Lition’s blockchain architecture. In a nutshell, we split between:
- Sidechain block hashes and management: Stored in the mainnet (currently Ethereum)
- DApp data and smart contract executions: Stored in the sidechains (public or private).
The design for a blockchain network covers minimum requirements for a governing agreement among a privileged subset of the nodes’ operators, ensuring that private, sensitive data can be handled and securely deleted on demand — even connected to smart contracts for deletion. The guiding design criteria are postquantum security for data integrity, a path towards post-quantum security for data privacy, data minimization under the constraint of providing fault tolerance, privacy of sensitive data, a provision to delete all occurrences of sensitive data, and the freedom to join as a (non-privileged) node without any special provisions or legal obligations.
Technically, private data is only stored on privileged nodes, that are mining private sidechains. The data never leaves the sidechain, only the hashes do. This allows public nodes to verify the integrity of the sidechain transactions. The mainchain thereby acts as a “notary” for the private data stored only in the sidechain.
Private sidechains also have the ability to delete data. Privileged nodes have to agree to Terms of Service (ToS) upon joining the sidechain, which can include a section to delete data when asked for. This gives the sidechain owner (who is legally obliged to guarantee data deletion) the ability to, in a legal and contractually confirmed way, guarantee that every data holder will delete the data when asked for.
Technically, a deletion requests is a transaction signed by the original data owner with the data hash that should be deleted. Upon receipt, all nodes will delete the data of the requested transaction, but the transaction hash stays intact. Therefore, the Merkle tree of the block remains intact, and an unobstructed trail from the most recent block all the way to the sidechain’s genesis block is possible.
While the functional requirements addressed by this blockchain are derived from the shortcomings described earlier in this chapter, Lition provides the technical description in a separate, technical whitepaper. It caters to the technically interested reader, and also provides the fundamentals from current research.
The technical white paper is available at www.lition.io in the Downloads section…
…the journey stops here…
…I hope you enjoyed the ride and are excited as much as we are about the future outcomes of our blockchain infrastructure project. If you are looking for a more in depth analysis that's the way to go: Whitepaper.
((Stay tuned for our MVP presentation!))