Por que acreditamos no Wasm como a camada base do desenvolvimento descentralizado de aplicativos

Original post: www.parity.io/blog/wasm-smart-contract-development/#:…hain.

Recentemente, tem havido muita discussão sobre o uso do Wasm para o desenvolvimento de blockchain. Veja do que se trata:

Os problemas com a tecnologia atual

Ethereum foi pioneira no campo de plataformas de aplicativos descentralizados com a introdução do EVM, o ambiente de tempo de execução de Ethereum para contratos inteligentes. Embora na época houvesse boas razões para construir um EVM personalizado facilmente integrável em uma blockchain, há sérios problemas com essa abordagem: por exemplo, o EVM é ineficiente, pois não suporta números inteiros menores que 256 bits; qualquer operação de 256 bits deve ser executada pela CPU com várias operações de 64 ou 32 bits. Também há poucas pessoas capazes e disponíveis para expandir o EVM e as ferramentas necessárias.

WebAssembly: um padrão de alto desempenho amplamente suportado

Acreditamos que o WebAssembly (Wasm) e a infinidade de linguagens que compilam para Wasm são uma alternativa ideal ao EVM. Wasm é um padrão para navegadores da Web desenvolvido pelo grupo de trabalho W3C que inclui Google, Mozilla e outros. Ele foi desenvolvido para que o código possa ser implantado em qualquer navegador com o mesmo resultado. O Wasm é de alto desempenho — foi desenvolvido para ser o mais próximo possível do código de máquina nativo e, simultaneamente, ser independente da plataforma. Ele facilita o envio de pequenos binários pela Internet para dispositivos com conexão à Internet potencialmente lenta. Foi muitos anos de trabalho no Wasm, tanto pelo compilador quanto pelas equipes de padronização.

Em qual linguagem você gostaria de escrever seu contrato inteligente?

Talvez o mais importante, Wasm expande a família de linguagens disponíveis para desenvolvedores de contratos inteligentes para incluir Rust, C/C++, C#, Typescript, Haxe e Kotlin. Isso significa que você pode escrever contratos inteligentes em qualquer linguagem com o qual esteja familiarizado, embora sejamos parciais com o Rust devido à falta de sobrecarga de tempo de execução e propriedades de segurança inerentes. Benefícios adicionais do WebAssembly:

  • Memória segura, com sandbox e independente de plataforma.
  • Suporte de operação inteira de 64 e 32 bits que mapeia um a um com instruções da CPU.
  • Facilmente determinístico, removendo as operações de ponto flutuante, sendo necessário para algoritmos de consenso.
  • Suportado pelo projeto de infraestrutura do compilador LLVM, o que significa que o Wasm se beneficia de mais de uma década de otimização do compilador do LLVM.
  • Desenvolvido continuamente por grandes empresas como Google, Apple, Microsoft, Mozilla e Facebook.

O caminho para o suporte Wasm

Embora o próprio Wasm se beneficie de amplo suporte e integração, ao contrário do EVM, ele não é construído visando interagir com a blockchain. O Parity Ethereum Client executa o bytecode Wasm no interpretador Wasmi, que permite que o código Wasm acesse e interaja com a blockchain. No momento, estamos testando o Wasm na rede de teste Kovan, na qual os contratos inteligentes EVM e Wasm podem coexistir e até interagir. A Ethereum Foundation também está trabalhando na implementação do suporte Wasm no geth, na implementação do cliente Go e pesquisando o uso do Wasm no sharding.

Como acreditamos no Wasm como a base do desenvolvimento de sistemas descentralizados, Polkadot, um protocolo de interoperabilidade blockchain de última geração, está sendo construído com suporte ao Wasm desde o início. Os contratos inteligentes de Polkadot poderão ser desenvolvidos em qualquer linguagem que compile para o Wasm.

Esperamos um futuro em que o desenvolvimento seguro de contratos inteligentes seja mais fácil e em que os desenvolvedores possam desenvolver contratos inteligentes com as linguagens que já conhecem.

Mais recursos sobre contratos inteligentes Wasm

Quer construir o futuro da web? Estamos contratando

Web 3.0 enthusiast — Polkadot & Astar Network ambassador

--

--

Polkadot & Astar Network ambassador.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store