Lab Name


Short Description

Blockchain-agnostic State Channels framework.

Scope of Lab

The Perun framework is a suite of implementations around the Perun state channel protocols (introduction paper). The Perun protocols provide payment and general state channel functionality to all existing blockchains that feature smart contracts. As a blockchain scalability solution, payment and state channels reduce transaction costs and increase the system throughput by executing incremental transactions off-chain. The Perun protocols have been proven cryptographically secure in the UC-framework. They are blockchain-agnostic and only rely on a blockchain’s capability to execute smart contracts.

Currently the project consists of three main parts:

  • go-perun is a Go SDK that implements the core state channel protocol in a blockchain-agnostic fashion by following the dependency inversion principle. For this reason, several blockchain backends can be chosen and only blockchain-specific initializations need to be executed at program startup.

  • perun-eth-contracts contains the interconnected smart contracts for the Ethereum backend. They define the on-chain logic for channel deposits, disputes, settlements and withdrawals.

  • perun-node is a state channel node. It builds upon the go-perun SDK for establishing and operating Perun state channels, sets up a network for off-chain communications and provides an API interface for the user to interact with. To start with, Ethereum payment channels are implemented.

Initial Committers


Pre-existing repository