The DEX from the future is landing soon, but itโs so much more.
Penumbra is the original vision of Cosmos, completely reimagined for the future in which privacy is the default:
๐ Private Transfers
๐ Private Staking
๐ Private Trading
๐ Private Custody
๐ Private Governance
Penumbra arrives from the future โ now is the time to get ready.
The Penumbra testnet now includes our flagship feature: a private, concentrated-liquidity DEX with unique capabilities only possible with a Cosmos appchain.
Interchain Privacy is Here.
The Penumbra testnet now integrates IBC and ICS-20 token transfers, bringing privacy to the Interchain: decentralized, permissionless token transfers from any IBC-compatible chain directly into and out of Penumbra's multi-asset shielded pool.
Some news: the
@cosmos
hub has validated the first header from a
@penumbrazone
testnet!
Shielded transactions are coming to IBC, and sooner than you think :)
Coming soon: fully shielded, anonymous multisigs!
We've been working on supporting threshold custody for assets in Penumbra's interchain shielded pool. Each signer can view the complete tx plan, and the final result looks just like any other shielded transaction.
Demo:
Some news: the
@cosmos
hub has validated the first header from a
@penumbrazone
testnet!
Shielded transactions are coming to IBC, and sooner than you think :)
Yes, Penumbra has private wallet messaging built in.
Because operationally, when you make a payment, you need a way to specify what it's for.
And of course, that memo should only be visible to your counterparty, not broadcast in cleartext to the world...
Penumbra Testnet 63, "Rhea", is now live!
This release lands web wallet support, bringing shielded transactions to the web!
You can now create and view shielded transactions from your browser, with all scanning, decryption, and proving performed locally.
Looking for a holiday longread? Check out our Winter 2022 Update for details on:
- shielded swaps
- transaction views and perspectives
- our new state model
- the Penumbra DEX engine
- web interfaces
- sharded custody
- personal rollups
Phase 1 of Penumbra's summoning ceremony is now complete, with 15,745 distinct contributions from the community!
This is the first step in creating a secure foundation for the Penumbra protocol. Stay tuned for Phase 2, following next week's testnet...
Every Penumbra account has multiple addresses that point at it: a stable, default address as well as a practically infinite number of random one-time addresses.
All of these addresses are publicly unlinkable, but viewable with the same viewing key.
Wouldnโt it be cool if you couldnโt see who the top 10 traders were, because the protocol didnโt broadcast their trading history to the entire world?
Wouldnโt it be cool if the top 10 traders became vaults and anyone could deposit into a vault to copy trade them. And those traders got paid a carry fee?
Shielded swaps have arrived!
Today, we deployed testnet 29, โEukeladeโ, which has the first release of our shielded batch swap mechanism, which enables Penumbra users to privately swap tokens without leaving the shielded pool.
Read more here:
When we designed Penumbra's cryptography, we were careful to ensure that proving and signing can happen in parallel.
This means we can start proving while the user reviews the transaction and submit instantly on approval.
Watch it happen end-to-end, in real time:
Weโre excited to announce Testnet 64, Titan.
Titan brings support for shielded chain upgrades, allowing participants in the Penumbra network to use the chain to coordinate on new software versions, and to seamlessly preserve users' private data across a chain upgrade boundary.
Penumbra solves โuser privacy by defaultโ. There are no transparent addresses or accounts within Penumbra.
IBC transfers shield value coming in and unshield value going out. The entire Interchain is our transparent pool.
cosmos got a bunch of things right.
โข what we got wrong: the importance of time to market
โข what I hope is right but still unproven: the plurality of monies
โข whatโs critical but missing entirely: user privacy by default
Imagine a browser wallet with a lightweight, embedded micro-node that syncs, scans, and locally indexes only the transactions visible to that userโs wallet, then gives frontends access to that data as a โlocal RPCโ.
Who is building this?
We should be democratizing access to distributed hardware and removing the barrier for operating nodes. Be first-class citizens of networks, no trust needed
This past month, Penumbra underwent two auditsโby
@NCCCrypto
, and
@zksecurityXYZ
, respectivelyโcovering the protocol's cryptography design and ZK circuits.
Several issues were found, with the fixes merged as part of Testnet 59: Enceladus.
Read more here:
Penumbra Testnet 17, codename "Carpo" is here, and it brings a completely revamped client architecture, designed to make interacting with data on a private chain as easy as on a transparent chain!
Every other proof-of-stake chain requires each user to publicly record their token holdings to participate in staking.
Penumbra is built different.
Penumbra is the first chain to create private PoS, providing privacy for delegators while retaining accountability for validators.
Phase 2 of Penumbraโs summoning ceremony has begun!
In Phase 1, we received over 15,000 community contributions towards the decentralized setup used to generate the final proving parameters.
As before, weโre using the Penumbra testnet itself to coordinate contributions โฌ๏ธ
Penumbra is designed for END-TO-END PRIVACY, where end-user data lives on end-user devices, not on-chain.
And itโs designed to be easy-to-use, with a familiar browser experience.
So how do we make ZK proving fast enough to run in the browser?
Parallelism!
IBC has a surprisingly large "protocol surface area", with many layers of consensus-critical behavior:
- the message formats
- the paths those messages are stored at
- the events that trigger relayer actions
- even the error messages (๐)
All of these have to match exactly!
We've passed 10,000 contributions to Phase 1 of Penumbra's summoning ceremony!
Thanks to everyone who participated so far. Stay tuned for a deep dive on the ceremony mechanics and lessons learned!
To make this easier for future devs, we created `ibc-types`, minimally opinionated Rust crates defining common types for
- IBC messages
- IBC paths
- IBC events
and everything else you'd need to work with IBC data in any capacity!
Last year, Penumbra started its summoning ceremony, to create its final ZK proving keys. Over 13,000 summoners have participated so far!
This ceremony also served as a large scale exercise of our testnet: we used Penumbra's private payment network to orchestrate contributions!
Deep dive on cnidarium, the chain state database that powers Penumbra, with
โ๏ธ Native Simulation
โ๏ธ Pervasive Snapshots
โ๏ธ Concurrent Reads
โ๏ธ Batch Writes
โ๏ธ Parallel Execution
โ๏ธ IBC-compatible Multistore
alpha leak: you can pull cnidarium (the penumbra chain state library) off-the-shelf and get all of the good ideas in this tweet (parallelism, no overhead) without any of the bad ideas (sql, giving up state verifiability)
Every Penumbra wallet embeds an ultralight node that scans, syncs, decrypts, and locally indexes your own account state โ a personal, private indexer, so frontends can query your data locally.
If you're an actual user, a highly optimized frontend using a fast indexer is much more important to UX than any chain-level optimizations like parallel txns or optimistic execution.
In effect, this allows any Penumbra user to create their own personal rollup, maintaining their own state off-chain and only posting state commitments, nullifiers, and proofs to the L1.
We are so back!
Visit to learn how to contribute to Penumbra's summoning ceremony.
Remember, contribution slot bids are additive, so if you were already in the queue and got disconnected, you can set --bid 0penumbra when reconnecting to reuse your bid.
Every Penumbra wallet has an embedded ultralight node that syncs that user's private state and indexes it locally.
This was a challenge to build, but it also means the wallet can sync other data โ prices, trade volumes, ... โ and feed it to frontends for presentation.
@zmanian
What if every wallet tracked prices locally as part of its sync process, so you can view your portfolio's value without leaking it through RPC calls? And what if it could use that information to help you trade?
The story goes like this: USA is captured by a privacy singularity as surveillance capacity and financial coercion lock into authoritarian take-off. Logistically accelerating biological-economic interactivity crumbles status quo social order in auto-sophisticating corporate runaw
Penumbra addresses are long but they have a hidden superpower: every address contains encrypted metadata visible only to its owner.
This makes managing multiple accounts easy, as your account info is embedded in the address โ and preserves privacy, as only you can see it.
Growth is happening beyond just the chain count.
This year, weโve been proud to help push
@IBCProtocol
beyond the Cosmos SDK:
โ๏ธ First non-SDK connection to
@cosmoshub
โ๏ธ First Shielded IBC Transfer to
@osmosiszone
testnet
โ๏ธ Modular Rust IBC stack: ibc-types + penumbra-ibc
BEYOND POOLS: SYNTHETIC LIQUIDITY
Or: why should users have to think about pools at all?
Penumbra's DEX executes all trade intents in a batch using on-chain optimal routing, which means that the chain can use other pairs to provide "synthetic liquidity" for a user's trade!
Penumbra Testnet 62, "Iapetus", is now live!
This release lays the groundwork for multidimensional gas pricing for EIP1559-style pricing of different kinds of resources, building on research by
@theo_diamandis
,
@GuilleAngeris
,
@alexhevans
&
@tarunchitra
How should we allocate and price scarce resources on public blockchains?
@GuilleAngeris
,
@alexhevans
,
@tarunchitra
, & I formalize the multi-dimensional resource pricing problem in blockchains and propose a simple price-setting mechanism!
Penumbra brings privacy to
@IBCProtocol
.
Transfers into Penumbra shield funds.
Transfers out of Penumbra unshield funds.
And users never need to know about the deep, holistic protocol design that makes it seamlessly do the right thing.
we noticed a small but consequential privacy leak in our ics20 impl today
ibc packets specify a timeout timestamp, after which the transfer fails and returns to sender.
but this timestamp has nanosecond precision, potentially fingerprinting users by leaking their clock skew!
What does this unlock?
๐Private trading strategies that donโt disclose a userโs positions or PnL to the chain
๐Client-side support for passive liquidity via replicating market maker (RMM) strategies that can replicate the payoff of any CFMM โ UniV2, UniV3, Balancer, Curveโฆ
๐ Fully batched execution, with no ordering to manipulate
๐Order-book-style concentrated liquidity with arbitrary fee tiers
๐On-chain optimal routing of user intents across all trading pairs and all fee tiers
๐In-protocol arbitrage to auto-fill orders and internalize MEV
@nansen_ai
4/X
Ethereum/DeFi folks may also recognize Chun as the founder of
@stakefish
, also a big player in proof-of-stake
In terms of his personal wallet, the man has remarkably healthy habits -- works every day, but takes at least 12 hours off
H/T,
@satofishi
The hard problem is building a blockchain that's genuinely end-to-end.
Penumbra's client sync protocol allows every wallet to run a local, personal indexer just for their private data and serve that data to frontends.
End-user data on end-user devices. Just like it should be.
@adietrichs
@SCBuergel
Wayyyyyyyy too many blockchain researchers thinks that as long a some light client can validate the current state that's sufficient for a fully interactive, usable, and consumer friendly UX.
Today, the only way to produce a useful UI/UX is to index the entire chain via debugs
why is (2) important?
let's say you want to do a TWAP, but don't want to leak your full trade and get frontrun
this design lets you sign one batch of txs with random sub-amounts, then have your wallet auto-build & submit publicly unlinkable txs over the interval you specified
On a transparent chain everyone has complete visibility into every transaction, and this assumption permeates nearly every aspect of existing blockchain tooling.
Penumbra, on the other hand, is a shielded chain with private transaction data, so we need a way to see in the dark.
@pristineindigo7
@cosmos
nope! we have our own shielded staking system that allows shielded delegation and native liquid staking tokens, so users donโt have to choose between privacy or yield โ they can have both
But โ thereโs more. Every Penumbra wallet has four billion distinct accounts, all scanned simultaneously by the same viewing key and indexed locally.
You can use any subset of them at any time, with no extra RPC. No more โadd accountโ flows, just import your seed phrase and go.
And although positions are public, so everyone sees the state of the market, theyโre created out of the shielded pool, so a MM who splits each leg of their strategy into a different tx can in principle hide which AMM curve theyโre using to provide liquidity :)
One of the earliest decisions we made was to build first-class client support from the start, because protocol design should reach all the way out to the end-user's device.
The result is the Penumbra view server, an embeddable micro-node that scans and syncs just your data.
Hope everyone is having a good weekend!
Why not test out the Penumbra web wallet, and leave some comments on your experience in the feedback channel?
Discord feedback channel link:
Extension link:
Penumbra Testnet 63, "Rhea", is now live!
This release lands web wallet support, bringing shielded transactions to the web!
You can now create and view shielded transactions from your browser, with all scanning, decryption, and proving performed locally.
Every Penumbra client includes a "view service" that acts as a personal RPC, scanning, decrypting, and locally indexing all of the transactions visible to a specific wallet.
Queries about your private state are served locally, queries about public state go to a fullnode.
@ghazni1010
@penumbrazone
the syncing is actually reading all the data from every block and pulling out your private data. Theyโve optimized the hell out of this and itโs one of the best parts of penumbra. Theyโve thought deeply about the ux around private data in a way I havenโt seen in any other project
Thrilled to hear that
@MariusMargulus
(Penumbra Labs) and
@weijie_eth
(
@__geometrydev__
) won a ZPrize for the fastest WebGPU multiscalar multiplication!
Penumbraโs end-to-end privacy relies on doing ZK proving locally on the userโs device, and making this faster is key to UX.
Unfortunately, there still isn't a good single source of truth for these details. The IBC specs don't describe everything, and sometimes contradict the deployed behavior in ibc-go.
So we had to do a lot of spelunking to build our IBC implementation.
Interchain Privacy is Here.
The Penumbra testnet now integrates IBC and ICS-20 token transfers, bringing privacy to the Interchain: decentralized, permissionless token transfers from any IBC-compatible chain directly into and out of Penumbra's multi-asset shielded pool.
This launch gives DEX enthusiasts an opportunity to experience capabilities that until now have only existed in research papers.
Find out how it works in our post:
Privacy is key to unlocking the future of crypto.
Real-world coordination requires control over information disclosure, yet existing systems broadcast all information to all participants all the time.
@MarcinMikus
@callum_and1
@SecretNetwork
weโre initially focused super narrowly on being a private dex app chain โ private programmability would be cool, but itโs not 100% clear how to do it with ZK instead of SGX, and secret network already exists for that :)