BACK

BACK

Articles

Penumbra Chain: A Privacy Hub for the Interchain

July 8, 2024

Written By:

This article serves as an introduction to the Penumbra Chain – a protocol that lives in the cosmos ecosystem and prioritizes privacy in every DeFi activity, ranging from simple transactions to market making.

After a high-level overview of Penumbra, we explore how private transactions, staking, governance, and decentralised exchange (DEX) work. 

 

Fundamentals of Penumbra

(Source: Penumbra)

Penumbra is a fully private proof-of-stake network and decentralised exchange (DEX) for the Cosmos ecosystem allowing anyone to securely transact, stake, swap, or marketmake without broadcasting their personal information to the world.

Penumbra connects to the Cosmos ecosystem via Inter-Blockchain Communication (IBC), positioning itself as an ecosystem-wide shielded pool and allowing private transactions in any IBC-compatible asset. Unlike other privacy-enabled chains where shielded transactions are opt-in, all transactions within Penumbra are fully shielded and private-by-default, with users being able to disclose their activity to third parties they authorize.

The goal of being a fully shielded, proof-of-stake chain necessitates staking and delegation to also be private. If staking and delegation are not private, holders of the staking token would have to trade off privacy on the one hand and network security, governance, and staking rewards on the other. Put differently, to maintain privacy in PoS, the distribution of staking rewards from validators to delegators should also remain private, meaning that there should be no on-chain link between the two parties.

However, this begs the question: if for the sake of privacy, validators do not know who their delegators are, how can they distribute staking rewards to correct wallets? And even if the validators knew where to send these transactions, how would the transactions be kept from being discoverable on a chain? 

We answer these questions below. 

 

Private Staking 

In a proof-of-stake system like the Cosmos Hub, stakeholders delegate staking tokens by bonding them to validators, who in turn participate in consensus with voting power determined by their delegation size. Delegators receive staking rewards in exchange for taking on the risk of being penalized for validator misbehavior (slashing).

Integrating privacy with proof of stake presents notable challenges. If delegations are public, staking token holders face a dilemma between maintaining privacy and earning staking rewards or participating in consensus. Since most of the stake will be delegated to validators, privacy becomes a rare, opt-in scenario. Conversely, if delegations are kept private, distributing staking rewards becomes problematic, as the blockchain loses track of the amount and duration of each address’ delegations.

Penumbra sidesteps this problem by using a new mechanism that eliminates staking rewards entirely and treats unbonded and bonded stake as separate assets.
On the one hand, The PEN staking token is used to secure the Penumbra network and allows holders to participate in governance through on-chain voting.
On the other hand, for validators, a native delegation token called dPEN is provided, representing a share of the delegation pool staked with that validator. These tokens are recorded in the shielded pool and can be transferred or traded like any other asset.

Such separation is made possible by an exchange rate that changes with each epoch (time period) and includes what would normally be staking rewards in other systems. This mechanism ensures that all delegations to a particular validator are fungible (interchangeable), and can be represented by a single delegation token accounting for a share of that validator’s delegation pool – effectively the delegation token becomes a staking derivative.

Importantly, as a side effect of fungibility, delegators can not earn passive income on their staked assets during the bonding period, the income can be realised as a capital gain (or loss) at the point of unbonding.

The total amount of stake bonded to each validator is part of the public chain state and determines consensus weight, but the delegation tokens themselves are each just another token to be recorded in a multi-asset shielded pool. This provides accountability for validators and privacy and flexibility for delegators, who can trade and transact with their delegation tokens just like they can with any other token.

The total stake bonded to each validator is publicly visible on-chain and determines consensus weight, but the delegation tokens are anonymized like any other token in a multi-asset shielded pool. Thus, ensuring validator accountability while giving delegators privacy and flexibility to trade and use their tokens freely.

Penumbra’s approach to PoS privacy also offers a different view on the debate between fixed supply and inflation-based rewards. If the unbonded token is used as the standard, delegators are rewarded through inflation for accepting the risk of validator misbehavior, causing the token supply to grow over time. If delegation tokens (or a basket of them) are used as the standard, non-delegators are penalized with depreciation for avoiding any risk of misbehavior, keeping the token supply fixed.

(Source: Penumbra)

Private Transactions 

Penumbra records all values in a single multi-asset shielded pool based on the Zcash Sapling design and also allows private transactions in any kind of IBC asset (assets that live on the interchain). Inbound IBC transfers shield value as assets move into the zone, while outbound IBC transfers unshield value.

Unlike the Cosmos Hub or many other chains built on the Cosmos SDK, Penumbra has no notion of accounts. Only validators have any kind of long-term identity, and this identity is only used (in the context of transactions) for spending the validator’s commission.

Penumbra’s transactional technology, which is inspired by ZCash, allows for the following features:

Transact Privately: Penumbra is a completely shielded blockchain that ensures the safety and security of users’ financial data. Transactions are private by default and cannot be traced or decrypted without the user’s permission. 

Natively Cross-Chain: Penumbra works with IBC to shield any kind of crypto asset originating from any IBC-compatible chain like Comsos or Osmosis. As a result, Penumbra acts as a shielded pool for the entire Cosmos ecosystem and beyond.

