Unified addresses in Zcash explained

Among the features included in the next Zcash network upgrade is Unified Addresses. The unified address (UA) is a future-proof Zcash address format that improves usability, increases the ease of interoperability, and supports shielding Zcash by default.

In this post, we will explain the benefits of unified addresses, how they work and how they fit within the broader Zcash ecosystem.

Background

Zcash is always improving — implementing cutting-edge cryptography with secure, professional-grade code. As Zcash evolves, new value pools are introduced that offer better features and benefits. This was the case when Zcash upgraded from Sprout to Sapling, and it will be the case when Zcash upgrades from Sapling to Orchard

Multiple address types can negatively impact the user experience. They are not unique to Zcash; in fact, many protocols face this challenge, including Bitcoin. This is because certain protocol improvements (such as SegWit in Bitcoin) require a new address format. 

UAs make Zcash easier to use by removing the complexity of multiple address types. This simplifies the user experience — no more juggling addresses — and increases interoperability between shielded-only applications and transparent-only applications. If a wallet supports auto-shielding (a new feature included in Halo Arc), their users can be confident that their funds will be shielded by default and stored in the latest shielded pool.

UAs will also make network upgrades easier because Zcash can iterate quickly without introducing new address types — solving a huge problem faced by many protocols today. 

The single-address standard will also advance use cases related to Layer 2, DeFi and interoperability, because it will be easier to build applications and tools for Zcash.

What are UAs? 

Unified addresses are generated from a set of multiple Zcash address types (i.e., transparent, Sapling and Orchard). Think of unified addresses like a universal travel adapter that lets you plug into different sockets. They make it easy for wallets to migrate funds to the latest shielded pool while gradually deprecating older technology. With unified addresses, wallets will default to moving coins to the latest shielded pool supported by the wallet. These features, auto-migration and auto-shielding, are part of ECC’s Halo Arc product suite.

With the upcoming Orchard upgrade, there will not be a stand-alone Orchard address. Instead, users will access the Orchard shielded pool through a unified address.

A full list of detailed requirements for UAs is in ZIP 316. A full description of UAs is also available in the Zcash protocol specification (pg 110).

Mobilizing the broader Zcash ecosystem 

Zcash is one of the most broadly supported digital currencies, available across major exchanges and a growing number of mobile wallets. As with any network upgrade, the support of ecosystem partners is critical to the health and stability of the Zcash network. 

While all partners are strongly encouraged to support Zcash unified addresses, some may continue to only offer support for Zcash transparent addresses. After the activation of NU5, all stand-alone addresses (transparent, Sapling and Sprout) will be considered legacy addresses. While unified addresses will be completely compatible with some legacy addresses (transparent and Sapling), ECC will prioritize partnerships with exchanges and wallet providers that support UAs and shield Zcash by default.

With unified addresses, people don’t have to choose between privacy and convenience or between multiple address types. Zcash can continue to deliver world-class innovation with seamless upgrades and a refreshing user experience.