SlideShare uma empresa Scribd logo
1 de 17
Manoel Guilherme de Faria Moraes
Orientador(a): Rafaelli de Carvalho Coutinho
PPCIC – Programa de Pós-
graduação em Ciência da
Computação
Blockchain
Outline
Testnet Blockchain
Blockchain SaaS – azure e aws
Simuladores Blockchain
TestNet Blockchain
Rede de teste (testnet), é uma rede segmentada da rede principal que visa permitir a capacidade dos
desenvolvedores de testar alterações de software sem tocar na rede principal.
Os benefícios diversos, porque nos permite:
• Desenvolver uma aplicação
• Testar uma funcionalidade
• Melhorar um algoritmo sem utilizar a rede principal
Dentre as redes pesquisadas destacamos as seguintes:
• Bitcoin TestNet
• Ethereum TestNet
• Hyperledger TestNet
Bitcoin TestNet
• Bitcoin TestNet
A rede de testes oficial do Bitcoin, tem tamanho aproximado de 24Gb, bem menor que a rede main do blockchain
que tem 272 Gb.
É necessário utilizar alguma “torneira”(faucets) de moedas de teste, as mais comuns são:
• Bitcoin Testnet Explorer (web)
• BlockCypher Testnet Explorer (Web e API)
• Bitcoin Testnet Faucet (API)
Existem dessas “torneiras” em algumas linguagens de programação, Java, Python, C.
Existem outras linguagens como C++, MathLab, dentre outras, essa lista ficaria muito
extensa.
Algumas com API Rest completas e muito robustas que o caso da BlockCypher.
https://en.bitcoin.it/wiki/Testnet
Na rede de teste os blocos são diferentes, não tem o mesmo início, modificam seu endereço de versão, o bloco Genesis também é
diferente. O consenso é o mesmo nas duas PoW.
Main Test
ADDRESSVERSION 0x00 0x6F
Cabeçalho Msg Protocolo 0xF9BEB4D9 0x0B110907
Porta de comunicação 8333 18333
Podemos dizer que a principal diferença entra a Main e a Test é que as moedas não tem
valor. Pois na rede de teste não existe um custo considerável
Ethereum TestNet
• Ethereum TestNet
A rede ethereum de testes, uma das redes de testes mais utilizada, tanto para trabalhos públicos como privados, isso é notável pelo
tamanho de sua rede de testes.
A rede de testes Ethereum, tem tamanho aproximado de 56 Gb, bem menor que a rede main do blockchain que tem
aproximadamente 146 Gb.
https://eth.bitaps.com/
Tem o funcionamento muito parecido com o da rede do bitcoin.
Na rede de teste os blocos são diferentes, não tem o mesmo início, modificam seu endereço de versão, o bloco Genesis também é
diferente. O consenso é o mesmo nas duas PoW.
• Ropsten Network
• Kovan network
• GanacheCLI ( que funciona junto com o truffle
para simular uma rede blockchain inteira)
Aqui podemos testar também as moedas por meio de “torneiras” ou
podemos testar outros tipos de dados, como
uma troca de arquivos, ou um contrato inteligente.
Hyperledger TestNet
• Hyperledger TestNet
Tem uma pegada mais comercial, focada em aplicações de mercado. Conforme seu próprio site diz:
https://www.hyperledger.org/
“Hyperledger é uma comunidade de código aberto focada no desenvolvimento de um conjunto
de estruturas estáveis, ferramentas e bibliotecas para implantações de blockchain de nível
empresarial.”
Tem grandes empresas como IBM e AWS por trás.
Existem alguns projetos nessa iniciativa, mas o que mais nos interessa é o Fabric, dai o nome Hyperledger Fabric.
O fabric também é um projeto de tecnologias blockchain que oferece a possibilidade de encaixar várias implementações para certas
funcionalidades.
• Blockchain permissiva com finalidade imediata
• Ambientes para a execução de contratos inteligentes
• Módulos de consenso PBFT, NOOPS e SIEVE
• Framework de eventos que suporta eventos predefinidos e customizados
• SDK Client e API REST Básicas e Ferramentas CLI
Em linhas gerais existe uma comunidade muito
ativa, aproximação com universidades ao redor do
mundo. Tem muitos projetos em andamento, mas
todos com a ideia incomum da blockchain.
https://wiki.hyperledger.org/
Os dois “clientes” mais utilizados são da IBM, chamado IBM BlockChain que se integra ao visual Studio e o outro é o
cliente da AWS, essa inclusive com serviço de Blockchain já comercial.
Blockchain SaaS
Introdução
Blockchain-as-a-Service (BaaS) é uma nova modalidade de serviço oferecida por provedores de cloud para que empresa ou instituições
de ensino possam construir, hospedar e usar seus próprios aplicativos blockchain , contratos inteligentes e funções
na infraestrutura blockchain desenvolvida por esses provedores.
Temos diversos Players (fornecedores), que oferecem esse serviço, os mais conhecidos são:
• AWS
• Microsoft
• IBM
• SalesForce
• Alibaba
• Oracle
• Google
Blockchain SaaS
• AWS
Existem na aws, basicamente dois serviços QLDB (aws ledger Database) e o AWS managed Blockchain
QLDB – é um banco de dados de livros contábeis gerenciado que fornece um log de transações
centralizado, imutável e Verificável em sua criptografia.
AWS MB - Serviço gerenciado que facilita a criação e o gerenciamento de
redes de blockchain escaláveis e da tecnologia de livros contáveis distribuídos.
Além de contar com diversos parceiros de MKP.
Suporte a Ethereum e Hyperledger.
Extremamente escalável.
https://aws.amazon.com/pt/blockchain/
Blockchain SaaS
• AWS Preços
Valores de referencia
https://aws.amazon.com/pt/blockchain/
Valor para fazer parte da rede Hyperledger Fabric
AWS managed Blockchain Test
BlockChain SaaS
• Microsoft Azure
Azure Blockchain Service
O Azure Blockchain Service é um serviço contábil totalmente gerenciado que permite aos usuários ampliar e operar redes de blockchain em escala no Azure. Ao fornecer controle
unificado para gerenciamento de infraestrutura e governança de rede de blockchain, o Azure Blockchain Service fornece:
• Implantação e operações de rede simples
• Gerenciamento do consórcio interno
• Desenvolva contratos inteligentes com ferramentas de desenvolvimento conhecidas
Azure Blockchain Workbench
Azure Blockchain Workbench é uma coleção de serviços e recursos do Azure desenvolvidos para implementação de aplicativos de blockchain com objetivo de compartilhar processos
empresariais e dados com outras organizações. Oferece uma escala (scaffolding) da infraestrutura para desenvolver aplicativos de blockchain, permitindo que os desenvolvedores
foquem na criação de lógica de negócios e contratos inteligentes. Ele também facilita a criação de aplicativos de blockchain integrando vários recursos e serviços do Azure para ajudar a
automatizar tarefas comuns de desenvolvimento. (Ainda está em versão Beta)
* Suporte ao ledger Ethereum Quorum usando o mecanismo de consenso IBFT
https://docs.microsoft.com/pt-br/azure/blockchain/
BlockChain SaaS
• Microsoft Azure Preços
Valores de referencia
• Importante salientar que os preços nas
calculadoras do azure não refletem o real valor
da cobrança
https://docs.microsoft.com/pt-br/azure/blockchain/
Simuladores
Um simulador de blockchain (ou rede blockchain), é necessário para que possamos testar determinadas características,
ou algoritmos específicos, apps desenvolvidos e melhorias em estruturar para blockchain.
As vantagens de um simulador permeiam
• Escala
• Capacidade de fazer testes menores de maneira controlada, antes de partir para testes maiores.
• Podemos testar especificidades de nossos experimentos.
• A relativa facilidade de implementações desses simuladores também é um ponto forte.
Uma das desvantagens que podemos observar é que muitos desses simuladores não tem documentação muito completa,
dificultando a sua utilização devido a necessidade de conhecimento e estuda da sua arquitetura.
Simuladores
• SimBlock
Exemplo de um artigo:
Ryunosuke Nagayama, Kazuyuki Shudo, “Simulating Ethereum Network with SimBlock”, lightning talks, Devcon 5 (by Ethereum Foundation), October 2019
https://dsg-titech.github.io/simblock/
SimBlock é um simulador de rede blockchain de código aberto, desenvolvido pelo Distributed Systems Group, Tokyo Institute of Technology.
O SimBlock é orientado por eventos e é adequado para uso em pesquisa de rede de blockchain.
O SimBlock também possui uma ferramenta de visualização, pela qual você pode ver a transição da propagação do bloco.
O SimBlock é desenvolvido em Java e multi plataforma, tendo uma documentação que é bastante completa.
Permite o uso em uma IDE como eclipse.
É possível criar uma rede própria ou testar sob uma outra rede blockchain conhecida.
Já existem alguns artigos académicos publicados utilizando essa plataforma de teste.
O projeto esta todo no github.
Permite testes em grande escala.
Simuladores
• BlockSim
Uma estrutura para modelar e simular um protocolo Blockchain.
Ele segue um modelo de simulação de eventos discretos. Atualmente, existem modelos para simular Bitcoin e Ethereum.
Ainda em fase beta, segundo o projeto
Tem ligação com a Universidade de Lisboa, existe um paper com as apresentações do simulador.
https://github.com/carlosfaria94/blocksim?ref=hackernoon.com
Endereço do paper
https://static.carlosfaria.pt/file/personal-assets/papers/blocksim-blockchain-simulator.pdf
Desenvolvido em Python
Permite testes em larga escala, mas com a limitação das redes.
Simuladores
• Bitcoin Simulator
O Simulador de Bitcoin é construído no ns3 , o popular simulador de eventos discretos. Também utiliza o rapidjson para facilitar o processo de
comunicação entre os nós.
O objetivo deste projeto é estudar como parâmetros de consenso, características de rede e modificações de protocolo afetam a escalabilidade, segurança
e eficiência de blockchains alimentados por Proof of Work.
Esse simulador foi construído pelo Dr. Arthur Gervais, professor do Imperial College of London.
https://arthurgervais.github.io/Bitcoin-Simulator/
Desenvolvido em C++
Simuladores
• Código todo feito em python
Analisamos um código todo implementado em python que simula toda uma blockchain.
Ele implementa todas as etapas de um processo de blockchain, desde a criação do bloco até a finalização da operação.
Esta implementado com um algoritmo de PoW, e permite teste em vários nodes físicos, virtuais ou dockerizado.
Com ajustes no código podemos modificar o PoW por outro algoritmo de consenso.
Não é um artigo acadêmico, mas o código é bem funcional.
Aparentemente o código permite testes em grande escala, mas não implementei na pratica ainda.
https://hackernoon.com/learn-blockchains-by-building-one-117428612f46?ref=hackernoon.com
Simuladores
• Outros
Existem outras possibilidades para o teste.
• VIBES
• BlockChain Demo
• Bitcoin Simulator
• BlockBench
https://hackernoon.com/learn-blockchains-by-building-one-117428612f46?ref=hackernoon.com
Mas nesses citados não fizemos aprofundamentos pesquisas, com uma nota de utilização em alguns
trabalhos acadêmicos do MATLAB Blockchain que é uma biblioteca do MathLab.
https://www.mathworks.com/matlabcentral/fileexchange/65419-matlab-blockchain-example

