Paper 2022/176

Towards Fair Multiparty Computation in Scriptless Distributed Ledger Systems

Minze Xu, Yuan Zhang, and Sheng Zhong


Fairness is one of the fundamental properties for multiparty computation (MPC) protocols. Although fair MPC protocols for general functions is shown to be impossible with a dishonest majority, a variant of fairness called ``fairness with penalty'' has been explored recently. A MPC protocol provides fairness with penalty if either all participants can get the output, or the dishonest parties who break the protocol after getting the output will be financially penalized. Fairness with penalty is enabled by previous works leveraging the emerging distributed ledger systems (DLS), e.g. Bitcoin and Ethereum. They utilize the scripting functionality provided by the DLSs to make automatic penalty practical without relying on any trusted third party. However, there is also a significant number of DLSs that do not provide the scripting functionality. In this paper, we propose the ROSE protocol which enables fairness with penalty while only requiring the underlying DLS can verify and broadcast digital signatures on transactions. This requirement can be fulfilled by almost all DLSs, including the scriptless DLSs. To the best of our knowledge, it is still unknown how to realize fairness with penalty on scriptless DLSs before our work. We also provide a implementation of ROSE. The experimental results show that applying ROSE only brings little computation and communication overhead.

Available format(s)
Cryptographic protocols
Publication info
Preprint. MINOR revision.
Fair MPC protocolsClaim-or-refund FunctionalityDistributed Ledger Systems
Contact author(s)
cnmzxu @ gmail com
2022-02-20: received
Short URL
Creative Commons Attribution


      author = {Minze Xu and Yuan Zhang and Sheng Zhong},
      title = {Towards Fair Multiparty Computation in Scriptless Distributed Ledger Systems},
      howpublished = {Cryptology ePrint Archive, Paper 2022/176},
      year = {2022},
      note = {\url{}},
      url = {}
Note: In order to protect the privacy of readers, does not use cookies or embedded third party content.