Contagem regressiva: Waves Smart Contracts será lançado no dia 10 de setembro!

Contagem regressiva: Waves Smart Contracts será lançado no dia 10 de setembro!

By Chris Roper - min. de leitura
Atualizado 02 junho 2020

Wave's Smart Contracts. What to Expect and When

A criptomoeda é basicamente dinheiro via blockchain, mas a mesma abordagem descentralizada pode ser tomada para código de computador – resultando em aplicativos que funcionam sem confiança e automaticamente, sem chance de falhas.

A Bitcoin estabeleceu a tecnologia blockchain como uma maneira infalível de enviar dinheiro online. Mas “dinheiro” neste contexto significa simplesmente informação. Essa informação pode representar outras coisas também, dando ao blockchain um conjunto muito mais amplo de casos de uso do que apenas transferências financeiras. Além de fazer pagamentos peer-to-peer, também é possível escrever e executar softwares no blockchain.

Smart Contracts

O Ethereum foi a primeira plataforma de smart contracts e ainda é a mais conhecida e a maior em valor de mercado. Ele possui os chamados smart contracts ‘Turing-complete’ – o que significa que, teoricamente, o Ethereum pode ser usado para executar qualquer programa. Há muitos projetos sendo desenvolvidos na Ethereum, desde carteiras multi-sig até sofisticadas plataformas de e-commerce que visam substituir mercados como Amazon e eBay por um modelo descentralizado.

Embora a abordagem da Ethereum aos smart contracts os torne extremamente poderosos, eles também são inacessíveis para a grande maioria dos usuários comuns. Qualquer pessoa que queira criar qualquer funcionalidade de smart contracts precisa saber como programá-los. Além disso, os custos de errar podem ser enormes. Houve um número de roubos e explorações como resultado desmart contracts mal escritos, alguns resultando em dezenas de milhões de dólares em fundos perdidos.

A abordagem da Waves

Contratos Inteligentes. A abordagem das ondas

A Waves está adotando uma abordagem diferente para smart contracts. Embora a plataforma esteja planejando desenvolver smart contracts Turing-complete altamente versáteis, sua iteração inicial incluirá funcionalidades limitadas. A ideia é lançar smart contracts que cubram os casos de uso mais populares , incorporados ao Waves Client para que todos possam implementá-los, independentemente de terem algum conhecimento de programação ou compreensão dos próprios smart contracts.

Essa funcionalidade básica incluirá controles de conta, como multi-sig e a capacidade de bloquear tokens por um determinado período de tempo, para evitar que sejam movidos. Isso cobrirá a maioria do uso diário com segurança.

Uma vez que essa funcionalidade tenha sido exaustivamente testada, a Waves lançará os smart contracts Turing-complete. Como os smart contracts do Ethereum, eles podem ser usados ​​para praticamente qualquer caso de uso. Além disso, as smart accounts serão introduzidas.

Smart Accounts

Uma conta convencional só pode assinar transações antes de enviá-las para o blockchain. A ideia de uma smart account é a seguinte: antes de a transação ser enviada para inclusão no próximo bloco, a conta verifica se a transação atende a determinados requisitos, definidos em um script. O script é anexado à conta para que a conta possa validar todas as transações antes de confirmá-las.

O principal requisito para as nossas smart accounts é que elas podem ser executadas pelo preço de transações normais com uma taxa pré-definida, sem qualquer “gás” adicional ou outros custos. Isso será possível devido ao tempo de execução estaticamente previsível. Como a Waves foi construída sobre um modelo baseado semelhante ao Ethereum ou Nxt (em vez do sistema de entrada/saída do Bitcoin), podemos definir scripts de segurança nas contas.

Em nossa visão, as smart accounts não podem enviar transações ou transferir fundos de acordo com determinadas condições, mas podem ler dados do blockchain (por exemplo, a altura de um bloco ou assinaturas da transação) e retornar o resultado de um predicado obtido com base desses dados.

A linguagem das smart accounts deve ser o mais simples possível, para que seja acessível a usuários iniciantes ou comuns que não estejam familiarizados com um determinado paradigma de idioma. A gramática da linguagem será legível e fácil de usar. Não estamos conscientemente fornecendo aos usuários a capacidade de escrever funções, recursões e loops de encaixe indefinido. Já explicamos anteriormente que evitamos construções cuja complexidade não pode ser prevista com antecedência e que não pode ser executada em um número definido de etapas. Essa é a razão pela qual também não temos uma compilação ou instruções ‘for each’.

Ativos Inteligentes

Se planejarmos aplicar restrições em todas as operações para um ativo específico, não poderemos usar uma smart account. Em nosso paradigma, temos smart accounts para essa finalidade: o script será anexado ao ativo e funcionará de maneira semelhante. As transações para esses ativos serão válidas somente se o script aprovar. Por exemplo, um script pode verificar provas de uma transação, verificar se um cartório/escrow aprova a transação e se as operações com o ativo não estão bloqueadas por um período especificado. O script do token é invocado nas seguintes operações com um ativo:

  • MassTransfer (transferências para até 100 endereços simultâneos)
  • Reissue Transaction (reemitir um token criado por você)
  • BurnTransaction (queimar/destruir tokens)

Implantação de contratos inteligentes de ondas

Casos de Uso

O foco principal da primeira versão das smart accounts será a segurança, integração e crowdfunding . Um exemplo de um caso de uso de segurança são as contas com multi-sig. Uma conta com multi-sig é útil para contratos que precisam ser de propriedade conjunta ou compartilhados, ou ao vincular um acordo entre várias partes, ou todas elas. Com a sua ajuda, as contrapartes que não confiam umas nas outras podem congelar uma certa quantidade de tokens no blockchain até que a condição de ter o número necessário de assinaturas dos participantes seja alcançada.

O próximo grupo de casos de uso é a integração, como o Oracles. Um Oracle (ou Oráculo) é o aplicativo responsável pela conexão a uma determinada fonte de dados. Ele pode colocar dados de origem externa no blockchain como uma série de transações, mas não pode alterar os dados neles. Outras pessoas podem receber dinheiro de uma determinada conta se esses dados atenderem às condições certas. Por outro lado, se quisermos remover um terceiro de uma operação, um smart contract pode estar envolvido na criação de um Atomic Swap – o próximo passo na descentralização.

Um Atomic Swap é uma negociação direta entre dois usuários de blockchains de diferentes criptomoedas, cuja honestidade é garantida por um único contrato em todas as blockchains relevantes que cancelam a transferência de fundos de volta para os participantes se a negociação acordada não tiver ocorrido. (‘Atomic’ nesta definição significa que uma operação será executada completamente ou não será executada de forma alguma.)

Os processos de negociações, como a venda de tokens em uma exchange, podem ser implementados sem confiança na Waves DEX sem smart contracts. No entanto, as smart accounts podem ajudar os investidores depois de uma ICO . Por exemplo, elas podem ser usadas ​​para controlar o uso do fundo via escrow, voto do portador do token, etc.

Acordos inteligentes de ondas. Características principais

Você pode baixar o white paper sobre o Waves Smart Contracts e ler mais sobre eles em no site oficial.

Faça parte da comunidade Waves no Brasil!