Mais conteúdo relacionado

Semelhante a Apresentação sobre blockchain, executada no mestrado de ciencia da computação

Cloud Solutions com o Microsoft Azure - TDC Online Especial BH
Cloud Solutions com o Microsoft Azure - TDC Online Especial BHCloud Solutions com o Microsoft Azure - TDC Online Especial BH
Cloud Solutions com o Microsoft Azure - TDC Online Especial BHRenato Groff
 
Docker de ponta a ponta: do Desenvolvimento à Nuvem - Azure Talks - Agosto-2018
Docker de ponta a ponta: do Desenvolvimento à Nuvem - Azure Talks - Agosto-2018Docker de ponta a ponta: do Desenvolvimento à Nuvem - Azure Talks - Agosto-2018
Docker de ponta a ponta: do Desenvolvimento à Nuvem - Azure Talks - Agosto-2018Renato Groff
 
Docker | Minicurso Gratuito - Azure na Prática
Docker | Minicurso Gratuito - Azure na PráticaDocker | Minicurso Gratuito - Azure na Prática
Docker | Minicurso Gratuito - Azure na PráticaRenato Groff
 
Arquitetura Serverless na AWS
Arquitetura Serverless na AWSArquitetura Serverless na AWS
Arquitetura Serverless na AWSStefan Horochovec
 
