본문 바로가기

DeFi 뿌수기4

유니스왑 v2 백서 분석 AMM 자동화 마켓 메이커 기존 중앙화 거래소는 유동성 공급자가 원하는 가격을 정해서 호가를 올린다. AMM은 유동성 공급을 유저가 아니라 공식을 따르게 만든다. 토큰 A와 토큰 B의 교환 비율이 자동적으로 정해지게한다. 유니스왑은 AMM 중 CPMM을 사용한다 CPMM : x*y = k k는 변하지 않는 상수, x와 y는 특정 거래 쌍에서 사용 가능한 토큰의 수량 x와 y는 반비례를 하기 때문에 다음과 같은 그래프 형태를 따른다. 예시] 이더리움과 오미세고 교환 많은 예시로 나와있는 예시문을 가져와보자면 유니스왑에 이더리움 10개와 오미세고 500개가 있었고 이 두개의 곱 k가 5000인 컨트렉트가 있다 유저가 1이더를 오미세고로 교환하려고 한다. 1이더를 넣을 시 컨트렉트에는 11이더가 되고 11* .. 2023. 2. 28.
유니스왑 V2 해체하기 Factory Contract 한 토큰 페어 당 유일한 하나의 컨트렉트를 만드는 역할을 한다. pool을 만드는 컨트렉트이다 우선 UniswapV2Factory가 상속하고 있는 인터페이스인 IUniswapV2Factory 인터페이스에 대해 알아보자 import './interfaces/IUniswapV2Factory.sol'; pragma solidity >=0.5.0; interface IUniswapV2Factory { event PairCreated(address indexed token0, address indexed token1, address pair, uint); function feeTo() external view returns (address); //pool을 사용하는 유저가 수수료를 지불하는 주소 function .. 2022. 4. 14.
유니스왑 V2 해체하기 ERC-20 Contract UniswapV2ERC20.sol pragma solidity =0.5.16; import './interfaces/IUniswapV2ERC20.sol'; import './libraries/SafeMath.sol'; //유니스왑은 인터페이스를 자체 제작하여 ERC-20 인터페이스를 끌고오고있으며 // safemath 를 사용하여 언더플로우 오버플로우를 예방하고 있다 contract UniswapV2ERC20 is IUniswapV2ERC20 { using SafeMath for uint; // uint 자료형 오버플로우 방지 string public constant name = 'Uniswap V2'; string public constant symbol = 'UNI-V2'; uint8 public c.. 2022. 4. 11.
DeFi - UniSwap 리서치 유니스왑이란 유니스왑 프로토콜은 이더리움 블록체인 기반위의 (ERC-20 토큰) 크립토쿼런시의 교환을 위하여 p2p 시스템으로 설계되었다. 프로토콜은 지속적이고 업그레이드 할 수 없는 스마트 계약으로 구현되었다. v1, v2는 오픈 소스이다 Introduction of AMM 오더북 거래 : 거래자의 모든 매도 및 매수 주문을 기록한 목록을 의미한다. 오더북 기반 거래소는 구매자와 판매자의 주문을 연결하여 입찰 가격이 주문의 최저가격 보다 같거나 높으면 거래를 체결하게 된다 오더북 기반 DEX 에 치명적인 단점 존재 거래를 체결하기 위해 너무 많은 가스를 필요로 한다. 특히 오더북은 거래를 미리 등록하는 방식이기 때문에 거래를 만들거나 취소하는데 모두 많은 가스가 소모되었다 낮은 확장성으로 인해 사용자 .. 2022. 4. 11.