Scaling Ethereum Through State Channels: Panvala Awards Grants to Prototypal, L4 and Connext
This blog is the first part of a new series giving an overview of some of the projects that have earned Panvala Token Grants in Batch 1 and 2. The aim of this series is to promote transparency in Ethereum ecosystem funding and showcase the amazing work our grantees are doing to make a decentralized future possible.
In Batch 2, three teams received Panvala Token Grants for their work on generalized state channels using Counterfactual.
Application name: Counterfactual Metamask Integration
Application submitted by: Erik Bryn (Founder)
Tokens awarded: 350 000 PAN💧
Application name: Generalized State Channels For Connext
Application submitted by: Arjun Bhuptani (Founder)
Tokens awarded: 300 000 PAN💧
Application name: Counterfactual Developer Experience
Application submitted by: Liam Horne (Co-Founder)
Tokens awarded: 200 000 PAN💧
High-level summary: State Channels
Today, scalability is one of the biggest challenges facing all blockchain projects, especially the Ethereum ecosystem. If Ethereum is to perform its role as the hub of a decentralized world, it has to be able to meet the needs of a global user base.
Though scalability encompasses a range of challenges, the most commonly discussed one is transaction throughput: Right now, every transaction needs to be processed by every single node in the Ethereum network. That puts a large constraint on the number of transactions that can be processed per second — in order for Ethereum to scale to serve billions of users, that problem needs to be solved.
That’s why several teams are working on increasing transaction throughput. Scalability solutions can be divided into two groups: Layer 1 solutions focusing on increasing capacity at the base-protocol level, and Layer 2 solutions focusing on making more transactions happen off-chain.
One of those Layer 2 solutions is called state channels. The key concept behind state channels is to minimize on-chain transactions while still retaining a blockchain’s trustworthiness. The way state channels achieve that is by making sure all processes in a state channel could be put on-chain at anytime. In that way, they are able to enforce a specific, agreed upon rule-set for transactions, just like on-chain, without the need for them to actually happen on-chain.
For more information on how state channels work, we recommend reading this article.
Counterfactual: Generalized State Channels
The state of state channels right now is one in which each project has to build their own custom implementation. That significantly increases costs, risks and complexity. For example, if Alice and Bob want to play a game of chess using a state channel, they would have to make an on-chain transaction to open one up. But then they would have to make another on-chain transaction when they want to use another app, and so on. From the developer’s perspective, that also comes with the hassle of having to create an entire state channel architecture from scratch for each new app. But what if we could install new applications into an existing state channel without ever going on-chain?
Enter Counterfactual: A generalized, open framework for implementing state channels in decentralized applications.
“Generalized state channels move all of the on-chain stateful components for blockchain applications off-chain. Rather than require each application developer to build an entire state channel architecture from scratch, a generalized state channel generalized framework is one where a state is deposited once and then used by any application or set of applications afterwards.” (source)
Generalized state channels work through a process called counterfactual instantiation. Counterfactual instantiation means instantiating a contract without deploying it on-chain. Just like with counterfactual transactions, as described above, the ability for each actor to enforce the contract on-chain if need be, is enough to make actors act as if the contract is deployed on-chain.
The way this is achieved is by making users sign commitments to a multisig wallet that holds the state deposit. “These commitments say that if the counterfactually instantiated contract were to be deployed on-chain, the multisig wallet will look at the instantiated contract and transfer the appropriate state deposits based on the state of that contract.” (source)
So what is the power of generalized state channels? They enable developers to plug into a generalized framework, making it easy to build apps that can use state channels without having to build their own custom architecture. They enable users to install, uninstall and use any application without having to make on-chain transactions, greatly increasing transaction throughput and reducing costs: Once a user opens a channel, subsequent transactions are free, instant, safe and final.
For more on Generalized State Channels, we recommend reading the Counterfactual paper.
Panvala Token Grant for MetaMask Integration
Counterfactual (Prototypal) is working with MetaMask to integrate the Counterfactual framework as a plugin. In fact, the functional build is being tested this month. With MetaMask having over a million users, this integration is a significant step towards adoption of a generalized framework for state channels.
Panvala Token Grant for Generalized State Channels on Connext
Connext is building an open source payment network using state channels. V1.0 is currently live on mainnet, and the coming V2.0 update will move Connext onto the Counterfactual Framework. This will allow apps that use the Connext Network to be compatible with apps built on Counterfactual — and vice versa — by default.
Panvala Token Grant for Improved Developer Experience
L4 is doing incredible work on generalized state channels, and is now increasing their efforts to make Counterfactual more accessible for developers. They are working on simplifying documentation, demonstrating more example use cases, and garnering support from neighboring communities who are excited about generalized state channels.
How does Panvala help fund this work?
Countless projects and people depend upon the Ethereum blockchain for their success. Problems like security and scalability span the entire ecosystem, but there aren’t reliable business models to solve these problems that will affect millions (and even billions) of people’s lives. Contributing to Panvala rewards the teams like Prototypal, Connext and L4 who solve these problems.
Every three months, Panvala Token Grants are released to teams that are doing the work the whole Ethereum community depends on. But to sustainably fund that work, grants can’t just flow out of Panvala. Funds need to flow into the platform as well, and Panvala Patrons are the donors that make that happen. Patrons pledge to make monthly donations, starting from $15 a month, that will be used to help fund work that benefits the entire Ethereum ecosystem.
Join the network of individuals and businesses who do their part to support the Ethereum ecosystem. Become a Panvala Patron today.