Docker de ponta a ponta - do Desenvolvimento à Nuvem - .NET SP - Outubro-2018
Docker de ponta a ponta - do Desenvolvimento à Nuvem - .NET SP - Outubro-2018Docker de ponta a ponta - do Desenvolvimento à Nuvem - .NET SP - Outubro-2018
Docker de ponta a ponta - do Desenvolvimento à Nuvem - .NET SP - Outubro-2018Renato Groff
 
Novidades do .NET Core 2.1 e do ASP.NET Core 2.1
Novidades do .NET Core 2.1 e do ASP.NET Core 2.1Novidades do .NET Core 2.1 e do ASP.NET Core 2.1
Novidades do .NET Core 2.1 e do ASP.NET Core 2.1Giovanni Bassi
 
Configuração de ativos de rede utilizando a abordagem infrastructure as code
Configuração de ativos de rede utilizando a abordagem infrastructure as codeConfiguração de ativos de rede utilizando a abordagem infrastructure as code
Configuração de ativos de rede utilizando a abordagem infrastructure as codeAécio Pires
 
Construindo aplicações Cloud Native em Go
Construindo aplicações Cloud Native em GoConstruindo aplicações Cloud Native em Go
Construindo aplicações Cloud Native em GoAlvaro Viebrantz
 
