SNARK와 STARK의 차이점은 무엇인가요?

Advanced
5m

zk-SNARKs와 zk-STARKs는 모두 영(零)지식 증명(zero-knowledge proofs)입니다. 이는 어떤 한 당사자가 다른 당사자에게 어떤 것을 증명하면서도 어떤 세부 정보도 공개하지 않는 암호학적인 방법입니다.

주요한 차이점은 zk-SNARKs는 신뢰할 수 있는 설정(setup) 과정이 필요하고, zk-STARKs는 그렇지 않다는 것입니다. 신뢰할 수 있는 설정 과정은 하나 이상의 당사자에 의해 초기 매개변수가 생성되고 그들에 의해 파괴되는 과정입니다. 이러한 매개변수는 증명을 생성하고 확인하기 위해 사용되지만, 파괴되지 않으면 가짜 증명을 생성하는 데 사용될 수 있습니다.

zk-SNARKs와 zk-STARKs 사이의 다른 차이점은 zk-SNARKs가 더 간결하고 효율적이고, zk-STARKs가 더 투명하고 안전하다는 것입니다. zk-SNARK 증명은 매우 짧아서 계산 비용이 낮게 생성되고 빠르게 검증될 수 있습니다. 그러나 zk-STARK 증명은 숨은 가정이나 비밀에 의존하지 않으며 양자 공격에도 강합니다.

증명 검증이 빠르기 때문에 zk-SNARKs가 확장 가능성이 더 큰 것처럼 보일 수 있지만, 증명을 더 빠르게 생성하기 때문에 zk-STARKs가 더 확장 가능한 솔루션입니다. 게다가 zk-STARKs는 이더리움(Ethereum) 메인넷에 제출될 때 가스 소모가 덜합니다.