Scilla & amp; Vyper

L’aparició de blockchains i contractes intel·ligents ha vist un interès generalitzat per construir dapps i aprofitar contractes intel·ligents amb finalitats pràctiques. Solidity, un llenguatge de contractes intel·ligents d’Ethereum, és el llenguatge de programació principal utilitzat per a la xarxa pública de blockchain d’Ethereum i continua sent el llenguatge de contractes intel·ligents més estès i popular..

Malgrat l’èxit i l’ús generalitzat per escriure contractes intel·ligents a Ethereum, Solidity és un llenguatge de programació relativament nou, naturalment susceptible a errors i algunes fallades lògiques d’alt nivell. De la demanda de creació de contractes intel·ligents i de mètodes de seguretat millorats per escriure’ls, han sorgit els llenguatges de programació Vyper i Scilla.

Scilla & amp; Vyper

Solidesa & Contractes intel·ligents

Solidaritat va ser proposada per Gavin Wood el 2014 i és el llenguatge de programació dominant per escriure contractes intel·ligents. Està dissenyat específicament per a la màquina virtual Ethereum (EVM) i té algunes utilitats documentació sobre què és i com utilitzar-lo.

Solidity és un llenguatge de programació d’alt nivell que es compila fins a un codi byt compatible amb EVM que s’executa en nodes Ethereum. Cal destacar que Solidity és un llenguatge de programació relativament senzill (en comparació amb altres) amb una sintaxi molt familiar que s’assembla a JavaScript. La solidesa també es construeix amb algunes consideracions importants com a llenguatge de contractes intel·ligents per a l’execució en cadenes de blocs, inclosa la necessitat que els contractes intel·ligents siguin deterministes..

Guia de solidaritat

Llegiu: Què és Solidity? La nostra guia sobre els contractes intel·ligents sobre llengua de Ethereum

Solidity està disponible per obtenir informació a diverses plataformes educatives en línia, incloses Udemy – i té diverses extenses llibres escrit sobre això. Els efectes de les xarxes de Solidity l’han consolidat com el llenguatge de programació per a contractes intel·ligents i dapps basats en Ethereum.

Tot i la seva àmplia popularitat, l’existència de Solidity com a llenguatge de programació específic per a EVM limita el seu ús per a altres plataformes blockchain. A més, les preocupacions de seguretat entorn dels idiomes d’alt nivell i els seus possibles problemes han fet que es posi èmfasi en l’auditoria intel·ligent de contractes i en idiomes més simples i més segurs. D’alt perfil pirates informàtiques i la investigació estudis revelar la gran mida de les vulnerabilitats ha conduït inevitablement a una necessitat urgent de millors pràctiques de contractes intel·ligents.

Vyper

Vyper és un llenguatge de programació experimental similar a Solidity, ja que també s’adapta específicament a l’EVM. Vyper és sintàcticament similar a Python i està orientat al contracte com Solidity.

Tot i això, Vyper està dissenyat amb els objectius específics de seguretat, senzillesa i audibilitat. Això és en gran part resultat de problemes de seguretat en les primeres iteracions de contractes intel·ligents. Com a conseqüència dels principis i objectius de Vyper, exemples explícits de funcions que fa a propòsit no tenen són esbossat com:

  • Modificadors
  • Herència de classe
  • Funció & Sobrecàrrega de l’operador
  • Trucades recursives
  • Bucles infinits

En particular, les trucades recursives fan que sigui impossible establir un límit superior de límits de gas i pot provocar atacs de límit de gas. A més, l’eliminació dels modificadors es va fer tenint en compte l’audibilitat, ja que poden fer que el codi sigui enganyós i difícil d’interpretar des d’una perspectiva llegible per l’home..

Vyper es desprèn de funcions vulnerables a la seguretat, però també afegeix algunes funcions clau, incloses la comprovació de límits i desbordaments, la decisibilitat i la mecanografia forta. Pel que fa als límits de gas, la decisibilitat permet al desenvolupador calcular un límit superior precís per al consum de gas d’una trucada de funció.

Una gran distinció entre Vyper i Solidity és que, tot i que tenen un aspecte similar, Vyper elimina gran part dels arquetips orientats a objectes presents a Solidity. L’èmfasi en la simplicitat per a Vyper també permet que sigui molt més llegible en casos en què sigui necessària una auditoria per part de persones que no estiguin molt familiaritzades amb la programació. Per tant, l’ús potencial de Vyper és atractiu per a molts dapps empresarials pràctics que es poden escriure en Vyper.

Les consideracions de seguretat a nivell de llenguatge de programació són importants a tenir en compte. La simplicitat sovint condueix a una complexitat lògica menys requerida i pot proporcionar intrínsecament una millor seguretat. Vyper tampoc no està dissenyat necessàriament per substituir Solidity, sinó que està dissenyat per proporcionar un llenguatge més senzill i segur com a opció alternativa quan sigui necessari..

Vyper inclou un Protocol de millora de Vyper (VIP) i fins i tot té un editor de text amb un en línia compilador per jugar amb el codi Vyper. D’Ethereum Casper FFG la implementació també està escrita en Vyper.

Scilla

