Beloved Polygon family and dear crypto community, today we are proud to announce Polygon SDK, a big milestone for Polygon and a major step towards Multi-chain Ethereum!
Polygon SDK vision is to effectively transform Ethereum into a full-fledged multi-chain system (aka the Internet of Blockchains). By doing this, it will at the same time further establish Polygon as the leading scaling and infrastructure platform of Ethereum.
A little-known fact is that Ethereum is already the biggest multi-chain system in the world! This multi-chain system has organically developed and grown to host a multitude of chains that are all adding value and strength to the Ethereum ecosystem. These chains include:
This form of organic innovation is the beauty and the biggest strength of Ethereum, but its side effect is that Ethereum’s scaling and infrastructure landscape is currently unstructured and maybe slightly chaotic. This can make it challenging for projects and developers to understand the opportunities and tradeoffs, as well as to find and implement the best solutions for them. Polygon SDK aims to turn Ethereum into a full-fledged multi-chain system by introducing structure to this organic ecosystem and providing a framework for multi-chain Ethereum to grow further and faster.
On a high level, Ethereum’s multi-chain system will be akin to other prominent multi-chain systems such as Polkadot, Cosmos, Avalanche, etc, but with at least three major upsides:
To summarize, we believe the multi-chain concept is the reality and is here to stay, and Polygon SDK is our effort to build it the right way — on Ethereum.
Finally, it is worth noting that the existing Polygon solutions, Polygon PoS and Polygon Plasma chains, will continue to exist and operate as an integral and important part of this multi-chain system.
Polygon SDK is a modular, flexible framework for Ethereum scaling and infrastructure development.
Our goal for it is to become the go-to framework for this type of development, by allowing developers to quickly and easily build and launch multiple scaling and infrastructure solutions.
Polygon SDK aims to support building and connecting two major types of solutions:
In this first release, Polygon SDK will support stand-alone chains, and support for various types of secured chains will be added gradually in future releases. (see Future work section).
Polygon SDK architecture is based on three major design concepts/requirements:
Here is a brief overview of the architecture and major modules/layers.
It all starts at the base networking layer, which utilizes libp2p. We decided to use this technology because it fits into the designing philosophies of Polygon SDK, i.e. it is:
More importantly, it provides a great foundation for some more advanced features that Polygon SDK uses or will use.
Synchronization & Consensus
The separation of the synchronization and consensus protocols allows for modularity and implementation of custom sync and consensus mechanisms — depending on how the client is being run.
Polygon SDK is designed to offer off-the-shelf pluggable consensus algorithms.
The current list of supported consensus algorithms:
Ethereum’s Nakamoto PoW (WIP)
Clique PoA (WIP)
The Blockchain layer is the central layer that coordinates everything in a Polygon SDK based system.
The State inner layer contains state transition logic. It deals with how the state changes when a new block is included.
The JSON RPC layer is an API layer that dApp developers use to interact with the blockchain.
The TxPool layer represents the transaction pool, and it is closely linked with other modules in the system, as transactions can be added from multiple entry points.
The GRPC layer is vital for operator interactions. Through it, node operators can easily interact with the client, providing an enjoyable UX.
All of these components are covered in more detail in the documentation (see Getting started section).
As stated above, this first release of Polygon SDK supports building stand-alone chains. We are already working on several types of secured chains (aka Layer 2s), and support for these solutions will gradually be added in the future releases via specialized modules.
Additionally, we are planning on introducing additional modules for the aforementioned core architecture components that will offer more flexibility and power to developers. Examples of such modules are:
Finally, Polygon SDK will also support and offer a number of auxiliary solutions and products which will extend Polygon functionalities, improve the developer experience and introduce support for specific use cases. Examples of such solutions and products include:
On a more abstract level, we are exploring introducing a plugin framework that could enable anyone to build and propose Polygon SDK modules. If done right, this could facilitate community growth, collaboration and significantly speed up the development of the Polygon SDK.
We invite you to try out the Polygon SDK and give us your feedback!
Here are some resources to get you up to speed:
We are very excited to see Polygon SDK in the wild and see how different projects will use it to solve their scaling and infrastructure needs while making Ethereum’s multi-chain system stronger!
Let’s bring the world to Ethereum!