Transparency on Demand: Every Penumbra address includes a viewing capability, enabling users to choose to disclose their activity to authorized third parties for compliance or other purposes.

Fast, Low-Fee Transactions: Penumbra transactions feature low fees and fast finality, thanks to its status as a sovereign layer-1 blockchain using proof-of-stake consensus.

(Source: Penumbra)


Private Governance

Penumbra supports on-chain governance with delegated voting and secret ballots, where users can anonymously propose votes by escrowing (locking in) a deposit of bonded stake. Stakeholders vote by proving ownership of their bonded stake before the beginning of the voting period and encrypting their votes to a threshold key controlled by the validator set, while Validators sum encrypted votes and decrypt only the per-epoch totals.

Validators’ votes are public and act as default votes for their entire delegation pool, and delegators’ votes are private, and override the default vote provided by their validator.

Vote types on Penumbra are similar to Cosmos Hub and include Yes, No, and Abstain. However, Penumbra does not have NoWithVeto; instead, a sufficiently high threshold of “no” votes (determined by a chain parameter) will slash a proposal, which causes its deposit to be burned, hence functioning as a spam deterrent.


Proposals 

Penumbra users can propose votes by escrowing a minimum amount of PEN. They do this by creating a transaction that consumes some amount of PEN from the transaction’s balance and creates a proposal NFT, which can be redeemed for the proposal deposit in the case that the voting concludes without slashing the proposal (both failed and passed proposals can reclaim their deposit).

Proposals can either be standard or emergency. In either case, the voting period begins immediately, in the next block after the proposal has been committed to the chain. Normal proposals have a fixed-length voting period, while emergency proposals are accepted as soon as a 1/3 majority of the stake is reached.

Because validators provide default votes for their delegation pool, an emergency proposal can in principle be accepted immediately, without any input from delegators. Thus allowing time-critical resolution of emergencies because a 1/3 + 1 plurality of the stake required is sufficient to halt the chain.

Furthermore, proposals can also be withdrawn by their proposer before the end of the voting period. For instance, a chain upgrade proposal can be withdrawn and re-proposed with a different source hash if a bug is discovered while upgrade voting is underway. Withdrawn proposals cannot be accepted, even if the vote would have passed, but they can be slashed. 


Voting

In this voting system, stakeholders express their votes using weighted values for yes, no, or abstain. Voters prove ownership of their bonded stake through a transaction that includes a Vote description identifying the validator and proposal. This transaction confirms spend authority over a note recording their voting power and reveals a unique identifier. Importantly, it ensures the note hasn’t been used before for voting on the same proposal and verifies its creation before the voting period begins. (Notes are cryptographic tokens that facilitate secure and private exchanges, with each note representing a specific amount of a given asset)

The notes approach allows stakeholders to vote on multiple proposals concurrently, albeit with the possibility of linking votes if the same note is used. To mitigate this, it’s recommended that wallets renew the note after its first use, separating subsequent votes from prior ones for enhanced privacy.

At the end of each epoch, validators collect and aggregate encrypted votes from each delegation pool, then decrypt and reveal the intermediate tallies. This process ensures that tallies are public while voting is ongoing, similar to existing on-chain governance systems.

When the voting period ends, the per-epoch tallies are summed.

Each validator’s vote is used as the default for their delegation pool, and the votes for each option are summed. These subtotals are then adjusted by the validator’s voting power to get the final vote totals.

If the proposal was not slashed, the proposal could be redeemed for the original deposit and a commemorative NFT indicating the proposal’s outcome.


Private DEX

Penumbra allows users to swap assets privately using a DEX called ZSwap. Individual swaps publicly burn their input notes and privately mint their output notes, meanwhile, all swaps in each block are executed in a single batch. 

Users can also provide liquidity by anonymously creating concentrated liquidity positions. These positions disclose the amount of liquidity and the range within which it is concentrated but do not link to any identity, allowing users to privately approximate various trading functions without revealing their specific price expectations.

 


Batch Swaps
 

Batch swaps refer to the process of executing all swap orders received within a specific time period in a single group, or batch, at a uniform price, instead of processing each order individually as it arrives. Such an approach helps reduce arbitrage opportunities and can improve the efficiency and fairness of the market.

Traditional DEX types like Constant Function Market Makers (CFMMs) have shown to work well for decentralised liquidity, but they have also exposed arbitrage opportunities due to the mismatch between continuous-time markets and the blockchain’s discrete batch processing. Each state update is broadcast to all participants and queued in the mempool before being included in the next block, allowing others to bid and potentially manipulate the order of transactions (e.g., front-running trades).

The above manipulation is enabled by two features:

  • Although trades are always committed in a batch (a block), they are performed individually, making them dependent on miners’ choices of the ordering of trades within a block;
  • Because trades disclose the trade amount in advance of execution, all other participants have the information necessary to manipulate them.

ZSwap addresses the first problem by executing all swaps in each block as a single batch, aggregating the amounts in each swap, and then processing them as one trade against the CFMM.

