Getting your Trinity Audio player ready...

This post was first published on Medium.

nChain
Vanity Address

Previously, we have shown a novel and private way to purchase Bitcoin vanity addresses, using Zero-Knowledge Key-Statement Proof. In practice, it has one drawback: after the buyer verifies the proof in step 7, he can abort the exchange protocol and the seller wastes resources to find an answer but does not get paid.

To overcome this drawback, we conduct the exchange entirely on chain using a smart contract. It only pays out if a private key is provided such as the derived/combined public key/address meets the vanity pattern. Full code is shown below.

 

To compute point addition (Line 16) and multiplication (Line 13) efficiently, we leverage the same technique as before. After we have the combined public key, we validate its corresponding address meets the predefined vanity pattern at Line 19.

Extension

We have only showed how to verify the derived address has certain prefix. But it is straightforward to extend it to have the address or the public key meet any arbitrary requirement.

Watch: CoinGeek New York presentation, Smart Contracts & Computation on Bitcoin

Recommended for you

Rúnar: Compiler making Bitcoin Script more enterprise-ready
The Rúnar compiler lets developers write enterprise smart contracts in five languages and compile them into Bitcoin Script for scalable...
March 17, 2026
BSV SDK for Elixir: AI meets industrial-strength workload
The BSV SDK for Elixir empowers developers to build high-throughput apps by integrating blockchain features and tools to enable a...
March 12, 2026
Advertisement
Advertisement