Novi programski jezici Scilla i Vyper za pametne ugovore

Scilla & amp; Vyper

Pojava blockchaina i pametnih ugovora zabilježila je široki interes za izgradnju dapps-a i iskorištavanje pametnih ugovora u praktične svrhe. Solidity – jezik pametnih ugovora Ethereuma – primarni je programski jezik koji se koristi za Ethereumovu javnu blockchain mrežu i ostaje najpopularniji rašireni jezik pametnih ugovora.

Unatoč uspjehu i širokoj upotrebi za pisanje pametnih ugovora na Ethereumu, Solidity je relativno nov programski jezik, prirodno podložan bugovima i nekim logičkim greškama na visokoj razini. Iz zahtjeva za stvaranjem pametnih ugovora i poboljšanih sigurnosnih metoda za njihovo pisanje pojavili su se programski jezici Vyper i Scilla.

Scilla & amp; Vyper

Čvrstoća & Pametni ugovori

#Crypto ExchangeBenefits

1

Binance
Best exchange


VISIT SITE
  • ? The worlds biggest bitcoin exchange and altcoin crypto exchange in the world by volume.
  • Binance provides a crypto wallet for its traders, where they can store their electronic funds.

2

Coinbase
Ideal for newbies


Visit SITE
  • Coinbase is the largest U.S.-based cryptocurrency exchange, trading more than 30 cryptocurrencies.
  • Very high liquidity
  • Extremely simple user interface

3

eToro
Crypto + Trading

VISIT SITE
  • Multi-Asset Platform. Stocks, crypto, indices
  • eToro is the world’s leading social trading platform, with thousands of options for traders and investors.

Čvrstinu je predložio Gavin Wood još 2014. godine i dominantan je programski jezik za pisanje pametnih ugovora. Posebno je dizajniran za virtualni stroj Ethereum (EVM) i sadrži neke korisne dokumentacija o tome što je i kako ga koristiti.

Solidity je programski jezik na visokoj razini koji se kompajlira do EVM-kompatibilnog bytecode-a koji se izvodi na Ethereum čvorovima. Valja istaknuti da je Solidity relativno jednostavan programski jezik (u usporedbi s drugima) s vrlo poznatom sintaksom koja sliči JavaScriptu. Čvrstoća se također gradi s nekim važnim razmatranjima kao jezik pametnog ugovora za izvršavanje na blockchainima, uključujući potrebu da pametni ugovori budu deterministički.

Vodič za solidnost

Pročitajte: Što je solidnost? Naš vodič za jezik pametnih ugovora Ethereum

Solidity je dostupan za učenje na više mrežnih obrazovnih platformi – uključujući Udemy – i ima nekoliko opsežnih knjige o tome napisao. Mrežni učinci Soliditya učvrstili su ga kao programski jezik za pametne ugovore i dappove izgrađene na Ethereumu.

Unatoč široko rasprostranjenoj popularnosti, postojanje Solidityja kao programskog jezika specifičnog za EVM ograničava njegovu upotrebu za druge blockchain platforme. Nadalje, sigurnosna zabrinutost oko jezika visoke razine i njihovi potencijalni problemi doveli su do naglaska na pametnoj reviziji ugovora te jednostavnijim i sigurnijim jezicima. Visoki profil hakova i istraživanja studije otkrivanje velike veličine ranjivosti neizbježno je dovelo do hitne potrebe za boljom praksom pametnih ugovora.

Vyper

#CRYPTO BROKERSBenefits

1

eToro
Best Crypto Broker

VISIT SITE
  • Multi-Asset Platform. Stocks, crypto, indices
  • eToro is the world’s leading social trading platform, with thousands of options for traders and investors.

2

Binance
Cryptocurrency Trading


VISIT SITE
  • ? Your new Favorite App for Cryptocurrency Trading. Buy, sell and trade cryptocurrency on the go
  • Binance provides a crypto wallet for its traders, where they can store their electronic funds.

#BITCOIN CASINOBenefits

1

Bitstarz
Best Crypto Casino

VISIT SITE
  • 2 BTC + 180 free spins First deposit bonus is 152% up to 2 BTC
  • Accepts both fiat currencies and cryptocurrencies

2

