O SputnikVM é uma das grandes inovações nascidas do trabalho árduo da equipe de desenvolvimento do Ethereum Classic e de seu ETC Labs Core.
Lcom o objetivo de desenvolver o SputnikVM é crie uma nova EVM (Ethereum Virtual Machine) para o Ethereum Classic.
Para conseguir isso, O SputnikVM implementa as funcionalidades do EVM Ethereum original mantendo a compatibilidade. No entanto, seu design e codificação foram alterados para se adequarem aos objetivos de seus desenvolvedores: eficiência, portabilidade e baixo consumo de recursos computacionais. Graças a isso, os desenvolvedores pretendem criar uma VM capaz de adaptar e desenvolver novos dispositivos Internet das coisas ativado com a tecnologia blockchain.
Outro ponto adicional entre as funcionalidades do SputnikVM é a compatibilidade com outros blockchains. Certamente, o projeto está sob a tutela de Ethereum Classic, mas seus desenvolvedores decidiram torná-lo compatível com Ethereum e outros projetos com base no seu código. Isso abre a possibilidade de usar o SputnikVM em outras blockchains, como Rede PoA.
Sem dúvida, um grande desenvolvimento com enormes possibilidades, principalmente em casos industriais, comerciais e domésticos.
Recursos do SputnikVM
Entre as características mais relevantes deste projeto, podemos destacar:
- Arquitetura de execução independente. Isso significa que ele pode ser iniciado como um processo independente ou integrado a outros aplicativos, diferentemente do EVM, que é monolítico. Isso permite executar o SputnikVM de uma maneira mais modular.
- Desenvolvimento universal. O SputnikVM tem a capacidade de operar em diferentes blockchain compatíveis com a especificação Ethereum EVM. Isso oferece a possibilidade de usar o SputnikVM em outras blockchains compatíveis. Isso também significa que sua portabilidade para outros projetos compatíveis com Ethereum é muito simples, como é o caso da Rede PoA.
- Pensado para ser rápido e eficiente. O SputnikVM pretende ser uma implementação eficiente do EVM. Isso visa minimizar o impacto no uso excessivo de recursos computacionais e garantir uma execução e resposta adequadas a contratos inteligentes o tempo todo.
- Compatível com IoT. Isso significa que o SputnikVM pode ser integrado a dispositivos de potência de computação muito baixos. Isso procura diversificar e expandir o alcance do Ethereum Classic em diferentes dispositivos, especialmente aqueles voltados para a IoT.
- Escrito em Rust. Rust é uma linguagem de programação focada em segurança e desempenho. Por esse motivo, o SputnikVM pode desfrutar dos dois recursos nativamente.
Como o SputnikVM funciona?
O SputnikVM, como qualquer máquina virtual, procura criar um nível de abstração entre o código escrito e a execução do referido código. Certificando-se de que, sob qualquer conceito, o código escrito sempre execute as mesmas ações em qualquer cenário de execução. Em outras palavras, as máquinas virtuais procuram padronizar e garantir o processamento e a execução do código fornecido a elas. Tudo isso, independentemente de outros elementos que fazem parte da plataforma em que é executado.
Isso é muito importante na tecnologia blockchain. Bem, isso garante uma alta modularidade e resiliência de todas as partes envolvidas na execução do smart contracts y DApps.
Neste ponto, a operação do SputnikVM não difere em nada da do Ethereum Virtual Machine (EVM). Ambas as máquinas virtuais têm o mesmo objetivo: executar o código de contratos inteligentes com segurança. Mas, para isso, os dois usam abordagens diferentes para a solução. Neste ponto, não há dúvida de que o EVM é um excelente desenvolvimento, mas sua estrutura o torna inadequado para uso na IoT. Para solucionar essas falhas, diferentes implementações foram criadas, com o SputnikVM sendo um dos mais promissores.
Mas, para entender um pouco mais como o SputnikVM funciona, é melhor revisar algumas das partes mais importantes dele.
Linguagem de programação
Primeiro de tudo, o SputnikVM pode fazer uso da linguagem de programação Solidity o Ferrugem pelos seus contratos inteligentes. Com isso, eles buscam manter a compatibilidade com os contratos inteligentes já criados. Por outro lado, a nova interface no Rust melhora muito sua eficiência e segurança.
Suporte para Opcodes
Os opcodes ou opcodes, sou um conjunto de instruções que servem para executar tarefas específicas. O EVM possui uma grande variedade de códigos de operação. Isso permite que você calcule quase tudo, com recursos suficientes. Neste ponto, a abordagem SputnikVM é diferente. Para isso, oferece um suporte reduzido com 75 opcodes no momento. O objetivo por trás disso é oferecer um suporte menor, mas suficiente para executar contratos inteligentes em dispositivos IoT.
Essa abordagem tem dois pontos positivos:
- Isso torna a base de código do SputnikVM mais fácil e menor em comparação ao EVM. Isso facilita as análises de segurança e portabilidade.
- Minimiza o uso de recursos pela máquina virtual, possibilitando usá-lo em dispositivos com muito pouca energia.
Capacidade de executar em sistemas embarcados
Esse é um dos maiores recursos de execução do SputnikVM. A capacidade de executar como parte de um sistema incorporado é exclusiva para esse desenvolvimento. Isso, por exemplo, permitiria que o SputnikVM fosse parte integrante de um conjunto de sensores em uma linha de produção. A partir daí, a máquina virtual pode estar constantemente executando seu smart contract. Verificando se sua programação é respeitada o tempo todo. Além de gerar as ações correspondentes que são armazenadas no blockchain da empresa para revisão e auditoria.
O EVM certamente possui recursos semelhantes, mas seu custo computacional é muito maior devido à sua complexidade.
Um exemplo claro desse utilitário é o projeto SputnikVM on Zinco. O Rux é um microkernel projetado para sistemas de IoT e que tem a qualidade de ser altamente modular e de código aberto.
Execução paralela
Outra grande diferença no funcionamento do SputnikVM é sua capacidade de executar tarefas em paralelo. Isso fornece um salto qualitativo na execução do código de contratos inteligentes, acelerando o processo. Isso levando em conta que o EVM executa esse processo sequencialmente, o que obviamente tem um impacto negativo no desempenho.
Apesar disso, a paralelização no SputnikVM evita a criação de riscos à segurança no tratamento dos estados das transações. Garantir sempre que serão tratados de forma eficaz e sem contratempos.
Exemplo de uso para SputnikVM
Os principais casos de uso do SputnikVM concentram-se principalmente em dispositivos incorporados. Um bom exemplo da utilidade desse desenvolvimento pode ser o seguinte:
Uma empresa de produção de iogurte decidiu criar uma nova linha de produção. Entre seus requisitos, decidiu usar a tecnologia blockchain para monitorar de perto o controle de qualidade. Para isso, criará uma rede de sensores que alimentarão o blockchain da empresa, com medições na qualidade da água e do leite, temperatura dos tanques de fermentação, concentração de açúcares e estado da fermentação em todos os momentos. Isso para ter um controle de qualidade de primeira classe, juntamente com um histórico completo e auditável das ações na referida linha de produção.
Neste ponto, dada a simplicidade e as necessidades de baixa energia do SputnikVM, ele pode ser integrado a cada sensor na linha de produção. Isso reduz os custos, evitando sensores e hardware mais elaborados e poderosos. Além disso, uma vez que os sensores foram programados com um contrato inteligente, eles podem monitorar a tarefa à qual foram atribuídos o tempo todo. Se algo der errado ou estiver em risco, será imutável registrado na blockchain. Dessa forma, o controle de qualidade da empresa melhora consideravelmente. Como resultado, o produto final manterá a qualidade que a empresa deseja para seus consumidores.
Quanto você sabe, cryptonuta?
O SputnikVM tem a capacidade de alterar radicalmente o uso da blockchain na IoT?VERDADEIRO!
A capacidade do SputnikVM de integrar-se com dispositivos IoT de baixo custo e baixo consumo de energia é seu principal atrativo para adoção em massa. Isso graças a permitir tokenizar diferentes aspectos comerciais, industriais ou domésticos, enquanto as empresas economizam em tais implementações. Tudo isso devido ao baixo custo no design de hardware e software para esse fim.
Limitações do SputnikVM
Apesar dos grandes avanços que o SputnikVM representa ao trazer a tecnologia blockchain para a IoT, atualmente esse desenvolvimento tem várias limitações, incluindo:
- Está em um estágio inicial de desenvolvimento. Muitos de seus recursos ainda não foram totalmente testados e polidos.
- Atualmente oferece suporte incompleto para opcodes EVM. Essa situação pode levar muitos desenvolvedores a pensar que o SputnikVM não é adequado para seus projetos. No entanto, o status de desenvolvimento do SputnikVM pode mudar isso à medida que o projeto amadurece, apenas para oferecer 100% de compatibilidade e suporte.
- Sua capacidade de paralelismo está disponível apenas na programação Rust. Uma situação que limita o desenvolvimento de contratos inteligentes com a capacidade de paralelizar esse idioma. No momento, o Solidity e o EVM não suportam esse recurso.