Paper 2022/433

McFly: Verifiable Encryption to the Future Made Practical

Nico Döttling, Lucjan Hanzlik, Bernardo Magri, and Stella Wohnig


Blockchain protocols have revolutionized the way individuals and devices can interact and transact over the internet. More recently, a trend has emerged to harness blockchain technology as a catalyst to enable advanced security features in distributed applications, in particular fairness. However, the tools employed to achieve these security features are either resource wasteful (e.g., time-lock primitives) or only efficient in theory (e.g., witness encryption). We present McFly, a protocol that allows one to efficiently ``encrypt a message to the future'' such that the receiver can decrypt the message almost effortlessly. Towards this goal, we design and implement a novel primitive we call signature-based witness encryption and combine it with a BFT blockchain (or a blockchain finality layer) in such a way that the decryption of the message can be piggybacked on the tasks already performed by the blockchain committee, resulting in almost-for-free decryption. To demonstrate the practicality of the McFly protocol, we implemented our signature-based witness encryption scheme and evaluated it on a standard laptop with Intel i7 @2,3 GHz. For the popular BLS12-381 curve, a $381$-bit message and a committee of size $500$ the encryption time is $9.8s$ and decryption is $14.8 s$. The scheme remains practical for a committee of size $2000$ with an encryption time of $58 s$ and decryption time of $218 s$.

Available format(s)
Cryptographic protocols
Publication info
Preprint. Minor revision.
blockchaintimed-releasewitness encryptionidentity-based encryption
Contact author(s)
doettling @ cispa de
hanzlik @ cispa de
bernardo magri @ manchester ac uk
stella wohnig @ cispa de
2022-04-06: received
Short URL
Creative Commons Attribution


      author = {Nico Döttling and Lucjan Hanzlik and Bernardo Magri and Stella Wohnig},
      title = {McFly: Verifiable Encryption to the Future Made Practical},
      howpublished = {Cryptology ePrint Archive, Paper 2022/433},
      year = {2022},
      note = {\url{}},
      url = {}
Note: In order to protect the privacy of readers, does not use cookies or embedded third party content.