Bom dia! Quem escreve aqui é Sarang com o meu relatório mensal para Janeiro. Como sempre, meus sinceros agradecimentos vão para toda a comunidade Monero pelo seu apoio, tanto financeiro quanto espiritual.
Boa parte do meu tempo neste mês foi dedicado à finalização de nossa implementação do bulletproofs. Talvez você se lembre que nós começamos a investigar os bulletproofs, que são um substituto para o componente de prova de faixa de nossas transações confidenciais, após eles terem sido apresentados em paper no ano passado por um grupo de criptografia aplicada de Stanford. Após verificar a matemática subjacente, eu trabalhei em alguns códigos protótipos de Java usando nossas livrarias de teste, tanto para casos de output único quando para múltiplos outputs agregados. O código para os dois estilos de prova tem sido transformado pelo moneromooo e funciona corretamente. Devido ao papel chave que as provas de faixa tem em nossas transações e a falta de peer review para o paper, já que a técnica é nova, houve um consenso geral que o nosso código deveria receber o benefício de uma análise feita por um terceiro. Isso foi decidido porque o o funcionamento do Monero depende muito que as provas de faixa sejam corretas, e porque as análises externas possuem um papel muito importante na comunidade de pesquisa. Durante esse mês eu estive em contato com diversos grupos de segurança profissional para ver sobre essa questão da análise; aguardem uma solicitação de um financiamento no CCS assim que essa minha “auditoria dos auditores” for concluída. Embora o estudo e a integração das bulletproofs tem sido um processo demorado, o resultado final serão transações menores e mais rápidas. Como precisaremos de tempo para uma maior análise das bulletproofs, elas não serão incluídas no hard fork de março, mas nós consideramos que esse atraso é algo necessário para fazermos de maneira segura uma mudança tão importante.
Graças ao generoso apoio do FFS, meu colega de laboratório Surae Noether e eu participamos da conferência Blockchain Protocol Analysis and Security Engineering 2018 na Universidade de Stanford. A conferência contou com diversas apresentações sobre novas técnicas e teorias para criptomoedas e tecnologias de ledger distribuído, e foi uma grande honra representar o time de pesquisas do Monero. Um resultado técnico notavelmente interessante e inesperado da conferência foi a descoberta feita por Andrew Poelstra (feita durante um intervalo entre as palestras!) de uma verificação em lotes, simples e útil, que pode aplicada às bulletproofs, oferecendo mais uma otimização à verificação. Eu irei adicionar essa funcionalidade ao código do nosso protótipo antes da inclusão no código portado que será submetido ao processo de análise. Adicionalmente, eu encontrei diversas pessoas trabalhando com fundos de criptomoedas e fiquei agradavelmente surpreso de descobrir o apoio que o Monero tem dessas companhias, apesar das percepções iniciais dos desafios regulatórios. Isso me fez lembrar do papel crescente do Monero e de sua posição no meio das criptomoedas, e também para a necessidade da comunidade estar consciente da importância de divulgar e educar outras pessoas sobre a nossa tecnologia e seus benefícios. As conferências com interação pessoal persistem uma parte essencial da pesquisa acadêmica de qualidade, e esse evento não foi uma exceção.
Para avançar a divulgação educacional de uma maneira ampla e significativa, e para construir relacionamentos entre a comunidade Monero e instituições educacionais, meu colega de laboratório Surae Noether e eu estivemos ativamente engajados no planejamento inicial de um novo projeto. Nós não queremos revelar os detalhes ainda, até que certa coisas sejam resolvidas, mas nós estamos bastante entusiasmados. Em breve esperamos divulgar mais detalhes sobre maneiras de atingir estudantes para uma pesquisa estruturada e oportunidades de aprendizado.
Em relação ao alcance educacional, eu ainda estou desenvolvendo um currículo para um curso intensivo de verão sobre criptologia e desenvolvimento de criptomoedas, com duração de três semanas, que terá como público alvo estudantes de high-school talentosos. Nós já confirmamos com uma universidade dos Estados Unidos uma oportunidade para fazer um curso piloto no próximo verão. O curso é uma oportunidade perfeita para iniciarmos nossos esforços de divulgação sob uma estrutura organizacional de uma universidade anfitriã, pois seria um desafio fazer um programa acadêmico amplo do zero, sem o apoio de uma estrutura acadêmica mais tradicional. O curso não irá exigir nenhum financiamento da comunidade; para ser franco, eu vou ser remunerado para dar as aulas, e então eu não vou usar o meu financiamento padrão da FFS para o meu tempo de pesquisa durante o curso. Embora as políticas da universidade anfitriã não me permitem gravar ou distribuir as aulas (para privacidade dos estudantes), todos os outros materiais do curso serão distribuídos gratuitamente para uso e modificação de qualquer um. Comentários e sugestões sobre a estrutura e o currículo do curso são bem-vindos!
Por fim, diversos pequenos projetos fizeram parte das atividades de pesquisa desse mês. Por exemplo, eu e o talentoso e querido moneromooo propusemos mudanças para a maneira como nós abordamos certas operações exponenciais grandes. Essas mudanças fizeram com que o código do bulletproof e de outras partes ficasse mais rápido, tornando o nosso código um pouco mais sucinto e nossos usuários um pouco mais felizes. As otimizações também estão sendo integradas ao código do protótipo da assinatura em anel sublinear que foi escrito no final do ano passado; você deve se lembrar que o projeto ficou parado um pouco devido aos tempos de verificação muito longos, mas ele tem sido retomado graças às economias de tempo e espaço oferecidas pelo bulletproofs (e uma implementação C que está por vir). Ainda continuamos o nosso trabalho em andamento sobre estrutura de block graph, e eu espero que o interesse continuado em técnicas como a SPECTRE irão ajudar a alimentar o trabalho para fazer com que as DAGs sejam mais eficientes para o uso em ledgers distribuídos. Novos desenvolvimentos no zk-SNARKs e zk-STARKs foram revisados e considerados interessantes, mas eles não serão estudados para o Monero no momento devido a preocupações sobre os requisitos em espaço e memória.
O laboratório de pesquisas do Monero (MRL) existe e opera graças ao apoio da comunidade, e eu sempre sou grato por essa oportunidade. Como sempre, perguntas, comentários e sugestões sobre o nosso trabalho sempre são bem-vindas. Assim como toda pesquisa, a maior parte dos avanços nesse espaço não acabam tendo uma aplicação direta na vida real, mas nós incluímos no código do Monero o máximo de trabalho de qualidade que for possível. O Monero persiste sendo um exemplo brilhante de como uma colaboração aberta e dedicada por produzir resultados excelentes, e isso irá continuar na pesquisa do próximo mês e dos outros meses que ainda virão.