Contratos inteligentes sob a ótica da arquitetura Blockchain
Vimos nesta coluna a inovação que o blockchain possibilitou aos contratos inteligentes.
No artigo de hoje, vamos ver os contratos inteligentes dentro da infraestrutura blockchain.
- Ficou com alguma dúvida? O Be[in]Crypto possui uma série de artigos para lhe ajudar a entender o universo cripto. Confira!
- Se quiser ficar atualizado no que acontece de mais importante no espaço cripto, junte-se ao nosso grupo no Telegram!
Mas, antes, é preciso compreendermos um blockchain do ponto de vista do seu desenvolvimento. Isto é importante para que você consiga compreender como aplicativos blockchain são construídos numa arquitetura blockchain.
O que é pilha de infraestrutura blockchain?
Uma pilha de desenvolvimento diz respeito às camadas de desenvolvimento de software de determinada tecnologia e, no nosso caso, da tecnologia blockchain.
Ou seja, do ponto de vista do desenvolvimento de software (da maneira como as pessoas constroem soluções blockchain), é sempre útil pensar em três camadas primárias.
Nesse passo, a arquitetura blockchain pode ser dividida basicamente em três camadas: protocolo, rede e aplicativos. Veja imagem abaixo:
1 – Camada de protocolo
A camada de protocolo é a camada mais inferior de uma arquitetura blockchain. Ela se refere ao protocolo em si, isto é, às regras do blockchain que você está usando. É na nessa camada que são estabelecidas as linguagens computacionais, as regras computacionais, incluindo como a maneira como os nodes chegam ao consenso, a política monetária, etc.
Em resumo, é a camada de protocolo que torna possível trabalhar com o blockchain, definindo, por exemplo, como os ativos são emitidos, transferidos, controlados e, como determinada organização pode operar na camada de rede. A camada de protocolo é o software que você está executando, e que está validando as transações dentro de um sistema blockchain específico.
2 – Camada de rede
Acima da camada de protocolo, temos a camada de rede que são as milhares ou dezenas de milhares de computadores, dispositivos em todo o mundo, que estão executando este software. E esta camada é realmente importante porque traz implicações para a segurança e a resiliência do sistema.
Por exemplo, quando um projeto precisa de uma maior segurança cibernética ou uma forte integridade dos dados, geralmente busca blockchains públicos de código aberto para ter uma rede amplamente distribuída (ou o mais descentralizada possível), que é mais difícil de atacar e mais resistente à censura. Quanto mais distribuída a rede, mais difícil é para as pessoas mudarem os históricos de transações (imutabilidade).
3 – Camada de aplicação
A camada de aplicação que fica no topo de uma arquitetura blockchain, acima da camada de protocolo e da camada de rede, é onde os usuários interagem com o blockchain. A camada de aplicação existe para determinado caso de uso específico e atende aos requisitos do usuário.
Imagine que os aplicativos dependem de um protocolo (um software), eles também necessitam de uma camada de rede (infraestrutura de rede) e acesso a esta rede (como este software é implementado na vida real), e em terceiro lugar, mas não menos importante, precisam de uma camada onde a tecnologia blockchain é monetizada (também conhecida como de aplicação) que é a interface entre consumidores, usuários comerciais, empresas, entidades, dispositivos de IoT e da complexidade técnica subjacente do blockchain.
Daí, a camada de aplicação é onde as pessoas estão usando a tecnologia blockchain para oferecer um produto ou um serviço a um cliente final.
Pois bem, agora que estamos todos na mesma página, vamos avançar para o segundo tópico de nosso artigo de hoje.
Contratos inteligentes no contexto da pilha de desenvolvimento blockchain
Sob o ponto de vista dos contratos inteligentes, na camada de protocolo, é importante selecionar um protocolo blockchain capaz de executar contratos inteligentes. Hoje, há muitas opções de protocolo; e provavelmente, o mais conhecido é o Ethereum. Aqui, vale a pena destacar que na Era Blockchain 2.0, desenvolvedores aprimoraram contratos inteligentes para inserir lógica de negócios e regras de governança em blockchain, viabilizando a digitalização da sociedade e a Economia da Web.
O Ethereum é um protocolo blockchain que é otimizado para executar contratos inteligentes e aplicativos descentralizados.
Outro protocolo bem conhecido que você pode achar que não poderia ser usado para contratos inteligentes, é o Bitcoin em si. Já há soluções como a Rostock (RSK), que adiciona funcionalidades de contratos inteligentes mais sofisticadas ao Blockchain Bitcoin.
O Rootstock combina a flexibilidade de programação da Ethereum com os mecanismos de pagamento do bitcoin para criar um protocolo híbrido que nos dá o melhor dos dois mundos.
Por fim, existem protocolos como Tezos, BNB Chain e outros, que trazem novos recursos para contratos inteligentes.
O Tezos é um protocolo blockchain, que possui seu próprio token, que permite o script de contrato inteligente em uma linguagem chamada OCaml, que é um pouco diferente da linguagem de programação Solidity da Ethereum.
Mas o mais importante é que o Tezos possui um recurso chamado verificação formal, que permite testar as condições de um contrato antes de implementar o código. E isto é bem interessante, pois permite que você teste se um contrato inteligente (código de software) que pode ser muito difícil de testar antes de ser implantado no mundo real. Ou seja, o protocolo Tezos permite que você teste este código antes de executá-lo in natura.
Claro que há muito trabalho sendo feito hoje em torno de contratos inteligentes e a definição de novos protocolos nessa camada base que permitirão às pessoas escreverem softwares de contrato inteligente.
Pois bem, avançando mais um pouco, e passando à segunda camada da nossa pilha de desenvolvimento blockchain, a camada de rede é realmente interessante quando falamos em contratos inteligentes.
Se temos contratos inteligentes que são programas de software em execução em dispositivos em todo o mundo, precisamos de uma maneira de garantir que todos esses dispositivos sejam seguros e não sejam capazes de alterar as condições de um determinado contrato inteligente depois que ele for gravado.
Mais uma vez, é aqui que o uso de blockchains abertos e públicos que possuem redes amplamente distribuídas é especialmente valioso.
Embora haja muitas empresas experimentando implementações privadas de contratos inteligentes, um dos desafios que ainda precisa ser visto é se essas redes podem ou não ser seguras o suficiente para armazenar e gerenciar esses contratos a longo prazo, ou se novos tipos de provedores de rede serão necessários para gerenciar esses contratos em nome de terceiros e servir como intermediários e árbitros de confiança.
Por último, mas não menos importante, são os contratos inteligentes no contexto da camada de aplicação.
Há muitas empresas diferentes que estão trabalhando para implementar contratos inteligentes para vários casos de uso diferentes. E os casos de uso atraentes para contratos inteligentes, como já vimos, são quase ilimitados. Pense por exemplo em jogos.
E se você pudesse entrar em uma aposta esportiva sem ter que ir a uma loja de apostas esportivas ou a um corretor? E você pudesse fazer uma aposta com seu amigo onde, se seu time de futebol favorito ganhar, você ganha R$ 500 reais; se o time de futebol do seu amigo ganhar, ele ganha R$ 500 reais. Esta é uma aposta bastante simples que hoje você consolidar em um simples pedaço de papel, através de uma nota promissória, ou então, através da intermediação de terceiros.
Mas, além dessas possibilidades analógicas de efetivação da aposta entre você e seu amigo, há muito já é possível viabilizar referida aposta via contrato inteligente em que ambos colocam fundos em um depósito (cada um colocaria R$ 500 reais no contrato) e, em seguida, com base no resultado do jogo, o contrato inteligente seria executado automaticamente com base no resultados desse jogo, e liberaria o pagamento para a carteira digital de quem ganhou a aposta.
Claro que este é um exemplo muito simples do que é possível fazer com contratos inteligentes na camada da aplicação. À medida que pensamos no que é possível no lado empresarial, as oportunidades tornam-se muito mais interessantes e criativas.
Pense em tomar uma apólice de seguro de vida. Uma apólice de seguro de vida é aquela que tem um resultado binário. Ou você está vivo, ou morreu. Logo, se a condição de falecimento tiver sido cumprida, há um pagamento que é emitido para seus familiares ou quem quer que seja o beneficiário de sua apólice.
Note que hoje, o processo “analógico” de emitir um pagamento de seguro de vida para um beneficiário é muito demorado, desafiador e dispendioso. Mais importante, este é um momento realmente desafiador e geralmente doloroso na vida de alguém.
E se, numa situação destas, você não precisasse lidar com companhias de seguro de vida e afins? Você já pensou na possibilidade de uma apólice de seguro de vida que seja, na verdade, um contrato inteligente? Esta não seria uma ótima oportunidade, não apenas para as seguradoras de vida economizarem custos, mas também para familiares e beneficiários que receberiam a indenização em menor tempo, sem burocracia e de maneira automática?
Conhecimento é poder!! Nos vemos em breve!
O artigo Contratos inteligentes sob a ótica da arquitetura Blockchain foi visto pela primeira vez em BeInCrypto Brasil.