Skip to content

Instantly share code, notes, and snippets.

View zmanian's full-sized avatar

Zaki Manian zmanian

View GitHub Profile
{
"title": "ATOM Halving: Set the max. Inflation Rate to 10%",
"description": "*This proposal seeks to reduce the max_inflation param from 20% to 10%, which would bring ATOM’s current inflation from ~14% to 10% and adjust the Staking APR from ~19% to ~13.4%. Adjusting the inflation schedule has been an important topic for the ATOM community over the past years which is why this proposal is being voted on.*\n\n## Context: Dynamic Inflation Model\n\nATOM currently implements a dynamic inflation rate that ranges between a floor of 7% and a roof of 20%. The rate is pegged to a bonded *or staked*-ratio of ⅔.\n\nIf less than ⅔ of all ATOMs are staked, the inflation rate increases in order to incentivize staking aka. securing the chain. The velocity at which the inflation rate adjusts on a block-by-block basis is set by the *inflation_change* param and based on the following formula: *(1 - [bonded ratio]% / 66% ) * 1 = [inflation rate change]% per year*\n\nAt the time of writing, the bonded ratio for ATOM is 65.
{
"title": "Slash for Equivocation on Neutron. Corrected Prop 818",
"description": "Corrected Parameters for prop 818. ",
"equivocations": [
{
"height": 16596292,
"time": "2023-08-16T0:00:0.0",
"power": 258567,
"consensus_address": "cosmosvalcons10rca02th8lyjyuu7pgmstf72q6l2xzyru7zluq"
},
{
"title": "Unity param change propsal",
"description": "TBD",
"changes": [
{
"subspace": "mint",
"key": "InflationMin",
"value": 0.01
},
{

Liquid Staking Risks and Mitigations

Much has been made about the potential risks of liquid staking.

The work iqlusion has done in the staking module over the last year has been specifically designed to mitigate these risks. This work is covered under ADR-61

Risk of a depeg between ATOM and the liquid staked asset.

During the Three Arrows capital liquidation event, there was a substantial divergence between the price Lido’s staking derivative STETH. Many liquid staking protocols require substantial waits to process withdrawals and final settlement of the underlying stake token collateral. This enables a purely financial event like deleveraging to undermine the strategy tokens and subject liquidity providers to substantial loss.

x# AuthZ for IBC ICS-20

Context

The Cosmos SDK provides send authorizations which can delegate the authority via AuthZ to send from an account to an allow list and with a limit. This specification describes a similar system for ICS-20.

Implementation Details

  • This should be implemented as a pull request again IBC go by adding an new authz message type.
{
"genesis_time": "2022-01-05T16:12:16.939117Z",
"chain_id": "liquidstaking",
"initial_height": "1",
"consensus_params": {
"block": {
"max_bytes": "22020096",
"max_gas": "-1",
"time_iota_ms": "1000"
},

MEV and protocol design

BFT system design in the presence of MEV

Liveness : Number of correct nodes for the protocol to progress Safety: The number of faulty nodes to create view inconsistency. Accountability: Does a fault produce verifiable evidence of the byzantine actor.

Safety: MEV extraction that violates safety will always be accountable. In protocols that have slashing, this means economic punishments and burned stake.

ICS: Cinderella Tokens: An Async/IBC friendly alternative to flash loans

Flashloans are a fascinating economic coordination mechanism that has emerged out the Ethereum architecture as a result of a synchronous, sequential, atomic transaction system. It allows anonymous coordination between capital providers and arbitrageurs because the capital providers can condition providing any capital on protocol enforced guarantee that the entire arbitrage is profitable denominated in the token being lent.

One of the effects of this process has been the it ensures an efficient and healthy liquidation market for the collateral in long term debt instruments. It also enables low cost scaling of economic exploits.

Why don’t flash loans exist in IBC world?

Flash loans are impossible in an IBC world because IBC semantics require finalizing a block on the origin chain rather than on the receiving chain. This makes atomicity for the lender difficult and moves us into the domain of over collateralized lending.

@zmanian
zmanian / Notes.md
Last active January 10, 2021 02:44
Notes on building Gaiad on Windows without WSL

Build gaia on windows without the Windows Subsystem for Linux and with Ledger support.

  1. Install chocolatey

  2. Install git, go and mingw

choco install mingw git go

E[2020-08-12|06:37:15.745] CONSENSUS FAILURE!!! module=consensus err="Int64() out of bound" stack="goroutine 177 [running]:\nruntime/debug.Stack(0xc000fce530, 0x15fad20, 0x1cfa510)\n\t/snap/go/6123/src/runtime/debug/stack.go:24 +0x9d\ngithub.com/tendermint/tendermint/consensus.(*State).receiveRoutine.func2(0xc000f98e00, 0x1aae108)\n\t/home/zakimanian/go/pkg/mod/github.com/tendermint/tendermint@v0.34.0-rc2.0.20200806175020-3413a0dbd8c3/consensus/state.go:675 +0x57\npanic(0x15fad20, 0x1cfa510)\n\t/snap/go/6123/src/runtime/panic.go:969 +0x166\ngithub.com/cosmos/cosmos-sdk/types.Int.Int64(0xc000e8dbe0, 0x1d5dd20)\n\t/home/zakimanian/go/pkg/mod/github.com/cosmos/cosmos-sdk@v0.34.4-0.20200811112237-b0884e919b55/types/int.go:148 +0xa1\ngithub.com/cosmos/cosmos-sdk/x/mint.BeginBlocker(0x1d5dd20, 0xc00003e068, 0x1d77e60, 0xc0004af440, 0xb, 0x0, 0xc000bf3e80, 0x12, 0x1, 0x330e547c, ...)\n\t/home/zakimanian/go/pkg/mod/github.com/cosmos/cosmos-sdk@v0.34.4-0.20200811112237-b0884e919b55/x/mint/abci.