Aplicações Distribuídas com Azure Service Bus + Azure Functions - Azure Tech ...
Aplicações Distribuídas com Azure Service Bus + Azure Functions - Azure Tech ...Aplicações Distribuídas com Azure Service Bus + Azure Functions - Azure Tech ...
Aplicações Distribuídas com Azure Service Bus + Azure Functions - Azure Tech ...Renato Groff
 
Kubernetes de ponta a ponta: do Pod ao Deployment Automatizado - Janeiro-2020
Kubernetes de ponta a ponta: do Pod ao Deployment Automatizado - Janeiro-2020Kubernetes de ponta a ponta: do Pod ao Deployment Automatizado - Janeiro-2020
Kubernetes de ponta a ponta: do Pod ao Deployment Automatizado - Janeiro-2020Renato Groff
 
Ferramenta de Cloud Computer para apoio à Engenharia de Software
Ferramenta de Cloud Computer para apoio à Engenharia de SoftwareFerramenta de Cloud Computer para apoio à Engenharia de Software
Ferramenta de Cloud Computer para apoio à Engenharia de SoftwareDanilo Sousa
 
Docker de ponta a ponta: do Desenvolvimento à Nuvem - UNICID - Novembro-2019
Docker de ponta a ponta: do Desenvolvimento à Nuvem - UNICID - Novembro-2019Docker de ponta a ponta: do Desenvolvimento à Nuvem - UNICID - Novembro-2019
Docker de ponta a ponta: do Desenvolvimento à Nuvem - UNICID - Novembro-2019Renato Groff
 
Orquestrando Containers na Nuvem com o Azure Kubernetes Service - ThorArch #1...
Orquestrando Containers na Nuvem com o Azure Kubernetes Service - ThorArch #1...Orquestrando Containers na Nuvem com o Azure Kubernetes Service - ThorArch #1...
Orquestrando Containers na Nuvem com o Azure Kubernetes Service - ThorArch #1...Renato Groff
 
Infoeste 2014 - Desenvolvimento de um CMS com Codeigniter Framework(PHP)
Infoeste 2014 - Desenvolvimento de um CMS com Codeigniter Framework(PHP)Infoeste 2014 - Desenvolvimento de um CMS com Codeigniter Framework(PHP)
Infoeste 2014 - Desenvolvimento de um CMS com Codeigniter Framework(PHP)Rafael Oliveira
 
Docker + Kubernetes + Azure: opções disponíveis para uso de Containers na nuv...
Docker + Kubernetes + Azure: opções disponíveis para uso de Containers na nuv...Docker + Kubernetes + Azure: opções disponíveis para uso de Containers na nuv...
Docker + Kubernetes + Azure: opções disponíveis para uso de Containers na nuv...Renato Groff
 
Componentizando a Web com Polymer
Componentizando a Web com PolymerComponentizando a Web com Polymer
Componentizando a Web com PolymerStefan Horochovec
 
