Paper 2019/571

Multi-Party Virtual State Channels

Stefan Dziembowski, Lisa Eckey, Sebastian Faust, Julia Hesse, and Kristina Hostáková


Smart contracts are self-executing agreements written in program code and are envisioned to be one of the main applications of blockchain technology. While they are supported by prominent cryptocurrencies such as Ethereum, their further adoption is hindered by fundamental scalability challenges. For instance, in Ethereum contract execution suffers from a latency of more than 15 seconds, and the total number of contracts that can be executed per second is very limited. State channel networks are one of the core primitives aiming to address these challenges. They form a second layer over the slow and expensive blockchain, thereby enabling instantaneous contract processing at negligible costs. In this work we present the first complete description of a state channel network that exhibits the following key features. First, it supports virtual multi-party state channels, i.e. state channels that can be created and closed without blockchain interaction and that allow contracts with any number of parties. Second, the worst case time complexity of our protocol is constant for arbitrary complex channels. This is in contrast to the existing virtual state channel construction that has worst case time complexity linear in the number of involved parties. In addition to our new construction, we provide a comprehensive model for the modular design.

Available format(s)
Publication info
A major revision of an IACR publication in Eurocrypt 2019
blockchainstate channel networkoff-chain protocoluniversal composability
Contact author(s)
juliahesse2 @ gmail com
2019-05-27: received
Short URL
Creative Commons Attribution


      author = {Stefan Dziembowski and Lisa Eckey and Sebastian Faust and Julia Hesse and Kristina Hostáková},
      title = {Multi-Party Virtual State Channels},
      howpublished = {Cryptology ePrint Archive, Paper 2019/571},
      year = {2019},
      note = {\url{}},
      url = {}
Note: In order to protect the privacy of readers, does not use cookies or embedded third party content.