✈️Mind SAP: Research

The Details of FHE-DKSAP:

MindSAP detailed protocol can be found as follows:

  1. Initialization process

  • Bob (receiver) creates two key pairs: (sk2,PK2)(sk_2,PK_2) and (skb,PKb)(sk_b,PK_b)

  • sk2sk_2 is a randomly generated private key for SA spending purposes.

  • A SA spending wallet address public key PK2PK_2 is generated using sk2sk_2. It follows standard Ethereum address conversion from sk2sk_2 to PK2PK_2. As said, the final wallet address by PK2PK_2 does not need to be registered on Ethereum before use.

  • skbsk_b is the FHE private key for SA encryption and decryption. It is generated by the FHE key generation functions.

  • Bob encrypts the sk2sk_2 under the PKbPK_b , and gets C2C_2 for the further stealth address calculations.

  • Bob publicly shares (PK2,PKB,C2)(PK_2,PK_B,C_2).

  1. SA generation process on the Sender's side

  • Alice (sender) generates a key pair (sk1,PK1)(sk_1,PK_1) randomly for each SA transaction.

  • sk1sk_1is Ethereum ephemeral and the public key or wallet address does not need to be registered on Ethereum before use.

  • She combines the two public keys for Ethereum wallet generation, PK1PK_1 and PKbPK_b, to obtain PKzPK_z

  • The Stealth Address (SA) is generated based on PKzPK_z by following standard Ethereum address conversion.

  • Alice encrypts the secret key sk1sk_1 using Bob's HE public key PKbPK_b, resulting in the ciphertext C1C_1. Alice then adds these two ciphertexts together and sends them to Bob.

  • Alice can not know SA's private key, as nobody can guess the private key from the public key PKzPK_z . It means Alice only knows where to send SA transactions, but never be able to login to this SA wallet.

  1. SA generation process on the Recipient's side

  • Bob can decrypt the ciphertext C with his HE private key skbsk_b. The HE decryption result is the private key skzsk_z to the wallet that receives the sent from Alice.

  • Then, he can generate the stealth address with skzsk_z and decrypt it with the private key, which only Bob owns. So Bob can transfer its balance with the private key PKzPK_z for the SA wallet.

Research Post in Ethereum Research about MindSAP:

Research Paper about FHE-DKSAP

Blockchain transactions have gained widespread adoption across various industries, largely attributable to their unparalleled transparency and robust security features. Nevertheless, this technique introduces various privacy concerns, including pseudonymity, Sybil attacks, and potential susceptibilities to quantum computing, to name a few. In response to these challenges, innovative privacy-enhancing solutions like zero-knowledge proofs, homomorphic encryption, and stealth addresses (SA) have been developed. Among the various schemes, SA stands out as it prevents the association of a blockchain transaction's output with the recipient's public address, thereby ensuring transactional anonymity. However, the basic SA schemes have exhibited vulnerabilities to key leakage and quantum computing attacks. To address these shortcomings, we present a pioneering solution - Homomorphic Encryption-based Dual-Key Stealth Address Protocol (HE-DKSAP), which can be further extended to Fully HE-DKSAP (FHE-DKSAP). By leveraging the power of homomorphic encryption, HE-DKSAP introduces a novel approach to safeguarding transaction privacy and preventing potential quantum computing attacks. This paper delves into the core principles of HE-DKSAP, highlighting its capacity to enhance privacy, scalability, and security in programmable blockchains. Through a comprehensive exploration of its design architecture, security analysis, and practical implementations, this work establishes a privacy-preserving, practical, and efficient stealth address protocol via additively homomorphic encryption.

Link: https://arxiv.org/abs/2312.10698

Presentation in Ethereum Foundation Private Event about FHE-DKSAP

https://app.streameth.org/devconnect/epf_day/session/fhedksap

Last updated