Tenho analisado com mais cuidado a arquitetura de privacidade do Dusk, e uma coisa que sempre me vem à mente é quanto depende do fato de as peças trabalharem juntas — em vez de qualquer primitivo criptográfico isolado. No início, ver BLS12-381, JubJub, Schnorr, Poseidon e PLONK em conjunto pareceu muita coisa para digerir. Mas quando olhei para o que cada um está realmente fazendo, a estrutura ficou mais fácil de entender.
O BLS12-381 fica por baixo de grande parte da infraestrutura de assinaturas e de ZK, enquanto o JubJub é usado na camada de privacidade Phoenix porque o design dele funciona bem com sistemas baseados em SNARK. O Schnorr lida com autenticação e assinaturas, e o Poseidon cuida de hash dentro de circuitos de ZK, onde a computação de hashing convencional pode se tornar relativamente cara. As Árvores de Merkle Merkle Esparsas (Sparse Merkle Trees) então ajudam com provas de estado e de associação, enquanto o PLONK fornece a estrutura de prova e verificação. A agregação BLS adiciona mais uma camada prática ao combinar múltiplas assinaturas de comitê e reduzir a sobrecarga de verificação.
Ainda assim, não acho que a lista de primitivas, por si só, me diga o suficiente. A implementação é onde eu começaria a prestar mais atenção. Serialização, verificações de subgrupos, vinculação ao transcript e separação de domínio podem se tornar detalhes sensíveis do ponto de vista de segurança.
Então minha pergunta principal agora é simples: o quão bem essa pilha cuidadosamente projetada se mantém quando o uso real, as exigências de desempenho e condições adversariais começam a exercer pressão sobre ela?
$PORTAL
$GPS
$DUSK
@Dusk_Foundation #dusk
O BLS12-381 fica por baixo de grande parte da infraestrutura de assinaturas e de ZK, enquanto o JubJub é usado na camada de privacidade Phoenix porque o design dele funciona bem com sistemas baseados em SNARK. O Schnorr lida com autenticação e assinaturas, e o Poseidon cuida de hash dentro de circuitos de ZK, onde a computação de hashing convencional pode se tornar relativamente cara. As Árvores de Merkle Merkle Esparsas (Sparse Merkle Trees) então ajudam com provas de estado e de associação, enquanto o PLONK fornece a estrutura de prova e verificação. A agregação BLS adiciona mais uma camada prática ao combinar múltiplas assinaturas de comitê e reduzir a sobrecarga de verificação.
Ainda assim, não acho que a lista de primitivas, por si só, me diga o suficiente. A implementação é onde eu começaria a prestar mais atenção. Serialização, verificações de subgrupos, vinculação ao transcript e separação de domínio podem se tornar detalhes sensíveis do ponto de vista de segurança.
Então minha pergunta principal agora é simples: o quão bem essa pilha cuidadosamente projetada se mantém quando o uso real, as exigências de desempenho e condições adversariais começam a exercer pressão sobre ela?
$PORTAL
$GPS
$DUSK
@Dusk_Foundation #dusk
