Criando uma Blockchain em Kotlin

89dcf6aa78798fa498e6ddf3fbc8f563?s=47 Kassiano
September 15, 2018

Criando uma Blockchain em Kotlin

Talk apresentada no Kotlin Community Summit 2018.
https://eventos.imasters.com.br/kotlinsummit/

Nesta talk explico os conceitos de uma blockchain e mostro uma implementação de uma pequena blockchain em kotlin.

Você encontra o código desta implementação em:
https://github.com/kassiano/KotlinBlockchain

89dcf6aa78798fa498e6ddf3fbc8f563?s=128

Kassiano

September 15, 2018
Tweet

Transcript

  1. Criando uma Blockchain em Kotlin

  2. Agenda • Função hash • Criação do bloco • Mineração

    do bloco – Proof of Work • A blockchain • Blockchain distribuida • Uma blockchain em Kotlin (Android)
  3. Breve apesentação • Prof. Produção de Software com foco em

    Android – SENAI • Escritor do livro “Kotlin com Android – Crie Apps de forma rápida e divertida” • Dev. Kotlin/JAVA • Entusiasta de Bitcoin e do Mercado Financeiro • https://www.linkedin.com/in/kassian-resende/ • https://github.com/kassiano
  4. Chapter One A Funcão HASH

  5. O que é um Hash ? Uma função hash é

    um algoritmo que mapeia dados de comprimento variável para dados de comprimento fixo. Os valores retornados por uma função hash são chamados valores hash, códigos hash, somas hash (hash sums), checksums ou simplesmente hashes. (Fonte: Wikipedia)
  6. Exemplificando Este é um conteúdo de texto para exemplificar o

    funcionamento de uma função Hash. Função HASH d2218b955bddbecd0721137edbc88eec3130d5e3a3a90e19b1144 1036ea9dafd
  7. Função SHA256 em Kotlin

  8. Caracteristicas de uma função HASH • A mesma entrada sempre

    produz o mesmo Hash • Uma entrada ligeiramente diferente produz um Hash totalmente diferente • A partir do Hash não conseguimos reproduzir a entrada original • Podemos dizer que o hash é uma impressão digital de uma informação
  9. Chapter Two O Bloco

  10. Composição do bloco Um bloco é um conjunto de informações

    agrupadas lógicamente. Um bloco é composto por: • Número do bloco • Valor de Nounce • Informação • Hash
  11. O que é um bloco minerado? • É considerado um

    bloco minerado é um bloco cujo o Hash está abaixo do target da rede.
  12. Função de mineração em Kotlin

  13. Chapter Three A Blockchain

  14. Definição Blockchain nada mais é que uma cadeia de blocos

    imúltáveis interligados através de seus hashs.
  15. Demostração

  16. Blockchains Distribuidas • Nesse momento você deve estar pensando “certo,

    blockchains são legais, mas faz sentido uma blockchain centralizada?” • A resposta é não.
  17. Código da implementação da blockchain

  18. Muito obrigado (:

  19. Referências • https://bit.ly/2NtBusL (Canal no youtube - Tiago Salem) •

    https://anders.com/blockchain/