Slides da Minha palestra no TDC de como desenvolver , publicar e executar smart contracts no Blockchain Ethereum no Azure através da sua abordagem de BaaS ( BlockChain As A Service ).
2. Globalcode – Open4education
Agenda
Blockchain Smart Contracts no Azure
Blockchain
O que é? Onde Vive ? O que come?
BaaS – Blockchain As a Service
Smart Contracts
O que é?
Qual Plataforma Usar?
Com o que desenvolver?
Demo Solidity + Ethereum + Azure = Smart Contract
6. Globalcode – Open4education
Smart Contratcs
Partem do mesmo princípio dos Contratos físicos
Contem Obrigações, direitos e Clausulas
Melhor uso para Clausulas Objetivas
Não necessariamente está em uma Blockchain
App
Não possui Inteligência Artificial
Chain of Blocks
Foi primeiramente definido no código-fonte original do bitcoin e, portanto, sua origem se confunde com a da moeda digital. A definição original foi criada em 2008 com a publicação do artigo "Bitcoin: A Peer-to-Peer Electronic Cash System" por Satoshi Nakamoto. As palavras “bloco” e “cadeia” (block and chain) foram usadas separadamente no documento original de Satoshi, em outubro de 2008
Ao longo dos primeiros anos, a palavra foi modificada, para ser um pouco mais sonora, com isso chegamos ao que temos hoje: Blockchain. Em 2014, surge o termo "Blockchain 2.0" usado para descrever um novo projeto no campo de banco de dados distribuído ou tecnologia de registros distribuídos (o que seria, na sigla em inglês, DLT)
Um bloco é um conjunto de transações que foram agrupadas e validadas pelos mineradores.
Cada bloco está ligado ao bloco anterior, criando assim uma cadeia de blocos. Para ter validade, cada bloco deve estar ligado ao bloco anterior, referindo-se a ele. Assim, é criada uma cadeia de blocos. Essa estrutura marca permanentemente o momento e armazena as trocas de valor que são realizadas na rede, impedindo que qualquer pessoa altere o livro-razão ou a cadeia de blocos;
Imagine esse registro no Blockchain como uma anotação feita em uma linha do Excel; Os registros são validados em sequencia, tornando-se imutáveis com a validação da rede;
block chain publico
A distinção entre Blockchains públicas e privadas está relacionada a quais indivíduos é permitido participar da rede, além de executar o protocolo de consenso e manter o livro-razão compartilhado. Um Blockchain público está completamente aberto e qualquer um pode participar e ser um nó da rede, que possui um mecanismo para incentivar a integração de mais participantes. O Blockchain do Bitcoin é uma das maiores redes públicas em produção hoje. Uma das desvantagens de um Blockchain pú- blico é a quantidade substancial de poder computacional que é necessário para manter o banco de dados distribuído em grande escala.
blockchain federado
Esse Blockchain opera sob a liderança de um grupo. Ao contrário dos Blockchains públicos, eles não permitem que qualquer pessoa com conexão à internet participe no processo de verificação de transações. Os Blockchains federados são mais rápidos (maior escalabilidade) e oferecem mais privacidade de transações. As cadeias de bloco do consórcio são principalmente usadas no setor bancário. O processo de consenso é controlado por um conjunto pré- -selecionado de nós; por exemplo, pode-se imaginar um consórcio de 15 instituições financeiras, cada uma das quais opera um nó e das quais 10 devem assinar todos os blocos para que o bloco seja válido. O direito de ler o bloco pode ser público ou restrito aos participantes.
blockchain privado
Uma rede privada de blocos requer um convite e deve ser validada pelo iniciador da rede ou por um conjunto de regras implementadas por ele. As empresas que configuraram uma cadeia de blocos privada geralmente estabelecem uma rede aprovada. Isso coloca restrições sobre quem é permitido participar na rede e somente em determinadas transações. Os aspirantes precisam obter um convite ou permissão para integrar à rede. O mecanismo de controle de acesso pode variar: os participantes existentes podem decidir futuros participantes; uma autoridade reguladora pode emitir licenças de participação; ou um consórcio poderia tomar as decisões. Uma vez que uma entidade se juntou à rede, ela desempenhará um papel na manutenção da cadeia de blocos de forma descentralizada.
O projeto Ethereum decidiu criar sua própria cadeia de blocos, com propriedades muito diferentes que a do Bitcoin, desacoplando a camada de contrato inteligente do protocolo core do Blockchain. Dessa maneira, foi possível oferecer uma nova forma de criar mercados on-line e transações programáveis conhecidas como contratos inteligentes ou “smart contracts”.
Os contratos inteligentes partem do mesmo princípio dos contratos tradicionais, funcionando como a concretização de um acordo entre os envolvidos. Ali são apontadas as responsabilidades, as obrigações e os direitos de cada uma das partes. A principal diferença é que um contrato inteligente é capaz de executar suas cláusulas de forma automática. É isso mesmo: os smart contracts conseguem cumprir a si mesmos.
Você provavelmente conhece um contrato tradicional, certo? Vamos hoje usar um acordo de locação como exemplo. Além de listar as informações do locador e do locatário, como nome completo, profissão e documentos pessoais, esse contrato ainda indica o tempo de duração do aluguel, qual será o índice de reajuste, as penalidades em caso de atrasos no pagamento, entre vários outros fatores. Trata-se, portanto, de um documento legal que serve para basear as ações das partes envolvidas.
É, no entanto, um documento rígido. Sem contar que os controles de pagamento, por exemplo, devem ser feitos por outro meio. Assim, com o valor do aluguel sendo atualizado a cada ano, o contrato precisa receber um anexo para não perder sua pertinência.
Agora imagine se fosse possível criar um contrato que atualizasse de forma automática o reajuste anual, identificando a oscilação do índice escolhido pelas partes e aplicando essa taxa ao valor atual, como combinado. Não seria ótimo se o próprio programa conseguisse identificar esse aumento e atualizar as informações do contrato sem precisar de qualquer intervenção humana direta? Pois essa é exatamente a ideia do smart contract!
Quais as vantagens dos smart contracts?
Por serem os principais responsáveis por realizar os registros das transações dentro do blockchain, os smart contracts são ferramentas essenciais para o funcionamento de todo o mercado de criptomoedas. Mas eles trazem vantagens que vão além desse universo, como você vai ver a partir de agora!
Rapidez
Feitos por meio de uma programação que já leva em conta diversos fatores, como as regras financeiras e tributárias que incidem sobre determinada transação, os contratos inteligentes são muito rápidos.
Nesse contexto, as partes não precisam fazer consultas jurídica e legal a cada novo acordo, já que os requisitos já foram incluídos na programação inicial. Cabe ao cliente, portanto, apenas ler o contrato eletrônico e assiná-lo! Dessa forma, saem de cena cartórios, impressões em várias vias, envio de papéis via motoboy ou correios, dando lugar a dashboards de uso simples, acionados por pouquíssimos cliques.
Segurança
Os acordos feitos por meio de contratos inteligentes são muito seguros, a começar pelos requisitos legais, como falamos no tópico anterior. Mas os arquivos em si também recebem uma série de recursos antifraude, em especial a criptografia. Assim, os dados só são lidos por quem possui a chave para acessar determinado arquivo, o que pode se restringir a apenas o comprador e vendedor, por exemplo.
Dessa forma, é possível não só garantir a origem e a destinação dos contratos como até identificar quando e por que o documento foi alterado. Com isso, a integridade do arquivo é preservada, o que, por consequência, consolida a lisura do acordo.
Comodidade
O combo segurança e rapidez dá uma comodidade inédita às transações virtuais. Hoje em dia, a maior parte dos negócios digitais feita entre desconhecidos no Brasil se dá via marketplaces — como o Mercado Livre. Esse mediador atua ativamente para garantir que nem quem compra nem quem vende seja lesado. No entanto, esse serviço é prestado com um custo que se traduz nas taxas cobradas pelos próprios marketplaces.
Ao eliminar a necessidade de um intermediador externo, o contrato inteligente dá autonomia às partes diretamente envolvidas. Sem intermediadores, o custo das transações cai consideravelmente, sem que se perca por isso a segurança de vista.
Controle
Como os smart contracts são autoexecutáveis, permitem um nível de controle de processos excelente. Voltando ao exemplo da locação de carros: o locador consegue usar informações coletadas pelo próprio contrato. Conhecendo a distância percorrida pelo veículo enquanto locado, é possível entender o consumo médio de combustível e fazer cálculos de despesas médias, identificando a lucratividade da transação.
Integração
O grande diferencial dos contratos eletrônicos inteligentes é que eles também podem ser usados em ferramentas automatizadas de gestão empresarial. Com isso, você consegue aproveitar os dados dos arquivos para entender melhor o funcionamento da sua empresa, sempre tomando como base informações realmente qualificadas.
Seu negócio pode usar um sistema de Digital Transaction Management (DTM), que coleta e organiza os arquivos de forma inteligente, além de ainda usar essas informações para gerar relatórios ricos para a tomada de decisões. Você consegue, assim, identificar quais clientes geram mais contratos de vendas ou quais compradores têm maior ticket médio, por exemplo.
Os sistemas DTM ainda funcionam baseados na nuvem, o que significa que você pode criar, assinar e enviar documentos de forma segura e rápida por meio de qualquer dispositivo conectado à internet — seja um notebook, um tablet ou um smartphone.
Que setores são diretamente impactados?
Como falamos, os contratos inteligentes ganharam popularidade acompanhando o crescimento das criptomoedas, já que são pontos-chave para o funcionamento correto dessas transações. Mas por mais que a moeda virtual já seja aceita em vários tipos de negócios, como e-commerces, hotéis, restaurantes e até mesmo bancos tradicionais, isso não significa que só quem usa Bitcoins será impactado.
Na prática, o modelo pode ser replicado em diversos outros nichos, agregando todas as vantagens que acabamos de listar no tópico anterior. Para que isso fique claro, vamos a alguns exemplos?
Varejo online
O varejo online está na liderança do uso de contratos inteligentes, sendo sua utilidade evidente em um processo bem simples: a confirmação de recebimento dos produtos, com a respectiva autorização de transferência de valores.
Pense na venda de um tênis feita por um holandês para um brasileiro, por exemplo. Como o frete é demorado e existe a possibilidade de que a entrega nunca se concretize, estabelece-se que a transferência dos valores (seja por meio de moeda virtual ou cartão de crédito tradicional) só será realizada após o comprador receber o calçado na sua casa, em um prazo previamente definido.
Nesse caso, o contrato inteligente pode usar o rastreador dos Correios ou da transportadora envolvida para acompanhar a entrega do produto, que, quando realizada, libera o próprio smart contract a fazer o pagamento ao vendedor.
Mercado imobiliário
Abrimos este post citando o uso hipotético do smart contract em um acordo de aluguel. E não é nada difícil imaginar, nesse contexto, que controlar automaticamente a adimplência de locatários é muito mais prático que conferir o extrato bancário mês a mês, certo? Quando falamos no alto volume de acordos sob a responsabilidade de uma imobiliária, fica evidente que o controle manual não é uma boa opção.
Os contratos inteligentes também podem ser usados para transações de compra e venda de imóveis, bem como funcionar como aliados na administração de condomínios — usados tanto com os próprios condôminos quanto na contratação de fornecedores. Ao contratar uma empresa de reforma predial, por exemplo, eles entram como uma forma de garantir que a terceirizada só receberá a quantia combinada quando certas etapas da obra forem concluídas, garantindo celeridade e confiabilidade na relação.
Meio jurídico
É simplesmente impossível pensarmos em acordos judiciais sem imaginar papéis e mais papéis a serem assinados à caneta, oficializados por autoridades e arquivados em alguma estante de fórum. Mas é claro que o peso da burocracia acaba impactando negativamente a efetividade dos acordos. Afinal, fica difícil averiguar as partes estão de fato cumprindo o combinado se até encontrar a pasta do acordo judicial já é um desafio enorme.
Com contratos inteligentes, as partes podem oficializar os documentos judiciais usando ferramentas de controle autoexecutáveis. Assim, se a empresa fez um acordo com um fornecedor para ser indenizada por um serviço incorretamente prestado e a indenização deve acontecer em 15 parcelas, por exemplo, o próprio contrato pode ser dotado de ferramentas para identificar a regularidade do pagamento. No caso de atrasos, é possível emitir um alerta para os setores responsáveis, por exemplo.
Mercado de seguros
Outro mercado que depende de uma boa gestão de contratos é o das seguradoras. Hoje em dia, as empresas já investem pesado para criar documentos abrangentes, que apontem cada tipo de sinistro a ser coberto, em quais circunstâncias e em quais prazos. Nesse cenário, um sistema de acordos inteligentes ajuda a ganhar velocidade e segurança nos processos internos.
E se o segurado de um veículo só puder renovar seu seguro quando o pagamento do IPVA estiver em dia? Pois o contrato inteligente pode ser programado para só autorizar a renovação quando detectar o pagamento do tributo. No futuro, o smart contract ainda será capaz de entender se o proprietário fez as manutenções programadas pela fabricante e, usando dados de geolocalização, averiguar se um acidente causador de sinistro aconteceu dentro de uma cidade ou um estado coberto pelo seguro.
pragma solidity ^0.4.23;
contract MeuNome {
string public name;
function setNome(string newName)public{
name = newName;
}
}