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 trade-offs comuns da camada-1. A Cointelegraph Research desvenda os detalhes deste recém-chegado ao espaço blockchain.

SUI utiliza o Mover linguagem de programação, 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 se inspira significativamente na blockchain Diem, especialmente em seu uso da linguagem de programação Move para contratos inteligentes. Move foi projetado com um sistema de tipos especificamente adaptado para gerenciamento de ativos e aplicação de controle de acesso. Sui Move se baseia nessa base com um modelo 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 SuiO Sui trata os ativos (bem como os contratos inteligentes) como objetos complexos. As transações no Sui recebem objetos como entradas e mutam 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 entre os modelos pode ser vista abaixo.

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

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

Isso pode levar a mudanças não autorizadas no estado do contrato, como retirar mais fundos do que deveria ser permitido. Porque transferências de propriedadesão explícitos e atômicos em Sui, este tipo de erro não pode acontecer. O sistema de tipos linear do Move garante que, uma vez que um recurso é movido, ele não pode ser reutilizado a menos que seja explicitamente reatribuído.

O modelo de conta baseado em conta tradicional, usado pelo Solidity, por outro lado, requer que os desenvolvedores implementem verificações adicionais para evitar esses bugs. Por exemplo, os ataques de reentrância precisam ser evitados seguindo um verificações-efeitos-interaçõespadrão. Todas as operações que alteram o estado (efeitos) devem ocorrer após todas as verificações, mas antes de quaisquer interações (chamadas externas). Esse 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 em objeto em si não melhore a segurança de forma inerente, ele pode simplificar o processo de desenvolvimento e facilitar a escrita de código seguro. Apesar de contratos inteligentes no Ethereum poderem ser formalmente verificadopara alcançar altos níveis de segurança, esse processo pode ser complexo e custoso.

A Solidity é conhecida por sua semântica notoriamente pouco intuitiva, o que dificulta aos desenvolvedores entender o comportamento do código. Isso aumenta a probabilidade de introduzir bugs sutis e vulnerabilidades de segurança.

O SUI Move pertence a uma família de linguagens que tenta simplificar o desenvolvimento seguro de contratos inteligentes, incorporando primitivos financeiros sensatos na 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 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 gerenciar ativos complexos, como tokens não fungíveis (NFTs). No Ethereum, os NFTs estão ligados a endereços de contratos inteligentes, e as interações frequentemente requerem chamadas complexas de contratos e atualizações de estado, o que leva a custos mais elevados e potenciais riscos de segurança. Por exemplo, transferindo um NFT no Ethereumenvolve a invocação de uma função do contrato inteligente ERC-721, que atualiza o estado e emite eventos.

Esse 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 intrínsecas e permissões. 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 da blockchain

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

Isso poderia permitir uma taxa de transferência superior 100.000 transações por segundoUma comparação do SUI com outras blockchains layer-1 proeminentes pode ser encontrada abaixo.

Fragmentação de banco de dados em cadeias baseadas em contas versus SUI

Uma das preocupações mais urgentes para blockchains é o infame trade-off entre escalabilidade, segurança e descentralização.Sharding, que facilita a divisão do banco de dados da blockchain, é considerada uma solução para este problema.

Em arquiteturas baseadas em contas, o shard envolve a partição do estado pelos endereços das contas. Cada shard gerencia uma faixa distinta de endereços, e as transações são processadas pelo shard que detém os dados da conta envolvida.

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

Transações envolvendo contas em diferentes fragmentos exigem mensagens e coordenação entre fragmentos, o que adiciona sobrecarga computacional e atrasa a finalidade da transação. No passado, isso levou a tempo de inatividade em tais blockchains, como foi o caso de Zilliqa.

O modelo centrado em objetos da Sui evita muitos desses problemas ao tratarcada objeto como uma unidade independente de estado. Os objetos podem ser processados e gerenciados separadamente sem exigir sincronização de estado global, e várias transações podem ser processadas simultaneamente sem a necessidade de sincronização entre shards. Isso reduz a necessidade de comunicação complexa entre shards e permite um processamento paralelo mais direto e eficiente.