Containers em produção!
Containers em produção!Containers em produção!
Containers em produção!Evandro Couto
 

Semelhante a Apresentação sobre blockchain, executada no mestrado de ciencia da computação (20)

Cloud Solutions com o Microsoft Azure - TDC Online Especial BH
Cloud Solutions com o Microsoft Azure - TDC Online Especial BHCloud Solutions com o Microsoft Azure - TDC Online Especial BH
Cloud Solutions com o Microsoft Azure - TDC Online Especial BH
 
Docker de ponta a ponta: do Desenvolvimento à Nuvem - Azure Talks - Agosto-2018
Docker de ponta a ponta: do Desenvolvimento à Nuvem - Azure Talks - Agosto-2018Docker de ponta a ponta: do Desenvolvimento à Nuvem - Azure Talks - Agosto-2018
Docker de ponta a ponta: do Desenvolvimento à Nuvem - Azure Talks - Agosto-2018
 
Docker | Minicurso Gratuito - Azure na Prática
Docker | Minicurso Gratuito - Azure na PráticaDocker | Minicurso Gratuito - Azure na Prática
Docker | Minicurso Gratuito - Azure na Prática
 
Arquitetura Serverless na AWS
Arquitetura Serverless na AWSArquitetura Serverless na AWS
Arquitetura Serverless na AWS
 
Docker de ponta a ponta - do Desenvolvimento à Nuvem - .NET SP - Outubro-2018
Docker de ponta a ponta - do Desenvolvimento à Nuvem - .NET SP - Outubro-2018Docker de ponta a ponta - do Desenvolvimento à Nuvem - .NET SP - Outubro-2018
Docker de ponta a ponta - do Desenvolvimento à Nuvem - .NET SP - Outubro-2018
 
Novidades do .NET Core 2.1 e do ASP.NET Core 2.1
Novidades do .NET Core 2.1 e do ASP.NET Core 2.1Novidades do .NET Core 2.1 e do ASP.NET Core 2.1
Novidades do .NET Core 2.1 e do ASP.NET Core 2.1
 
Configuração de ativos de rede utilizando a abordagem infrastructure as code
Configuração de ativos de rede utilizando a abordagem infrastructure as codeConfiguração de ativos de rede utilizando a abordagem infrastructure as code
Configuração de ativos de rede utilizando a abordagem infrastructure as code
 
Globus Toolkit
Globus ToolkitGlobus Toolkit
Globus Toolkit
 
Construindo aplicações Cloud Native em Go
Construindo aplicações Cloud Native em GoConstruindo aplicações Cloud Native em Go
Construindo aplicações Cloud Native em Go
 
Aplicações Distribuídas com Azure Service Bus + Azure Functions - Azure Tech ...
Aplicações Distribuídas com Azure Service Bus + Azure Functions - Azure Tech ...Aplicações Distribuídas com Azure Service Bus + Azure Functions - Azure Tech ...
Aplicações Distribuídas com Azure Service Bus + Azure Functions - Azure Tech ...
 
Kubernetes de ponta a ponta: do Pod ao Deployment Automatizado - Janeiro-2020
Kubernetes de ponta a ponta: do Pod ao Deployment Automatizado - Janeiro-2020Kubernetes de ponta a ponta: do Pod ao Deployment Automatizado - Janeiro-2020
Kubernetes de ponta a ponta: do Pod ao Deployment Automatizado - Janeiro-2020
 
Ferramenta de Cloud Computer para apoio à Engenharia de Software
Ferramenta de Cloud Computer para apoio à Engenharia de SoftwareFerramenta de Cloud Computer para apoio à Engenharia de Software
Ferramenta de Cloud Computer para apoio à Engenharia de Software
 
Docker de ponta a ponta: do Desenvolvimento à Nuvem - UNICID - Novembro-2019
Docker de ponta a ponta: do Desenvolvimento à Nuvem - UNICID - Novembro-2019Docker de ponta a ponta: do Desenvolvimento à Nuvem - UNICID - Novembro-2019
Docker de ponta a ponta: do Desenvolvimento à Nuvem - UNICID - Novembro-2019
 
