A Diferença Entre os Modelos de Programação Solana e ETH

5/22/2024, 7:43:04 PM
Avançado
Tecnologia
Este artigo compara os modelos de programação de contratos inteligentes da Solana e da Ethereum. Os programas on-chain da Solana são semelhantes aos contratos inteligentes da Ethereum, mas a Solana oferece um ambiente de execução diferente através do seu modelo de conta único e da abordagem de desacoplamento de dados. O modelo de conta da Solana separa o armazenamento de código e dados, aumentando a segurança. A Solana utiliza principalmente a linguagem Rust para o desenvolvimento de contratos inteligentes, que oferece alto desempenho e segurança, mas possui uma curva de aprendizado íngreme. Por outro lado, a Ethereum utiliza principalmente o Solidity, proporcionando uma experiência de desenvolvimento mais simples e madura. Apesar dos desafios de desenvolvimento com a Solana, sua alta throughput, baixos custos e escalabilidade a tornam uma escolha ideal para o desenvolvimento de dApps de alto desempenho.

Solana é uma plataforma de blockchain de alto desempenho projetada para suportar dApps, conhecida por sua velocidade e escalabilidade alcançadas por meio de mecanismos de consenso e designs arquiteturais únicos. Este artigo irá introduzir brevemente as características do modelo de programação de contratos inteligentes da Solana, comparando-o com o Ethereum para contexto.

Contratos Inteligentes e Programas On-Chain:

Os programas em execução no Ethereum são conhecidos como contratos inteligentes, que são uma série de código (funções) e dados (estado) localizados num endereço específico na rede Ethereum. Os contratos inteligentes também são contas Ethereum, designadas por contas de contrato. Têm saldos, podem ser o alvo de transações, mas não podem ser controlados por indivíduos. São implementados na rede para funcionar como programas.

Por outro lado, o código executável em execução na Solana é referido como Programas On-Chain, que interpretam as instruções enviadas com cada transação. Estes programas podem ser implementados diretamente no núcleo da rede como programas nativos ou publicados por qualquer pessoa como programas SPL.

Instruções: As instruções são termos únicos para programas on-chain da Solana. Consistem em instruções que executam operações específicas, formando a menor unidade de execução para transações na Solana. Cada transação na Solana contém uma ou mais instruções especificando as operações a serem realizadas, incluindo a chamada de programas específicos on-chain, passagem de contas, listas de entrada e fornecimento de matrizes de bytes. As instruções têm limites computacionais, portanto, os programas on-chain devem ser otimizados para usar menos unidades computacionais ou dividir operações caras em várias instruções.

Programas nativos: Estes fornecem as funcionalidades essenciais necessárias pelos nós validadores. O mais famoso é o Programa do Sistema, responsável por gerir a criação de novas contas e transferir SOL entre duas contas.

Programas SPL: definem uma série de atividades on-chain, incluindo criação de tokens, troca, empréstimos, criação de pools de stakes, manutenção de serviços de resolução de nomes de domínio on-chain e muito mais. Entre eles, o SPL Token Program é usado para operações de token, enquanto programas como o Associated Token Account Program são comumente usados para escrever outros programas personalizados.

Chamas-lhe contratos inteligentes, eu chamo-lhes programas on-chain. Nomes diferentes, mas ambos referem-se a código a correr na blockchain. Tal como Zhang San, Li Si e Wang Ma Zi são todos nomes, a qualidade de alguém deve ser avaliada com base em outros aspetos também.

Modelo de Conta, Desacoplamento de Dados:

Similar ao Ethereum, a Solana também é uma blockchain baseada num modelo de conta, mas a Solana fornece um modelo de conta diferente do Ethereum, armazenando dados de uma forma diferente.

