Desbloqueando mais oportunidades com PlutusV3
O PlutusV3 elevará a experiência do desenvolvedor, melhorando a adoção de contratos inteligentes, trazendo suporte para recursos de governança e votação e promovendo a interoperabilidade entre blockchains
11 de fevereiro de 2024 Olga Hryniuk 5 minutos de leitura
O PlutusV3, agora disponível para teste no SanchoNet, introduz primitivos avançados do Plutus e, assim, fornece mais ferramentas para desenvolvedores e abre mais possibilidades para escrever contratos inteligentes.
A experiência aprimorada do desenvolvedor e a adoção de contratos inteligentes são essenciais para o florescente cenário de contratos inteligentes em Cardano. Durante o ano passado, o surgimento e o crescimento de uma série de ferramentas de desenvolvedor e linguagens alternativas criadas pela comunidade aumentaram significativamente as opções de desenvolvedor e a vibração do ecossistema de construtores Cardano. Para continuar a desenvolver capacidade, as equipes de Plutus e criptografia da Input Output Global (IOG) – em colaboração com MLabs – trabalharam no PlutusV3, concentrando-se no desempenho, rendimento, tamanho do contrato inteligente e recursos da plataforma. Com um kit de ferramentas de desenvolvedor enriquecido e melhor eficiência operacional, essa atualização não apenas reduz custos, mas também ajuda a atrair novos desenvolvedores.
O que é PlutusV3?
PlutusV3 é a nova linguagem de contabilidade que aprimora os recursos criptográficos do Plutus Core, permitindo que Cardano esteja em conformidade com os mais recentes padrões da indústria. A atualização Valentine há um ano adicionou suporte para curvas elípticas SECP (ECDSA e Schnorr).
A introdução de novas primitivas criptográficas com V3 ajuda os desenvolvedores a atender às melhores práticas do setor, usar algoritmos criptográficos bem conhecidos e ideais, portar contratos inteligentes do Ethereum e criar pontes de cadeia lateral. Além das primitivas criptográficas, o PlutusV3 melhora o desempenho adicionando um recurso de somas de produtos (SOPs) para suportar a codificação direta de diferentes tipos de dados. Finalmente, a V3 fornece um contexto de script atualizado que permitirá aos usuários ver entidades relacionadas à governança CIP-1694 .
Vamos dar uma olhada mais de perto nas novas funções.
Somas de produtos
Uma maneira comum de codificar tipos de dados no Plutus Core é usando a abordagem Scott . PlutusV3 introduz somas de produtos – uma forma de codificar tipos de dados que leva a scripts menores e mais baratos em comparação com a codificação Scott.
A abordagem de somas de produtos visa aumentar a eficiência do script e melhorar a geração de código para compiladores Plutus Core. As mudanças envolvem novos construtores de termos para empacotar campos em valores de construtores e inspeção eficiente de tags para ramificações de casos. O benefício é o potencial para que os programas sejam executados 30% mais rápido, o que representa uma otimização significativa do desempenho, agilizando as operações e garantindo a execução rápida de contratos inteligentes. Para obter mais detalhes, consulte CIP-85 .
Novas primitivas criptográficas
Central para cada blockchain é o uso de primitivas criptográficas, abrangendo funções hash, assinaturas digitais e sistemas de prova de conhecimento zero (ZKP). Esses elementos fundamentais são criados para eficiência computacional, garantindo segurança robusta e adaptada às suas respectivas aplicações. O resultado é um conjunto de garantias de segurança que estabelecem um ecossistema sem confiança, facilitando o envolvimento tranquilo com a rede peer-to-peer (P2P) da Cardano e as suas aplicações descentralizadas (DApps).
Na linguagem Plutus, funções integradas são aquelas não definidas explicitamente no script, mas fazem parte do ambiente de execução da linguagem. O uso dessas funções permite que o interpretador forneça uma implementação otimizada específica para seu sistema ao executar o script. As funções integradas executam operações bem definidas e usadas com frequência, abrangendo aritmética, controle e outras tarefas cruciais. À medida que nos aprofundamos no PlutusV3, vamos explorar as novas primitivas integradas que enriquecerão os recursos da linguagem:
- BLS12-381 – este emparelhamento de curva inclui 17 primitivas que suportam curvas criptográficas, abrindo portas para implementação contínua de especificações de cadeia lateral e integração Mithril .
- Blake2b-224 – uma função hash criptográfica para cálculo on-chain de hashes de chave pública para validação de assinaturas de transações. A implementação do Blake2b-224 apoia projetos comunitários, contribuindo para a versatilidade e adoção do Cardano ao acomodar diversas aplicações.
- Keccak-256 – uma função hash criptográfica que produz um valor hash de 256 bits (32 bytes), comumente usado para verificação segura de dados. Keccak-256 suporta verificação de assinatura Ethereum em scripts. Isto é crucial para soluções cross-chain e facilita projetos comunitários ao expandir os casos de uso em Cardano.
Capacitando desenvolvedores com primitivas bit a bit
A introdução de primitivas bit a bit CIP-58 fornecerá aos desenvolvedores recursos robustos para manipulações de bits de baixo nível. Esta adição oferece aos desenvolvedores benefícios profundos tanto na otimização do desempenho quanto na funcionalidade criptográfica. Com seu plano de implantação incremental, os primitivos bit a bit garantem um processo de integração perfeito e promovem um ambiente robusto para os desenvolvedores construírem soluções poderosas e eficientes em Cardano.
As primitivas bit a bit habilitam os seguintes recursos:
- Aumento de desempenho . As primitivas bit a bit introduzem a capacidade de manipulações de bits de nível muito baixo no Plutus. Esse recurso estabelece a base para a execução de operações de manipulação de dados de alto desempenho, um aspecto crucial para desenvolvedores que buscam soluções eficientes. O CIP-58 adicionará uma classe de funções de baixo nível para algoritmos e estruturas de dados altamente eficientes.
- Suporte criptográfico . As primitivas bit a bit são essenciais para suportar funções criptográficas. Essas primitivas permitem a implementação de algoritmos criptográficos seguros e robustos no Plutus.
- Conversões de bytes inteiros para integração suave . As primitivas bit a bit facilitam implementações padrão de alto desempenho para conversões entre inteiros e bytestrings. Essa capacidade é essencial porque os primitivos requerem argumentos no formato bytestring, enquanto os dados são frequentemente apresentados no formato inteiro.
A atualização do Plutus adicionará duas primitivas bit a bit: integerToByteStringe byteStringToInteger. As primitivas restantes serão adicionadas ao PlutusV3 gradualmente. No futuro, essas atualizações não exigirão uma nova linguagem de contabilidade. Esta abordagem de implantação incremental garante uma integração sistemática desses recursos poderosos na linguagem Plutus.
Começando com o lançamento do nó Cardano v.8.8.0-pre , o PlutusV3 está agora disponível no SanchoNet , apresentando à comunidade Cardano os recursos de governança do CIP-1694 em um ambiente de testnet controlado.
Conclusão
Entre seus benefícios, o PlutusV3 oferece maior eficiência, opcionalidade e facilidade de uso para a comunidade de construtores Cardano – todos essenciais para estimular a adoção dos desenvolvedores. Priorizar aspectos como desempenho, rendimento, tamanho do contrato inteligente e recursos da plataforma garante que os desenvolvedores da Cardano possam usar os padrões mais recentes. Estas melhorias facilitam a migração suave de contratos inteligentes do Ethereum, permitem a criação de pontes sidechain e, em última análise, contribuem para a expansão do ecossistema Cardano.