GithubHelp home page GithubHelp logo

Comments (7)

gundas avatar gundas commented on July 22, 2024 1

@Choicethoery - once the price ratio is set, the liquidity providers cannot change it. Every subsequent significant price move will incur loses for the liquidity providers. The only rational choice for the liquidity provider is to remove liquidity once the rate becomes incorrect or to do arbitraging himself (thus, taking the assests from other co-providers on that contract).

Ok, was not correct in my statement above. If there is only one liquidity provider, to avoid losses he/she can adjust the price ratio by transferring directly Tokens or Ether (selfdestruct(uniswap_contract) ) to the contract :)

from v1-contracts.

Choicethoery avatar Choicethoery commented on July 22, 2024

Using the MakerDAO oracles would be a good way to reduce the risks associated with centralization.

The gas cost increase might be substantial.

The incentive is there for liquidity providers to provide an accurate price so I'm not sure how much the possible arbitrage is so much the primary problem as much as simply increasing liquidity participants.

from v1-contracts.

haydenadams avatar haydenadams commented on July 22, 2024

@gonchs It's an interesting thought but... I'm not particularly interested in adding points of centralization. At least not to the base system. Custom pools - exchange contracts that integrate the same interface but are not deployed from the factory - are the best place to experiment on this. Custom pools are able to trade against the public pools using the tokenToExchange functions.

@Choicethoery Maker price oracles are not particularly decentralized yet. Once Uniswap gets a large enough liquidity pool it could become a good MakerDAO price oracle.

from v1-contracts.

gundas avatar gundas commented on July 22, 2024

@haydenadams - the problem is, that if only rational (arbitrage) traders are using the UniSwap, the UniSwap will always loose funds on any price movement. UniSwap can only work if there is enough "end user" trading who need the token exchange, but do not care about the price too much.
But in this case, one should wonder if the 0.3% fee is enough. The fee should depend on the price volatility of the assets traded (the higher volatility, the higher the fee) - one could take historical price movements of assets pair and simulate the losses from arbitrage, and decide what kind of fee would cover for those losses.

The only solution I could think to fix this is using an Oracle to set the price - it would be much cheaper than the services of arbitrage traders.
I also created an alternative proposal for an Oracle - see issue #19

from v1-contracts.

gundas avatar gundas commented on July 22, 2024

The incentive is there for liquidity providers to provide an accurate price so I'm not sure how much the possible arbitrage is so much the primary problem as much as simply increasing liquidity participants.

@Choicethoery - once the price ratio is set, the liquidity providers cannot change it. Every subsequent significant price move will incur loses for the liquidity providers. The only rational choice for the liquidity provider is to remove liquidity once the rate becomes incorrect or to do arbitraging himself (thus, taking the assests from other co-providers on that contract).

from v1-contracts.

haydenadams avatar haydenadams commented on July 22, 2024

@gundas One thing I'm interested in setting up is a smart contract that allows a swaps + liquidity deposits to be made synchronously to allow liquidity providers to deposit liquidity at an exact specified rate.

from v1-contracts.

deacix avatar deacix commented on July 22, 2024

Centralization is no way!

from v1-contracts.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.