Paper 2022/288

Spats: confidential assets and non-fungible tokens

Aaron Feickert, Cypher Stack
Aram Jivanyan, Firo, Yerevan State University

In privacy-preserving transaction protocols, confidential asset designs permit transfer of quantities of distinct asset types in a way that obscures their types and values. Spark is a protocol that provides flexible privacy properties relating to addressing, transaction sources and recipients, and value transfer; however, it does not natively support the use of multiple confidential asset types or non-fungible tokens. Here we describe Spats, a new design for confidential assets and serialized tokens compatible with Spark that focuses on efficient and modular implementation. It does so by extending coin value commitments to bind and mask an asset type and identifier, and asserting in zero knowledge that they are maintained throughout transactions. We describe the cryptographic components and changes to the Spark protocol necessary for the design of Spats.

Note: Makes balance proofs more efficient. Fixes notation and typo errors.

Available format(s)
Publication info
Contact author(s)
aaron @ cypherstack com
aram @ firo org
2023-06-16: last of 4 revisions
2022-03-07: received
See all versions
Short URL
Creative Commons Attribution


      author = {Aaron Feickert and Aram Jivanyan},
      title = {Spats: confidential assets and non-fungible tokens},
      howpublished = {Cryptology ePrint Archive, Paper 2022/288},
      year = {2022},
      note = {\url{}},
      url = {}
Note: In order to protect the privacy of readers, does not use cookies or embedded third party content.