Máquina Virtual (EVM)

Uma instância física do EVM não pode ser descrita na maneira como alguém pode apontar para uma nuvem ou uma onda oceânica;É uma entidade real que existe e é mantida por milhares de computadores executando os clientes Ethernet juntos.

O próprio protocolo Polysmartchain existe apenas para manter esta máquina de estado particular correndo continuamente, ininterruptamente e permanentemente.Este é o ambiente em que todas as contas da Polysmartchain e contratos inteligentes existem.A PolysMartchain tem apenas um estado "canônico" em qualquer bloco de cadeia, e EVM define as regras para calcular um novo estado válido de um bloco para o próximo.

De Ledger para Máquina de Estado

A analogia de um "razão distribuído" é frequentemente usado para descrever um blockchain como Bitcoin, que usa as ferramentas básicas de criptografia para implementar moeda descentralizada.As criptoforcorrências se comportam como moedas "normais" porque há regras que governam o que as pessoas podem e não podem fazer para modificar o Ledger.Por exemplo, um endereço Bitcoin não pode gastar mais bitcoins do que já recebeu anteriormente.Essas regras são a base para todas as transações no Bitcoin e em muitos outros blockchains.

Embora a Polysmartchain tenha sua própria criptomoeda nativa (PSCETH) que segue quase exatamente as mesmas regras intuitivas, ele também suporta um recurso mais poderoso: contratos inteligentes.Para essa funcionalidade mais complexa, é necessária uma analogia mais complexa.O PolysMartChain não é um livro distribuído, mas uma máquina de estado distribuída. O estado de Polysmartchain é uma grande estrutura de dados que mantém não apenas todas as contas e saldos, mas também um estado de máquina que pode ser alterado entre blocos de acordo com um conjunto predefinido de regras e pode executarCódigo da máquina arbitrária.As regras específicas para mudar o estado em um bloco são definidas pelo EVM.

Função de transição do estado de Polysmartchain

Um EVM se comporta como uma função matemática: para uma determinada entrada, produz uma saída determinista.Portanto, é muito útil descrever éter mais formalmente como tendo uma função de transição de estado:

    Y(S, T)= S'

Dado um antigo estado (s) válido (s)> e um novo conjunto de transações válidas (T), a função de transição de estado de éter Y (S, T) produz um novo estado de saída válido

Status

No contexto do Polysmartchain, o estado é uma enorme estrutura de dados chamada Merkle Ajustada Patricia TRIE que permite que todas as contas sejam vinculadas por hash e podem ser rastreadas para uma única hash root armazenada no blockchain.

Transação

Uma transação é uma instrução criptograficamente assinada de uma conta.Existem dois tipos de transações: um é uma transação de chamada de mensagem e o outro é um contrato criar transação.

O contrato Criar transação cria uma nova conta de contrato que contém o bytecode de contrato inteligente compilado.Sempre que outra conta faz uma mensagem para esse contrato, ele executa seu bytecode.

Explicação EVM

O EVM opera como uma máquina de pilha com uma profundidade de pilha de 1024 itens.Cada item é uma palavra de 256 bits e, para facilitar o uso, é escolhida a criptografia de 256 bits (como o hash keccak-256 ou a assinatura do Secp256k1).

Durante a execução, o EVM mantém uma memória transitória (como uma matriz de bytes endereçáveis pela palavra) que não persiste entre as transações.

No entanto, o contrato contém um Trie de armazenamento Merkle Patricia (como uma variedade de palavras-endereços de palavras) associadas à conta e parte do estado global.

O bytecode Smart Contract Compiled é executado como o mesmo operações de pilha padrão do EVM que executam operações de pilha padrão, como XOR 、 e 、 Adicionar 、 Subetc.O EVM também implementa algumas operações de pilha específicas da blockchain, como o endereço 、 Balanço 、 Blockhash etc.

Implementação de EVM

Todas as implementações do EVM seguem as especificações descritas no Livro Amarelo Ethernet, graças às contribuições feitas pela Ethernet.

Last updated