Suunnittelumallit Ethereum-älysopimuksissa
Haapakoski, Johannes (2019)
Haapakoski, Johannes
2019
Tieto- ja sähkötekniikan TkK tutkinto-ohjelma
Informaatioteknologian ja viestinnän tiedekunta - Faculty of Information Technology and Communication Sciences
This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Hyväksymispäivämäärä
2019-09-23
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:tuni-201909243480
https://urn.fi/URN:NBN:fi:tuni-201909243480
Tiivistelmä
Ethereum on hajautettu järjestelmä, joka tarjoaa laskenta-infrastruktuurin, joka suorittaa ohjelmia, joita kutsutaan älysopimuksiksi. Älysopimukset ovat muuttumattomia tietokoneohjelmia, joiden suorittaminen on determinististä. Älysopimukset toimivat siis aina sillä tavalla kuin niiden logiikkaan on määritelty. Älysopimusten luonteen takia käyttäjät pystyvät luomaan erilaisia transaktioita toistensa välillä ilman, että heidän täytyy luottaa kehenkään kolmanteen osapuoleen tai toisiinsa. Ethereumille luontaisen kryptovaluutan Etherin avulla käyttäjät pystyvät välittämään arvoa toisillensa. Tämän työn tarkoitus on tutkia, millaisia suunnittelumalleja Ethereum- älysopimuksissa käytetään sekä mitä ongelmia ne ratkaisevat.
Älysopimusten muuttumattomuus luo haasteita niitä suunniteltaessa. Koska älysopimukset ovat muuttumattomia, niiden päivittäminen ei onnistu, mikäli tätä varten ei ole suunniteltu jotakin järjestelmää. Tässä työssä esitellään suunnittelumallit, joilla älysopimukseen pystytään luomaan sen logiikan päivittämiseen tarvittava toiminnalisuus. Tällaisia suunnittelumalleja kutsutaan ylläpitomalleiksi.
Mikäli älysopimuksen toiminta halutaan jossakin kohtaa pysäyttää, tulee suunnitteluvaiheessa myös tälle luoda jokin järjestelmä. Tässä työssä esitellyt elinkaarimallit tarjoavat käytäntöjä, miten älysopimuksen toiminta voidaan pysäyttää.
Älysopimukset usein sisältävät rahanarvoisia kryptovaluuttoja. Tämän takia pahanaikeisilla toimijoilla on suuri insentiivi etsiä haavoittuvaisuuksia älysopimuksista. Tässä työssä esitellään joitakin suunnittelumalleja, joita kannattaa hyödyntää, kun suoritetaan joitakin tavallisia toimintoja. Tällaisia suunnittelumalleja kutsutaan toimintomalleiksi, ja niiden avulla voidaan vähentää haavoittuvaisuuksia älysopimuksissa.
Älysopimuksiin tulee usein määritellä ehtoja, joiden perusteella älysopimus voi estää jonkin toiminnon suorittamisen. Tässä työssä esitellyt valtuutusmallit tarjoavat käytäntöjä, miten tällainen toiminnalisuus voidaan määritellä.
Ethereum mahdollistaa uusien kryptovaluuttojen helpon luomisen alustansa päälle. Tällaisten kryptovaluuttojen, joita kutsutaan tokeneiksi, kannattaa noudattaa Ethereumin tarjoamia standardeja, jotta ne voidaan helposti integroida valmiiksi rakennettuihin applikaatioihin, kuten lompakkoihin. Tässä työssä esitellään käytetyimmät token-standardit.
Älysopimusten muuttumattomuus luo haasteita niitä suunniteltaessa. Koska älysopimukset ovat muuttumattomia, niiden päivittäminen ei onnistu, mikäli tätä varten ei ole suunniteltu jotakin järjestelmää. Tässä työssä esitellään suunnittelumallit, joilla älysopimukseen pystytään luomaan sen logiikan päivittämiseen tarvittava toiminnalisuus. Tällaisia suunnittelumalleja kutsutaan ylläpitomalleiksi.
Mikäli älysopimuksen toiminta halutaan jossakin kohtaa pysäyttää, tulee suunnitteluvaiheessa myös tälle luoda jokin järjestelmä. Tässä työssä esitellyt elinkaarimallit tarjoavat käytäntöjä, miten älysopimuksen toiminta voidaan pysäyttää.
Älysopimukset usein sisältävät rahanarvoisia kryptovaluuttoja. Tämän takia pahanaikeisilla toimijoilla on suuri insentiivi etsiä haavoittuvaisuuksia älysopimuksista. Tässä työssä esitellään joitakin suunnittelumalleja, joita kannattaa hyödyntää, kun suoritetaan joitakin tavallisia toimintoja. Tällaisia suunnittelumalleja kutsutaan toimintomalleiksi, ja niiden avulla voidaan vähentää haavoittuvaisuuksia älysopimuksissa.
Älysopimuksiin tulee usein määritellä ehtoja, joiden perusteella älysopimus voi estää jonkin toiminnon suorittamisen. Tässä työssä esitellyt valtuutusmallit tarjoavat käytäntöjä, miten tällainen toiminnalisuus voidaan määritellä.
Ethereum mahdollistaa uusien kryptovaluuttojen helpon luomisen alustansa päälle. Tällaisten kryptovaluuttojen, joita kutsutaan tokeneiksi, kannattaa noudattaa Ethereumin tarjoamia standardeja, jotta ne voidaan helposti integroida valmiiksi rakennettuihin applikaatioihin, kuten lompakkoihin. Tässä työssä esitellään käytetyimmät token-standardit.
Kokoelmat
- Kandidaatintutkielmat [5680]