Paper 2019/1092

Cerberus Channels: Incentivizing Watchtowers for Bitcoin

Georgia Avarikioti, Orfeas Stefanos Thyfronitis Litos, and Roger Wattenhofer

Abstract

Bitcoin and similar blockchain systems have a limited transaction throughput because each transaction must be processed by all parties, on-chain. Payment channels relieve the blockchain by allowing parties to execute transactions off-chain while maintaining the on-chain security guarantees, i.e., no party can be cheated out of their funds. However, to maintain these guarantees all parties must follow blockchain updates ardently. To alleviate this issue, a channel party can hire a "watchtower" to periodically check the blockchain for fraud on its behalf. However, watchtowers will only do their job properly if there are financial incentives, fees, and punishments. There are known solutions, but these need complex smart contracts, and as such are not applicable to Bitcoin's simple script language. This raises the natural question of whether incentivized watchtowers are at all possible in a system like Bitcoin. In this work, we answer this question affirmatively, by introducing Cerberus channels, an extension of Lightning channels. Cerberus channels reward watchtowers while remaining secure against bribing and collusion; thus participants can safely go offline for an extended period of time. We show that Cerberus channels are correct, and provide a proof-of-concept implementation in the Bitcoin script language.

Metadata
Available format(s)
PDF
Category
Applications
Publication info
Preprint. MINOR revision.
Keywords
BitcoinSecurityBlockchainPayment ChannelsWatchtowersLightning NetworkCollateralIncentives
Contact author(s)
zetavar @ ethz ch
History
2019-09-29: received
Short URL
https://ia.cr/2019/1092
License
Creative Commons Attribution
CC BY

BibTeX

@misc{cryptoeprint:2019/1092,
      author = {Georgia Avarikioti and Orfeas Stefanos Thyfronitis Litos and Roger Wattenhofer},
      title = {Cerberus Channels: Incentivizing Watchtowers for Bitcoin},
      howpublished = {Cryptology ePrint Archive, Paper 2019/1092},
      year = {2019},
      note = {\url{https://eprint.iacr.org/2019/1092}},
      url = {https://eprint.iacr.org/2019/1092}
}
Note: In order to protect the privacy of readers, eprint.iacr.org does not use cookies or embedded third party content.