2개 이상 사용하는 경우, 순서를 고려해서 적용하자
re-entrance attack 방지할 때 사용하는 메커니즘
string이 특별한 형태의 bytes다
0x0000000000000000
mapping(string => bytes32) ID_PW;
회원가입 여부를 확인하기 위해 string 키값에 대한 value를 확인해주는데, value가 0x0000000000000000으로 뜨지 않는 경우 회원가입이 안된 상태라고 인식하도록 구현한다. (키값 일치하는지 확인하지 않고!)
-> bytes32 16진수 64자리
1비트: 2진수 숫자 1개당 용량
- 8비트에는 2진수 숫자 8자리, 16진수 숫자 2자리 (4개 자리 단위로 나뉘니까)
- 16
2진수: 표현 가능한 자릿수 2개 (1, 0)- 2진수 4자리 표현 가능한 가짓수 2^3
--
이더리움을 만든 이유는 애플리케이션을 만들기 위해 만들어졌다.
CEX - 중앙화된 거래
DEX - 탈중앙화된 거래 (ERC-20 토큰 a, b, c, d 판매)
x * y = k
x:y = 1:1.5 => y가 더 싸다.
즉, a를 많이 팔면 가격이 많이 떨어지고, a를 적게 팔면 좀 덜 떨어진다.
무조건 그래프 위에서 이동한다. 수식은 항상 모든 상황에 따라서 변화하면서 결정할 수 있으니까 언제든지 살 수는 있다. 하지만 가격은 바꿀 수 없다.
주식 - 오더북 형태
- 유동성이 나쁘면 오더북 형태는 좋지 않다
마켓메이커
https://b2broker.com/ko/news/what-is-crypto-liquidity/
liquidity provider
: 유동성 제공자
liquidity pool
: 유동성 풀 (스마트 컨트랙트) ->
1:2.5 = 10:25 -> 수수료 25 중에서 24.9만 주고 0.1은 유동성 제공자에게 비율에 맞게
나눠준다 => uniswap(defi근본, 메이커다오)
* uniswap, makerdao, aave, curve, dai, sushiswap
유동성이 낮으면 높은 시장 변동성과 가격 차이로 이어진다
비율은 어떻게 정해지는가?
https://b2broker.com/ko/news/what-does-slippage-stand-for-in-crypto/