Bitcoincasino.io
Fast money transfers


VISIT SITE
  • Six supported cryptocurrencies.
  • 100% up to 0.1 BTC for the first
  • 50% up to 0.1 BTC for the second

Vyper je eksperimentalni programski jezik koji je sličan Solidityu po tome što je također posebno prilagođen EVM-u. Vyper je sintaktički sličan Pythonu i orijentiran je na ugovor poput Solidity.

Međutim, Vyper je dizajniran sa specifičnim ciljevima sigurnosti, jednostavnosti i provjere. To je uglavnom rezultat sigurnosnih problema u ranim iteracijama pametnih ugovora. Kao posljedica Vyperovih načela i ciljeva, eksplicitni primjeri značajki koje to namjerno čini ne imati su ocrtana kao:

  • Modifikatori
  • Razredno nasljeđivanje
  • Funkcija & Preopterećenje operatera
  • Rekurzivno pozivanje
  • Beskonačne petlje

Primjetno je da rekurzivno pozivanje onemogućava postavljanje gornje granice ograničenja plina i može dovesti do napada na ograničenje plina. Uz to, uklanjanje modifikatora izvršeno je imajući na umu reviziju, jer oni mogu kod učiniti zavaravajućim i teško ga je protumačiti iz ljudsko čitljive perspektive.

Vyper se lišava sigurnosno ranjivih značajki, ali također dodaje neke ključne funkcije, uključujući provjeru ograničenja i preljeva, mogućnost čitljivosti i jako tipkanje. Što se tiče ograničenja plina, prihvatljivost omogućuje programeru da izračuna preciznu gornju granicu za potrošnju plina u funkcijskom pozivu.

Glavna razlika između Vypera i Solidityja je u tome što – iako izgledaju slično – Vyper uklanja velik dio objektno orijentiranih arhetipova prisutnih u Solidityju. Naglasak na jednostavnosti za Vyper također mu omogućuje da bude puno čitljiviji u slučajevima kada su potrebne revizije od strane stranaka koje nisu previše upoznate s programiranjem. Stoga je potencijalna upotreba Vypera privlačna mnogim praktičnim poslovnim dappovima koji se mogu napisati na Vyperu.

Važno je uzeti u obzir sigurnosna razmatranja na razini programskog jezika. Jednostavnost često dovodi do manje potrebne logičke složenosti i sama po sebi može pružiti bolju sigurnost. Vyper također nije nužno dizajniran da zamijeni Solidity, već je napravljen da pruži jednostavniji i sigurniji jezik kao alternativnu opciju kada je to potrebno.

Vyper uključuje a Vyper protokol za poboljšanje (VIP), pa čak ima i uređivač teksta s mrežom sastavljač za poigravanje s Vyperovim kodom. Ethereum’s Casper FFG provedba je također napisana u Vyperu.

Scilla

Scilla je jezik pametnih ugovora srednje razine koji koristi Zilliqa. Scilla je izričito dizajnirana imajući na umu sigurnost i sigurnost pametnih ugovora. Važno je da se usredotočuje na pružanje formalna provjera pametnih ugovora.

Zilliqa Vodič

Pročitajte: Vodič za početnike za Zilliqu

Službena provjera osmišljen je kako bi pružio statička jamstva pametnih ugovora prije nego što su nepromjenjivo predani blockchainu. Službena provjera pametnih ugovora postaje sve raširenija na terenu i aktivno je provodi i primjenjuje nekoliko platformi, uključujući Tezos i Cardano. Korištenje formalne provjere trebalo bi znatno smanjiti primjere programskog koda predanog blok lancima i naknadno smanjiti potrebu za intenzivnom revizijom pametnih ugovora od strane trećih strana.

Scilla je pažljivo dizajnirana da bude dovoljno izražajna za izgradnju korisnih dapps-a, a istovremeno osigurava formalno obrazloženje o ugovornom ponašanju. Slično Vyperu, primarno načelo je jednostavnost i sigurnost nad izražajnošću. Važna razlika koju treba napraviti oko Scille je ipak to što je jezik srednje razine, što znači da je namijenjen tome da bude cilj prijevoda za jezike visoke razine i da se potom prevede u izvršni bajt kod. Kao rezultat, jezik je izazovniji za razumijevanje od jezika visoke razine kao što je Solidity.

