MetaMask Snaps는 MetaMask를 세계에서 가장 확장 가능한 지갑으로 만들기 위한 로드맵입니다. 개발자라면 완전히 새로운 방식으로 자신만의 기능과 API를 MetaMask에 추가할 수 있습니다. Web3 개발자들은 이러한 성장의 핵심이며, 이 시리즈는 현재 개발 중인 혁신적인 MetaMask Snaps를 소개하는 것을 목표로 합니다.
ZK Nullifier Snap
Snap 저장소: https://github.com/piotr-roslaniec/ethbogota-2022
왜 이것을 만들었나요?
ZK 에어드롭, ZK 메시지 보드, ZK 투표와 같이 고유성이 요구되는 차세대 익명 앱을 구현하고자 합니다. 이를 위해서는 MetaMask Snap을 시작으로 긴밀한 지갑 통합이 필요합니다.
기술적인 구현 방식을 설명해 주실 수 있나요?
저희는 Snap 내에서 임의의 WASM을 실행할 수 있는 범용 Snap 스크립트를 개발했습니다. 이후 기존 Rust 서명 코드에 WASM 바인딩을 추가하고, MetaMask Snaps의 개인 키 호출과 연결했습니다. 그런 다음 사용자가 ZK-SNARK에 입력하여 서명의 결정론적 특성을 검증할 수 있도록 모든 적절한 신호를 출력합니다.
이를 통해 효과적인 고유 익명 식별자 또는 익명 nullifier를 생성할 수 있는 이유에 대해 더 자세히 알고 싶다면, 저희 블로그 전체 게시물을 확인해 보세요.
이것을 구현한다면 다음 단계는 무엇인가요?
현재 Circom으로 작성 중이며 곧 PLONK 기반 언어로도 작성될 예정인 필요한 ZK 증명과 엔드투엔드로 통합하고자 합니다. 또한 heyanon 및 stealthdrop과 같은 앱들이 출시 시 이를 통합할 것으로 기대하며, 더 많은 분들이 활용하시길 바랍니다!
아울러 저희가 발견한 내용을 표준화하기 위한 ERC를 작성하여 MetaMask와 Ledger 같은 지갑들이 핵심 라이브러리에 통합할 수 있도록 할 계획입니다.
본인과 팀에 대해 간략히 소개해 주시겠어요?
yush_g는 Personae Labs에서 차세대 ZK 신원 기술을 연구하며 원본 논문 작성에 참여했고, Piotr는 새로운 지갑 프리미티브와 최첨단 영지식 기술에 열정을 가진 뛰어난 엔지니어입니다.
MetaMask Snaps를 처음 접한 것은 언제이며, 어떤 경험이었나요?
Piotr는 오사카 Devcon에서 MetaMask Snaps를 처음 접한 이후 계속 활용해 왔습니다. Aayush는 이번 Devcon에서 Piotr를 통해 MetaMask Snaps를 처음 접했습니다.
MetaMask Snaps가 다른 지갑과 다른 점은 무엇인가요?
지갑 내에서 임의의 WASM을 실행하는 것은 현재 아직 초기 단계이며, 이를 직접 시도해볼 수 있다는 점이 매우 기대됩니다.
MetaMask Snaps를 MetaMask와 함께 개발하는 경험은 어떤가요?
개발 과정은 전반적으로 원활하고 효율적입니다. 다만 배포 과정에서 일부 어려움이 있는데, 사용자가 MetaMask Snaps를 사용하려면 기존 MetaMask를 비활성화해야 하기 때문입니다.
MetaMask Snaps는 여러분에게 어떤 의미인가요?
MetaMask Snaps는 흥미로운 새로운 지갑 프리미티브로, 새로운 암호화 아이디어를 빠르게 프로토타입할 수 있다는 점에서 매우 유용합니다.
MetaMask Snaps가 Web3 생태계에 열어줄 기회와 가능성은 무엇이라고 생각하시나요?
자체적인 암호화 방식을 구현할 수 있는 능력은 강력하다고 생각합니다. 예를 들어, 이더리움에서 검증 가능한 결정론적 서명을 배포하는 저희 프로젝트는 원하는 어떤 익명성 집합 내에서도 고유하게 투표하거나, 연결되지 않은 계정으로 익명 에어드롭을 받거나, 동일한 익명 이름으로 반복적으로 게시할 수 있는 스레드 등을 가능하게 할 것입니다.
MetaMask Snaps를 시도하려는 개발자들에게 조언이 있다면?
저희는 기존 Rust 코드를 그대로 연결할 수 있도록 임의의 WASM을 실행하는 Snap을 설계했습니다. 동일한 방식에 관심 있으신 분들께는 저희 코드를 참고하시길 권장합니다!
MetaMask Snaps로 개발 시작하기
MetaMask Snaps를 시작하려면:
개발자 문서를 확인하세요
MetaMask Flask를 설치하세요
MetaMask Snaps 가이드를 살펴보세요
Twitter, GitHub 토론, Discord에서 저희와 소통하세요
다음 해커톤에서 여러분 근처에서 저희 팀을 만나보세요! 즐거운 BUIDL 되세요 ⚒️
면책 조항: MetaMask Snaps는 일반적으로 Consensys Software 이외의 제3자에 의해 개발됩니다. 제3자가 개발한 MetaMask Snaps의 사용은 전적으로 귀하의 재량과 위험 부담 하에 이루어지며, 이러한 활동으로 인해 발생하는 모든 손실이나 손해에 대한 책임은 귀하에게 있습니다. Consensys는 제3자가 개발한 MetaMask Snaps에 대해 구두 또는 서면을 불문하고 어떠한 명시적 또는 묵시적 보증도 하지 않으며, 제3자가 개발한 MetaMask Snaps에 대한 모든 책임을 부인합니다. 블록체인 관련 소프트웨어 사용에는 위험이 수반되며, MetaMask Snaps 사용 시 해당 위험을 전적으로 감수하게 됩니다.