Announcing Polygon SDK: The Gateway to Multi-Chain Ethereum!

Polygon Labs
May 26, 2021
|||Polygon SDK - A modular & flexible framework|Polygon SDK Architecture
Image source: Dribbble

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!

Vision

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:

  • 150+ EVM networks with assigned ChainIDs (source);
  • Hundreds of enterprise chains;
  • Dozens of Layer 2 implementations.

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:

  1. It is able to fully benefit from Ethereum’s network effects. Polygon SDK is based on the Ethereum stack and is built as an integral part of the Ethereum ecosystem. In contrast, the aforementioned projects are building competing ecosystems from scratch.
  2. It is inherently more secure. Polygon SDK chain can use Ethereum, the most secure and battle-tested programmable blockchain in the world, as the economic hub and source of security. The competing projects are not considering Ethereum for this role; they are building separate ecosystems, as mentioned above.
  3. It is more open and powerful, primarily in terms of the types of architecture it can support. This is mainly because (i) Polygon SDK is based on Ethereum, so it can relatively easily incorporate any scaling or infrastructure solution from the Ethereum ecosystem and (ii) we fully adopt Ethereum’s ethos of open innovation and have designed Polygon SDK with this in mind.

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.

Overview

Polygon SDK - A modular & flexible framework

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:

  1. Secured chains (aka Layer 2 solution): Scaling solutions that rely on Ethereum for security instead of establishing their own validator or miner pool. Polygon SDK aims to support all major Layer 2 solutions such as Optimistic Rollups, zkRollups, Validium, Plasma (already implemented as part of the Polygon platform) etc, thus basically becoming a one-of-a-kind “Layer 2 aggregator”. Secured aka Layer 2 chains are a good fit for (i) projects that require the highest level of security and (ii) startups, i.e. young projects and communities, unable to establish a sufficiently decentralized and secure validator pool.
  2. Stand-alone chains: Sovereign Ethereum chains, normally fully in charge of their own security, i.e. with their own validator or miner pool. Major examples of such chains are sidechains and different types of enterprise chains. Stand-alone chains offer the highest level of independence and flexibility, with the tradeoff of a normally lower level of decentralization and security. These chains can (i) interact with Ethereum via different types of bridges for transferring assets and/or arbitrary messages or (ii) rely on Ethereum in some way, e.g. for hosting some critical parts of the application logic or for achieving stronger finality and security via periodic checkpoints/commits. Stand-alone chains are often a good fit for (i) enterprises, (ii) projects that do not require the highest level of security and (iii) projects with strong communities, capable of establishing a sufficiently decentralized and secure validator or miner pool.

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).

Architecture

Polygon SDK Architecture

Polygon SDK architecture is based on three major design concepts/requirements:

  • Ethereum-compatibility;
  • Modularity;
  • Extensibility.

Here is a brief overview of the architecture and major modules/layers.

Networking

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:

  • Modular
  • Extensible
  • Fast

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:

IBFT PoA

Ethereum’s Nakamoto PoW (WIP)

Clique PoA (WIP)

Blockchain

The Blockchain layer is the central layer that coordinates everything in a Polygon SDK based system.

State

The State inner layer contains state transition logic. It deals with how the state changes when a new block is included.

JSON RPC

The JSON RPC layer is an API layer that dApp developers use to interact with the blockchain.

TxPool

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.

GRPC

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).

Future work

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:

  • Additional consensus algorithm implementations (e.g. HotStuff, Tendermint etc);
  • Additional database implementations etc.

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:

  • Inter-chain messaging protocols and modules;
  • Data availability services;
  • Adaptors for external blockchain networks;
  • Enterprise modules and products;
  • Premium products and solutions etc.

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.

Getting started

We invite you to try out the Polygon SDK and give us your feedback!

Here are some resources to get you up to speed:

Closing notes

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!

For those who are interested, we’re happy to start the conversation if you reach out to us on Discord or email us at sdk@polygon.technology.

Let’s bring the world to Ethereum!

No items found.

More from blogs