Explorando o Modelo Centrado em Objetos da Sui e a Linguagem de Programação Move

Intermediário10/23/2024, 5:02:57 PM
Este artigo examina o modelo de armazenamento de dados centrado em objetos da Sui, suas implicações para o processamento de transações e seu potencial.

A blockchain Sui emergiu como um protocolo de camada-1 (L1) inovador, incorporando tecnologias avançadas para lidar com as compensações comuns da camada-1. A Cointelegraph Research desvenda os detalhes deste recém-chegado ao espaço blockchain.

SUI utiliza o Linguagem de programação Move, que foi projetado com foco na representação de ativos e controle de acesso. Este artigo examina o modelo de armazenamento de dados centrado em objetos da Sui, suas implicações para o processamento de transações e suas potenciais vantagens sobre os paradigmas tradicionais baseados em contas.

O paradigma orientado a objetos da SUI

Sui retira uma inspiração significativa da blockchain Diem, especialmente no uso da linguagem de programação Move para contratos inteligentes. Move foi desenvolvido com um sistema de tipos especificamente adaptado para gestão de ativos e aplicação de controlo de acesso. O Sui Move baseia-se nesta base com ummodelo de armazenamento de dados centrado em objetosque usa objetos em vez de contas como primitivas.

Ao contrário do modelo de conta tradicional, onde as transações alteram os saldos, ou o modelo UTXO, onde as transações têm entradas e saídas simples, O modelo de objeto da Suitrata ativos (bem como smart contracts) como objetos complexos. As transações em Sui recebem objetos como entradas e transformam essas entradas em objetos de saída. Cada objeto registra o hash da última transação que o produziu. Essa abordagem é conceitualmente semelhante ao modelo UTXO, mas mais geral e poderosa. Uma comparação dos modelos pode ser vista abaixo.

@ZeroAgeVentures/o uso da lógica linear do Move está conectado ao modelo orientado a objetos e facilita o desenvolvimento de software seguro. A lógica linear, às vezes referido como lógica de recursos, garante que os recursos que representam ativos digitais não possam ser duplicados ou inadvertidamente destruídos. Quando uma transaçãoenvolvendo um ativo é executado, a semântica do Sui Move garante que o estado do ativo seja atualizado de forma a refletir o resultado da transação, consumindo o ativo em seu estado anterior e produzindo-o em seu novo estado.

Os objetos em SUI também podem ter controles de acesso e permissões definidos, o que melhora a segurança e o controle sobre o uso de ativos após uma transação.Isto mitiGatesvulnerabilidades comuns em cadeias baseadas em contas, que permitem ataques de reentrância. Em umataque de reentrância, uma função faz uma chamada externa a outro contrato antes de atualizar seu próprio estado, permitindo que atacantes executem repetidamente ações que deveriam ocorrer apenas uma vez.

Isso pode levar a alterações não autorizadas no estado do contrato, como a retirada de mais fundos do que deveria ser permitido. Porquetransferências de propriedadesão explícitos e atômicos em Sui, esse tipo de erro não pode acontecer. O sistema de tipos lineares do Move garante que, uma vez que um recurso é movido, ele não pode ser reutilizado a menos que seja explicitamente reatribuído.

Por outro lado, o modelo baseado em contas tradicionais, usado pelo Solidity, exige que os desenvolvedores implementem verificações adicionais para evitar esses bugs. Por exemplo, ataques de reentrância precisam ser evitados seguindo um...verificações-efeitos-interaçõespadrão. Todas as operações de mudança de estado (efeitos) têm de ocorrer após todas as verificações mas antes de quaisquer interações (chamadas externas). Este padrão, frequentemente referido como contabilidade otimista, garante que as variáveis de estado sejam atualizadas antes de realizar quaisquer interações externas.

Embora o modelo centrado no objeto em si não melhore a segurança por si só, pode simplificar o processo de desenvolvimento e tornar mais fácil escrever código seguro. Embora os contratos inteligentes na Ethereum possam ser formalmente verificadopara alcançar altos níveis de segurança, este processo pode ser complexo e dispendioso.

A Solidity é conhecida pelas suas semânticas notoriamente pouco intuitivas, o que torna difícil para os programadores compreender o comportamento do código. Isso aumenta a probabilidade de introduzir bugs subtis e vulnerabilidades de segurança.

