Explorando ErgoScript: A Linguagem de Script Nativa do Ergo

This page is machine-translated.
Ergo Platform

26 de março de 2024

Linguagens de Programação em Blockchain

O mundo da programação de computadores destaca uma gama expansiva e diversificada de linguagens de codificação. Não existe uma solução única, e cada linguagem oferece diferentes graus de prós e contras. Se você está familiarizado com codificação, sem dúvida já ouviu falar de JavaScript, Python, Java, C#, C++, Solidity, Rust e muitos mais.

Quando se trata de design de blockchain, várias dessas linguagens foram utilizadas na construção de redes de criptomoedas proeminentes.

Снимок экрана 2024-03-27 в 21.36.36.png

A Plataforma Ergo: Um Novo Paradigma em Script e Blockchain de Prova de Trabalho

Quando Alex Chepurnoy (também conhecido como kushti) e Dmitry Meshkov se propuseram a projetar uma nova blockchain de contrato inteligente de 3ª geração, eles queriam criar uma rede que combinasse a Prova de Trabalho do Bitcoin e o design UTXO com contratos inteligentes expressivos. Essencialmente, o objetivo era unir o modelo testado pelo tempo do Bitcoin com a capacidade do Ethereum de produzir contratos inteligentes e aplicativos descentralizados. No coração desse empreendimento estava o desejo de construir uma blockchain para todos. Uma que prioriza produtos que melhoram a vida do cidadão comum. A partir desse esforço, eles criaram e lançaram a Plataforma Ergo.

Para construir o Ergo, eles precisavam criar uma linguagem de programação que atendesse às suas necessidades únicas. Juntos, kushti e Meshkov desenvolveram uma nova linguagem de script, ErgoScript, para que pudessem escrever contratos inteligentes flexíveis e seguros na Plataforma Ergo.

O que é ErgoScript?

ErgoScript é a linguagem de programação usada para escrever contratos inteligentes na blockchain Ergo. É particularmente notável por sua capacidade de criar instrumentos financeiros avançados e aplicativos descentralizados (dApps) com foco em segurança e escalabilidade. Seu design é derivado do Scala, que é uma linguagem de programação multiparadigma projetada para expressar padrões comuns de programação de maneira concisa, elegante e segura em termos de tipo. No Whitepaper do Ergo, o ErgoScript é descrito como:

“…uma linguagem de script poderosa e amigável a protocolos para criptomoedas. Programas em ErgoScript são usados para especificar as condições sob as quais a moeda pode ser gasta. A linguagem suporta um tipo de provas de conhecimento zero não interativas chamadas protocolos Σ(Sigma) e é flexível o suficiente para permitir assinaturas em anel, múltiplas assinaturas, múltiplas moedas, trocas atômicas, scripts auto-replicantes e computação de longo prazo.”

As principais características do ErgoScript incluem:

  1. Baseado em Protocolos Sigma: O ErgoScript é construído sobre Protocolos Sigma (ou Σ-protocolos), um tipo de protocolo criptográfico. Essa base permite a criação de contratos inteligentes flexíveis e altamente seguros.
  2. Abordagem Declarativa: Ao contrário das linguagens imperativas, onde você descreve como fazer algo, no ErgoScript, você descreve quais condições devem ser atendidas. É uma linguagem declarativa onde o estado da blockchain determina se um script é válido ou não.
  3. Código Off-Chain: O Ergo permite que operações complexas sejam realizadas off-chain, reduzindo a carga na blockchain. O ErgoScript é usado para garantir que essas operações atendam às regras acordadas quando são comprometidas na blockchain.
  4. Flexibilidade e Segurança: A linguagem é projetada para fornecer um alto grau de flexibilidade na criação de contratos, enquanto também garante um forte nível de segurança. Isso é particularmente importante no contexto de contratos financeiros e aplicativos de finanças descentralizadas (DeFi) na Plataforma Ergo.
  5. Custo-Efetivo: O design do Ergo, combinado com o ErgoScript, visa minimizar o custo computacional dos contratos inteligentes. Isso é crucial para manter um sistema de blockchain escalável e eficiente.
  6. Integração com os Recursos do Ergo: O ErgoScript aproveita os recursos únicos do Ergo, como o modelo de armazenamento de caixas, onde dados e tokens são armazenados em "caixas" na blockchain, e condições complexas podem ser definidas sobre como essas caixas podem ser transformadas e usadas.