No Solana, as contas podem conter informações de carteira e outros dados. Os campos definidos por uma conta incluem Lamports (o saldo da conta), Proprietário (o proprietário da conta), Executável (se é uma conta executável) e Dados (os dados armazenados na conta). Cada conta especifica um programa como seu proprietário para diferenciar qual estado do programa armazena. Esses programas on-chain são somente leitura ou sem estado: contas de programa (contas executáveis) armazenam apenas o bytecode BPF e não armazenam nenhum estado. Os programas armazenam seu estado em outras contas independentes (contas não executáveis). O modelo de programação da Solana desacopla código e dados.

Por outro lado, as contas Ethereum servem principalmente como referências para o estado da EVM (Máquina Virtual Ethereum). Os contratos inteligentes na Ethereum contêm tanto lógica de código quanto a necessidade de armazenar dados do usuário. Isso é frequentemente considerado uma falha de design herdada da história da EVM.

Não subestime esta distinção! Os contratos inteligentes da Solana são fundamentalmente mais difíceis de atacar do que as blockchains com modelos de programação acoplados, como o Ethereum:

No Ethereum, o “proprietário” de um contrato inteligente é uma variável global que corresponde diretamente a cada contrato inteligente. Portanto, chamar uma determinada função poderia alterar diretamente o “proprietário” do contrato.