SUI Move pertence a uma família de linguagens que tenta simplificar o desenvolvimento seguro de contratos inteligentes, incorporando primitivas financeiras sensíveis à semântica da linguagem desde o início. Outro exemplo é a Linguagem de Aprovação de Execução de Transação (TEAL) da blockchain Algorand, que utiliza um modelo de execução sem estadopara garantir que as transações sejam atômicas e seguras.

O modelo centrado em objetos da Sui é particularmente vantajoso para gerir ativos complexos, como tokens não fungíveis (NFTs). Na Ethereum, os NFTs estão ligados a endereços de contratos inteligentes, e as interações frequentemente requerem chamadas de contrato complexas e atualizações de estado, o que resulta em custos mais elevados e potenciais riscos de segurança. Por exemplo, transferir um NFT no Ethereumenvolve a invocação de uma função do contrato inteligente ERC-721, que atualiza o estado e emite eventos.

Este processo envolve várias etapas e taxas de gás para cada operação. Em contraste, O modelo de objeto da Sui permite que cada NFTser tratado como um objeto distinto com propriedades e permissões intrínsecas. O comportamento dos NFTs está intimamente alinhado com os primitivos da linguagem Move, enquanto no Ethereum, esse comportamento precisa ser implementado, o que aumenta a sobrecarga e cria espaço para erros.

Orientação a objetos e desempenho de blockchain

O modelo orientado a objetos torna a fragmentação e paralelização na blockchain SUI mais fácil. Combinado com uma atualização recente do mecanismo de consenso Sui, SUI alcança um tempo de finalização de aproximadamente 390 milissegundos.

Isto poderia permitir uma taxa de transferência superior a100.000 transações por segundo. Uma comparação do SUI com outras blockchains de camada 1 proeminentes pode ser encontrada abaixo.

Sharding de banco de dados em cadeias baseadas em contas versus SUI

Uma das preocupações mais urgentes para as blockchains é o famoso compromisso entre escalabilidade, segurança e descentralização.Sharding, que facilita a partição do banco de dados da blockchain, é considerada uma solução para este problema.

Nas arquiteturas baseadas em contas, o sharding envolve a partição do estado pelos endereços das contas. Cada shard gerencia um intervalo distinto de endereços e as transações são processadas pelo shard que possui os dados da conta envolvida.

No entanto, isso enfrenta uma série de problemas. Por exemplo, Polkadotexige que o saldo e o estado de cada conta sejam atualizados e sincronizados em todas as shards (Parachains). Manter a consistência em várias shards é um desafio, pois cada sharddeve sincronizar regularmente com o estado global, o que introduz latência e complexidade.

Transações envolvendo contas em shards diferentes requerem mensagens e coordenação entre shards, o que adiciona sobrecarga computacional e atrasa a finalização da transação. No passado, isso levou a períodos de inatividade em blockchains desse tipo, como foi o caso para Zilliqa.

O modelo orientado a objetos da Sui evita muitos desses problemas, tratandocada objeto como uma unidade independente de estado. Os objetos podem ser processados e geridos separadamente sem necessidade de sincronização do estado global, e várias transações podem ser processadas em simultâneo sem a necessidade de sincronização entre fragmentos. Isto reduz a necessidade de comunicação complexa entre fragmentos e permite um processamento paralelo mais direto e eficiente.

Processamento paralelo de transações na SUI

A paralelização refere-se à execução simultânea de várias operações e à melhoria da velocidade de processamento através da utilização de threads de execução simultânea.

Existem dois métodos principais de paralelizaçãométodo de acesso ao estado (ou execução determinística) e execução otimista. No método de acesso ao estadousado por SUI e GateSolana, as transações declaram quais partes do estado elas irão acessar, permitindo que o sistema identifique transações independentes que podem ser executadas em paralelo.

Esta abordagem garante resultados previsíveis e evita a necessidade de reexecutar transações, possibilitando mercados dinâmicos de taxas de gás que gerenciam pontos críticos de estado congestionados.

Execução otimista, por outro lado, como é usado por redes como Monad e Aptos, assume inicialmente que todas as transações são independentes e reexecuta transações conflitantes retrospectivamente. Embora seja mais simples para os desenvolvedores, pode levar a ineficiências computacionais.

A Sui alcança a paralelização do acesso ao estado através do seu modelo centrado em objetos. As operações num objeto não afetam ou atrasam as operações noutro, permitindo naturalmente que sejam processadas em simultâneo. As mesmas características estruturais simplificam a partição da base de dados de transações, simplificando também o processamento paralelo num único nó.

