์
๊ฐ ์์ ์๋ก ๋ค๋ฅธ ERC-20 ํ ํฐ(Collateral Token)์ ์์นํจ์ผ๋ก์จ ๋จ์ผ ERC-20 ํ ํฐ(์์ฐ ํ ํฐ)์ ๋น๋ฆฌ๋ ๊ณ ๋ฆฝ๋ ์์ฅ์ด๋ค.
์ฑ๊ถ์๊ฐ ์์ฐ ํ ํฐ์ ํ ์์ ์์นํ๋ฉด fToken์ ๋ฐ์ ์ ์๋ค. fToken์ ERC-20 ํ ํฐ์ด๋ฉฐ ์์ฐ ํ ํฐ(๊ธฐ๋ณธ ์์ฐ์ด๋ผ๊ณ ๋ ํจ)์ผ๋ก ์ํํ ์ ์๋ค. ์ด์๊ฐ ๋ฐ์ํจ์ ๋ฐ๋ผ, fTokens๋ ์ฆ๊ฐํ๋ ๊ธฐ์ด ์์ฐ์ ๋ํด ์ํํ ์ ์๋ค.
์ฑ๋ฌด์๋ ๋ด๋ณด ํ ํฐ์ ์์ ์์นํ๊ณ ๊ทธ ๋๊ฐ๋ก ์์ฐ ํ ํฐ์ ๋์ฌํ ์ ์๋ ๊ถ๋ฆฌ๋ฅผ ๋ฐ๋๋ค.
๋ด๋ณด๋์ถ
๊ฐ ์ฑ๋ฌด์์ ์ง์๋ ๋ด๋ณด์ธ์ ๋น์จ(LTV)์ ๊ฐ์ง๊ณ ์๋ค. ์ด๋ ์ฐจ์ ํ ์์ฐ์ ๊ฐ์น์ ์ํํ ๋ด๋ณด์ ๊ฐ์น ์ฌ์ด์ ๋น์จ์ ๋ํ๋ธ๋ค. ์์ฐ ํ ํฐ๊ณผ ๋ด๋ณด ํ ํฐ ๊ฐ์ ํ์จ์ด ์ด๋ํ๊ฑฐ๋ ์ด์๊ฐ ์๋ณธํ๋ ๋ LTV๊ฐ ๋ณ๊ฒฝ๋๋ค.
์ฑ๋ฌด์์ LTV๊ฐ ์ต๋ LTV ์ด์์ผ๋ก ์์นํ๋ฉด, ๊ทธ๋ค์ ์ง์๋ ๊ฑด๊ฐํ์ง ๋ชปํ ๊ฒ์ผ๋ก ๊ฐ์ฃผ๋๋ค. ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ์ฑ๋ฌด์๋ ๋ด๋ณด๋ฅผ ์ถ๊ฐํ๊ฑฐ๋ ๋ถ์ฑ๋ฅผ ์ํํ์ฌ LTV๋ฅผ ๊ฑด์ ํ ๋ฒ์๋ก ๋๋๋ฆด ์ ์๋ค.
์ต๋ LTV ๊ฐ์ ๋ณ๊ฒฝํ ์ ์์ผ๋ฉฐ ๋ฐฐํฌ ์ ๊ตฌ์ฑ๋๋ค. ์ผ๋ฐ์ ์ผ๋ก ๊ฐ์ 75%๋ก ์ค์ ๋๋ค. ์ฌ์ฉ์ ์ ์ ๊ธฐ๊ฐ ์ํธ ๋ฐฐํฌ๋ ์ด ๊ฐ์ ์๋์ผ๋ก ์ค์ ํ ์ ์์ผ๋ฉฐ, ๊ฐ์ 100% ์ด์์ผ๋ก ์ค์ ํ์ฌ ๋ด๋ณด ๋์ถ์ด ๋ถ์กฑํ ๋์ถ๋ ์์ฑํ ์ ์๋ค. 100% ์ด์ ๊ตฌ์ฑ๋ ์ต๋ LTV๋ฅผ ์ ์์ ํ์์๋ก๋ถํฐ ๋ณดํธํ๊ธฐ ์ํด ์ฑ๋ฌด์๋ค์ ํ์ดํธ๋ฆฌ์คํธ๊ฐ ํจ๊ป ์์ด์ผ ํ๋ค. ๊ตฌ์ฑ๋ ๊ฐ์ ๊ฐ ์์์ maxLTV() ํจ์๋ฅผ ์ฌ์ฉํ์ฌ ์ฐพ์ ์ ์๋ค.
์์ต์จ ๊ณ์ฐ
๊ฐ ์์ ํน์ ์์ต๋ฅ ๊ณ์ฐ ๊ณ์ฝ์ ์ด์ฉํ์ฌ ์ด์์จ์ ๊ฒฐ์ ํ๋๋ก ๊ตฌ์ฑ๋๋ค. ์ถ์ ์์ ์ Fraxlend๋ ๋ ๊ฐ์ง ์ ํ์ ์์ต์จ ๊ณ์ฐ ์์คํ ์ ์ง์ํ๋ค.
์ฒซ ๋ฒ์งธ ์ ํ์ธ ์๊ฐ ๊ฐ์ค ๋ณ๋ ๊ธ๋ฆฌ ๊ณ์ฐ๊ธฐ(Time-weighted Variable Rate Calculator)๋ ๋์ถ๋ ์์ฐ์ ์(์ฌ์ฉ๋ฅ )์ ๋ฐ๋ผ ๊ธ๋ฆฌ๋ฅผ ๋ณ๊ฒฝํ ์ ์๋ค. ์ด์ฉ๋ฅ ์ด ๋ชฉํ์น๋ฅผ ๋ฐ๋๋ฉด ๊ธ๋ฆฌ๊ฐ ํํฅ ์กฐ์ ๋๊ณ , ์ด์ฉ๋ฅ ์ด ๋ชฉํ์น๋ฅผ ์๋๋ฉด ๊ธ๋ฆฌ๊ฐ ์ํฅ ์กฐ์ ๋๋ค. ์์ธํ ๋ด์ฉ์ ๋งํฌ์ ๊ฐ๋ ์ ํ์ธํ๋ผ: <์๊ฐ๊ฐ์ค๋ณ๋๊ธ๋ฆฌ>
๋ ๋ฒ์งธ ์ ํ์ธ ์ ํ ๊ธ๋ฆฌ ๊ณ์ฐ๊ธฐ(Linear Rate Calculator)๋ ์์ํ๊ฒ ํ์ฉ ํจ์๋ฅผ ์ด์ฉํด์ ์ด์์จ์ ๊ณ์ฐํ๋ค. ํ์ฉ๋๊ฐ ๋ฎ์ผ๋ฉด ์ฐจ์ ๊ธ๋ฆฌ๊ฐ ๋ฎ์์ง๋ ๋ฐ๋ฉด ํ์ฉ๋๊ฐ ๋์ผ๋ฉด ์ฐจ์ ๊ธ๋ฆฌ๊ฐ ๋์์ง๋ค. ์์ธํ ๋ด์ฉ์ ๋งํฌ ๋ด์ฉ์ ํ์ธํ๋ผ: <์ ํ ์๋>
๋ณ๋๊ธ๋ฆฌ(Variable Rate) V2 - ํ์ฉ๋ ํจ์๋ก ์ด์์จ์ ๊ณ์ฐํ๋ค. ์ด์์จ์ ์์จ ํจ์ f(ํ์ฉ๋) = ์์จ์ ๋ฐ๋ฅธ ์์จ ๋ณํ์ ์ฆ์ ๋ณํํ๋ค. ์ด ๋, ํจ์์ ๊ธฐ์ธ๊ธฐ๋ ์ฌ์ฉ๋ฅ ์ด ๋ชฉํ๊ฐ์ ์ด๊ณผํ ๋ ์ฆ๊ฐํ๊ณ ์ฌ์ฉ๋ฅ ์ด ๋ชฉํ ๊ฐ์ ์ด๊ณผํ ๋ ๊ฐํ๋ค. ์ด๋ ์ด์์จ์ด ํ์ฉ๋ ๋ณํ์ ์ฆ๊ฐ์ ์ผ๋ก ๋์ํ๋ค๋ ๊ฒ์ ์๋ฏธํ๋ค. ๋ฎ์ ํ์ฉ๋ ๋๋ ๋์ ํ์ฉ๋์ ๊ธฐ๊ฐ์ ์ฅ๊ธฐ๊ฐ ๋ณํ๋ ์ด์์จ ๊ณก์ ์ ์์ฒด์ ๋ณํ๋ฅผ ๋ง๋ ๋ค. ๋ ์์ธํ ๋ด์ฉ์ ์๋ ๋งํฌ๋ฅผ ์ฐธ์กฐ: (๋งํฌ)
์ฒญ์ฐ(Liquidations)
์ฑ๋ฌด์์ LTV๊ฐ ์ต๋ LTV ์ด์์ผ๋ก ์์นํ๋ฉด, ์ฌ์ฉ์๋ ๋๊ตฌ๋ ์ฑ๋ฌด์๋ฅผ ๋์ ํด ์ฑ๋ฌด์ ์ ๋ถ ๋๋ ์ผ๋ถ๋ฅผ ์ํํ ์ ์์ผ๋ฉฐ ๋๋ฑํ ๊ฐ์น์ ๋ด๋ณด๋ฌผ๊ณผ ์ฒญ์ฐ ์์๋ฃ๋ฅผ ๋ฐ์ ์ ์๋ค. ์ฒญ์ฐ ์์๋ฃ๋ ๋ถ๋ณ์ด๋ฉฐ ๋ฐฐํฌ ์์ ์ ์๋๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก ์ด ๊ฐ์ 10%๋ก ์ค์ ๋์ด ์์ผ๋ฉฐ ์์์ liquidationFee() ํจ์ ๊ธฐ๋ฅ์ ์ฌ์ฉํ์ฌ ํ์ธํ ์ ์์ต๋๋ค.
fToken์ ์ฃผ๊ฐ(share price)
์ฑ๊ถ์๊ฐ ์์ฐ ํ ํฐ์ ์์นํ ๋ ํ์ฌ fToken์ ์ฃผ๊ฐ๋ก fToken์ ๋ฐ๋๋ค. fToken์ ์ฑ๊ถ์๊ฐ ์์ผ๋ก ์์นํ ๊ธฐ๋ณธ ์์ฐ์ ์ด ๊ธ์ก์ ๋์ถ์๋ก๋ถํฐ ๋ฐ์ ์ด์๋ฅผ ๋ํ ๊ธ์ก์ด๋ค. ๋น์ฐํ ์ด์๊ฐ ๋ถ์ผ๋ฉด ์ฃผ๊ฐ๋ ์ฌ๋ผ๊ฐ๋ค. ์ํ ์, fToken์ ํ์ฐ๋ ์ด์๋ฅผ ํฌํจํ์ฌ ๊ณ์ ์ฆ๊ฐํ๋ ์์ฐ ํ ํฐ์ ๋ํด ์ํํ ์ ์๋ค. ํ์ฌ fToke์ฃผ๊ฐ๋ฅผ ํ์ธํ๋ ค๋ฉด totalAsset() ๋ณด๊ธฐ ํจ์๋ฅผ ์ฌ์ฉํ์ฌ ๊ธ์ก/์ฃผ์์ ๊ฐ์น๋ฅผ ๋น๊ตํ ์ ์๋ค.
๊ธ๊ณ (Vault) ๊ณ์
๊ธ๊ณ ๊ณ์ ์ ์์ ๋ชจ๋ ํ๊ณ์์ ํต์ฌ ๊ฐ๋ ์ด๋ค. ๊ธ๊ณ ๊ณ์ ์ ๋ค์ ๋ ๊ฐ์ง ๊ฐ์ ํฌํจํ๋ ๊ตฌ์กฐ์ด๋ค.
1. ๊ธ๊ณ ๊ณ์ ์ ์ด ํ ํฐ ์.
2. ๊ธ๊ณ ๊ณ์ ์ ์ด ์ฃผ์(share) ์
struct VaultAccount { // Represents the total amount of tokens in the vault uint128 amount; // Analogous to market capitalization
}
์ฃผ์(share)์ ์ด๋(amount)์ ๋ํ ์ด ์ฒญ๊ตฌ ๊ฑด์๋ฅผ ๋ํ๋ธ๋ค. ์์ฐ ํ ํฐ์ ๋ํด ์ฃผ์์ ์ํํ ์ ์๋ค. ์ํ์จ, ์ฆ ์ฃผ๊ฐ๋ ์ด๋์ ๊ฐ์น๋ฅผ ์ฃผ์ ๊ฐ์น๋ก ๋๋์ด ๊ฒฐ์ ๋๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก ์ฃผ์๊ณผ ๊ธฐ๋ณธ ์์ฐ ํ ํฐ ๊ฐ์ ๊ตํ ๊ฐ๊ฒฉ์ด๋ค
์ด๋์ผ๋ก ํ์๋ ๊ฐ๊ฒฉ์ผ๋ก ํด๋น ์ฃผ์์ผ๋ก ํ์ฐํ๋ ค๋ฉด ํด๋น ๊ธ์ก์ ์ฃผ๊ฐ๋ก ๋๋๋ฉด ๋๋ค. ์ฃผ์์ ์ด๋์ผ๋ก ํ์ฐํ๋ ค๋ฉด ์ฃผ์์ ์ฃผ๊ฐ๋ฅผ ๊ณฑํ๋ฉด ๋๋ค.
์ฃผ์(share) = ๊ธ์ก(amount) / ์ฃผ๊ฐ(share price)
์ด๋ = ์ฃผ์ x ์ฃผ๊ฐ