Em 2 de agosto de 2016 um arquivo de texto foi postado anonimamente em um fórum de desenvolvedores do Bitcoin descrevendo o protocolo MimbleWimble. O objetivo era criar uma alternativa a blockchain do Bitcoin, mas com soluções para problemas de escalabilidade e recursos de privacidade.
Em 20 de outubro de 2016, um outro desenvolvedor anônimo postou no mesmo fórum que ele estava trabalhando em uma implementação em cima do protocolo MimbleWimble – A Grin.
Uma Breve História do White Paper MimbleWimble
Em agosto de 2016, Tom Elvis Jedusor (nome francês de Voldemort nos livros do Harry Potter) postou o white paper do MimbleWimble no fórum sobre bitcoin, e depois desapareceu.
“Mimblewimble” que também é um termo usado no livro ” As Relíquias da Morte“, era uma proposta de blockchain que teoricamente poderia aumentar a privacidade, a escalabilidade e a fungibilidade.
Em outubro de 2016, Andrew Poelstra, matemático da Blockstream, escreveu um artigo preciso explicando a ideia do protocolo e acrescentou melhorias.
Alguns dias depois, Ignotus Peverell (nome que também veio de “Harry Potter”, o dono da capa da invisibilidade, caso você não conheça os personagens de Harry Potter) iniciou um projeto no Github chamado Grin (Sim! Este projeto) e começou a tornar o protoclo MimbleWimble em realidade.
E em março de 2017, Ignotus Peverell publicou uma introdução técnica ao MimbleWimble e Grin no Github.
Desde então, Grin foi sendo desenvolvida por vários membros da comunidade e, após vários estágios de testes, foi lançada no dia 15 de janeiro de 2019.
Visão geral do MimbleWimble, Grin e BEAM
O MimbleWimble é um protocolo blockchain focado em fungibilidade, privacidade e escalabilidade. A documentação do MimbleWimble especifica o usou da mesma criptografia de curva elíptica que o Bitcoin usa, chamando a atenção de muitos pesquisadores de Bitcoin.
Originalmente, imaginava-se que o MimbleWimble poderia ser integrado como uma atualização para o Bitcoin ou existir como um sidechain, mas Pieter Wuille, co-fundador da Blockstream e desenvolvedor do Bitcoin Core, esclareceu alguns dos desafios para integração. Em um podcast de 2016 ele disse:
“A integração do Mimblewimble no bitcoin de uma maneira compatível com versões anteriores seria uma tarefa difícil. Pode não ser impossível, mas seria muito difícil. Eu acho que se as pessoas tentarem isso, eu esperaria que fosse em uma blockchain separada experimental ou sidechain. Em uma sidechain, não introduziríamos uma nova criptomoeda, mas seria uma blockchain diferente. Existem algumas desvantagens no MimbleWimble, Em particular, ele não usa uma linguagem de script… uma linguagem de script é muito legal para se brincar, mas existe a vantagem da privacidade. Mimblewimble tem recurso muito bom de privacidade.
O MimbleWimble não usa linguagem de script expressiva. Duas implementações separadas do protocolo MimbleWimble surgiram, ambos com diferentes considerações em torno da comunidade, ethos, financiamento e detalhes técnicos.
A primeira implementação, Grin, que se tornou sinônimo de MimbleWimble, serve como referência principal para a especificação do protocolo hoje. O projeto ainda é mantido por um grupo de programadores anônimos, vários dos quais adotaram pseudônimos de Harry Potter.
A segunda implementação, o BEAM, é um projeto iniciado em março de 2018. O BEAM foi apresentado em um white paper separado (juntamente com um nó de mineração totalmente funcional e carteira) assumindo uma estrutura mais formal semelhante a Zcash, em contraste com o ethos anárquico e do código aberto da Grin. A equipe do BEAM é liderada pelo CEO Alexander Zaidelson, um empresário israelense.
Com uma equipe de gerenciamento / engenharia definida, pré-venda, uma fundação formal e o fundador, a BEAM adotou uma abordagem muito diferente para apresentar uma alternativa competitiva ao Grin. Além de criar a estrutura formal em torno do projeto, a equipe do BEAM fez escolhas técnicas diferentes da Grin, incluindo decisões relacionadas à política monetária e algoritmo de hashing.
O BEAM foi lançado no início de janeiro de 2019 com uma vantagem significativa na taxa de hash.
O que é o MimbleWimble?
MimbleWimble é basicamente um substituto para a blockchain do bitcoin. É uma proposta para uma “blockchain” que poderia ser implementada como uma sidechain onde você tem uma cadeia de blocos completamente separada e você poderia mover bitcoins para ela e para fora dela. Ou, potencialmente, em um futuro distante, onde testamos e comprovamos essa tecnologia, poderíamos usar esse bitcoin como um tipo sidechain integrado a um sistema.
O Mimblewimble difere do bitcoin pois, em vez de ter registros assinados em todas transações, como como no bitcoin, onde você tem uma pilha de entradas e uma pilha de saídas, e cada entrada tem uma chave associada a ela e tem que ter uma assinatura para uma transação com essa chave. No Mimblewimble este modelo é diferente.
Em vez de cada entrada assinar a transação, você cria um multisig sobre todas as entradas e saídas. Se você pegar a soma de todas as chaves em todas as saídas, menos a soma de todas as chaves de entrada, você obtém um ponto de curva elíptica que pode tratar como uma chave pública e o que essa chave pública representa é uma chave pública com várias assinaturas para todos as partes em transação, o proprietário de todas as entradas e o proprietário de cada resultado. E assim, uma assinatura sobre isso representa que a transação foi autorizada por todos os envolvidos.
Como MimbleWimble funciona?
O MimbleWimble é um protocolo que mistura várias tecnologias para mudar radicalmente como as transações são executadas e reduzir o tamanho da blockchain.
O MimbleWimble aborda principalmente duas áreas:
Privacidade
Escalabilidade
Como resultado de sua privacidade, o MimbleWimble (e posteriormente o Grin) tem forte fungibilidade.
Para entender o protocolo Mimblewimble, a maneira pela qual as transações Mimblewimble são realizadas deve ser entendida antes.
As transações Mimblewimble são uma derivação de outro tipo de transação conhecida como transações confidenciais. Concebido pelo antigo do desenvolvedor Bitcoin, Adam Back, as transações confidenciais permitem que os remetentes criptografem a quantidade de bitcoins que desejam enviar usando fatores conhecidos e ocultos. Um fator de ocultação é um valor aleatório usado para criptografar quantidades de bitcoins em uma transação e é escolhido pelo remetente de uma transação. O fator selecionado deve criptografar adequadamente a quantia que está sendo transacionada, mas, no entanto, não deve afetar a entrada e a saída de uma transação.
Em uma transação confidencial, apenas as duas partes envolvidas estão cientes da quantidade de bitcoins sendo transacionados, os espectadores não podem saber. No entanto, os espectadores ainda podem garantir que a transação seja validada, comparando o número de entradas e saídas; se ambos forem iguais, a transação será considerada válida. Tal procedimento garante que nenhum bitcoin tenha sido criado a partir do nada e é fundamental para preservar a integridade do sistema.
Transações no protocolo Mimblewimble funcionam de maneira semelhante, exceto que o destinatário de uma transação seleciona aleatoriamente um intervalo de fatores de ocultação fornecidos pelo remetente. Esse fator é então usado como prova de propriedade pelo receptor, permitindo, assim, que eles gastem os bitcoins.
As transações Mimblewimble trazem outra inovação criptográfica conhecida como CoinJoin. Proposta por Gregory Maxwell, CoinJoin é um mecanismo pelo qual os pagamentos de múltiplos atores são combinados para formar uma única transação, tornando difícil para uma parte externa determinar qual pagamento foi destinado a qual destinatário. Este recurso trabalha ofuscando as entradas e saídas dos remetentes e destinatários.
Portanto, em relação às transações Mimblewimble, quando combinadas juntas, um bloco consistiria simplesmente em: uma lista de entradas, uma lista de saídas e dados de assinatura.
Isso oferece uma economia significativa de espaço nos blocos porque outros dados de transações não precisam mais ser armazenados, apenas entradas e saídas. Ao subtrair as entradas totais das saídas totais e garantir que o resultado seja zero, uma blockchain construída a partir de tal sistema seria considerado válido.
A economia de espaço teórica, assim como a privacidade, oferecida através do uso do protocolo Mimblewimble é evidente. Removendo dados de transação desnecessários da blockchain, a escalabilidade se torna um problema menor porque mais transações podem ser incluídas em um único bloco. Devido ao ofuscamento de entradas e saídas, bem como a eliminação de endereços públicos em transações Mimblewimble, o anonimato verdadeiro, em oposição ao pseudônimo, é alcançado.
Privacidade
As transações no MimbleWimble são ocultas, mas ainda podem ser validadas adequadamente, apesar de não haver endereços e os valores transacionados ficarem totalmente ocultos. O MimbleWimble depende das propriedades da criptografia de curva elíptica (ECC – Elliptic Curve Cryptography) para estruturar transações com base na verificação de somas zero e na posse de chaves privadas.
A verificação de transações com Mimblewimble requer que a soma das saídas da transação menos a soma das entradas seja sempre igual a zero. Isso é feito usando Transações Confidenciais que comprovam que um gasto duplo ou a criação de novos fundos não ocorreu em uma transação, ao mesmo tempo em que oculta os valores reais da transação.
MimbleWimble deriva seu conceito para isso de transações confidenciais (CTs) por Greg Maxwell.
A prova de propriedade no MimbleWimble depende de fatores de ocultação que são essencialmente as chaves privadas dos usuários e os valores em excesso que fazem parte do kernel da transação. Esse fator de cegueira pode ser aproveitado para provar a propriedade do valor em uma transação sem revelar seus valores.
O conceito de validar transações sem conhecer nenhum dos valores transacionados espelha provas de conhecimento zero e RingCTs empregados no ZCash e no Monero, respectivamente.
Não há endereços no MimbleWimble, no entanto. Em vez disso, duas carteiras se comunicam entre si para trocar dados onde o destinatário cria e envia um endereço ao remetente. Apenas os participantes podem ver esses dados e as informações não podem ser reutilizadas por terceiros. As partes participantes nem precisam estar on-line ao mesmo tempo.
Além disso, os blocos na blockchain não listam transações separadas (mesmo se elas forem ofuscadas – isto é, Monero ), ao contrário, elas são agregadas em uma única transação com entradas e saídas mistas. Visualizar um bloco não forneceria insights sobre uma transação específica. As transações no MimbleWimble são efetivamente uma variante não interativa do CoinJoin que não podem ser separadas umas das outras.
Para resumir, os nós podem verificar a autenticidade das transações sem revelar os valores sendo transferidos, não há endereços e nenhuma informação identificável em uma transação.
Escalabilidade
A abordagem que o MimbleWimble traz à escalabilidade é muito mais direta do que as soluções mais complicadas de duas camadas ou o aumento da capacidade de processamento na blockchain. Em vez disso, o MimbleWimble depende da eliminação de transações antigas e desnecessárias na blockchain para melhorar a eficiência.
Especificamente, o protocolo remove as entradas gastas na blockchain ao longo do tempo, agregando transações intermediárias juntas, de modo que o tamanho da blockchain seja drasticamente reduzida. O protocolo usa um método chamado cut-through.
Como resultado, é impossível dizer qual entrada é correspondida com qual saída, preservando a capacidade de validar as transações dentro de um bloco. Os nós podem validar blocos por referência cruzada da soma de dinheiro criada através da mineração com a oferta total.
O tipo de remoção de dados inúteis oferecido pelo MimbleWimble permite que o protocolo se torne muito mais escalável, com usuários capazes de sincronizar rapidamente com a rede. É importante observar que todo o estado da cadeia pode ser validado de maneira semelhante a um nó completo, mesmo que nenhum usuário retenha a maioria dos dados históricos de blockchain.
Conclusão
Através do uso de inovações criptográficas, como transações privadas e o recurso CoinJoin, o protocolo Mimblewimble oferece uma solução de escalonamento forte, bem como maior privacidade do que a blockchain do Bitcoin.
No entanto, é um projeto experimental, testes ainda estão em andamento para garantir a validade dessa tecnologia.
Em um mundo com sistemas de crédito social e técnicas de inteligência artificial estão ficando cada vez mais bem informados sobre o que você está negociando, com quem você está transacionando e até mesmo o que vai acontecer no futuro, é claro que a privacidade é importante ao projetar dinheiro do futuro.
Grin e BEAM trouxeram duas abordagens diferentes para o mercado. Apesar das semelhanças entre eles, existem algumas diferenças de implementação no MimbleWimble. Levará vários meses, se não mais, para um “vencedor” surgir. Embora não esteja claro qual moeda irá “vencer”, os dois lançamentos oferecem um teste de uma série de coisas que os entusiastas sempre consideraram extremamente importantes.
Vale a pena acompanhar este projeto.
Informações do TheBlockcrypto , We Use Coins e Blockonomi