Escolar Documentos
Profissional Documentos
Cultura Documentos
Tópicos abordados:
● Conceituando Hash.
● P2P, DHT, BitTorrent, Tor e Deep Web
● Conceito de Bitcoin, criptomoeda, blockchain, mineração, Prova de
Trabalho.
● Segurança e Investimento em Bitcoin.
● Computação em Nuvem e Virtualização
Introdução:
O presente texto aborda alguns tópicos da disciplina Tópicos Avançados em
Engenharia de Computação I. Deve-se destacar que o texto obedece a ênfase dada
pelo professor Marcos Simplício nesta oferta da disciplina. A maioria dos tópicos
abordados nesta revisão está baseada na consulta realizada junto aos alunos para
levantamento de dúvidas. O primeiro tópico, Conceituando Hash, visa apresentar os
fundamentos necessário para o entendimento do uso de funções e tabelas hash no
decorrer da disciplina. O segundo tópico aborda P2P, DHT, BitTorrent, Tor e Deep
Web focando a arquitetura da rede ponto a ponto, funcionalidades e recursos para o
tráfego de conteúdos em uma rede ponto a ponto. O terceiro tópico revisa conceitos
de Bitcoin, Criptomoeda, Blockchain, Mineração e Prova de Trabalho para esclarecer
dúvidas apontadas pelos alunos nesses conceitos. Em seguida, abordam-se algumas
questões relacionadas ao tópico Segurança e Investimento em Bitcoin. Por último, o
tópico Computação em Nuvem e Virtualização é tratado com a apresentação dos
modelos de serviço e tipos de virtualização. Para cada tópico da revisão, uma
recomendação de leitura é feita, pois todos os trechos desta revisão estão baseados
nos textos-base da disciplina. Logo, a recomendação de leitura visa dar contexto aos
trechos transcritos nesta revisão.
_________________________________________________________
Conceituando Hash.
Recomendação de leitura: Material de apoio - Revisitando
conhecimentos - Uma explicação bem completa – Hashing por Paulo
Feofiloff/IME-USP.
___________________________________________________________________
Uma função hash mapeia dados com tamanho qualquer em valores de tamanho fixo
através de funções hash. Os valores mapeados podem ser chamados de códigos ou
valores de hash, sendo usados para indexar o que se chama de tabela hash. Assim,
temos o conceito de hash ou endereçamento de armazenamento de dispersão. De
forma mais direta, seja T uma tabela e um registro x com uma chave (símbolo) e
dado. Precisaremos implementar: Insert (T, x), Delete (T, x) e Search(T, x). Tabela
1
hash será utilizada onde as operações mencionados ocorrem em O(1). Como?
Suponha que todas as chaves (keys) são números naturais (grandes) num intervalo
0...m-1. As chaves são distintas e podemos definir um vetor T[0..m-1] tal que se (x∈
T) E (key[x] = i), então T[i] = x; caso contrário T[i] = NULL. Logo, as operações
(inserção, busca, exclusão) levam O(1). Funcionam apropriadamente quando o
intervalo das chaves é pequeno. Exemplo: Considere chaves que são inteiros de 32-
bit. A tabela de endereçamento direto terá 232 > 4 bilhões de entradas. Se memória
não for um problema, o tempo para inicializar os elementos em NULL pode ser
proibitivo. Uma alternativa viável é a Transformação de Chave ou Hashing que
consiste em mapear chaves em um intervalo menor 0…m-1, porém colisões irão
ocorrer.
Colisões Chaining
mesmo slot em uma lista ligada. Teremos a inserção em O(1), se o elemento não está
teremos o pior caso quando toda chave está atribuída ao mesmo slot. A escolha de
= k mod m, onde todas as chaves são valores inteiros. A entrada da tabela é dada
pelo valor do resto da divisão da chave k pela quantidade de slots m. Exemplo: Sejam
h(k) = ⎣ m (kA - ⎣kA⎦) ⎦ com 0<A<1 constante e não deve estar próximo de 0 ou 1.
2
Assim, h(k) é a parte fracionária de kA, podemos escolher m=2p para p um valor
uma única palavra. Temos A=s/2w para s inteiro com 0<s<2w e k.s=r1*2w + r0. O
_________________________________________________________________
P2P, DHT, BitTorrent, Tor e Deep Web
Recomendação de leitura: Texto-base - Segurança em redes P2P:
princípios, tecnologias e desafios | Marinho P. Barcellos e Luciano P.
Gaspary
___________________________________________________________________
A computação ou rede ponto a ponto (Peer-to-Peer ou P2P) é uma arquitetura de
computação distribuída uma vez que particiona tarefas ou cargas de trabalho na rede.
Os pares de nós são participantes igualmente privilegiados para obter serviços quanto
para fornecer serviços, formando uma rede ponto a ponto de nós. Assim, os pares
autonomia dada aos participantes que podem entrar e sair da rede sem gerar
problemas nos serviços, além de decidirem sobre participar ou não da rede sem
3
depender de entidades externas. A Distributed Hahs Tables (DHT) é uma tabela de
roteamento distribuída para encontrar um objeto de forma eficiente. Para isso, deve
P2P. Esse protocolo tira proveito da arquitetura P2P ser descentralizada para
sistema P2P (peer-to-peer) com desempenho eficiente, rápido e estável tanto para
é uma abreviação para The Onion Router para se referir ao software que permite
tráfego da Internet via uma rede voluntária e gratuita de sobreposição com milhares
sua conexão, uma vez que não se torna possível ligar o conteúdio transmitido ao
anonimato até para os relays que participam da rede. O relay guarda sabe que
determinado IP usou a rede Tor, mas não o conteúdo. O relay intermediário não tem
criptografia origem-destino não seja empregada, uma prática pouco usual na internet),
4
mas não tem acesso à origem. Esses procedimentos de transmissão e anonimato
constituída por páginas web não indexadas, ou seja, não catalogadas pelos motores
também inclui sites pagos, bancos de dados privados e a chamada dark web. Os
termos deep web e dark web não retratam o mesmo conceito. Enquanto a deep web
acadêmicas, pesquisas, etc.), a dark web contém atividades ilegais como mercados
__________________________________________________________________
Conceito de Bitcoin, Criptomoeda, Blockchain, Mineração, Prova de
Trabalho.
Recomendação de leitura: Texto-base - Como o bitcoin funciona? |
Bitcoin.org, Texto-base - Whitepaper do bitcoin em português | Lucas
Bassoto
___________________________________________________________________
Criptomoeda é um meio de troca digital, criptografado e descentralizado, ou seja,
não há uma autoridade central para gerenciar a criptomoeda, mas sim uma
uma vez que aplica criptografia para a segurança das transações. Apresenta como
vantagem a promessa de baixas taxas nas transações quando comparada aos meios
inexistência de uma autoridade central como ocorre nas moedas tradicionais (dólar,
5
real, euro, etc.), ou seja, o bitcoin é operado por uma autoridade descentralizada. Os
saldos no bitcoin são mantidos por um livro público acessível e transparente a todos,
tempo é uma forma de determinar que, num certo período de tempo, os nós da rede
a função hash de um bloco de itens, onde tais itens serão carimbados com a data e
de tempo anterior em sua função hash, formando uma espécie de cadeia ou corrente,
sistema de prova de trabalho escanea o valor que foi adicionado à função hash. O
pode ser verificado executando um único hash. A prova de trabalho também trata a
6
um-voto, onde a maior cadeia de blocos representa a decisão tomada pela maioria,
__________________________________________________________________
importante a ser considerado, pois o Bitcoin facilita tal transferência de valores para
serviço designado para a armazenar o seu dinheiro online. Muitas carteiras de troca
virtuais sofreram falhas de segurança no passado e a maioria dos serviços ainda não
moeda como os bancos fazem. Por consequência, você pode querer utilizar outros
tipos de carteiras Bitcoin para guardar sua moeda. Senão, você deve escolher estes
recomendado. Uma carteira de Bitcoin é como uma carteira com dinheiro. Em geral,
é uma boa prática deixar uma quantidade pequena de bitcoin em seu computador,
celular ou servidor para uso diário e deixar o restante dos seus fundos em um
ambiente seguro. Faça um backup completo de sua carteira. Uma única cópia de
segurança das chaves privadas dos seus endereços Bitcoin visíveis pode dificultar a
7
fica desconectado da internet, sendo o único com a carteira completa e capaz de
transações não assinadas. Carteiras de hardware são uma opção que fornece melhor
dispositivos projetados como uma carteira, onde nenhum software pode ser instalado
investimento volátil. Logo, não se recomenda investir economias em bitcoin por ser
__________________________________________________________________
Computação em Nuvem e Virtualização
Recomendação de leitura: Texto-base - Aprimorando a elasticidade de
aplicações de banco de dados utilizando virtualização em nível de
sistema operacional | Israel Campos de Oliveira
__________________________________________________________________
A computação em nuvem se trata de uma abstração que oculta à complexidade de
integração para implementar e testar aplicações, onde o usuário também não controla
8
a infraestrutura subjacente (rede, servidores, sistemas operacionais,
(API) para interação com hosts, switches, balanceadores, roteadores e o suporte para
escalona al máquina virtual quei executa a cada momento uma tarefa, semelhante
hardware para prover uma máquina virtual com emulação completa do hardware
9
é similar mas não idêntico ao hardware real. Nesse caso, o sistema operacional da
máquina virtual sabe que opera em um ambiente virtualizado, tendo o seu código
modificado, removendo todas as instruções que poderiam fazer acesso direto aos
emular um processador.
10