Código ErgoScript: Um Exemplo

O seguinte script contém uma condição para gastar uma saída de transação:

{
val condition = HEIGHT > 1000 && OUTPUTS(0).propositionBytes == fromBase64("yourBase64EncodedPublicKey")
sigmaProp(condition)
}

  1. HEIGHT > 1000: Isso verifica se a altura do bloco atual da blockchain é maior que 1000. HEIGHT refere-se à altura da blockchain no momento da transação. Essa condição garante que a saída só pode ser gasta após a blockchain ter alcançado uma certa altura, criando efetivamente um bloqueio de tempo.

  2. OUTPUTS(0).propositionBytes == fromBase64("yourBase64EncodedPublicKey"): Esta parte do script verifica se a primeira saída (OUTPUTS(0)) da transação possui uma chave pública específica. A chave pública é codificada em formato Base64 no script. Essa condição garante que a saída só pode ser gasta por uma transação que a envia para um endereço (ou chave pública) que você especifica.

  3. sigmaProp(condition): Esta é a maneira do ErgoScript de afirmar que a condição definida deve avaliar como verdadeira para que o script seja satisfeito. sigmaProp é uma função que converte uma expressão booleana em uma proposição Sigma.

Quando este script é anexado a uma saída de transação não gasta (UTXO) na blockchain Ergo, ele impõe as condições de que a blockchain deve ter progredido além da altura do bloco 1000, e a saída deve ser enviada para a chave pública especificada para que possa ser gasta. Esse tipo de script pode ser usado para contratos com bloqueio de tempo ou para garantir que os fundos sejam enviados apenas a um destinatário específico.

Se você é um desenvolvedor e está curioso sobre como a Plataforma Ergo pode ser viável para um produto que deseja construir, é recomendável que você explore a seção Começando da Documentação do Ergo.

Conclusão

Embora o ErgoScript ofereça várias vantagens, é importante notar que a "melhor" linguagem para a construção de blockchain pode variar dependendo das necessidades e objetivos específicos de um projeto. No entanto, o ErgoScript é particularmente adequado para projetos que exigem alta segurança, funcionalidade avançada de contratos e eficiência no processamento de transações. Com o tempo, provou ser uma ferramenta testada pelo tempo e essencial para desenvolvedores que trabalham dentro do ecossistema Ergo, fornecendo uma estrutura robusta para construir uma ampla gama de soluções descentralizadas.

Share post

Ergo Infrastructure DAO: Descentralizando a Espinha Dorsal do Ecossistema Ergo

Ergo Infrastructure DAO: Descentralizando a Espinha Dorsal do Ecossistema Ergo

A missão da Ergo sempre foi enraizada na descentralização, não apenas na camada de consenso, mas em toda a pilha.

Ergo Platform

13 de agosto de 2025

Mew Finance: Um Conjunto de Ferramentas DeFi Divertido para o Ecossistema Ergo

Mew Finance: Um Conjunto de Ferramentas DeFi Divertido para o Ecossistema Ergo

Mew Finance é um conjunto de aplicativos descentralizados na Blockchain Ergo.

Ergo Platform

12 de agosto de 2025

Lithos: Descentralizando a Mineração com Pools On-Chain

Lithos: Descentralizando a Mineração com Pools On-Chain

Lithos é um novo protocolo projetado para reformular como os pools de mineração funcionam, movendo-os para on-chain, dando aos min.

Ergo Platform

24 de julho de 2025

Sigma 6.0: Um Ergo Mais Inteligente e Flexível

Sigma 6.0: Um Ergo Mais Inteligente e Flexível

Sigma 6.0 é uma grande atualização proposta para a blockchain Ergo.

Ergo Platform

23 de julho de 2025

Moldando o Futuro de Rosen: Uma Chamada da Comunidade sobre Cinco Propostas Chave do Tesouro

Moldando o Futuro de Rosen: Uma Chamada da Comunidade sobre Cinco Propostas Chave do Tesouro

O co-fundador da Rosen, Armeanio, apresentou cinco novas propostas ao Tesouro de Rosen.

Ergo Platform

9 de julho de 2025

UTXO Estendido da Ergo e a Ascensão da Inteligência Econômica Artificial

UTXO Estendido da Ergo e a Ascensão da Inteligência Econômica Artificial

Uma Visão Prática para Agentes Econômicos Autônomos Agentes econômicos autônomos na blockchain da Ergo realizam trabalho útil em .

