Minicurso ministrado no evento FLISOL 2019 (https://www.univem.edu.br/eventos/flisol-2019)
Introdução técnica e conceitual sobre o Blockchain e Bitcoin, além do desenvolvimento prático de uma carteira utilizando C#.
https://github.com/alissonsolitto/flisol2019-blockchain-bitcoin
2. Alisson Solitto da Silva, 23 anos
Técnico em Informática
Técnico em JAVA/WR
Bacharel em Ciência da Computação
MBA em Gestão de TI
Mestrando em Ciência da Computação
6 anos de experiência com o
desenvolvimento de software
3. Alisson Solitto da Silva, 23 anos
Blog: https://solitto.com.br/
GitHub: https://github.com/alissonsolitto
Linkedin: https://www.linkedin.com/in/solitto
Lattes: http://lattes.cnpq.br/7754813473705418
Simplechain: https://simplechain.com.br/
IzyMobile: http://izymobile.com/
4. Bitcoin - História
■ White Paper Bitcoin: A Peer-to-Peer Electronic Cash System
■ Ano: 2008 – Crise dos EUA
5. Unidades Bitcoin
■ No caso do Real a moeda é dividida até sua centésima parte que é o centavo.
■ 1 CENTAVO = R$ 0,01
■ Por ser uma moeda digital o Bitcoin é divisível até a centésima milionésima parte
conhecida como “SATOSHI”em homenagem ao seu criador.
9. Blockchain – O que é?
■ A blockchain funciona como um livro-razão da contabilidade, controlando todos os
créditos e débitos de várias contas.
■ Principal benefício está na descentralização da sua base de dados, visando a
segurança e a confiabilidade de suas transações.
■ Desta forma cria-se uma rede universal, publica e compartilhada.
10.
11. O que é?
■ O blockchain nada mais é do que uma lista encadeada.
■ As informações referentes a transação são armazenadas em um bloco de dados.
■ HASH: SHA-256
12. ■ Cada nó na rede é um computador e qualquer computador pode fazer parte da
blockchain, para fazer parte da rede é necessário fazer uma cópia de toda a base
de dados da rede, após isso a principal tarefa do nó é validar e repassar os dados
das transações.
■ https://www.blockchain.com/pt/btc/unconfirmed-transactions
13. Vantagens
■ Transparência: todas as transações que ocorrem na rede são publicas e disponíveis
de forma acessíveis para todos.
■ Descentralização: não há necessidade de um intermediário nas transações, é
possível transferir dinheiro entre pessoas de qualquer lugar do mundo sem uma
instituição financeiro como nos métodos convencionais.
■ Inalterável: as transações feitas na rede são imutáveis, ou seja, não podem ser
alteradas ou deletadas.
■ Baixo custo: Por não haver uma instituição financeira intermediando as transações
o custo é muito menor.
17. Proof of Work
■ O maior trabalho computacional da rede é a criação de um hash válido
■ NONCE (N = Número e Once = Uma vez).
■ Bitcoin utiliza o método hashcash => hash deve ser codificado com um
número n de zero bits.
23. Show me the code! C#
Key privateKey = new Key();
PubKey publicKey = privateKey.PubKey;
Console.WriteLine(publicKey);
Console.WriteLine(publicKey.GetAddress(Network.TestNet));
24. Show me the code! C#
■ https://live.blockcypher.com/btc-testnet
■ https://bitcoinfaucet.uo1.net/
25. Gerando chaves com senha
■ Mnemonic mnemo = new Mnemonic(Wordlist.PortugueseBrazil, WordCount.Twelve);
■ ExtKey pkey = mnemo.DeriveExtKey(senha);