Scilla és un llenguatge de contractes intel·ligents de nivell intermedi utilitzat per Zilliqa. Scilla està dissenyat explícitament tenint en compte la seguretat i la seguretat dels contractes intel·ligents. És important destacar que se centra a proporcionar verificació formal de contractes intel·ligents.

Guia Zilliqa

Llegiu: Guia per a principiants de Zilliqa

Verificació formal està dissenyat per proporcionar garanties estàtiques dels contractes intel·ligents abans que es comprometin immutablement amb la cadena de blocs. La verificació formal dels contractes intel·ligents és cada vegada més freqüent en el camp i està sent aplicada i aplicada activament per diverses plataformes, incloses Tezos i Cardano. L’ús de la verificació formal hauria de reduir substancialment els casos de codi de buggy compromès amb les cadenes de blocs i, posteriorment, reduir la necessitat d’una auditoria intensiva de contractes intel·ligents per part de tercers.

Scilla està dissenyat acuradament per ser prou expressiu com per crear dapps útils, alhora que garanteix el raonament formal sobre el comportament contractual. De manera similar a Vyper, el principi principal és la simplicitat i la seguretat sobre l’expressivitat. Una important distinció que cal fer sobre Scilla és que és un llenguatge de nivell mitjà, és a dir, pretén ser un objectiu de traducció per a idiomes d’alt nivell i, posteriorment, compilar-se en codis byt executables. Com a resultat, la llengua és més difícil d’entendre que una llengua d’alt nivell com Solidity.

Scilla separa la comunicació i el càlcul, cosa que té conseqüències significatives en la manera com s’executen els contractes. Els contractes s’estructuren com autòmats comunicants on els càlculs contractuals s’executen com a transicions atòmiques sense amb la participació de qualsevol altra part. A més, una instància de la participació requerida per una altra part resulta en un final de la transició comunicat explícitament. Els efectes específics del contracte, com ara les transicions, es poden desvincular de les interaccions de la cadena de blocs, com ara missatges i enviar / rebre fons.

A més, Scilla proporciona separació entre efectiu i pur càlculs juntament amb la separació entre invocació i continuació. Quant a càlculs efectius i purs, Scilla s’inspira en la programació funcional citant:

“Dissenyant acuradament la semàntica de la interacció entre aspectes de llenguatge pur i impur, assegurem diverses propietats fonamentals sobre les transicions contractuals, com ara el progrés i la preservació del tipus, alhora que les fem susceptibles de verificació interactiva i / o automàtica amb eines independents”

La separació d’invocació i continuació es refereix a l’estructuració dels contractes com a autòmats comunicants per proporcionar un CPS model computacional. Utilitzant aquest model amb continuacions explícites, idiomes com Solidity es poden traduir directament a Scilla sense comprometre la integritat de l’estructura d’autòmats..

El component de verificació formal de Scilla s’activa mitjançant la seva inserció al fitxer Assistent de prova de Coq, un sistema formal de gestió de proves dissenyat per proporcionar proves verificades mecànicament de contractes intel·ligents i aplicacions distribuïdes. El resultat és la verificació formal dels contractes que raonen sobre les propietats de seguretat i vivacitat. Correcció en sistemes distribuïts es poden separar per seguretat i vida. Segons Zilliqa:

Seguretat és quan “res no surt malament”- Això garanteix que alguna cosa dolenta ho farà mai passar. En consens, és quan no hi ha dos processos que decideixin valors diferents. Un altre exemple seria que no hi ha un punt mort en els sistemes de transaccions distribuïdes. La seguretat té importants conseqüències en la integritat global dels contractes intel·ligents a llarg termini.

Vida és on “poden passar certes coses”- Una garantia que alguna cosa de bona voluntat finalment passar. La paraula “eventualment” tampoc no implica un temps fixat, però si el sistema funciona prou temps, la vivència està garantida. Per exemple, en consens, tots els processos acabaran decidint per un valor. Un altre exemple és la integritat dels detectors de fallades que acabaran detectant processos defectuosos.

El desenvolupament de Scilla de Zilliqa paral·lel a la formalització i la seva inserció a Coq hauria de ser una decisió valuosa per a la seguretat futura dels contractes intel·ligents que funcionen amb la seva cadena de blocs d’alt rendiment..

Finalment, Scilla és blockchain-agnòstic i es pot utilitzar per a altres blockchains. Tot i això, encara es troba en investigació i desenvolupament actius, principalment amb l’equip de Zilliqa. El Scilla lloc web també proporciona un tutorial i IDE en línia per provar l’idioma.

Conclusió

La innovació contínua en el desenvolupament de contractes intel·ligents segurament veurà l’augment de llenguatges de programació i solucions més orientades a contractes per fer front a la seva seguretat. La necessitat de seguretat de dapps i contractes intel·ligents és de la màxima importància tenint en compte les quantitats de valor que es transfereixen a les grans xarxes de criptomonedes com Ethereum..

Les iteracions inicials de contractes intel·ligents van mostrar un potencial significatiu en les seves capacitats futures. Ara, una nova classe de desenvolupaments se centra a millorar la seva seguretat a nivell de llenguatge de programació per garantir-ne la sostenibilitat.

Mike Owergreen Administrator
Sorry! The Author has not filled his profile.
follow me