Emerging Scilla & Vyper programmeringsspråk for smarte kontrakter

Scilla & amp; Vyper

Fremveksten av blokkjeder og smarte kontrakter har sett en stor interesse for å bygge dapps og utnytte smarte kontrakter for praktiske formål. Solidity – et smart-contract språk i Ethereum – er det primære programmeringsspråket som brukes i Ethereums offentlige blockchain-nettverk og er fortsatt det mest populære utbredte smarte kontraktsspråket..

Til tross for suksess og utbredt bruk for å skrive smarte kontrakter på Ethereum, er Soliditet et relativt nytt programmeringsspråk, naturlig utsatt for feil og noen logiske feil på høyt nivå. Ut av etterspørselen etter smart kontraktopprettelse og forbedrede sikkerhetsmetoder for å skrive dem, har programmeringsspråk Vyper og Scilla dukket opp.

Scilla & amp; Vyper

Tørrhet & Smarte kontrakter

#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.

Soliditet ble foreslått av Gavin Wood tilbake i 2014 og er det dominerende programmeringsspråket for å skrive smarte kontrakter. Den er spesielt designet for Ethereum Virtual Machine (EVM) og har noen nyttige dokumentasjon på hva det er og hvordan du bruker det.

Solidity er et høyt programmeringsspråk som kompileres ned til EVM-kompatibel bytekode som kjører på Ethereum-noder. Spesielt er Solidity et relativt enkelt programmeringsspråk (sammenlignet med andre) med en veldig kjent syntaks som ligner JavaScript. Soliditet er også bygget med noen viktige betraktninger som et smart kontraktspråk for utførelse på blokkjeder, inkludert behovet for at smarte kontrakter skal være deterministiske.

Soliditetsguide

Les: Hva er soliditet? Vår guide til språket til smarte kontrakter for Ethereum

Soliditet er tilgjengelig for å lære om flere utdanningsplattformer på nettet – inkludert Udemy – og har flere omfattende bøker skrevet om det. Nettverkseffektene av Solidity har sementert det som go-to programmeringsspråk for smarte kontrakter og dapps bygget på Ethereum.

Til tross for sin utbredte popularitet begrenser Solidids eksistens som et EVM-spesifikt programmeringsspråk bruken av andre blockchain-plattformer. Videre har sikkerhetsproblemer rundt språk på høyt nivå og deres potensielle problemer ført til vekt på smart kontraktsrevisjon og enklere så vel som mer sikre språk. Høy profil hacks og forskning studier Å avsløre den store størrelsen på sårbarheter har uunngåelig ført til et presserende behov for bedre smarte kontraktpraksis.

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 er et eksperimentelt programmeringsspråk som ligner på soliditet ved at det også er skreddersydd spesielt for EVM. Vyper er syntaktisk lik Python og er kontraktorientert som Solidity.

Vyper er imidlertid designet med de spesifikke målene sikkerhet, enkelhet og revisjon. Dette er i stor grad et resultat av sikkerhetsproblemer i tidlige smarte kontraktsgjentakelser. Som en konsekvens av Vypers prinsipper og mål, eksplisitte eksempler på funksjoner som den målrettet gjør ikke har er skissert som:

  • Modifikatorer
  • Klassearv
  • Funksjon & Overbelastning av operatør
  • Rekursiv samtale
  • Uendelige løkker

Spesielt rekursiv anrop gjør det umulig å sette en øvre grense for gassgrenser og kan føre til gassgrenseangrep. I tillegg ble fjerningen av modifikatorer gjort med tanke på revisjon, da de kan gjøre koden misvisende og vanskelig å tolke fra et menneskelig lesbart perspektiv..

Vyper fjerner seg selv av sikkerhetssårbare funksjoner, men legger også til noen viktige funksjoner, inkludert grenser og overløpskontroll, avgjørbarhet og sterk skriving. Når det gjelder gassgrenser, tillater avgjørbarhet en utvikler å beregne en presis øvre grense for gassforbruket til et funksjonsanrop.

Et stort skille mellom Vyper og Solidity er at – selv om de ser like ut – Vyper fjerner mye av de objektorienterte arketypene som er tilstede i Solidity. Betoningen på enkelhet for Vyper gjør det også mulig å være mye mer lesbar i tilfeller der det er nødvendig med revisjon av parter som ikke er veldig kjent med programmering. Den potensielle bruken av Vyper appellerer derfor til mange praktiske forretningsapps som kan skrives i Vyper.

Sikkerhetshensyn på programmeringsspråknivå er viktig å ta i betraktning. Enkelhet fører ofte til mindre nødvendig logisk kompleksitet og kan iboende gi bedre sikkerhet. Vyper er heller ikke nødvendigvis designet for å erstatte Solidity, men er bygget for å gi et enklere og sikrere språk som et alternativ for når det er nødvendig.

Vyper inkluderer en Vyper Improvement Protocol (VIP) og har til og med en tekstredigerer med en online kompilator for å leke med Vyper-kode. Ethereum’s Casper FFG implementering er også skrevet i Vyper.

Scilla

