penumbra
penumbra copied to clipboard
Penumbra is a fully private proof-of-stake network and decentralized exchange for the Cosmos ecosystem.
This chunk of work consists of adding functionality to the ICS20 component that receives transfer packets from counterparty chains, verifies them against the counterparty chain state, and acknowledges receipt.
In #430 we added jumbled address encoding. As part of that change, we added a five byte padding (such that the f4jumble construction operates on 16 byte blocks). However, this...
Fixes errors in our spec/docs noted during a security audit (report forthcoming) This also uses an API change that was added in PR: https://github.com/penumbra-zone/decaf377/pull/31
Currently we are using AES-FF1 to encrypt the address index (previously known as the diversifier index) to produce the diversifier (which needs to appear random). However, once our diversifiers are...
Currently in our key derivation we compute the ovk and dk from a single hash output as follows: ``` let (ovk, dk) = { let hash_result = prf::expand(b"Penumbra_ExpndVK", &nk.0.to_bytes(), ak.as_ref());...
This _draft_ PR implements #1232
**Is your feature request related to a problem? Please describe.** Currently, Penumbra encodes fees as an untyped integer, representing an amount of the staking token. The requirement that fees are...
Related to #2 We've prototyped with PLONK (#666, #665) for the `OutputProof`, and we should perform that same prototyping with some of the groth16 libraries we might use, e.g. https://github.com/arkworks-rs/groth16...
Suggested by @hdevalence: > we should change the “FVKHash” to an “Account ID” and make it a Poseidon hash rather than a blake2 instance This is such that we can...