Lainaus- ja lainanottoprotokollat
Tutki Aaven ja Compoundin kaltaisten hajautettujen lainaus- ja lainanottopalveluiden taustalla olevaa älysopimusarkkitehtuuria.
Lainaus- ja lainanottoprotokollat on ilmainen Lohkoketjun älysopimukset Soliditylla-oppitunti CoddyKitissä. Tämä on oppitunti 2/4. Voit lukea koko oppitunnin alta ilmaiseksi ja harjoitella sen jälkeen käytännössä selaimessa sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla. Oppitunti kuuluu Lohkoketjun älysopimukset Soliditylla-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Lohkoketjun älysopimukset Soliditylla-kurssilla on yhteensä 4 oppituntia.
Tervetuloa DeFi-lainauksen pariin!
Hajautetun rahoituksen (DeFi) lainausalustojen avulla käyttäjät voivat lainata kryptovarojaan korkotuottoa vastaan tai lainata varoja tarjoamalla vakuuksia.
Nämä alustat toimivat ilman perinteisiä pankkeja ja käyttävät älysopimuksia koko prosessin automatisointiin, mikä tekee siitä läpinäkyvän ja kaikkien internetyhteyden omaavien saavutettavissa olevan.
Ketkä ovat osapuolet?
DeFi-lainausprotokollassa on kaksi pääasiallista osallistujaryhmää:
- Lainanantajat: käyttäjät, jotka tallettavat kryptovarojaan älysopimukseen korkotuottoa varten. He tarjoavat likviditeettiä.
- Lainanottajat: käyttäjät, jotka haluavat ottaa lainaa. Heidän on annettava vakuus, joka on yleensä lainan arvoa suurempi (ylivakuudellisuus).
Lainauspoolit: ydin
Vertaisverkkomätsäyksen sijaan DeFi-lainausalustat käyttävät likviditeettipooleja. Lainanantajat tallettavat varansa näihin pooleihin.
Lainanottajat nostavat varoja samoista pooleista. Tämä malli varmistaa varojen jatkuvan saatavuuden ja korkojen tehokkaan määrittämisen.
Dynaamiset korot
DeFi-lainauksen korot ovat yleensä algoritmisia, eli ne mukautuvat automaattisesti likviditeettipoolin tarjonnan ja kysynnän perusteella.
- Kun poolin käyttöaste on korkea (lainoja on paljon), lainanottajien korot nousevat, mikä kannustaa lainanantajia.
- Kun käyttöaste on matala, korot laskevat ja lainanotto lisääntyy.
Lainan turvaaminen vakuudella
Varojen lainaamiseksi teidän on annettava vakuus. Vakuus lukitaan älysopimukseen, ja se toimii lainan takuuna.
DeFi-lainat ovat lähes aina ylivakuudellisia, mikä tarkoittaa, että vakuutenne arvo on lainan arvoa suurempi. LTV-suhde (Loan-to-Value) ilmaisee, kuinka paljon voitte lainata suhteessa vakuuteenne.
Kun vakuus ei riitä
Jos vakuutenne arvo laskee merkittävästi ja LTV-suhde ylittää tietyn kynnysarvon, lainanne voidaan likvidoida.
Tällöin vakuus myydään automaattisesti lainan takaisinmaksamiseksi, mikä estää protokollaa joutumasta kattamattomaan velkaan. Prosessin toteuttavat usein ulkopuoliset ”likvidaattorit”, jotka ansaitsevat palkkion.
Lainausprotokollan rakenne
DeFi-lainausprotokollaan kuuluu tyypillisesti useita älysopimuskomponentteja:
- LendingPool Contract: hallinnoi talletuksia, lainoja, korkoja ja likvidointeja.
- ERC-20 Token Contracts: käsittelevät varsinaisia lainattavia ja lainaksi otettavia varoja (esimerkiksi DAI, USDC ja WETH).
- Oracle Contracts: tarjoavat reaaliaikaisia hintatietoja omaisuuserille LTV-suhteen laskemista varten.
Koodiesimerkki: talletuslogiikka
Tarkastellaan yksinkertaistettua deposit-funktiota. Käyttäjät antavat sopimukselle luvan käyttää tokeneitaan ja kutsuvat sitten tätä funktiota likviditeetin lisäämiseksi. Sopimus tallentaa talletuksen.
Kokeilkaa suorittaa koodi nähdäksenne rakenteen!
/* SPDX-License-Identifier: MIT */
pragma solidity ^0.8.0;
interface IERC20 {
function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
function transfer(address recipient, uint256 amount) external returns (bool);
function balanceOf(address account) external view returns (uint256);
}
contract SimpleLendingPool {
// Mapping to track deposits: asset address => user address => amount
mapping(address => mapping(address => uint256)) public deposits;
// Function to deposit collateral
function deposit(address asset, uint256 amount) public {
require(amount > 0, "Deposit amount must be > 0");
// Transfer tokens from sender to this contract
bool success = IERC20(asset).transferFrom(msg.sender, address(this), amount);
require(success, "Token transfer failed");
deposits[asset][msg.sender] += amount;
// In a real protocol, you'd mint interest-bearing tokens here
}
// Placeholder for other functions like borrow, repay, withdraw
// ...
}Koodiesimerkki: lainauslogiikka
Talletuslogiikan pohjalta tarkastellaan yksinkertaistettua borrow-funktiota. Se tarkistaa, että käyttäjällä on riittävä vakuus, ja siirtää sitten pyydetyn omaisuuserän poolista lainanottajalle.
Huomatkaa esittelyä varten yksinkertaistettu getAssetPrice; oikeissa järjestelmissä käytetään luotettavia oraakkeleita.
/* SPDX-License-Identifier: MIT */
pragma solidity ^0.8.0;
interface IERC20 {
function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
function transfer(address recipient, uint256 amount) external returns (bool);
function balanceOf(address account) external view returns (uint256);
}
contract SimpleLendingPool {
mapping(address => mapping(address => uint256)) public deposits;
mapping(address => mapping(address => uint256)) public borrows;
// Simplified price oracle for demonstration
function getAssetPrice(address asset) internal pure returns (uint256) {
// Assume all assets have a price of 1 ether for simplicity (1e18 wei)
// In a real system, this would fetch actual prices from a robust oracle.
return 1 ether;
}
function deposit(address asset, uint256 amount) public {
require(amount > 0, "Deposit amount must be > 0");
IERC20(asset).transferFrom(msg.sender, address(this), amount);
deposits[asset][msg.sender] += amount;
}
// Function to borrow assets against collateral
function borrow(address assetToBorrow, uint256 amount, address collateralAsset) public {
require(amount > 0, "Borrow amount must be > 0");
require(deposits[collateralAsset][msg.sender] > 0, "No collateral deposited");
// Calculate collateral value and borrow value (simplified LTV of 50% for demo)
uint256 userCollateralValue = deposits[collateralAsset][msg.sender] * getAssetPrice(collateralAsset);
uint256 borrowValue = amount * getAssetPrice(assetToBorrow);
require(borrowValue <= userCollateralValue / 2, "Insufficient collateral for loan");
// Transfer tokens from this contract to the borrower
bool success = IERC20(assetToBorrow).transfer(msg.sender, amount);
require(success, "Token transfer failed");
borrows[assetToBorrow][msg.sender] += amount;
// A real contract would also track interest and repayment schedules
}
// ... (repay, withdraw functions would also be here in a full contract)
}Pikatarkistus: lainauksen käsitteet
Olette oppineet DeFi-lainauksen keskeiset toimintaperiaatteet. Katsotaan nyt, kuinka hyvin ymmärrätte vakuuden roolin.
Tärkeimmät opit
Tässä oppitunnissa tutustuitte siihen, miten hajautetut lainaus- ja lainanottopalvelut toimivat. Opitte seuraavat asiat:
- Lainanantajien ja lainanottajien roolit.
- Likviditeettipoolien käyttö varojen tehokkaaseen hallintaan.
- Tarjontaan ja kysyntään perustuvat dynaamiset korot.
- Ylivakuudellisuuden ja LTV:n keskeinen merkitys.
- Miten likvidaatiomekanismit suojaavat protokollaa.
- Yksinkertaistettu katsaus
deposit- jaborrow-älysopimusfunktioihin.
Seuraavaksi perehdymme toiseen edistyneeseen DeFi-konseptiin: flash-lainoihin!
Opi Lohkoketjun älysopimukset Soliditylla tekoälytuutorin avulla — ilmaiseksi
Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.
- Kurssit
- 12
- Oppitunnit
- 48
Usein kysytyt kysymykset
Onko oppitunti ”Lainaus- ja lainanottoprotokollat” ilmainen?
Kyllä – oppitunnin ”Lainaus- ja lainanottoprotokollat” koko tekstin voi lukea täällä verkossa ilmaiseksi. Jos haluat harjoitella interaktiivisesti sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla sekä avata koko Lohkoketjun älysopimukset Soliditylla-kurssin, päivitä CoddyKit PROhon. Lohkoketjun älysopimukset Soliditylla-kurssilla on yhteensä 4 oppituntia.
Mitä opin oppitunnilla ”Lainaus- ja lainanottoprotokollat”?
Tutki Aaven ja Compoundin kaltaisten hajautettujen lainaus- ja lainanottopalveluiden taustalla olevaa älysopimusarkkitehtuuria. Harjoittelet Lohkoketjun älysopimukset Soliditylla-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.
Tarvitsenko kokemusta aloittaakseni Lohkoketjun älysopimukset Soliditylla-opiskelun?
Aiempi kokemus ei ole tarpeen. CoddyKitin Lohkoketjun älysopimukset Soliditylla-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 2/4.
Kuinka kauan ”Lainaus- ja lainanottoprotokollat”-oppitunnin suorittaminen kestää?
Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.
Voinko kirjoittaa ja suorittaa koodia tällä Lohkoketjun älysopimukset Soliditylla-oppitunnilla?
Kyllä. Jokainen Lohkoketjun älysopimukset Soliditylla-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.
Kaikki tämän kurssin oppitunnit
- AMM:t ja likviditeettipoolit
- Lainaus- ja lainanottoprotokollat
- Flash-lainat ja arbitraasi
- Yield farming ja staking-palkkiot