In a future upgrade, ZSwap will address the second problem by having users encrypt their swap amounts with an encryption key managed by validators, who will aggregate and decrypt only the batch trade. This will prevent front-running before block inclusion and provide privacy for individual trades within the batch.

 

Concentrated Liquidity 

Historically speaking, Uniswap v3 improved upon Uniswap v2 by allowing liquidity providers (LPs) to concentrate their liquidity within specific price ranges, rather than spreading it evenly across all possible prices. Hence, making liquidity allocation more efficient and aligning it with the actual trading range of the assets.

With concentrated liquidity, LPs create positions that allocate a specific amount of liquidity to a chosen price range. Within this range, the position functions as a constant-product market maker with larger “virtual” reserves. To this end, any one pool combines liquidity from all positions that include the current price and monitors which positions stay active as prices change. Thereafter, by creating multiple positions, LPs can approximate various trading strategies.

However despite some advantages like increased flexibility in trading strategies, the concentrated liquidity mechanisms have several limitations that Penumbra is eyeing to solve:

Limitation: In DEX’s like Uniswap, It is challenging to approximate any trading function precisely with concentrated liquidity positions because each position mirrors a scaled and shifted version of the non-linear constant-product trading function. The “non-linear constant-product trading function” is a mathematical rule used in Automated Market Makers (AMMs) that keeps the product of token amounts in a pool constant, meaning as you trade one token for another, the price changes in a curved (non-linear) way rather than a straight line. Therefore it is harder to predict or mimic complex trading strategies using the non-linear AMM.

Penumbra’s Solution: By employing linear (constant-price) concentrated liquidity positions, approximating various trading functions becomes simpler and enhances the efficiency of the DEX implementation. Users can reconstruct a constant product or any other trading function by creating multiple positions, thereby moving the curve selection from consensus to client software.

Limitation: In traditional AMMs, LPS cannot compete directly on trading fees because positions must be set up with predefined fee tiers, and trades cannot naturally move between different fee tiers.

Penumbra’s Solution: To address rigidity in fees, each liquidity position can specify its own fee structure, thus dividing liquidity across numerous (potentially tens of thousands) distinct AMMs, each with its own fee rate. Admittedly, despite a potential liquidity fragmentation over several AMMs, ZSwap can still efficiently route batched swaps across all these AMMs.

Limitation: All liquidity positions are publicly linked to the owner accounts, meaning that any successful LP strategy can be immediately replicated by other parties.

Penumbra’s Solution: Although positions are publicly visible, they are anonymously opened and closed, allowing LPs to approximate their desired trading strategies without disclosing their specific price expectations (as long as they ensure their actions do not link their positions through timing or quantity for example).


What is next for Penumbra? 

Penumbra is currently in Phase 0, marked by the launch of its chain and facilitated by an initial validator set. Simply Staking is happy to be a part of Penumbra’s active validator set and you can stake with us at this address:

penumbravalid1dsge6jnj3tnzmlaas5m0m763fvly9hve2cd0v942kslvt2qw8qgqhu7sts
 

The Phase 0 rolls out basic functionalities such as transfers and governance. Unlike traditional Cosmos-SDK chains, Penumbra processes stake updates only at epoch boundaries, leading to a gradual evolution of the validator set over several days. 

Phase 1 is anticipated after Phase 0 stabilizes, pending a governance vote. This phase aims to activate the IBC module, laying the foundation for Penumbra to connect with other chains in the interchain ecosystem. Initially, IBC activation does not enable actual transfers but prepares for future interoperability. 

Following successful IBC connections, Phase 2 will be pursued through a governance vote to enable full functionality, including activating the Penumbra DEX and enabling IBC transfers, which could initiate price discovery for the Penumbra token and expand its utility across the broader blockchain ecosystem.

You can stay connected with the Penumbra ecosystem through these channels: 

Conclusion 

Penumbra Chain is establishing itself as a privacy-centric protocol within the Cosmos ecosystem, focusing on enhancing privacy across all DeFi activities, from basic transactions to sophisticated market-making strategies. The protocol introduces innovative features such as fully shielded transactions, private staking and governance, and DEX powered by ZSwap.

Moving forward, Phase 1 aims to activate the IBC module to connect Penumbra with other chains, setting the stage for broader interoperability. Subsequent phases will focus on enabling full DEX functionality and IBC transfers, thereby expanding the utility and adoption of the Penumbra token within the blockchain ecosystem. 

Besides delegating to us, you can simply stake and secure your assets with the Ledger wallet.

Disclaimer: This article contains affiliate links. If you click on these links and make a purchase, we may receive a small commission at no additional cost to you. These commissions help support our work and allow us to continue providing valuable content. Thank you for your support! 

This article is provided for informational purposes only and is not intended as investment advice. Investing in cryptocurrencies carries significant risks and is highly speculative. The opinions and analyses presented do not reflect the official stance of any company or entity. We strongly advise consulting with a qualified financial professional before making any investment decisions. The author and publisher assume no liability for any actions taken based on the content of this article. Always conduct your own due diligence before investing.