TY - GEN
T1 - Programmable Payment Channels
AU - Kumaresan, Ranjit
AU - Le, Duc V.
AU - Minaei, Mohsen
AU - Raghuraman, Srinivasan
AU - Yang, Yibin
AU - Zamani, Mahdi
N1 - Publisher Copyright:
© The Author(s), under exclusive license to Springer Nature Switzerland AG 2024.
PY - 2024
Y1 - 2024
N2 - One approach for scaling blockchains is to create bilateral, offchain channels, known as payment/state channels, that can protect parties against cheating via onchain collateralization. While such channels have been studied extensively, not much attention has been given to programmability, where the parties can agree to dynamically enforce arbitrary conditions over their payments without going onchain. We introduce the notion of a programmable payment channel (PPC) that allows two parties to do exactly this. In particular, our notion of programmability enables the sender of a (unidirectional) payment to dynamically set the terms and conditions for each individual payment using a smart contract. Of course, the verification of the payment conditions (and the payment itself) happens offchain as long as the parties behave honestly. If either party violates any of the terms, then the other party can deploy the smart contract onchain to receive a remedy as agreed upon in the contract. In this paper, we make the following contributions:We formalize PPC as an ideal functionality FPPC in the universal composable framework, and build lightweight implementations of applications such as hash-time-locked contracts (HTLCs), “reverse HTLCs”, and rock-paper-scissors in the FPPC-hybrid model;We show how FPPC can be easily modified to capture the state channels functionality FSC (described in prior works) where two parties can execute dynamically chosen arbitrary two-party contracts (including those that take deposits from both parties) offchain, i.e., we show how to efficiently realize FSC in the FPPC-hybrid model;We implement FPPC on blockchains supporting smart contracts (such as Ethereum), and provide several optimizations to enable concurrent programmable transactions—the gas overhead of an HTLC PPC contract is < 100K, amortized over many offchain payments. We formalize PPC as an ideal functionality FPPC in the universal composable framework, and build lightweight implementations of applications such as hash-time-locked contracts (HTLCs), “reverse HTLCs”, and rock-paper-scissors in the FPPC-hybrid model; We show how FPPC can be easily modified to capture the state channels functionality FSC (described in prior works) where two parties can execute dynamically chosen arbitrary two-party contracts (including those that take deposits from both parties) offchain, i.e., we show how to efficiently realize FSC in the FPPC-hybrid model; We implement FPPC on blockchains supporting smart contracts (such as Ethereum), and provide several optimizations to enable concurrent programmable transactions—the gas overhead of an HTLC PPC contract is < 100K, amortized over many offchain payments. We note that our implementations of FPPC and FSC depend on the CREATE2 opcode which allows one to compute the deployment address of a contract (without having to deploy it).
AB - One approach for scaling blockchains is to create bilateral, offchain channels, known as payment/state channels, that can protect parties against cheating via onchain collateralization. While such channels have been studied extensively, not much attention has been given to programmability, where the parties can agree to dynamically enforce arbitrary conditions over their payments without going onchain. We introduce the notion of a programmable payment channel (PPC) that allows two parties to do exactly this. In particular, our notion of programmability enables the sender of a (unidirectional) payment to dynamically set the terms and conditions for each individual payment using a smart contract. Of course, the verification of the payment conditions (and the payment itself) happens offchain as long as the parties behave honestly. If either party violates any of the terms, then the other party can deploy the smart contract onchain to receive a remedy as agreed upon in the contract. In this paper, we make the following contributions:We formalize PPC as an ideal functionality FPPC in the universal composable framework, and build lightweight implementations of applications such as hash-time-locked contracts (HTLCs), “reverse HTLCs”, and rock-paper-scissors in the FPPC-hybrid model;We show how FPPC can be easily modified to capture the state channels functionality FSC (described in prior works) where two parties can execute dynamically chosen arbitrary two-party contracts (including those that take deposits from both parties) offchain, i.e., we show how to efficiently realize FSC in the FPPC-hybrid model;We implement FPPC on blockchains supporting smart contracts (such as Ethereum), and provide several optimizations to enable concurrent programmable transactions—the gas overhead of an HTLC PPC contract is < 100K, amortized over many offchain payments. We formalize PPC as an ideal functionality FPPC in the universal composable framework, and build lightweight implementations of applications such as hash-time-locked contracts (HTLCs), “reverse HTLCs”, and rock-paper-scissors in the FPPC-hybrid model; We show how FPPC can be easily modified to capture the state channels functionality FSC (described in prior works) where two parties can execute dynamically chosen arbitrary two-party contracts (including those that take deposits from both parties) offchain, i.e., we show how to efficiently realize FSC in the FPPC-hybrid model; We implement FPPC on blockchains supporting smart contracts (such as Ethereum), and provide several optimizations to enable concurrent programmable transactions—the gas overhead of an HTLC PPC contract is < 100K, amortized over many offchain payments. We note that our implementations of FPPC and FSC depend on the CREATE2 opcode which allows one to compute the deployment address of a contract (without having to deploy it).
KW - Blockchain
KW - Layer-2 channels
KW - Programmable payments
UR - https://www.scopus.com/pages/publications/85187667632
U2 - 10.1007/978-3-031-54776-8_3
DO - 10.1007/978-3-031-54776-8_3
M3 - Conference contribution
AN - SCOPUS:85187667632
SN - 9783031547751
T3 - Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
SP - 51
EP - 73
BT - Applied Cryptography and Network Security - 22nd International Conference, ACNS 2024, Proceedings
A2 - Pöpper, Christina
A2 - Batina, Lejla
PB - Springer Science and Business Media Deutschland GmbH
T2 - 22nd International Conference on Applied Cryptography and Network Security, ACNS 2024
Y2 - 5 March 2024 through 8 March 2024
ER -