Ergo Platform

12 de maio de 2025

ErgoHACK X: Inteligência Artificial na Blockchain Ergo

ErgoHACK X: Inteligência Artificial na Blockchain Ergo

Celebrando uma Década de Inovação Descentralizada Participe do 10º aniversário do ErgoHACK e esteja na vanguarda da revolução da I.

Ergo Platform

10 de abril de 2025

Ergo Pulse com Charles Hoskinson

Ergo Pulse com Charles Hoskinson

“Quando olhamos para as coisas que Alex tem feito, a equipe tem feito e a comunidade tem feito, eles são logicamente consistentes .

Plataforma Ergo

13 de abril de 2022

Mais novo mercado de NFTs em Ergo está ganhando a atenção dos Ergonautas

Mais novo mercado de NFTs em Ergo está ganhando a atenção dos Ergonautas

Em Outubro de 2020, NFTs na blockchain Ergo foram lançados.

Plataforma Ergo

7 de abril de 2022

NIPoPoWs em Ergo: Inovações em Blockchain

NIPoPoWs em Ergo: Inovações em Blockchain

A blockchain Ergo está rapidamente se tornando conhecida dentro do espaço cripto como uma líder em desenvolvimento e inovação em b.

Plataforma Ergo

1 de abril de 2022

Prova de Trabalho, Energia e Ergo

Prova de Trabalho, Energia e Ergo

Introdução Prova de Trabalho (PoW, em Inglês) foi descrita no artigo original de Bitcoin como sendo composta de duas partes.

Plataforma Ergo

29 de março de 2022

Armazenando Ergo: SAFEW

Armazenando Ergo: SAFEW

Neste artigo, continuamos nossa série de guias para configurar e usar uma das muitas novas carteiras Ergo.

Plataforma Ergo

25 de março de 2022

Minerando Ergo no Windows

Minerando Ergo no Windows

Minerar Ergo como parte de uma pool de mineração é fácil, particularmente no Windows.

Plataforma Ergo

17 de março de 2022

What is a DAO (Decentralized Autonomous Organization)?

What is a DAO (Decentralized Autonomous Organization)?

Introduction A decentralized autonomous organization (DAO) is a new type of cooperative.

Ergo Platform

15 de março de 2022

Instruções: Cunhando um Token Não-Fungível (NFT) na Blockchain Ergo

Instruções: Cunhando um Token Não-Fungível (NFT) na Blockchain Ergo

O que é um NFT? Qualquer unidade de uma moeda corrente, como por exemplo o dólar estadunidense, é indistinguível de qualquer outr.

Plataforma Ergo

8 de março de 2022

Blockchain e a Motivação para Ergo

Blockchain e a Motivação para Ergo

Desde o nascimento de Bitcoin, tecnologia blockchain tem sofrido enormes avanços.

Plataforma Ergo

3 de março de 2022

Resultados do ErgoHack III

Resultados do ErgoHack III

Após um bem-sucedido ErgoHack III, o júri tomou sua decisão final! Há tantos projetos maravilhosos que participaram neste último.

Fundação Ergo

1 de março de 2022

A Adoção de Moedas Estáveis está no Horizonte?

A Adoção de Moedas Estáveis está no Horizonte?

Hoje, moedas estáveis lastreadas ao dólar americano (USD) somam quase U$185 bilhões de valor de mercado - um aumento de 500% des.

Plataforma Ergo

24 de fevereiro de 2022

DeFi em Ergo: Taxas usando Tokens Personalizados

DeFi em Ergo: Taxas usando Tokens Personalizados

Moedas de infraestrutura são importantes pois precisamos delas para pagas taxas de transações quando usamos sistemas financeiros.

Plataforma Ergo

22 de fevereiro de 2022

Explicativo Ergo: Aluguel de Armazenamento

Explicativo Ergo: Aluguel de Armazenamento

Resumo do Artigo: Aluguel de Armazenamento é uma taxa por armazenamento de longo prazo na blockchain Ergo.

Plataforma Ergo

18 de fevereiro de 2022

Uma Introdução a Privacidade e Segurança em Blockchain

Uma Introdução a Privacidade e Segurança em Blockchain

Depois que o primeiro artigo científico emergiu na internet em 2008, a tecnologia blockchain evoluiu tremendamente.

Plataforma Ergo

17 de fevereiro de 2022