Catena: Efficient Non-equivocation via Bitcoin
Author(s)
Tomescu, Alin; Devadas, Srinivas
DownloadAccepted version (5.045Mb)
Terms of use
Metadata
Show full item recordAbstract
© 2017 IEEE. We present Catena, an efficiently-verifiable Bitcoinwitnessing scheme. Catena enables any number of thin clients, such as mobile phones, to efficiently agree on a log of application-specific statements managed by an adversarial server. Catenaimplements a log as an OP-RETURN transaction chain andprevents forks in the log by leveraging Bitcoin's security againstdouble spends. Specifically, if a log server wants to equivocate ithas to double spend a Bitcoin transaction output. Thus, Catenalogs are as hard to fork as the Bitcoin blockchain: an adversarywithout a large fraction of the network's computational powercannot fork Bitcoin and thus cannot fork a Catena log either. However, different from previous Bitcoin-based work, Catenadecreases the bandwidth requirements of log auditors from 90GB to only tens of megabytes. More precisely, our clients onlyneed to download all Bitcoin block headers (currently less than35 MB) and a small, 600-byte proof for each statement in a block. We implement Catena in Java using the bitcoinj library and use itto extend CONIKS, a recent key transparency scheme, to witnessits public-key directory in the Bitcoin blockchain where it can beefficiently verified by auditors. We show that Catena can securemany systems today, such as public-key directories, Tor directoryservers and software transparency schemes.
Date issued
2017-05Department
Massachusetts Institute of Technology. Computer Science and Artificial Intelligence LaboratoryPublisher
Institute of Electrical and Electronics Engineers (IEEE)
Citation
Tomescu, Alin and Devadas, Srinivas. 2017. "Catena: Efficient Non-equivocation via Bitcoin."
Version: Author's final manuscript