O objetivo da disciplina é que os alunos compreendam e sejam capazes de aplicar uma variedade de técnicas e tecnologias voltadas ao projeto de soluções de rede decentralizadas, seja visando à maior resiliência e escalabilidade (e.g., ao evitar pontos únicos de falha) ou a prover uma arquitetura na qual se reduza a dependência de entidades confiáveis (conceito conhecido como “zero-trust”). São explorados tanto os benefícios como as limitações das técnicas e tecnologias em questão, e também apresentados exemplos reais de sua aplicação.
Introdução: conceitos básicos de segurança e mecanismos criptográficos. Blockchain sem o hype: o que (não) é um Blockchain? O mundo dos ativos digitais: engrenagens principais. Ferramentas e técnicas de privacidade para sistemas distribuídos. Outras tecnologias para descentralização: armazenamento e compartilhamento descentralizado, delegação de acesso descentralizado/federado, web descentralizada, etc.
Introdução: Deves entender cripto (como em "-grafia") para entender cripto (como em "-moedas"). - Serviços básicos de segurança: confidencialidade, integridade, autenticidade, irretratabilidade, disponibilidade - Algoritmos criptográficos e bases de segurança: cifras, funções hash, árvores de Merkle, assinaturas digitais e infraestrutura de chaves públicas Blockchain sem o hype: o que (não) é um Blockchain? - Preliminares: ordenação de eventos e autoridades de carimbo de tempo (ACT) - Bitcoin, criptomoedas e ativos digitais: Blockchain como uma ACT distribuída - Transparência geral: Blockchain como um registro transparente - Aplicações de Blockchain (mas são mesmo?): Exemplos reais de aplicações adequadas e não tão adequadas de Blockchains O mundo dos ativos digitais: engrenagens principais - Carteiras e custódia: gerenciamento e proteção de ativos criptográficos - Protocolos de consenso: princípios e exemplos - Ethereum: contratos inteligentes e aplicativos descentralizados - Blockchains permissionados vs. não permissionados Ferramentas e técnicas de privacidade para sistemas distribuídos - Tor: Escondendo seu endereço IP - Primitivas criptográficas: pseudonimato, assinaturas cegas, provas de conhecimento zero, mixnets - Exemplos e aplicações para Blockchain: ZCash; criação de uma Câmara de Pagamentos Interbancária (CIP) descentralizada Se Blockchain não serve para descentralizar tudo, então o que serve? - Armazenamento e compartilhamento descentralizado: BitTorrent e tabelas de hash distribuídas (DHTs). - Delegação de acesso descentralizado/federado: OAuth e OpenID Connect (OIDC) - Web descentralizada: o Sistema de Arquivos InterPlanetário (IPFS) - Outros (Extra) Estudos individuais; tarefas de casa (e.g., experimentos autoguiados e tutoriais); testes online.
A. Narayanan, J. Bonneau, E. Felten. "Bitcoin and Cryptocurrency Technologies: A Comprehensive Introduction". Princeton University Press, 2016. ISBN: 0691171696. Available: https://d28rh4a8wq0iu5.cloudfront.net/bitcointech/readings/princeton_bitcoin_book.pdf?a=1 L. Lantz and D. Cawrey. "Mastering Blockchain: Unlocking the Power of Cryptocurrencies, Smart Contracts, and Decentralized Applications". O'Reilly Media, 2020. ISBN: 1492054704 Stallings, W.; Brown, L. “Computer Security: Principles and Practice” (3rd/4th Ed.), Pearson (2014/2017). ISBN: 9780134794105