No Solana, porém, o "dono" de um contrato inteligente é dados associados a uma conta, em vez de uma variável global. Uma conta pode ter vários donos, em vez de uma associação um-para-um. Para um atacante explorar uma vulnerabilidade de segurança em um contrato inteligente, eles não apenas precisam identificar a função problemática, mas também preparar as contas "corretas" para chamar essa função. Este passo não é fácil porque os contratos inteligentes da Solana normalmente envolvem várias contas de entrada e gerenciam seus relacionamentos através de restrições (como account1.owner==account2.keyO processo, desde a "preparação das contas corretas" até ao "lançamento do ataque", é suficiente para os monitores de segurança detetarem proativamente transações suspeitas relacionadas com a criação de contas "falsas" ligadas a contratos inteligentes antes que ocorra um ataque.

Os contratos inteligentes do Ethereum são como um cofre com uma única senha exclusiva. Uma vez que você tenha essa senha, você obtém a propriedade completa. Os da Solana, por outro lado, são como um cofre com muitas senhas. Para ter acesso, você não só precisa obter as senhas, mas também entender os identificadores correspondentes antes de poder abrir a porta.

Linguagem de Programação

Rust é a linguagem de programação principal para desenvolver contratos inteligentes na Solana. Suas características de desempenho e segurança a tornam adequada para o ambiente de alto risco da blockchain e contratos inteligentes. A Solana também suporta C, C++ e outras linguagens (embora menos comuns). Os SDKs oficiais Rust e C são fornecidos para apoiar o desenvolvimento de programas on-chain. Os desenvolvedores podem usar ferramentas para compilar programas em bytecode Berkeley Packet Filter (arquivos com extensão .so) e implantá-los na blockchain Solana. A lógica dos contratos inteligentes é então executada através do tempo de execução paralelo do contrato inteligente Sealevel.

No entanto, devido à elevada curva de aprendizagem da linguagem Rust e à falta de personalização para o desenvolvimento de blockchain, muitos requisitos resultam em código redundante e na reinvenção da roda. Para simplificar o desenvolvimento, muitos projetos em produção utilizam o framework Anchor criado pela colaboração da Backpack e Armani. Além disso, várias novas linguagens de programação especificamente adaptadas para o desenvolvimento de blockchain, como Cairo (Starknet) e Move (Sui, Aptos), são baseadas em Rust.

Muitos projetos em produção usam o framework Anchor.

Os contratos inteligentes do Ethereum são desenvolvidos principalmente usando a linguagem Solidity, que tem uma sintaxe semelhante ao JavaScript, com arquivos de código tendo uma extensão .sol. Devido à sua sintaxe relativamente simples e ferramentas de desenvolvimento mais maduras (como o framework Hardhat e o IDE Remix), o Ethereum é geralmente considerado oferecer uma experiência de desenvolvimento mais simples e agradável em comparação com o Solana, que tem uma curva de aprendizado mais alta. Apesar da popularidade atual do Solana, o número de desenvolvedores no Ethereum continua sendo muito maior do que no Solana.

Em circunstâncias específicas, um carro de corrida de primeira linha superará um carro modificado. A ferrugem, como um carro de corrida de primeira linha, garante efetivamente o desempenho e a segurança da Solana. No entanto, não é projetado inherentemente para o desenvolvimento de programas on-chain, o que na verdade aumenta o nível de dificuldade de dirigir (desenvolver). As cadeias públicas que adotam linguagens baseadas em Rust e personalizadas para o desenvolvimento on-chain podem ser comparadas à modificação deste carro de corrida para se adaptar melhor às condições da estrada. Neste sentido, a Solana está em desvantagem.

Conclusão

O modelo de programação de contratos inteligentes da Solana é inovador. Oferece uma abordagem sem estado para o desenvolvimento de contratos inteligentes, com Rust como a linguagem de programação principal e uma arquitetura que separa a lógica do estado. Isso fornece aos desenvolvedores um ambiente poderoso para construir e implementar contratos inteligentes, garantindo segurança e desempenho, embora com maior dificuldade de desenvolvimento. A Solana foca na alta throughput, baixos custos e escalabilidade, tornando-a a escolha ideal para desenvolvedores que buscam criar dApps de alto desempenho.

Declaração:

  1. Este artigo é reproduzido a partir de [ panews], título original "Minha avó também pode entender: Qual é a diferença entre o modelo de programação de Solana e ETH?", os direitos autorais pertencem ao autor original [Foresight News, Alex Liu], se tiver alguma objeção à reimpressão, entre em contato Equipe Gate Learn, a equipa tratará dela o mais rápido possível de acordo com os procedimentos relevantes.

  2. Aviso legal: As opiniões expressas neste artigo representam apenas as visões pessoais do autor e não constituem qualquer conselho de investimento.

  3. Outras versões do artigo são traduzidas pela equipe do Gate Learn, não mencionadas emGate, o artigo traduzido não pode ser reproduzido, distribuído ou plagiado.

Partilhar

Calendário Cripto

Atualizações de projetos
Etherex irá lançar o Token REX no dia 6 de agosto.
REX
22.27%
2025-08-06
Dia Raro de Desenvolvimento & Governança em Las Vegas
A Cardano irá organizar o Rare Dev & Governance Day em Las Vegas, de 6 a 7 de agosto, apresentando workshops, hackathons e discussões em painel focadas em desenvolvimento técnico e tópicos de governança.
ADA
-3.44%
2025-08-06
Blockchain.Rio em Rio de Janeiro
A Stellar participará da conferência Blockchain.Rio, agendada para ser realizada no Rio de Janeiro, de 5 a 7 de agosto. O programa incluirá palestras e discussões em painel com representantes do ecossistema Stellar em colaboração com os parceiros Cheesecake Labs e NearX.
XLM
-3.18%
2025-08-06
Webinar
A Circle anunciou um webinar ao vivo chamado “A Era do GENIUS Act Começa”, agendado para 7 de agosto de 2025, às 14:00 UTC. A sessão irá explorar as implicações do recém-aprovado GENIUS Act—o primeiro quadro regulatório federal para moedas estáveis de pagamento nos Estados Unidos. Dante Disparte e Corey Then, da Circle, liderarão a discussão sobre como a legislação impacta a inovação em ativos digitais, a clareza regulatória e a liderança dos EUA na infraestrutura financeira global.
USDC
-0.03%
2025-08-06
AMA na X
Ankr irá realizar um AMA no X no dia 7 de agosto às 16:00 UTC, focando no trabalho do DogeOS na construção da camada de aplicação para DOGE.
ANKR
-3.23%
2025-08-06

Artigos relacionados

Initia: Pilha Entrelaçada e Blockchain Modular
Avançado

Initia: Pilha Entrelaçada e Blockchain Modular

Este artigo apresenta a pilha Interwoven da Initia, que visa apoiar um ecossistema de blockchain modular, melhorando especialmente a escalabilidade e a soberania por meio dos Optimistic Rollups. A Initia fornece uma plataforma L1 que colabora com várias Minitias, esses rollups específicos de aplicativos podem gerenciar ambientes de execução de forma independente, controlar a ordenação de transações e otimizar as taxas de gás. Através dos módulos OPHost e OPChild, bem como dos OPinit Bots, é alcançada uma interação perfeita entre L1 e L2, garantindo segurança, flexibilidade e transferência eficiente de ativos.
10/13/2024, 7:49:38 PM
 Explorar a evolução do CKB
Intermediário

Explorar a evolução do CKB

Com o lançamento do ETF, a explosão do ecossistema BRC-20 e a narrativa adicional da redução para metade, o foco do mercado está mais uma vez no ecossistema Bitcoin. A CKB parece ter sempre aderido à sua intenção original, insistiu em ser isomórfica com a Bitcoin, e fez ainda mais a ponte.
3/18/2024, 6:44:07 AM
Introdução ao quadro CAKE
Intermediário

Introdução ao quadro CAKE

A experiência de usuário de criptografia padrão atual garante que os usuários estejam sempre cientes de qual rede eles estão interagindo. Em contrapartida, os utilizadores da Internet podem descobrir com que fornecedor de serviços de computação em nuvem estão a interagir. Referimo-nos a esta abordagem do blockchain como abstração em cadeia. As transferências de valor entre cadeias serão alcançadas com taxas baixas através de pontes autorizadas por tokens e execução rápida através de corridas de velocidade ou preços entre solvers. A transmissão de informação será encaminhada através de pontes de mensagens compatíveis com o ecossistema, minimizando os custos do utilizador e maximizando a velocidade através de plataformas controladas pela carteira.
6/17/2024, 3:28:50 PM
O que são tokens resistentes à quântica e por que são importantes para as criptomoedas?
Intermediário

O que são tokens resistentes à quântica e por que são importantes para as criptomoedas?

Este artigo aborda o papel essencial das tokens resistentes à quântica na proteção de ativos digitais contra ameaças potenciais colocadas pela computação quântica. Ao empregar tecnologias avançadas de criptografia anti-quântica, como criptografia baseada em reticulados e assinaturas baseadas em hash, o artigo destaca como essas tokens são cruciais para aprimorar os padrões de segurança da blockchain e proteger algoritmos criptográficos contra futuros ataques quânticos. Ele aborda a importância dessas tecnologias na manutenção da integridade da rede e no avanço das medidas de segurança da blockchain.
1/15/2025, 3:09:06 PM
Dentro do SVM: A Corrida Entre Solayer, SOON e Sonic
Intermediário

Dentro do SVM: A Corrida Entre Solayer, SOON e Sonic

Num contexto em que a nova narrativa da Solana precisa de sucessão urgente, Sonic, SOON e Solayer do ecossistema SVM estão a utilizar caminhos técnicos diferenciados para tentar responder à proposição final da indústria de "alta concorrência, baixa latência e compatibilidade entre cadeias." Este artigo também irá desmontar a lógica profunda desta corrida armamentista do SVM a partir das três dimensões da arquitetura subjacente, estratégia ecológica e posição de mercado.
2/14/2025, 11:32:11 AM
A Evolução da Pilha OP: OP Succinct Desbloqueia o Potencial do ZK Rollup
Avançado

A Evolução da Pilha OP: OP Succinct Desbloqueia o Potencial do ZK Rollup

Se a solução de escalabilidade futura do Ethereum for converter todos os Rollups em ZK Rollups, OP Succinct pretende implantar o zkEVM Tipo-1 (totalmente equivalente ao Ethereum) dentro do OP Stack, utilizando Rust e SP1.
10/29/2024, 2:41:57 PM
Comece agora
Registe-se e ganhe um cupão de
100 USD
!