Scilla razdvaja komunikaciju i računanje, što ima značajne posljedice na način izvršavanja ugovora. Ugovori su strukturirani kao komunicirajući automati gdje se izračuni u ugovoru izvode kao atomski prijelazi bez koji uključuju bilo koje druge strane. Štoviše, slučaj potrebnog sudjelovanja druge strane rezultira izričito priopćenim krajem tranzicije. Učinci specifični za ugovor, poput prijelaza, tada se mogu odvojiti od blockchain interakcija poput poruka i slanja / primanja sredstava.

Uz to, Scilla omogućuje razdvajanje između efektno i čist proračuni zajedno s razdvajanjem između prizivanje i nastavak. Što se tiče učinkovitih i čistih proračuna, Scilla inspiraciju crpi iz funkcionalnog programiranja navodeći:

“Pažljivim osmišljavanjem semantike interakcije između čistog i nečistog jezičnog aspekta, osiguravamo niz temeljnih svojstava o prijelazima ugovora, poput napretka i očuvanja tipa, a istovremeno ih činimo prilagodljivima za interaktivnu i / ili automatsku provjeru pomoću samostalnih alata”

Odvajanje poziva i nastavka odnosi se na strukturiranje ugovora kao komunikacijskih automata koji pružaju a CPS računski model. Korištenjem ovog modela s eksplicitnim nastavcima, jezici poput Solidity mogu se prevesti izravno na Scillu bez narušavanja integriteta strukture automata.

Komponenta formalne provjere Scille omogućena je njezinim ugrađivanjem u Coq Proof asistent, formalni sustav upravljanja dokazima dizajniran za pružanje mehanički provjerenih dokaza pametnih ugovora i distribuiranih aplikacija. Rezultat je formalna provjera ugovora koja obrazlaže oba svojstva sigurnost i živost. Ispravnost u distribuiranim sustavima mogu se razdvojiti na sigurnost i život. Prema Zilliqi:

Sigurnost je kad “ništa ne ide po zlu”- Ovo je jamstvo da će nešto loše nikada dogoditi se. U konsenzusu je to slučaj kada niti jedan proces ne odlučuje o različitim vrijednostima. Sljedeći bi primjer bio da nema zastoja u distribuiranim transakcijskim sustavima. Sigurnost dugoročno ima važne posljedice na cjelokupni integritet pametnih ugovora.

Živost je gdje “neke se stvari mogu na kraju dogoditi”- Jamstvo da će nešto dobro eventualno dogoditi se. Riječ “na kraju” također ne podrazumijeva vremensko ograničenje, ali ako sustav radi dovoljno dugo, život je zajamčen. Na primjer, u konsenzusu će svi procesi na kraju odlučiti o vrijednosti. Drugi je primjer cjelovitost detektora kvara koji će na kraju otkriti neispravne procese.

Zilliqin razvoj Scille paralelno s formalizacijom i ugradnjom u Coq trebao bi dokazati vrijednu odluku za buduću sigurnost pametnih ugovora koji se izvode na njegovom visokopropusnom blockchainu.

Konačno, Scilla je blockchain-agnostik i može se koristiti za druge blockchaine. Međutim, još uvijek je u aktivnom istraživanju i razvoju, prvenstveno s timom Zilliqa. Scilla web stranica također nudi udžbenik i Internetski IDE za isprobavanje jezika.

Zaključak

Nastavak inovacija u razvoju pametnih ugovora zasigurno će vidjeti porast više programski jezika usmjerenih na ugovor i rješenja za rješavanje njihove sigurnosti. Potreba za sigurnošću dapps-a i pametnih ugovora od najveće je važnosti s obzirom na količine vrijednosti koje se prenose preko velikih kriptovaluta poput Ethereuma.

Početna ponavljanja pametnih ugovora pokazala su značajan potencijal u njihovim budućim mogućnostima. Sada je nova klasa razvoja usmjerena na poboljšanje njihove sigurnosti na razini programskog jezika kako bi se osigurala njihova održivost.

Mike Owergreen Administrator
Sorry! The Author has not filled his profile.
follow me
Like this post? Please share to your friends:
Adblock
detector
map