Processamento de transações paralelizadas 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 alavancagem de threads de execução concorrentes.

Existem dois principais métodos de paralelização: método de acesso ao estado (ou execução determinística) e execução otimista. Na método de acesso ao estado usado por Sui e Solana, as transações declaram quais partes do estado elas irão acessar, permitindo que o sistema identifique transações independentes que podem ser executadas simultaneamente.

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 quentes de estado congestionados.

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

SUI alcança paralelização de acesso ao estado por meio de seu modelo centrado em objetos. As operações em um objeto não afetam ou atrasam as operações em outro, permitindo naturalmente que elas sejam processadas simultaneamente. As mesmas características estruturais simplificam o particionamento do banco de dados de transações, simplificando também o processamento paralelo em um ú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.

O uso da lógica linear e da segurança baseada em capacidades garante um gerenciamento robusto de recursos e controle de acesso, reduzindo potencialmente o risco de erros e vulnerabilidades de segurança. Além disso, a abordagem da Sui para gerenciar ativos complexos, como NFTs, simplifica as interações e melhora a eficiência em comparação com os modelos tradicionais baseados em contas. Esses recursos posicionam a Sui como um avanço notável na tecnologia blockchain.

Em nosso próximo artigo, examinaremos o mecanismo de consenso da blockchain Sui, explorando sua evolução e os benefícios que ela oferece. A Sui emprega um protocolo de consenso projetado para funcionar com seu modelo centrado em objeto.

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

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

Isenção de responsabilidade:

  1. Este artigo é reproduzido a partir de [cointelegraph], Todos os direitos autorais pertencem ao autor original [ Nick M]. Se houver objeções a esta reimpressão, entre em contato com o Gate Learnequipe, e eles vão lidar com isso prontamente.
  2. Aviso de Responsabilidade: As opiniões e pontos de vista expressos 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 Gate Learn. A menos que 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 trade-offs comuns da camada-1. A Cointelegraph Research desvenda os detalhes deste recém-chegado ao espaço blockchain.

SUI utiliza o Mover linguagem de programação, 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 se inspira significativamente na blockchain Diem, especialmente em seu uso da linguagem de programação Move para contratos inteligentes. Move foi projetado com um sistema de tipos especificamente adaptado para gerenciamento de ativos e aplicação de controle de acesso. Sui Move se baseia nessa base com um modelo 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 SuiO Sui trata os ativos (bem como os contratos inteligentes) como objetos complexos. As transações no Sui recebem objetos como entradas e mutam 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 entre os modelos pode ser vista abaixo.

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

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

Isso pode levar a mudanças não autorizadas no estado do contrato, como retirar mais fundos do que deveria ser permitido. Porque transferências de propriedadesão explícitos e atômicos em Sui, este tipo de erro não pode acontecer. O sistema de tipos linear do Move garante que, uma vez que um recurso é movido, ele não pode ser reutilizado a menos que seja explicitamente reatribuído.

O modelo de conta baseado em conta tradicional, usado pelo Solidity, por outro lado, requer que os desenvolvedores implementem verificações adicionais para evitar esses bugs. Por exemplo, os ataques de reentrância precisam ser evitados seguindo um verificações-efeitos-interaçõespadrão. Todas as operações que alteram o estado (efeitos) devem ocorrer após todas as verificações, mas antes de quaisquer interações (chamadas externas). Esse 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 em objeto em si não melhore a segurança de forma inerente, ele pode simplificar o processo de desenvolvimento e facilitar a escrita de código seguro. Apesar de contratos inteligentes no Ethereum poderem ser formalmente verificadopara alcançar altos níveis de segurança, esse processo pode ser complexo e custoso.

A Solidity é conhecida por sua semântica notoriamente pouco intuitiva, o que dificulta aos desenvolvedores entender o comportamento do código. Isso aumenta a probabilidade de introduzir bugs sutis e vulnerabilidades de segurança.

