Paper 2020/1346

SodsMPC: FSM based Anonymous and Private Quantum-safe Smart Contracts

Shlomi Dolev and Ziyu Wang


SodsMPC is a quantum-safe smart contract system. SodsMPC permissioned servers (verification nodes) execute contracts by secure multi-party computation (MPC) protocols. MPC ensures the contract execution correctness while trivially keeping the \textit{data privacy}. Moreover, SodsMPC accomplishes the contract \textit{business logic privacy} while protecting the contract user \textit{anonymous identity} simultaneously. We express the logic of a contract by a finite state machine (FSM). A state transition of the FSM is represented by a \textit{blind polynomial} with secret-shared coefficients. When using MPC to compute this blind polynomial, the contract business logic privacy is obtained. These coefficients which control the logic are binary secret shares. We also propose a base conversion method among binary and integer secret shares by MPC. Our contract anonymity comes from the ``mixing-then-contract'' paradigm. The online phase of the SodsMPC mixing is a multiplication between a preprocessed permutation matrix and an input vector in the form of secret sharing, which accomplishes a fully randomized shuffle of the inputs and keeps the secret share form for the following contract execution. All SodsMPC components, including a verifiable secret sharing scheme, are quantum-safe, asynchronous, coping with $t<n/3$ compromised servers, and robust (tolerates Byzantine servers) in both preprocessing and online phases.

Available format(s)
Cryptographic protocols
Publication info
Preprint. MINOR revision.
Multi-party ComputationPrivate Smart ContractFinite State MachineAnonymous MixingQuantum-safety
Contact author(s)
wangziyu @ buaa edu cn
dolev @ cs bgu ac il
2020-10-29: received
Short URL
Creative Commons Attribution


      author = {Shlomi Dolev and Ziyu Wang},
      title = {SodsMPC: FSM based Anonymous and Private Quantum-safe Smart Contracts},
      howpublished = {Cryptology ePrint Archive, Paper 2020/1346},
      year = {2020},
      note = {\url{}},
      url = {}
Note: In order to protect the privacy of readers, does not use cookies or embedded third party content.