Paper 2017/180

Robust P2P Primitives Using SGX Enclaves

Yaoqi Jia, Shruti Tople, Tarik Moataz, Deli Gong, Prateek Saxena, and Zhenkai Liang


Peer-to-peer (P2P) systems such as BitTorrent and Bitcoin are susceptible to serious attacks from byzantine nodes that join as peers. Research has explored many adversarial models with additional assumptions, ranging from mild (such as pre-established PKI) to strong (such as the existence of common random coins). One such widely-studied model is the general-omission model, which yields simple protocols with good efficiency, but has been considered impractical or unrealizable since it artificially limits the adversary only to omitting messages. In this work, we study the setting of a synchronous network wherein peer nodes have CPUs equipped with a recent trusted computing mechanism called Intel SGX. In this model, we observe that the byzantine adversary reduces to the adversary in the general-omission model. As a first result, we show that by leveraging SGX features, we eliminate any source of advantage for a byzantine adversary beyond that gained by omitting messages, making the general-omission model realizable. Second, we present new protocols that improve the communication complexity of two fundamental primitives — reliable broadcast and common random coins (or beacons) — in the synchronous setting, by utilizing SGX features. Our evaluation of 1000 nodes running on 40 DeterLab machines confirms theoretical efficiency claim.

Available format(s)
Cryptographic protocols
Publication info
Distributed systemsSGXByzantine fault toleranceReliable broadcastRandom number generation
Contact author(s)
jiayaoqijia @ gmail com
2020-07-10: last of 6 revisions
2017-02-27: received
See all versions
Short URL
Creative Commons Attribution


      author = {Yaoqi Jia and Shruti Tople and Tarik Moataz and Deli Gong and Prateek Saxena and Zhenkai Liang},
      title = {Robust {P2P} Primitives Using {SGX} Enclaves},
      howpublished = {Cryptology ePrint Archive, Paper 2017/180},
      year = {2017},
      note = {\url{}},
      url = {}
Note: In order to protect the privacy of readers, does not use cookies or embedded third party content.