O SUI Move pertence a uma família de linguagens que tenta simplificar o desenvolvimento seguro de contratos inteligentes, incorporando primitivos financeiros sensatos na 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 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 gerenciar ativos complexos, como tokens não fungíveis (NFTs). No Ethereum, os NFTs estão ligados a endereços de contratos inteligentes, e as interações frequentemente requerem chamadas complexas de contratos e atualizações de estado, o que leva a custos mais elevados e potenciais riscos de segurança. Por exemplo, transferindo um NFT no Ethereumenvolve a invocação de uma função do contrato inteligente ERC-721, que atualiza o estado e emite eventos.

Esse 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 intrínsecas e permissões. 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 da blockchain

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

Isso poderia permitir uma taxa de transferência superior 100.000 transações por segundoUma comparação do SUI com outras blockchains layer-1 proeminentes pode ser encontrada abaixo.

Fragmentação de banco de dados em cadeias baseadas em contas versus SUI

Uma das preocupações mais urgentes para blockchains é o infame trade-off entre escalabilidade, segurança e descentralização.Sharding, que facilita a divisão do banco de dados da blockchain, é considerada uma solução para este problema.

Em arquiteturas baseadas em contas, o shard envolve a partição do estado pelos endereços das contas. Cada shard gerencia uma faixa distinta de endereços, e as transações são processadas pelo shard que detém os dados da conta envolvida.

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

Transações envolvendo contas em diferentes fragmentos exigem mensagens e coordenação entre fragmentos, o que adiciona sobrecarga computacional e atrasa a finalidade da transação. No passado, isso levou a tempo de inatividade em tais blockchains, como foi o caso de Zilliqa.

O modelo centrado em objetos da Sui evita muitos desses problemas ao tratarcada objeto como uma unidade independente de estado. Os objetos podem ser processados e gerenciados separadamente sem exigir sincronização de estado global, e várias transações podem ser processadas simultaneamente sem a necessidade de sincronização entre shards. Isso reduz a necessidade de comunicação complexa entre shards e permite um processamento paralelo mais direto e eficiente.

Processamento de transações paralelizadas 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 alavancagem de threads de execução concorrentes.

Existem dois principais métodos de paralelização: método de acesso ao estado (ou execução determinística) e execução otimista. Na método de acesso ao estado usado por Sui e Solana, as transações declaram quais partes do estado elas irão acessar, permitindo que o sistema identifique transações independentes que podem ser executadas simultaneamente.

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 quentes de estado congestionados.

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

SUI alcança paralelização de acesso ao estado por meio de seu modelo centrado em objetos. As operações em um objeto não afetam ou atrasam as operações em outro, permitindo naturalmente que elas sejam processadas simultaneamente. As mesmas características estruturais simplificam o particionamento do banco de dados de transações, simplificando também o processamento paralelo em um ú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.

O uso da lógica linear e da segurança baseada em capacidades garante um gerenciamento robusto de recursos e controle de acesso, reduzindo potencialmente o risco de erros e vulnerabilidades de segurança. Além disso, a abordagem da Sui para gerenciar ativos complexos, como NFTs, simplifica as interações e melhora a eficiência em comparação com os modelos tradicionais baseados em contas. Esses recursos posicionam a Sui como um avanço notável na tecnologia blockchain.

Em nosso próximo artigo, examinaremos o mecanismo de consenso da blockchain Sui, explorando sua evolução e os benefícios que ela oferece. A Sui emprega um protocolo de consenso projetado para funcionar com seu modelo centrado em objeto.

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

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

Isenção de responsabilidade:

  1. Este artigo é reproduzido a partir de [cointelegraph], Todos os direitos autorais pertencem ao autor original [ Nick M]. Se houver objeções a esta reimpressão, entre em contato com o Gate Learnequipe, e eles vão lidar com isso prontamente.
  2. Aviso de Responsabilidade: As opiniões e pontos de vista expressos 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 Gate Learn. A menos que mencionado, copiar, distribuir ou plagiar os artigos traduzidos é proibido.
Comece agora
Registe-se e ganhe um cupão de
100 USD
!