Imagine como seria, se fosse possível transferir dinheiro de sua conta para outra quase que instantaneamente. Bom essa é fácil, atualmente com o uso de blockchain isso já é uma realidade. Mas podemos ir além, e se quiséssemos criar nossa própria rede, lançar uma aplicação e usufruir de tais benefícios, será que não demandaria muito tempo e custo para tal? Agora parece ter complicado um pouquinho, já que os conceitos sobre blockchain por si só já são um tanto quanto complexos, arquitetar então uma rede inteira, e mantê-la em pleno funcionamento para servir quaisquer pessoas que se interessem em fazer parte dela talvez seja um desafio ainda maior. Eis que então surge o protocolo Ethereum de código aberto para aplicativos descentralizados. Segundo o site da ethereum.org temos a seguinte afirmação, “Na Ethereum, você pode escrever um código que controla o valor digital, que seja executado exatamente como programado e que esteja acessível em qualquer lugar do mundo.”

Será que podemos enxergar a construção de uma nova web, onde os conceitos descentralizados que o blockchain nos trouxe, possam ser utilizados de maneira que traga valor por meio de serviços, e ainda melhor, sem nos preocuparmos com toda infraestrutura da rede?
Venha descobrir comigo, o que nos aguarda sobre essa tecnologia que vem crescendo e criando uma nova internet.

Fundada por Vitalik Buterin e lançada em 2015, Ethereum é a principal blockchain programável do mundo, utiliza uma criptomoeda nativa chamada Ether (ETH) que possui muitas das características do bitcoin. Seu fornecimento não é controlado por nenhum governo ou empresa, é descentralizado e também escasso, segundo as informações do site da Ethereum. Podemos fazer compra e venda de ativos usando-o como moeda pois ele possui seu valor, que por sinal, é a segunda criptoema mais valiosa do mercado, ao menos no momento em que escrevo este post, perdendo apenas para o bitcoin. Para que os valores não fiquem desatualizados prefiro não comentar aqui, mas você pode consultar em qualquer site de cotação para criptomedas existente.

Smart contract na Ethereum

Se você ainda não leu o Primeiro Post onde faço uma breve introdução aos conceitos do blockchain, recomendo que dê uma olhada, caso contrário seu conhecimento acaba sendo limitado. Mas caso você já o tenho feito ou possua o conhecimento, siga o raciocínio.

Quando ouvimos a palavra contrato, naturalmente já nos vem em pensamento um papel, com cláusulas e termos a serem seguidos, e que estão em pleno acordo entre ambas as partes mencionadas.

De certa forma, para o blockchain e no caso da rede Ethereum, é basicamente o mesmo conceito, mas transcrito para linhas de código. Com a confiança de que os termos não mudam, e que toda vez que a aplicação cai no cenário que necessite destes termos, faça uso deles da maneira que está programado para ser, sem quaisquer alternativas de desvio ou diferenciação do que já foi especificado.

As linguagens mais populares para se criar smart contracts e rodar na Ethereum são, solidity que é muito parecida com o JavaScript, e Vyper que é baseada no Python. Mas independente da linguagem utilizada o produto final será o mesmo, um contrato para rodar dentro de uma rede blockchain que não necessita de intervenção humana, nem mesmo em sua criação, já que o foco quando falamos de Ethereum é no negócio/contrato.

Dapps

Aplicativos que tem seu backend rodando nos smart contracts são chamados de descentralizados ou dapps, eles podem interagir com a rede por meio de bibliotecas como o web3js. Sem a necessidade de cuidar de toda a parte complexa, focando apenas nos smart contract. Para entender como os aplicativos ganham esses benefícios pense no seguinte, os smart contracts são instalados e executam diretamente na EVM, o que permite a regra de negócio já estar disponível para uso, sem a necessidade de se pensar sobre criar uma rede blockchain. Uma vez que a estrutura da rede já está garantida, só resta a camada que determina o acesso ou uso da lógica contida nestes smart contracts. Eis que então entra a criação de aplicativos que se comunicarão com a Ethereum, e consequentemente vão usar os smart contracts para rodar a lógica de negócio, fazendo jus ao conceito de aplicações descentralizadas, lembre-se, os smart contracts estão instalados em uma rede blockchain, portanto existem os conceitos de consensus, imutabilidade e etc… Nos próximos posts assuntos como a EVM ficarão mais claros, mas por enquanto entenda que a Ethereum é um protocolo e sua plataforma é a EVM.

Mas se você ainda não está convencido ou tem dúvidas se é possível a criação de determinados tipos de aplicações para a Ethereum, aqui tem uma lista que podem ajudá-lo (a) a entender melhor.

Gitcoin - Uma comunidade descentralizada de desenvolvedores, que ganham incentivos por trabalhar e contribuir em projetos open source. É possível pegar trabalhos e participar de hackathons recebendo incentivo por isso.

Golem - É um computador global, open source e decentralizado, que é resultado do poder computacional de usuários que o disponibilizam na rede. Sendo capaz de processar uma variedade de tarefas, desde computação gráfica à machine lerning.

CriptoKitties - Um jogo onde você coleta e cria gatos digitais colecionáveis. Pense na possibilidade de comprar ou vender uma ativo dentro de um jogo, e claro como é utilizado Ether para essas transações, então estamos falando de dinheiro de verdade sendo utilizado. E mais, caso consiga um gato que possa ser vendido por um valor atrativo, é tecnicamente possível fazer dinheiro com isso.

DAI - Uma criptomoeda estável que tem valor de USD 1

Criando dapps

De maneira geral o site da Ethereum tem uma seção só para desenvolvedores, que conta com uma seria de artigos e vídeos, que explicam desde como a rede funciona, até como criar aplicações ou começar a minerar.

Mas se você acha complicado sair recolhendo entendimento de vários conteúdos, não se preocupe, estamos dando início a uma série de posts onde trarei um compilado de conhecimento que vai te ajudar a iniciar no desenvolvimento.

Qualquer duvida entre em contato por aqui ou pelo linkedin, obrigado e até a próxima.