Orquestrando Containers na Nuvem com o Azure Kubernetes Service - ThorArch #1...
Orquestrando Containers na Nuvem com o Azure Kubernetes Service - ThorArch #1...Orquestrando Containers na Nuvem com o Azure Kubernetes Service - ThorArch #1...
Orquestrando Containers na Nuvem com o Azure Kubernetes Service - ThorArch #1...
 
Framework struts2v2.5
Framework struts2v2.5Framework struts2v2.5
Framework struts2v2.5
 
AZURE BLOCKCHAIN
AZURE BLOCKCHAINAZURE BLOCKCHAIN
AZURE BLOCKCHAIN
 
Infoeste 2014 - Desenvolvimento de um CMS com Codeigniter Framework(PHP)
Infoeste 2014 - Desenvolvimento de um CMS com Codeigniter Framework(PHP)Infoeste 2014 - Desenvolvimento de um CMS com Codeigniter Framework(PHP)
Infoeste 2014 - Desenvolvimento de um CMS com Codeigniter Framework(PHP)
 
Docker + Kubernetes + Azure: opções disponíveis para uso de Containers na nuv...
Docker + Kubernetes + Azure: opções disponíveis para uso de Containers na nuv...Docker + Kubernetes + Azure: opções disponíveis para uso de Containers na nuv...
Docker + Kubernetes + Azure: opções disponíveis para uso de Containers na nuv...
 
Componentizando a Web com Polymer
Componentizando a Web com PolymerComponentizando a Web com Polymer
Componentizando a Web com Polymer
 
Containers em produção!
Containers em produção!Containers em produção!
Containers em produção!
 

