-
Notifications
You must be signed in to change notification settings - Fork 86
Perun
Research stream by Dziembowski et al, published from 2017 to 2019:
- Perun: Virtual Payment Hubs over Cryptocurrencies
- General State Channel Networks
- Multi-Party Virtual State Channels
Implementation project seems to be over here https://perun.network/ by a PolyCrypt
Requested funding in Catalyst Fund8: https://cardano.ideascale.com/c/idea/400079
References about the Perun Framework:
- Perun SDK: https://github.com/perun-network/go-perun
- Developer Documentation: https://labs.hyperledger.org/perun-doc/go-perun/index.html (including tutorial)
- CLI Demo: https://github.com/perun-network/perun-eth-demo
Overview:
- payment channels using punishing chaeting parties
- two-party channels
- secured by smart contracts
- recursively create arbitrary network by layering "virtual channels"
- intermediates collateralize, but no need to interact in "upper layers"
Contribution: alleviate need for intermediay to interactions, in contrast to Lightning Network
The paper (and the framework) use Ethereum as the main example, but claim that it would be available on any chain supporting "turing complete smart contracts".
Introduce "virtual channels" which are created on top of socalled "ledger channels". The latter work quite similar like Lightning payment channels, uses signatures on version numbers and penalizing cheating parties using certificates.
Intermediaries take the role of the ledger, when opening virtual channels, and do collateralize the two other parties' funds when opening virtual channels. OTOH these channels need to be of limited "validity" because intermediaries cannot be trusted and other mechanisms to make nobody loose money.
They compose an interesting table of optimistic and pessimistic costs of opening, updating and closing of both, ledger and virtual channels in terms of number of on-chain messages, Gas, ETH, USD (outdated ofc) and number of off-chain messages, as well as signatures.
- How are intermediaries incentivized?
- How / did they solve networking (routing) and "knowing peers"?
- How would the "generalized state channel networks" handle NFTs?
- how would they be collateralized (they are unique after all)?
- can they be committed, transferred and de-committed in such a construction?
- in general: how are NFTs represented in Ethereum
Our researchers had been approached by researchers of the Perun team whether we could leverage some synergies and as a consequence the engineering teams of both Perun and Hydra met in late 2021.
The original idea was that Perun could work on supporting the Cardano L1 as a backend to their system (with the help and lessons learned of the Hydra team). Later, the Perun ledger channels would be able to run in an (isomorphic) Hydra Head. This approach however, seemed not to make much sense as we discovered in our first discussions: The Perun ledger channel needs to have a means to enforce it's state against other ledger channels (to be useful for Perun virtual channels), which is obviously not true if the ledger channel "lives" in a Hydra Head.
Instead we discussed a second approach: Using Hydra Heads as Perun ledger channels, which turns out to be promising. It would lower the entry barrier on Plutus smart contracts for the Perun team, as they would only need to integrate with Hydra and not with the Cardano main chain. Hence, they could focus on the ledger model translation of Account-based <-> eUTXO, which is tricky in itself. Based on this, their tools could be used and Perun virtual channels could be opened.