Boa noite!
No último versículo vimos a penúltima parte da tradução de “Hashcash – A Denial of Service Counter-Measure”. Hoje vemos a parte final.
7 Aplicações
À parte das aplicações propostas inicialmente para o hashcash de limitar o DoS contra redes de remailers e impedir spam de email, desde a publicação, as seguintes aplicações têm sido discutidas, exploradas e, em alguns casos, implementadas e disponibilizadas:
- hashcash-cookies, uma potencial extensão do syn-cookie conforme discutido na seção 4.2, para permitir uma degradação de serviço mais graciosa em face a ataques de esgotamento de conexão.
- hashcash-interativo como discutido na seção 4 de limitação DoS e degradação graciosa de serviço sob ataques de sobrecarga de CPU em protocolos de segurança com fases de estabelecimento de conexão computacionalmente caras. Nenhuma disponibilização, mas o sistema análogo de quebra-cabeças de cliente foi implementado com TLS em [13]
- limitação hashcash de flood de publicação DoS em sistemas anônimos de publicação tais como Freenet [14], Publius [15], Tangler [16],
- limitação hashcash de requisições de serviço no sistema de arquivos criptográficos de autocertificação [17]
- limitação de flooding via redes mail2news na USENET [18]
- hashcash como um mecanismo de cunhagem para a proposta de dinheiro eletrônico b-money de Wei Dai, um projeto de dinheiro eletrônico sem interface bancária [19]
8 Esquema de classificação de função-custo
Listamos aqui uma classificação das características das funções-custo. Usamos a seguinte notação para indicar as propriedades de uma função-custo:
Onde e é a eficiência: valor e = 1 significa eficientemente-verificável – verificável com custo comparável a ou menor do que o custo de verificar constructos de chave simétrica, como o hashcash, que consomem somente uma rodada de compressão de uma função hash baseada em função iterativa de compressão, como SHA1 ou MD5. Valor e = ½ significa praticamente-verificável, queremos dizer com menos eficiência do que a eficientemente-verificável, mas ainda suficientemente eficiente para ser prático para algumas aplicações, por exemplo, o autor considera que a função-custo baseada em quebra-cabeças com timelock, com suas duas exponenciações modulares se enquadra nessa categoria. Valor e = 0 significa verificável mas não-prático, que a função custo é verificável mas a função de verificação é impraticavelmente lenta, de modo que a existência da função-custo serve apenas como prova de conceito a ser aprimorado para uso prático.
E σ é uma caracterização do desvio-padrão, valor σ = 0 significa custo-fixo, σ = ½ significa custo probabilístico limitado e σ = 1 significa custo probabilístico ilimitado. Note que por custo probabilístico limitado nós queremos dizer utilmente limitado – um limite no fator de trabalho que excede um fator de trabalho que, de outra forma, uma função-custo ilimitada funcionalmente semelhante alcançaria apenas com probabilidade insignificante, não seria útil.
E i denota que a função-custo é interativa, e ī que a função-custo é não-interativa.
E α denota que a função custo é publicamente auditável, ᾱ denota que a função-custo é não publicamente auditável, que significa na prática que só é verificável pelo serviço usando um material de chave privada. Note que por auditabilidade-pública nós queremos dizer eficientemente auditável publicamente, e não consideramos repetir o trabalho do minter [cunhador] de tokens como eficiência adequada para classificar.
E ? denota que o servidor tem uma trapdoor ao computar a função-custo, por outro lado t[sobrelinhado] denota que o servidor não tem trapdoor ao computar a função-custo.
E ? denota que a função-custo é paralelizável, p[sobrelinhado] denota que a função-custo é não-paralelizável.
8.1 Problemas em aberto
- existência de funções-custo de custo-fixo não-interativas, eficientemente-verificáveis (e = 1, ? = 0; ī ) (e o problema mais fraco relacionado: existência das mesmas com custo probabilístico limitado (e = 1, ? = ½, ī ))
- existência de funções-custo não-paralelizáveis e não-interativas, eficientemente-verificáveis (e = 1, ī , p[sobrelinhado]) (e o problema mais fraco relacionado: existência existência das mesmas em configuração interativa (e = 1, i, p[sobrelinhado]))
- existência de funções-custo de custo-fixo não-interativas publicamente-auditáveis (? = 0, ī , α) (e o problema mais fraco relacionado: existência das mesmas com custo probabilístico limitado (? = ½, ī , α))
[14] Ian Clarke, Oskar Sandberg, Brandon Wiley, and Theodore Hong. Freenet: A distributed anonymous information storage and retrieval system. In Hannes Federrath, editor, Proceedings of the International Workshop on Design Issues in Anonymity and Unobservability. Springer, 2001. Também disponível como http://freenetproject.org/cgi-bin/twiki/view/Main/Papers.
[15] Marc Waldman, Aviel D Rubin, and Lorrie Faith Cranor. Publius: A robust, tamper-evident, censorship-resistant web publishing system. In Proceedings of the 9th USENIX Security Symposium, Ago, 2000. Também disponível como http://www.usenix.org/publications/library/proceedings/sec2000/waldman/waldman_html/v2.html.
[16] Marc Waldman and David Mazieres. Tangler: A censorship resistant publishing system based on document entanglement. In Proceedings of the 8th ACM Conference on Computer and Communication Security, Nov, 2001. Também disponível como http://www.cs.nyu.edu/˜waldman/.
[17] David Mazieres. Self-certifying File System. PhD thesis, Massachusetts Institute of Technology, Maio, 2000. Também disponível como http://scs.cs.nyu.edu/˜dm/.
[18] Alex de Joode. Hashcash support at dizum mail2news gateway. Publicado em https://ssl.dizum.com/hashcash/, 2002.
[19] Wei Dai. b-money. Publicado em http://www.eskimo.com/˜weidai/bmoney.txt, Nov, 1998.
Esta foi a última parte da tradução da obra “Hashcash – A Denial of Service Counter-Measure”, de Satoshi Nakamoto Adam Back É uma obra bastante técnica, bem difícil de entender e também de traduzir, peço desculpas pela demora. Espero que tenham gostado. No versículo seguinte começamos nova tradução. Grande abraço!