Apresentação sobre blockchain, executada no mestrado de ciencia da computação

  • 1. Manoel Guilherme de Faria Moraes Orientador(a): Rafaelli de Carvalho Coutinho PPCIC – Programa de Pós- graduação em Ciência da Computação Blockchain
  • 2. Outline Testnet Blockchain Blockchain SaaS – azure e aws Simuladores Blockchain
  • 3. TestNet Blockchain Rede de teste (testnet), é uma rede segmentada da rede principal que visa permitir a capacidade dos desenvolvedores de testar alterações de software sem tocar na rede principal. Os benefícios diversos, porque nos permite: • Desenvolver uma aplicação • Testar uma funcionalidade • Melhorar um algoritmo sem utilizar a rede principal Dentre as redes pesquisadas destacamos as seguintes: • Bitcoin TestNet • Ethereum TestNet • Hyperledger TestNet
  • 4. Bitcoin TestNet • Bitcoin TestNet A rede de testes oficial do Bitcoin, tem tamanho aproximado de 24Gb, bem menor que a rede main do blockchain que tem 272 Gb. É necessário utilizar alguma “torneira”(faucets) de moedas de teste, as mais comuns são: • Bitcoin Testnet Explorer (web) • BlockCypher Testnet Explorer (Web e API) • Bitcoin Testnet Faucet (API) Existem dessas “torneiras” em algumas linguagens de programação, Java, Python, C. Existem outras linguagens como C++, MathLab, dentre outras, essa lista ficaria muito extensa. Algumas com API Rest completas e muito robustas que o caso da BlockCypher. https://en.bitcoin.it/wiki/Testnet Na rede de teste os blocos são diferentes, não tem o mesmo início, modificam seu endereço de versão, o bloco Genesis também é diferente. O consenso é o mesmo nas duas PoW. Main Test ADDRESSVERSION 0x00 0x6F Cabeçalho Msg Protocolo 0xF9BEB4D9 0x0B110907 Porta de comunicação 8333 18333 Podemos dizer que a principal diferença entra a Main e a Test é que as moedas não tem valor. Pois na rede de teste não existe um custo considerável
  • 5. Ethereum TestNet • Ethereum TestNet A rede ethereum de testes, uma das redes de testes mais utilizada, tanto para trabalhos públicos como privados, isso é notável pelo tamanho de sua rede de testes. A rede de testes Ethereum, tem tamanho aproximado de 56 Gb, bem menor que a rede main do blockchain que tem aproximadamente 146 Gb. https://eth.bitaps.com/ Tem o funcionamento muito parecido com o da rede do bitcoin. Na rede de teste os blocos são diferentes, não tem o mesmo início, modificam seu endereço de versão, o bloco Genesis também é diferente. O consenso é o mesmo nas duas PoW. • Ropsten Network • Kovan network • GanacheCLI ( que funciona junto com o truffle para simular uma rede blockchain inteira) Aqui podemos testar também as moedas por meio de “torneiras” ou podemos testar outros tipos de dados, como uma troca de arquivos, ou um contrato inteligente.
  • 6. Hyperledger TestNet • Hyperledger TestNet Tem uma pegada mais comercial, focada em aplicações de mercado. Conforme seu próprio site diz: https://www.hyperledger.org/ “Hyperledger é uma comunidade de código aberto focada no desenvolvimento de um conjunto de estruturas estáveis, ferramentas e bibliotecas para implantações de blockchain de nível empresarial.” Tem grandes empresas como IBM e AWS por trás. Existem alguns projetos nessa iniciativa, mas o que mais nos interessa é o Fabric, dai o nome Hyperledger Fabric. O fabric também é um projeto de tecnologias blockchain que oferece a possibilidade de encaixar várias implementações para certas funcionalidades. • Blockchain permissiva com finalidade imediata • Ambientes para a execução de contratos inteligentes • Módulos de consenso PBFT, NOOPS e SIEVE • Framework de eventos que suporta eventos predefinidos e customizados • SDK Client e API REST Básicas e Ferramentas CLI Em linhas gerais existe uma comunidade muito ativa, aproximação com universidades ao redor do mundo. Tem muitos projetos em andamento, mas todos com a ideia incomum da blockchain. https://wiki.hyperledger.org/ Os dois “clientes” mais utilizados são da IBM, chamado IBM BlockChain que se integra ao visual Studio e o outro é o cliente da AWS, essa inclusive com serviço de Blockchain já comercial.
  • 7. Blockchain SaaS Introdução Blockchain-as-a-Service (BaaS) é uma nova modalidade de serviço oferecida por provedores de cloud para que empresa ou instituições de ensino possam construir, hospedar e usar seus próprios aplicativos blockchain , contratos inteligentes e funções na infraestrutura blockchain desenvolvida por esses provedores. Temos diversos Players (fornecedores), que oferecem esse serviço, os mais conhecidos são: • AWS • Microsoft • IBM • SalesForce • Alibaba • Oracle • Google
  • 8. Blockchain SaaS • AWS Existem na aws, basicamente dois serviços QLDB (aws ledger Database) e o AWS managed Blockchain QLDB – é um banco de dados de livros contábeis gerenciado que fornece um log de transações centralizado, imutável e Verificável em sua criptografia. AWS MB - Serviço gerenciado que facilita a criação e o gerenciamento de redes de blockchain escaláveis e da tecnologia de livros contáveis distribuídos. Além de contar com diversos parceiros de MKP. Suporte a Ethereum e Hyperledger. Extremamente escalável. https://aws.amazon.com/pt/blockchain/
  • 9. Blockchain SaaS • AWS Preços Valores de referencia https://aws.amazon.com/pt/blockchain/ Valor para fazer parte da rede Hyperledger Fabric AWS managed Blockchain Test
  • 10. BlockChain SaaS • Microsoft Azure Azure Blockchain Service O Azure Blockchain Service é um serviço contábil totalmente gerenciado que permite aos usuários ampliar e operar redes de blockchain em escala no Azure. Ao fornecer controle unificado para gerenciamento de infraestrutura e governança de rede de blockchain, o Azure Blockchain Service fornece: • Implantação e operações de rede simples • Gerenciamento do consórcio interno • Desenvolva contratos inteligentes com ferramentas de desenvolvimento conhecidas Azure Blockchain Workbench Azure Blockchain Workbench é uma coleção de serviços e recursos do Azure desenvolvidos para implementação de aplicativos de blockchain com objetivo de compartilhar processos empresariais e dados com outras organizações. Oferece uma escala (scaffolding) da infraestrutura para desenvolver aplicativos de blockchain, permitindo que os desenvolvedores foquem na criação de lógica de negócios e contratos inteligentes. Ele também facilita a criação de aplicativos de blockchain integrando vários recursos e serviços do Azure para ajudar a automatizar tarefas comuns de desenvolvimento. (Ainda está em versão Beta) * Suporte ao ledger Ethereum Quorum usando o mecanismo de consenso IBFT https://docs.microsoft.com/pt-br/azure/blockchain/
  • 11. BlockChain SaaS • Microsoft Azure Preços Valores de referencia • Importante salientar que os preços nas calculadoras do azure não refletem o real valor da cobrança https://docs.microsoft.com/pt-br/azure/blockchain/
  • 12. Simuladores Um simulador de blockchain (ou rede blockchain), é necessário para que possamos testar determinadas características, ou algoritmos específicos, apps desenvolvidos e melhorias em estruturar para blockchain. As vantagens de um simulador permeiam • Escala • Capacidade de fazer testes menores de maneira controlada, antes de partir para testes maiores. • Podemos testar especificidades de nossos experimentos. • A relativa facilidade de implementações desses simuladores também é um ponto forte. Uma das desvantagens que podemos observar é que muitos desses simuladores não tem documentação muito completa, dificultando a sua utilização devido a necessidade de conhecimento e estuda da sua arquitetura.
  • 13. Simuladores • SimBlock Exemplo de um artigo: Ryunosuke Nagayama, Kazuyuki Shudo, “Simulating Ethereum Network with SimBlock”, lightning talks, Devcon 5 (by Ethereum Foundation), October 2019 https://dsg-titech.github.io/simblock/ SimBlock é um simulador de rede blockchain de código aberto, desenvolvido pelo Distributed Systems Group, Tokyo Institute of Technology. O SimBlock é orientado por eventos e é adequado para uso em pesquisa de rede de blockchain. O SimBlock também possui uma ferramenta de visualização, pela qual você pode ver a transição da propagação do bloco. O SimBlock é desenvolvido em Java e multi plataforma, tendo uma documentação que é bastante completa. Permite o uso em uma IDE como eclipse. É possível criar uma rede própria ou testar sob uma outra rede blockchain conhecida. Já existem alguns artigos académicos publicados utilizando essa plataforma de teste. O projeto esta todo no github. Permite testes em grande escala.
  • 14. Simuladores • BlockSim Uma estrutura para modelar e simular um protocolo Blockchain. Ele segue um modelo de simulação de eventos discretos. Atualmente, existem modelos para simular Bitcoin e Ethereum. Ainda em fase beta, segundo o projeto Tem ligação com a Universidade de Lisboa, existe um paper com as apresentações do simulador. https://github.com/carlosfaria94/blocksim?ref=hackernoon.com Endereço do paper https://static.carlosfaria.pt/file/personal-assets/papers/blocksim-blockchain-simulator.pdf Desenvolvido em Python Permite testes em larga escala, mas com a limitação das redes.
  • 15. Simuladores • Bitcoin Simulator O Simulador de Bitcoin é construído no ns3 , o popular simulador de eventos discretos. Também utiliza o rapidjson para facilitar o processo de comunicação entre os nós. O objetivo deste projeto é estudar como parâmetros de consenso, características de rede e modificações de protocolo afetam a escalabilidade, segurança e eficiência de blockchains alimentados por Proof of Work. Esse simulador foi construído pelo Dr. Arthur Gervais, professor do Imperial College of London. https://arthurgervais.github.io/Bitcoin-Simulator/ Desenvolvido em C++
  • 16. Simuladores • Código todo feito em python Analisamos um código todo implementado em python que simula toda uma blockchain. Ele implementa todas as etapas de um processo de blockchain, desde a criação do bloco até a finalização da operação. Esta implementado com um algoritmo de PoW, e permite teste em vários nodes físicos, virtuais ou dockerizado. Com ajustes no código podemos modificar o PoW por outro algoritmo de consenso. Não é um artigo acadêmico, mas o código é bem funcional. Aparentemente o código permite testes em grande escala, mas não implementei na pratica ainda. https://hackernoon.com/learn-blockchains-by-building-one-117428612f46?ref=hackernoon.com
  • 17. Simuladores • Outros Existem outras possibilidades para o teste. • VIBES • BlockChain Demo • Bitcoin Simulator • BlockBench https://hackernoon.com/learn-blockchains-by-building-one-117428612f46?ref=hackernoon.com Mas nesses citados não fizemos aprofundamentos pesquisas, com uma nota de utilização em alguns trabalhos acadêmicos do MATLAB Blockchain que é uma biblioteca do MathLab. https://www.mathworks.com/matlabcentral/fileexchange/65419-matlab-blockchain-example