SONIC 프로토콜은 프라이버시를 보호하는 암호화폐 전송을 위해 최적화된 영지식 증명 시스템을 구현합니다. 가벼운 암호화 커밋먼트와 효율적인 증명 생성을 사용하여 SONIC은 최소한의 계산 오버헤드로 암호화된 트랜잭션 실행을 가능하게 하면서 기본적인 프라이버시 보장을 유지합니다. 모든 트랜잭션은 영지식 증명 시스템을 사용하여 종단 간 암호화됩니다. 트랜잭션 세부 정보는 실행 중에 숨겨집니다:
// 암호화된 전송을 위한 ZK 증명 생성
function generateTransferProof(amount, sender, receiver):
// 암호화 커밋먼트 생성
commitment = hash(amount, sender, receiver, nonce)
// 영지식 증명 생성
proof = {
publicInputs: [commitment],
privateInputs: [amount, sender, receiver, nonce]
}
// 세부 정보를 공개하지 않고 유효성 증명
zkProof = proveStatement(
"I know values that hash to commitment",
proof.publicInputs,
proof.privateInputs
)
return {commitment, zkProof}
검증자는 송신자, 수신자 또는 금액을 알지 못해도 트랜잭션의 유효성을 확인할 수 있습니다.