Conclusão

Em conclusão, o modelo centrado em objetos da blockchain Sui, combinado com a linguagem de programação Move, aborda várias limitações-chave das blockchains tradicionais de camada 1. A capacidade de processar transações em paralelo aumenta significativamente a escalabilidade e reduz a latência.

Ao utilizar a lógica linear e a segurança baseada em capacidades, garante-se uma gestão robusta de recursos e controlo de acesso, potencialmente reduzindo o risco de erros e vulnerabilidades de segurança. Além disso, a abordagem da SUI na gestão de ativos complexos, como os NFTs, simplifica as interações e melhora a eficiência em comparação com os modelos tradicionais baseados em contas. Estas características posicionam a SUI como um avanço notável na tecnologia blockchain.

Em nosso próximo artigo, examinaremos o mecanismo de consenso do blockchain Sui, explorando sua evolução e os benefícios que ele proporciona. Sui emprega um protocolo de consenso projetado para trabalhar com seu modelo centrado em objetos.

Vamos analisar as especificidades do mecanismo de consenso da SUI, incluindo seus métodos de tolerância a falhas e otimização de throughput, para entender como esses elementos contribuem para sua infraestrutura.

Além disso, compararemos a abordagem de consenso da Sui com as de outras blockchains proeminentes, como Ethereum, Polkadot e Solana, para identificar suas características únicas e áreas onde pode se destacar ou enfrentar desafios.

Aviso legal:

  1. Este artigo é reimpresso de [cointelegraph], Todos os direitos autorais pertencem ao autor original [Nick M]. Se houver objeções a esta reimpressão, por favor entre em contato com o Gate Learnequipa, e eles tratarão disso prontamente.
  2. Isenção de Responsabilidade: As opiniões expressas neste artigo são exclusivamente do autor e não constituem qualquer conselho de investimento.
  3. As traduções do artigo para outros idiomas são feitas pela equipe da Gate Learn. A menos que seja mencionado, copiar, distribuir ou plagiar os artigos traduzidos é proibido.

Explorando o Modelo Centrado em Objetos da Sui e a Linguagem de Programação Move

Intermediário10/23/2024, 5:02:57 PM
Este artigo examina o modelo de armazenamento de dados centrado em objetos da Sui, suas implicações para o processamento de transações e seu potencial.

A blockchain Sui emergiu como um protocolo de camada-1 (L1) inovador, incorporando tecnologias avançadas para lidar com as compensações comuns da camada-1. A Cointelegraph Research desvenda os detalhes deste recém-chegado ao espaço blockchain.

SUI utiliza o Linguagem de programação Move, que foi projetado com foco na representação de ativos e controle de acesso. Este artigo examina o modelo de armazenamento de dados centrado em objetos da Sui, suas implicações para o processamento de transações e suas potenciais vantagens sobre os paradigmas tradicionais baseados em contas.

O paradigma orientado a objetos da SUI

Sui retira uma inspiração significativa da blockchain Diem, especialmente no uso da linguagem de programação Move para contratos inteligentes. Move foi desenvolvido com um sistema de tipos especificamente adaptado para gestão de ativos e aplicação de controlo de acesso. O Sui Move baseia-se nesta base com ummodelo de armazenamento de dados centrado em objetosque usa objetos em vez de contas como primitivas.

Ao contrário do modelo de conta tradicional, onde as transações alteram os saldos, ou o modelo UTXO, onde as transações têm entradas e saídas simples, O modelo de objeto da Suitrata ativos (bem como smart contracts) como objetos complexos. As transações em Sui recebem objetos como entradas e transformam essas entradas em objetos de saída. Cada objeto registra o hash da última transação que o produziu. Essa abordagem é conceitualmente semelhante ao modelo UTXO, mas mais geral e poderosa. Uma comparação dos modelos pode ser vista abaixo.

@ZeroAgeVentures/o uso da lógica linear do Move está conectado ao modelo orientado a objetos e facilita o desenvolvimento de software seguro. A lógica linear, às vezes referido como lógica de recursos, garante que os recursos que representam ativos digitais não possam ser duplicados ou inadvertidamente destruídos. Quando uma transaçãoenvolvendo um ativo é executado, a semântica do Sui Move garante que o estado do ativo seja atualizado de forma a refletir o resultado da transação, consumindo o ativo em seu estado anterior e produzindo-o em seu novo estado.

