Tópicos em alta
#
Bonk Eco continues to show strength amid $USELESS rally
#
Pump.fun to raise $1B token sale, traders speculating on airdrop
#
Boop.Fun leading the way with a new launchpad on Solana.
Enquanto aguardamos o veredicto no julgamento de Storm, é bom lembrar que as piscinas blindadas são apenas matemática e não são tão difíceis de entender.
Qualquer um pode implementar um.
Então, aqui está um tópico com a intuição básica de como eles funcionam:
O objetivo é construir um sistema em que todas as informações em cada transação permaneçam totalmente privadas para os usuários.
Não devemos esperar nada menos de nossos sistemas transacionais.
Este é o direito humano fundamental à privacidade.
O problema é, se todas as informações são privadas, como o blockchain sabe que o tx é válido? Como ele sabe que o usuário realmente tem os fundos que pretende enviar? Que eles não estão gastando em dobro?
A resposta óbvia é: provas de zk. Mas é realmente tão simples assim?
Suponha que você tenha uma conta com saldo de 10. Você quer enviar 5 para a defesa de Roman. Então você faz uma prova de zk que mostra que você tem 10 e sua transação envia 5. Parece bastante fácil!
Mas espere! Quando você fez uma prova sobre ter 10, essa prova pertencia a algum estado no passado, antes do último bloco em que seu tx foi incluído. Talvez desde então, você tenha gasto todas as moedas! Como você pode provar que ainda tem 10, no último bloco?
Isso é realmente bastante complicado, e é por isso que os pools blindados realmente não funcionam com sistemas baseados em contas - não há uma maneira direta e confiável de provar a um blockchain, em zk, o estado mais recente em tempo real.
A solução? Use UTXOs. As famosas "Saídas Tx não gastas" do Bitcoin.
Com os UTXOs, você não tem uma única conta atualizável, você tem "notas" individuais que só podem ser gastas uma vez, na íntegra (como uma moeda real). Os sistemas UTXO são meio chatos de desenvolver em geral, mas essa propriedade "gastar uma vez" os torna muito úteis para piscinas blindadas
Em um sistema UTXO como o Bitcoin, quando você vai gastar um UTXO, todos os nós completos podem verificar se o UTXO existe (foi criado no passado) e ainda não foi gasto. Isso é simples. Mas se todos os dados no UTXO estiverem criptografados, como podemos verificar isso?
Não apenas os dados são criptografados, mas nem queremos revelar *qual* UTXO está sendo gasto. Se o fizéssemos, quem lhe enviou o UTXO saberia quando você o gastou. Em um design de pool blindado ideal, ZERO informações são vazadas por uma transação.
O truque principal dos pools blindados é introduzir um valor de "anulador" que pode ser revelado publicamente, mas é derivado exclusivamente pelo gastador para cada UTXO. Para gastar o UTXO, o blockchain verifica se o anulador ainda não existe. Isso faz com que cada UTXO só possa ser gasto uma vez
Agora podemos voltar à nossa prova de zk. Simplesmente temos que provar que o UTXO que estamos gastando realmente existe na cadeia e que o anulador que revelamos para ele é derivado corretamente do UTXO que estamos gastando.
É isso!
Na prática, isso significa que os sistemas de piscina blindada normalmente mantêm duas árvores Merkle distintas. Um contém os hashes dos UTXOs (UTXOs são frequentemente chamados de "notas" e seus hashes como "compromissos de nota") e o outro contém os anuladores. Ambas as árvores são apenas anexadas!
Quando uma nova nota é criada, seu hash é armazenado na árvore Merkle da nota. A nota em si é criptografada. Quando um usuário mais tarde vai gastar essa nota, ele calcula o anulador da nota e faz uma prova de zk mostrando que a nota está na árvore Merkle e o anulador está correto
O anulador é revelado publicamente e a cadeia verifica se ele ainda não existe na árvore do anulador. Em seguida, ele é armazenado lá, para que a nota não possa ser gasta novamente. Ninguém pode realmente dizer qual nota está sendo gasta, já que a nota original é deixada sozinha na árvore de notas!
Aí está, o design básico de todas as piscinas blindadas hoje, incluindo @Zcash, @TornadoCash, @penumbrazone, @namada e muito mais
Claro que há muito mais envolvido no design de piscinas blindadas. Fique ligado para mais tópicos em que nos aprofundaremos nessas mecânicas
@AThryver @0xkaiserkarel Equívoco comum e uso indiscutivelmente enganoso do termo "zk" aqui. Ver

24 de jul. de 2024
TÊ? ZKP? MPC? FHE?
Tudo o que você precisa saber sobre as siglas de três letras mais importantes em criptografia
Ou, como você ganha amigos e pessoas 🧵 com TEE-fluência
33,82K
Melhores
Classificação
Favoritos