Atualização Valentine (SECP)
A atualização Valentine (ou SECP) é o hard fork intra-era do Cardano que segue a atualização Vasil. Valentine é uma mudança semântica pequena e focada no ledger, que traz novas funções integradas ao Plutus para suportar curvas elípticas SECP (ECDSA e Schnorr). Embora um hard fork intra-era exija um evento combinador de hard fork, ele não altera a era do ledger, o que significa que esta é uma atualização para a era Babbage (funcionalidade Vasil).
Para começar:
- verifique o 'Tutorial de início' tutorial
- acompanhe a página de prontidão do ecossistema para a atualização SECP
- veja exemplos de scripts abaixo
Sobre ECC
ECC é um primitivo popular para desenvolver protocolos criptográficos e aplicativos seguros usando algoritmos de criptografia e descriptografia personalizados validados por assinaturas digitais. ECC fornece o mesmo nível de segurança que outros mecanismos, enquanto usa chaves e assinaturas mais curtas.
Existem diferentes curvas elípticas que se pode usar, com secp256k1 como uma das opções. Cada uma dessas curvas difere em seus parâmetros. A curva secp256k1 fornece dois esquemas de assinatura comuns - ECDSA e Schnorr.
O Cardano usa o Algoritmo de Assinatura Digital de Curva Digital Edwards (EdDSA) com a curva elíptica Curve25519 como sua curva base (Ed25519). Ed25519 é projetado para ser resistente a certos tipos de ataques criptográficos, tornando-o uma escolha segura.
Ed25519 faz parte da família de safeCurves, da qual secp256k1 não faz parte. A variação nos algoritmos significa que os desenvolvedores de DApp Plutus que desejam trabalhar com outras blockchains e precisam validar assinaturas ECDSA e Schnorr teriam que gastar tempo, esforço e fundos para implementar tais algoritmos sobre as curvas elípticas SECP no Plutus. Essa implementação adicional aumenta consideravelmente os riscos potenciais de segurança.
Já que apenas o algoritmo de assinatura primário do Cardano Ed25519 é fornecido como uma função integrada ao Plutus, as operações ECDSA e Schnorr seriam mais caras e demoradas a menos que também fossem fornecidas como funções integradas.
O que a atualização SECP traz?
A atualização Valentine do Cardano adiciona novas funções integradas ao Plutus para suportar assinaturas ECDSA e Schnorr junto com a assinatura nativa do Cardano.
Essas funções integradas se tornarão nativas do Cardano, e como serão implementadas e auditadas por especialistas, fornecerão o mais alto nível de segurança. Essa padronização permitirá que qualquer desenvolvedor de DApp Plutus amplie a escolha de design de assinatura multi-assinatura ou de limiar para uso.
CIP-49 fornece uma visão mais detalhada da motivação e especificação para a nova implementação de funções integradas.
Após a implementação de novos primitivos criptográficos, o Plutus será capaz de verificar facilmente transações de outras blockchains usando os padrões ECDSA e Schnorr. Por exemplo, o Plutus será capaz de verificar nativamente assinaturas geradas em sidechains EVM, o que melhorará a experiência do desenvolvedor em termos de simplicidade do processo, custo e segurança avançada.
Exemplos de scripts
Abaixo estão links para exemplos de scripts e arquivos de dados de script contendo as entradas a serem usadas para trabalhar com curvas elípticas SECP256k1.
O uso desses scripts é semelhante a um processo de cunhagem de token, onde você constrói uma transação para cunhar um token usando --mint-script-file
com um script Plutus fornecido e --mint-redeemer-file
para dados de script de entrada fornecidos.
- Veja o tutorial sobre como usar os novos primitivos SECP256K1
- Alternativamente, encontre exemplos Plutus SECP256k1 aqui
- E veja a API PlutusTx.