Nutileping

Allikas: Vikipeedia
Jump to navigation Jump to search

Nutileping ehk lepingumonitor (ingl Smart Contract) on arvestusraamatu kirje, mis esitab mingit kasutajatevahelist lepingut [1]. Nutilepingud võimaldavad kasutajatel luua ja kinnitada digitaalseid lepinguid ning jõustada ja kontrollida nende lepingute täitmist. Nutilepingute abil loodud lepingud ja tehtud tehingud on plokiahela peal avalikult jälgitavad ning neid ei ole võimalik pärast tehingu sooritamist enam muuta ega tagasi võtta. [2] Nutilepinguid esitles esmakordselt Nick Szabo, kes kasutas seda terminit 1994. aastal [3].

Nutilepingute eesmärgiks on pakkuda kasutajatele traditsiooniliste lepingutega võrreldes suuremat turvalisust, paremat ökonoomsust ja kiirust ning väiksemaid tehingukulusid [2]. Samuti on täheldatud, et paljude traditsiooniliste lepingute tingimusi ja punkte on võimalik kas osaliselt või täielikult teisendada isetäituvaks ja isejõustuvaks.

Ajalugu[muuda | muuda lähteteksti]

Kui esimesena mainiti nutilepinguid 1994. aastal, siis praktilised lahendused said võimalikuks alles tänu plokiahela tehnoloogiate tekkimisele 2008. aastal [4]. Esimesed taolised tehnoloogiad, näiteks Bitcoin, toetasid küll nutilepinguid, kuid seda vaid algeliselt. Puudus Turingi-täielikkus ja lihtne viis nutilepingute loomiseks. Selle probleemi lahendamiseks tuli 2013. aastal oma ideega välja Vitalik Buterin, kes võttis eesmärgiks luua keskkond detsentraliseeritud rakenduste jaoks. Selle projekti nimeks sai Ethereum, mis võimaldas luua Turing-täielikke rakendusi, kasutades samal ajal detsentraliseeritud plokiahela tehnoloogiat. [5]

Tingimused nutilepingu loomiseks[muuda | muuda lähteteksti]

Nutilepingute olemasolu eelduseks on teatavad tingimused:

  1. Avaliku võtme krüptograafia kasutamine peamiselt turvaliste juurdepääsuvõtmete loomiseks, mille abil saab plokiahela keskkonnas kasutajat omada ja enda tehinguid allkirjastada.
  2. Avatud ja detsentraliseeritud infokeskkonna ehk plokiahela olemasolu koht, kus turvaliselt hoiustada nutilepingut ning mis loob nutilepingule töötamiseks vajalikud sisend- ja väljundinfokanalid.
  3. Detsentraliseeritud Turing-täieliku täitmiskeskonna olemasolu koht, kus turvaliselt nutilepingu programmi täita, näiteks Ethereum, Codius, Counterparty. [6]

Turvaprobleemid[muuda | muuda lähteteksti]

Kuna nutilepingute loomise üheks eelduseks on detsentraliseeritud ja avaliku plokiahela kasutamine, siis on sinna üles pandud nutileping kõigile nähtav ja kättesaadav. See loob aga olukorra, kus nutilepingus olevad vead, sealhulgas ka turvaaugud, on kõigile nähtavad. Samuti ei ole enamasti võimalik nutilepingut enam hilisemalt uuendada, seega leitud vead jäävadki plokiahelasse ja lepingusse alles. [7]

Üks selline rünnak viidi edukalt läbi 2016. aasta juunis The DAO vastu, kus ründaja sai enda kontrolli alla 50 miljoni USA dollari väärtuses Etherit firma Ethereumi kontodelt [8]. The DAO nutilepingute tingimuste tõttu pidi ründaja aga 28 päeva ootama, et raha täielikult enda valdusesse saada. Selle aja jooksul otsustasid Ethereumi arendajad lõhestada plokiahela (ingl hard fork), mille abil liigutati varastatud raha tagasi nende omanikele. [9]

Nutilepingute turvaprobleemid tulenevadki enamasti nutilepingu enda koodi, kompilaatori ja täitmiskeskonna vigadest, võimalik on ka rünnata plokiahelat ennast. Keerulisust lisavad ka asjaolud, et nutilepingud on kõigile nähtavad ja hilisemalt mitte muudetavad ning puudub keskne allikas dokumenteerimaks leitud turvaauke, teadaolevaid rünnakuid ja problemaatilisi praktikaid. [10]

Viited[muuda | muuda lähteteksti]

  1. AS Cybernetica. "Krüptograafiliste algoritmide elutsükli uuring (2017)". Kasutatud 03.11.2018.
  2. 2,0 2,1 Cointelegraph. "Smart Contracts, Explained". Kasutatud 03.11.2018.
  3. Nick Szabo. "Smart Contracts". Kasutatud 03.11.2018.
  4. Satoshi Nakamoto. "Bitcoin: A Peer-to-Peer Electronic Cash System". Kasutatud 03.11.2018.
  5. "White Paper ethereum/wiki Wiki - GitHub". Kasutatud 03.11.2018.
  6. Cryptonet. "Смарт-контракты: как использовать и насколько надежны для сделок". Kasutatud 03.11.2018.
  7. IEEE Spectrum. "Ethereum’s $150-Million Blockchain-Powered Fund Opens Just as Researchers Call For a Halt". Kasutatud 03.11.2018.
  8. Quinn DuPont. [https://web.archive.org/web/20170730133911/http://iqdupont.com/assets/documents/DUPONT-2017-Preprint-Algorithmic-Governance.pdf"Experiments in Algorithmic Governance: A history and ethnography of “The DAO,” a failed Decentralized Autonomous Organization"]. Kasutatud 03.11.2018.
  9. [https://www.sec.gov/litigation/investreport/34-81207.pdf"Report of Investigation Pursuant to Section 21(a) of the Securities Exchange Act of 1934: The DAO"]. Kasutatud 03.11.2018.
  10. Ardit Dika. [https://brage.bibsys.no/xmlui/bitstream/handle/11250/2479191/18400_FULLTEXT.pdf?sequence=1"Ethereum Smart Contracts: Security Vulnerabilities and Security Tools"]. Kasutatud 29.11.2018.