Os objetos em SUI também podem ter controles de acesso e permissões definidos, o que melhora a segurança e o controle sobre o uso de ativos após uma transação.Isto mitiGatesvulnerabilidades comuns em cadeias baseadas em contas, que permitem ataques de reentrância. Em umataque de reentrância, uma função faz uma chamada externa a outro contrato antes de atualizar seu próprio estado, permitindo que atacantes executem repetidamente ações que deveriam ocorrer apenas uma vez.

Isso pode levar a alterações não autorizadas no estado do contrato, como a retirada de mais fundos do que deveria ser permitido. Porquetransferências de propriedadesão explícitos e atômicos em Sui, esse tipo de erro não pode acontecer. O sistema de tipos lineares do Move garante que, uma vez que um recurso é movido, ele não pode ser reutilizado a menos que seja explicitamente reatribuído.

Por outro lado, o modelo baseado em contas tradicionais, usado pelo Solidity, exige que os desenvolvedores implementem verificações adicionais para evitar esses bugs. Por exemplo, ataques de reentrância precisam ser evitados seguindo um...verificações-efeitos-interaçõespadrão. Todas as operações de mudança de estado (efeitos) têm de ocorrer após todas as verificações mas antes de quaisquer interações (chamadas externas). Este padrão, frequentemente referido como contabilidade otimista, garante que as variáveis de estado sejam atualizadas antes de realizar quaisquer interações externas.

Embora o modelo centrado no objeto em si não melhore a segurança por si só, pode simplificar o processo de desenvolvimento e tornar mais fácil escrever código seguro. Embora os contratos inteligentes na Ethereum possam ser formalmente verificadopara alcançar altos níveis de segurança, este processo pode ser complexo e dispendioso.

A Solidity é conhecida pelas suas semânticas notoriamente pouco intuitivas, o que torna difícil para os programadores compreender o comportamento do código. Isso aumenta a probabilidade de introduzir bugs subtis e vulnerabilidades de segurança.

SUI Move pertence a uma família de linguagens que tenta simplificar o desenvolvimento seguro de contratos inteligentes, incorporando primitivas financeiras sensíveis à semântica da linguagem desde o início. Outro exemplo é a Linguagem de Aprovação de Execução de Transação (TEAL) da blockchain Algorand, que utiliza um modelo de execução sem estadopara garantir que as transações sejam atômicas e seguras.

O modelo centrado em objetos da Sui é particularmente vantajoso para gerir ativos complexos, como tokens não fungíveis (NFTs). Na Ethereum, os NFTs estão ligados a endereços de contratos inteligentes, e as interações frequentemente requerem chamadas de contrato complexas e atualizações de estado, o que resulta em custos mais elevados e potenciais riscos de segurança. Por exemplo, transferir um NFT no Ethereumenvolve a invocação de uma função do contrato inteligente ERC-721, que atualiza o estado e emite eventos.

Este processo envolve várias etapas e taxas de gás para cada operação. Em contraste, O modelo de objeto da Sui permite que cada NFTser tratado como um objeto distinto com propriedades e permissões intrínsecas. O comportamento dos NFTs está intimamente alinhado com os primitivos da linguagem Move, enquanto no Ethereum, esse comportamento precisa ser implementado, o que aumenta a sobrecarga e cria espaço para erros.

Orientação a objetos e desempenho de blockchain

O modelo orientado a objetos torna a fragmentação e paralelização na blockchain SUI mais fácil. Combinado com uma atualização recente do mecanismo de consenso Sui, SUI alcança um tempo de finalização de aproximadamente 390 milissegundos.

Isto poderia permitir uma taxa de transferência superior a100.000 transações por segundo. Uma comparação do SUI com outras blockchains de camada 1 proeminentes pode ser encontrada abaixo.

Sharding de banco de dados em cadeias baseadas em contas versus SUI

Uma das preocupações mais urgentes para as blockchains é o famoso compromisso entre escalabilidade, segurança e descentralização.Sharding, que facilita a partição do banco de dados da blockchain, é considerada uma solução para este problema.

Nas arquiteturas baseadas em contas, o sharding envolve a partição do estado pelos endereços das contas. Cada shard gerencia um intervalo distinto de endereços e as transações são processadas pelo shard que possui os dados da conta envolvida.

