- Blockchains are incredible tools to decentralize and secure exchanges. They are traditionally used for financial transactions but their use can be extended to broader applications.
- The adoption of IoT, and more generally, the Internet of Everything (IoE) which includes IoT, people, data and processes, has been accelerating in recent years. The needs of IoE (computing power, memory space, synchronization speed and latency, etc.) are high and many works have demonstrated the potential benefits of blockchains in various IoE domains. However, most IoE applications are currently not compatible with the constraints of traditional blockchains.
- In this paper, we review the different tools or parameters that increase the scalability of blockchains to fit the needs of IoE. Our target audience is familiar with IoT or IoE and not very familiar with blockchains. Therefore, we explain how blockchains and their Layer 2 solutions work in detail.
- In the second part, we investigate the use of zk-rollups beyond the financial. To do so, we propose new architectures or parameters for using zk-rollups and give some concrete use cases related to IoE.
Can zk-rollups and their improvements be the technology that will facilitate the use of blockchains in IoE?
Lavaur, T.; Lacan, J.; Chanel, C.P.C. Enabling Blockchain Services for IoE with Zk-Rollups. Sensors 2022 , 22 , 6493. Sensors | Free Full-Text | Enabling Blockchain Services for IoE with Zk-Rollups
- Scaling Solution: Solution to increase the capacities of a blockchain. Often, this increases the number of transactions per second (TPS), but it can also be a decrease in the computing power needed to verify or produce blocks or in the memory space required by the blockchain.
- Layer 2: Layer 2 are scalability solutions that rely on a blockchain but are not included in it. For example, a blockchain built on top of another blockchain and communicating with it are respectivelly called Layer 2 and Layer 1.
- Verifiable Computation: A cryptographic protocol (e.g. STARK or SNARK) allowing a prover to convince a verifier of the correctness of a computation through an argument (often called a proof, even if it is probabilistic and not deterministic). They are also called proofs of computational integrity. When they are combined with zero-knowledge, they are called zero-knowledge verifiable computations where the most well-known are zk-STARKs or zk-SNARKs, depending on the cryptographic protocol.
- Merkle Tree: Binary tree where the leaves contain information, each leaf has a node containing the hash of its leaf and each node above contains the hash of these two sub-nodes. It is then easy to provide a Merkle proof, proving that an element belongs to the tree without revealing the others by showing a path to the root.
While blockchains were initially built for financial applications, their properties can be interesting for numerous IoE applications such as IoT, marketplaces connecting providers and consumers, social networks, etc. Proposals for non-financial applications have been made, but in practice, these represent a small portion of transactions.
A blockchain has several advantages. It is publicly verifiable because all the rules are set in advance. Most of the applications of our daily life are centralized by few entities that manage and process our personal data to provide services. If this third party is attacked or corrupted, our data can be corrupted, blocked or deleted. Blockchain makes it possible to decentralize these applications, giving the user back the power over their data and thus avoiding a single point of failure.
To be used in IoE applications, a blockchain must meet three main criteria:
- Objects and people must be able to communicate through it quickly regardless of their environment.
- It must provide the ability to analyze data to produce intelligent actions or proposals. This requires a connection between local, distributed and cloud computing, as well as a structure that allows for efficient, secure and easily analyzed storage.
- It must support a wide variety of different objects and applications while maintaining the same security and decentralization, regardless of their geographic location, environment, utility, or technological requirements.
To meet the requirements of IoE, we review the different scalability solutions on-chain and off-chain. Among them, rollups are the most promising solution in our opinion, because they allow for the same security as a Layer 1 blockchain while increasing the number of transactions per second and reducing their cost and the memory space required to store them.
A rollup is a Layer 2 that increases the number of transactions per second while decreasing their verification time and the memory space needed to store them. For this purpose, Layer 1 accounts and their balances are stored in two separate Merkle trees of which a smart contract stores the roots.
Optimistic rollups are the first type of rollup whose execution is presupposed to be correct and whose security is based on a dispute system in case of a contested transaction. Their main drawback is that the information provided by the rollup is validated on the Layer 1 only at the end of the dispute phase which can last up to a week. In the case of a zk-rollup, a prover will regularly prove a batch of transactions, with a verifiable computation protocol, that the blockchain will only have to verify. Thanks to Zero-Knowledge properties, the signature of each transaction will be embedded in the proof and will not need to be stored on the blockchain. The validation of the proof by a smart contract on the Layer 1 implies the immediate validation of all the information provided by the rollup. Rollups will have an increasingly important place in the Ethereum blockchain whose roadmap is rollup-centric. Smart contracts are directly supported in optimistic rollups and in the latest zk-rollups.
We revisit the use of rollups beyond the scope of financial applications. As far as we know, rollups are used quasi-exclusively for financial applications and we present new ideas for more general use that can benefit IoE. We propose the construction of more general rollups where Merkle trees can contain different information than account states and where proven transactions can be any state change.
We also propose using a tree structure to build rollups on other rollups thanks to smart-contract-compatible rollups allowing them to check proofs of verifiable computation or fraud proofs. We also consider the creation of dynamic rollups allowing the creation of temporary groups in a context of planned disconnections or asynchronicity.
Finally, we present some IoE-related use cases using rollups and our proposals. We present the setup of a large-scale service using the example of a taxi or delivery service. Then we introduce the example of a drone mission implementing a dynamic rollup with a separation into two groups. To conclude, we show an example of private use such as for a company or a smart house where the rollup data is private but the security is based on a public blockchain.
- We first analyze and present the needs and constraints related to IoE. In parallel, we have identify the pros and cons of the use of blockchains in this context.
- Then to address these issues and make IoE compatible with blockchains, we review existing solutions increasing the scalability of blockchains. Some of these works are rarely formalized, validated and published in scientific conferences or journals. This is why it is urgent to synthesize and submit these latest advances in order to make them accessible to the academic community.
- We then present, in greater detail, how rollups and their derivatives (validium and volition) work as well as the prerequisites for zk-rollups which are, for us, an essential element making blockchains accessible to new applications.
- The last part of the paper introduces new ideas for the use of rollups beyond the financial and then presents these proposals in some IoE use cases.
- Rollups can be used more widely than for financial transaction management or NFT. Their internal state management can handle any type of data as long as it is possible to prove transitions using zero-Knowledge proofs or fraud proofs.
- Improvements can be made to their structures to add new properties beneficial to certain use cases.
- Rollups can be the solution to facilitate the uses of blockchains in IoE.
- Our paper is a combination of a review and an article. It aims to do a non-systematic review of scalability solutions and more particularly of rollups. In the futur, we hope to promote the use of zk-rollups in new fields.
- In this paper, we discuss potential use cases. Each case could be a study in its own right because the possibilities of customization are numerous and thorough study is necessary for the implementation of each rollup according to its application.
- It is possible to implement concrete use cases such as drone reconnaissance missions on the existing Ethereum network or on a testnet.
- This work also makes it possible to synthesize and formalize the workaround zk-rollups in a scientific publication, which are often carried out by companies and do not follow a review process. We hope to make the latest advances related to blockchains accessible to the academic world at large and, at the same time, to an audience that is not familiar with blockchains.
- We are convinced that zk-rollups are the solution to many scalability problems and that they are part of the solution to enable the global adoption of blockchains across many sectors.
- Any application that cannot currently be deployed on blockchains due to their low capacities, can be inspired by our paper to investigate the use of zk-rollups.