Scilla er et middels kontraktspråk på mellomnivå som brukes av Zilliqa. Scilla er eksplisitt designet med tanke på sikkerhet og smart kontraktssikkerhet. Det er viktigere at det fokuserer på å tilby formell bekreftelse av smarte kontrakter.

Zilliqa Guide

Les: Beginner’s Guide to Zilliqa

Formell bekreftelse er designet for å gi statiske garantier for smarte kontrakter før de er uforanderlig forpliktet til blockchain. Formell verifisering av smarte kontrakter blir stadig mer utbredt i feltet og blir aktivt forfulgt og brukt av flere plattformer, inkludert Tezos og Cardano. Bruk av formell bekreftelse bør redusere forekomster av buggy-kode som er forpliktet til blokkjeder vesentlig og deretter redusere behovet for intensiv smart kontraktsrevisjon av tredjeparter..

Scilla er nøye designet for å være uttrykksfull nok til å bygge nyttige dapps, samtidig som det fortsatt sikres den formelle resonnementet om kontraktsadferd. I likhet med Vyper er hovedprinsippet enkelhet og sikkerhet fremfor uttrykksevne. Et viktig skille som må gjøres om Scilla er at det er et mellomnivå språk, som betyr at det er ment å være et oversettelsesmål for språk på høyt nivå og deretter kompileres ned til kjørbar bytekode. Som et resultat er språket mer utfordrende å forstå enn et høyt nivå språk som Solidity.

Scilla skiller kommunikasjon og beregning, noe som har betydelige konsekvenser for hvordan kontrakter blir utført. Kontrakter er strukturert som kommunikasjonsautomater der beregninger på kontrakt utføres som atomoverganger uten involverer andre parter. Videre resulterer en forekomst av nødvendig involvering fra en annen part i en eksplisitt kommunisert slutt på overgangen. Kontraktspesifikke effekter som overganger kan deretter kobles fra blockchain-interaksjoner som meldinger og sending / mottak av midler.

I tillegg gir Scilla skille mellom effektiv og ren beregninger sammen med skille mellom påkallelse og fortsettelse. Når det gjelder effektive og rene beregninger, henter Scilla inspirasjon fra funksjonell programmering med henvisning til:

“Ved å nøye utforme semantikk for interaksjon mellom rene og urene språkaspekter, sikrer vi en rekke grunnleggende egenskaper om kontraktsoverganger, for eksempel fremdrift og typebevaring, samtidig som vi gjør dem mottakelige for interaktiv og / eller automatisk bekreftelse med frittstående verktøy”

Separasjonen av påkallelse og videreføring refererer til strukturering av kontrakter som kommunikasjonsautomater for å gi en CPS beregningsmodell. Ved å bruke denne modellen med eksplisitte fortsettelser, kan språk som Solidity oversettes direkte til Scilla uten å gå på kompromiss med integriteten til automatstrukturen.

Den formelle bekreftelseskomponenten i Scilla aktiveres ved å legge den inn i Coq Proof Assistant, et formelt bevisstyringssystem designet for å gi mekanisk verifiserte bevis på smarte kontrakter og distribuerte applikasjoner. Resultatet er den formelle verifiseringen av kontrakter som begrunner både eiendommene til sikkerhet og livlighet. Korrekthet i distribuerte systemer kan skilles i sikkerhet og livlighet. I følge Zilliqa:

Sikkerhet er når “ingenting går galt”- Dette er en garanti for at noe ille vil aldri skje. I konsensus er dette når ingen prosesser bestemmer forskjellige verdier. Et annet eksempel kan være at det ikke er noen fastlåst drift i distribuerte transaksjonssystemer. Sikkerhet har viktige konsekvenser for den generelle integriteten til smarte kontrakter på lang sikt.

Livsstil er hvor “visse ting kan til slutt skje”- En garanti for at noe godt vil etter hvert skje. Ordet “til slutt” innebærer heller ikke en tidsavgrensning, men hvis systemet går lenge nok, er livstiden garantert. For eksempel, i konsensus, vil alle prosesser til slutt bestemme en verdi. Et annet eksempel er fullstendigheten av sviktdetektorer som til slutt vil oppdage feil prosesser.

Zilliqas utvikling av Scilla parallelt med formalisering og forankring i Coq, bør vise seg å være en verdifull avgjørelse for fremtidig sikkerhet for smarte kontrakter som kjører på dens store gjennomstrømningskjede.

Endelig er Scilla blockchain-agnostiker og kan brukes til andre blokkjeder. Imidlertid er det fortsatt under aktiv forskning og utvikling, primært med Zilliqa-teamet. The Scilla nettsted gir også en veiledning og Online IDE for å prøve ut språket.

Konklusjon

Den fortsatte innovasjonen innen smart kontraktutvikling vil med sikkerhet se fremveksten av mer kontraktsorienterte programmeringsspråk og løsninger for å takle deres sikkerhet. Behovet for sikkerhet for apper og smarte kontrakter er av største betydning med tanke på hvor mye verdi som overføres over store kryptovaluta-nettverk som Ethereum.

Innledende iterasjoner av smarte kontrakter viste et betydelig potensiale i deres fremtidige evner. Nå fokuserer en ny utviklingsklasse på å forbedre deres sikkerhet på programmeringsspråknivå for å sikre bærekraft.

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