No entanto, isso enfrenta uma série de problemas. Por exemplo, Polkadotexige que o saldo e o estado de cada conta sejam atualizados e sincronizados em todas as shards (Parachains). Manter a consistência em várias shards é um desafio, pois cada sharddeve sincronizar regularmente com o estado global, o que introduz latência e complexidade.

Transações envolvendo contas em shards diferentes requerem mensagens e coordenação entre shards, o que adiciona sobrecarga computacional e atrasa a finalização da transação. No passado, isso levou a períodos de inatividade em blockchains desse tipo, como foi o caso para Zilliqa.

O modelo orientado a objetos da Sui evita muitos desses problemas, tratandocada objeto como uma unidade independente de estado. Os objetos podem ser processados e geridos separadamente sem necessidade de sincronização do estado global, e várias transações podem ser processadas em simultâneo sem a necessidade de sincronização entre fragmentos. Isto reduz a necessidade de comunicação complexa entre fragmentos e permite um processamento paralelo mais direto e eficiente.

Processamento paralelo de transações na SUI

A paralelização refere-se à execução simultânea de várias operações e à melhoria da velocidade de processamento através da utilização de threads de execução simultânea.

Existem dois métodos principais de paralelizaçãométodo de acesso ao estado (ou execução determinística) e execução otimista. No método de acesso ao estadousado por SUI e GateSolana, as transações declaram quais partes do estado elas irão acessar, permitindo que o sistema identifique transações independentes que podem ser executadas em paralelo.

Esta abordagem garante resultados previsíveis e evita a necessidade de reexecutar transações, possibilitando mercados dinâmicos de taxas de gás que gerenciam pontos críticos de estado congestionados.

Execução otimista, por outro lado, como é usado por redes como Monad e Aptos, assume inicialmente que todas as transações são independentes e reexecuta transações conflitantes retrospectivamente. Embora seja mais simples para os desenvolvedores, pode levar a ineficiências computacionais.

A Sui alcança a paralelização do acesso ao estado através do seu modelo centrado em objetos. As operações num objeto não afetam ou atrasam as operações noutro, permitindo naturalmente que sejam processadas em simultâneo. As mesmas características estruturais simplificam a partição da base de dados de transações, simplificando também o processamento paralelo num único nó.

Conclusão

Em conclusão, o modelo centrado em objetos da blockchain Sui, combinado com a linguagem de programação Move, aborda várias limitações-chave das blockchains tradicionais de camada 1. A capacidade de processar transações em paralelo aumenta significativamente a escalabilidade e reduz a latência.

Ao utilizar a lógica linear e a segurança baseada em capacidades, garante-se uma gestão robusta de recursos e controlo de acesso, potencialmente reduzindo o risco de erros e vulnerabilidades de segurança. Além disso, a abordagem da SUI na gestão de ativos complexos, como os NFTs, simplifica as interações e melhora a eficiência em comparação com os modelos tradicionais baseados em contas. Estas características posicionam a SUI como um avanço notável na tecnologia blockchain.

Em nosso próximo artigo, examinaremos o mecanismo de consenso do blockchain Sui, explorando sua evolução e os benefícios que ele proporciona. Sui emprega um protocolo de consenso projetado para trabalhar com seu modelo centrado em objetos.

Vamos analisar as especificidades do mecanismo de consenso da SUI, incluindo seus métodos de tolerância a falhas e otimização de throughput, para entender como esses elementos contribuem para sua infraestrutura.

Além disso, compararemos a abordagem de consenso da Sui com as de outras blockchains proeminentes, como Ethereum, Polkadot e Solana, para identificar suas características únicas e áreas onde pode se destacar ou enfrentar desafios.

Aviso legal:

  1. Este artigo é reimpresso de [cointelegraph], Todos os direitos autorais pertencem ao autor original [Nick M]. Se houver objeções a esta reimpressão, por favor entre em contato com o Gate Learnequipa, e eles tratarão disso prontamente.
  2. Isenção de Responsabilidade: As opiniões expressas neste artigo são exclusivamente do autor e não constituem qualquer conselho de investimento.
  3. As traduções do artigo para outros idiomas são feitas pela equipe da Gate Learn. A menos que seja mencionado, copiar, distribuir ou plagiar os artigos traduzidos é proibido.
Empieza ahora
¡Regístrate y recibe un bono de
$100
!