Henry de Valence

@hdevalence

Joined on Jul 26, 2021

  • This document has a sketch of a proposed "ICA V2" created by the Penunba team, brainstorming during an offsite in Seattle. The "Penumbra" in the title just indicates the source; the proposal is intended to not be Penumbra-specific. For the purposes of this document, we use the term "PICA" rather than "ICA V2" to emphasize that this is just, like, our opinion, man, and is a starting point for discussion rather than a definitive view of what ICA V2 should be. The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119. Overall Design Goals Achieved: [x] Provide a general-purpose ICA standard that makes minimal assumptions about the underlying state machine (i.e., does not require the Cosmos SDK); [x] Ensure that users can self-relay their own account packets; [x] Scale to potentially millions of accounts;
     Like  Bookmark
  • Penumbra has a powerful DEX engine, but currently the tooling for the DEX has focused on scenarios where trading happens on Penumbra but price discovery happens elsewhere. We would like to have a better story about how price discovery (for any fungible asset) can happen on Penumbra itself. This could help drive order flow and liquidity on the DEX. Auctions are one tool to help accomplish price discovery. Auctions involve participants exchanging information about prices. As a private chain where control over information disclosure is natively supported and integrated through the entire stack, Penumbra is uniquely positioned to perform auctions, now and in the future. To seed this capability, this note proposes an initial design for an auction component to complement the existing DEX component. In the future, this component could manage many different kinds of auctions, with different tradeoffs and different privacy properties. The initial design, however, is narrowly scoped to a single type of auction: a (multi-unit) Dutch auction. This choice has a number of desirable properties: The Dutch auction is shill-proof. Since actions on Penumbra are performed anonymously, there is no way to know whether the auctioneer is also submitting shill bids. Because it can be implemented using programmatic liquidity on the existing DEX, it does not involve new cryptography or complex engineering work, limiting the scope required to make it a useful product.
     Like 3 Bookmark
  • Context The problem of routing a desired trade on Penumbra can be thought of as a special case of the minimum-cost flow problem: given an input of the source asset S, we want to find the flow to the target asset T with the minimum cost (the best execution price). Penumbra's liquidity positions are each individual constant-sum AMMs with their own reserves, fees, and price. Each position allows exchanging some amount of the asset A for asset B at a fixed price, or vice versa. This means liquidity on Penumbra can be thought of as existing at two different levels of resolution: a "macro-scale" graph consisting of trading pairs between assets, and a "micro-scale" multigraph with one edge for each individual position. In the "micro-scale" view, each edge in the multigraph is a single position, has a linear cost function and a maximum capacity: the position has a constant price (marginal cost), so the cost of routing through the position increases linearly until the reserves are exhausted. In the "macro-scale" view, each edge in the graph has a convex cost function, representing the aggregation of all of the positions on that pair: as the cheapest positions are traded against, the price (marginal cost) increases, and so the cost of routing flow through the edge varies with the amount of flow.
     Like  Bookmark
  • Overview We follow the notation in Improved Price Oracles: Constant Function Market Makers. Penumbra uses a hybrid, order-book-like AMM with automatic routing. Liquidity on Penumbra is recorded as many individual concentrated liquidity positions, akin to an order book. Each liquidity position is its own AMM, with its own fee tier, and that AMM has the simplest possible form, a constant-sum (fixed-price) market maker. These component AMMs are synthesized into a global AMM by the DEX engine, which optimally routes trades across the entire liquidity graph. Because each component AMM is of the simplest possible form, this optimization problem is easy to solve: it's a graph traversal. Execution Phases Penumbra has no intra-block trade ordering, so DEX execution operates at the end of the block in four phases: All newly opened liquidity positions are added to the active set. Trades are batched by liquidity pair and executed (in what order? random?).
     Like 2 Bookmark
  • Penumbra Labs is hiring two core engineers to help design, implement, and deploy Penumbra, a proof-of-stake network and decentralized exchange with privacy protections. Penumbra brings privacy to proof-of-stake, allowing users to transact, stake, swap, and marketmake without disclosing their personal information, account activity, or trading strategies to the entire world -- while still permitting selective disclosure to appropriate parties. This role offers a chance to work on exciting problems and build new financial infrastructure, a collaborative work environment, and a meaningful stake in the creation of a new protocol. Read on to learn more about Penumbra and this job, and to find out how to apply. Penumbra Labs is an early-stage startup, and we're more interested in your skills, judgement, and emotional intelligence than formal qualifications or previous job titles. If you're not sure whether you're qualified, please apply or email us at jobs@penumbra.zone to ask. What Penumbra is Penumbra is a private-by-default proof-of-stake network. Penumbra provides private transactions in any kind of cryptoasset, using Inter-Blockchain Communication (IBC) to connect to other chains. It also has a novel staking mechanism that provides accountability for validators but privacy for delegators, allowing them to privately stake, earn rewards, and participate in governance. Finally, Penumbra provides ZSwap, a decentralized exchange integrated with its shielded pool. ZSwap provides sealed-bid batch auctions on the market-taker side and Uniswap-v3-style concentrated liquidity on the market-maker side. Sealed-bid batch auctions prevent frontrunning, provide better execution, and reveal only the net flow across a pair of assets in each block, and liquidity positions are created anonymously, allowing traders to approximate their desired trading function without revealing their individual beliefs about prices. This is a condensed summary of the entire system; more details on the economic and cryptographic design of Penumbra can be found in the notes on the website, which -- with your help -- will eventually evolve into a complete protocol specification. (If something on the website is unclear, please let us know, we'd love to fix it :smile_cat:).
     Like  Bookmark