Quanto mais eu me aprofundo em @Dusk , mais percebo que a parte mais interessante nem sempre é o grande recurso de destaque. Às vezes, é uma pequena decisão de design que faz você parar para pensar. Tive esse momento ao analisar como Moonlight e Phoenix lidam com algo tão básico quanto garantir que a mesma transação ou ativo não possa ser usado duas vezes. O Moonlight usa o modelo que muitos de nós já entendemos: nonces. Cada conta segue uma sequência de transações e, depois que um nonce é usado, aquela transação não pode simplesmente ser repetida. É simples e previsível, mas quando você olha para o uso no mundo real, há mais acontecendo por baixo. Carteiras, exchanges e custodiante precisam manter esse estado preciso, especialmente quando várias transações são assinadas ou enviadas ao mesmo tempo. O Phoenix me fez enxergar o mesmo problema por um ângulo completamente diferente. Como ele usa notas blindadas, ele depende de nullifiers. Quando uma nota privada é gasta, seu nullifier informa à rede que aquela nota já foi consumida. Se alguém tentar gastá-la de novo, a tentativa pode ser rejeitada sem expor a própria nota privada. Essa diferença foi o que achei mais interessante. O Moonlight está mantendo a atividade da conta organizada, enquanto o Phoenix está provando que um valor privado já foi gasto sem revelar qual era exatamente esse valor. Mesmo objetivo, abordagens bem diferentes. E eu acho que isso é um bom exemplo de por que infraestrutura focada em privacidade é mais difícil do que simplesmente esconder dados de transação. Quando a privacidade vira parte da arquitetura, até coisas básicas como proteção contra repetição e prevenção de dupla despesa precisam ser redesenhadas para funcionar com isso. Agora, estou mais curioso sobre o que acontece à medida que Dusk escala. A coordenação do estado da conta vira um desafio maior, ou a descoberta de notas privadas e o acompanhamento dos nullifiers ficam mais difíceis? Essas são as decisões silenciosas de engenharia que podem acabar importando mais.
@Dusk #dusk $DUSK
@Dusk #dusk $DUSK
