MetaMask Snaps: Web3 경험의 혁신
2023년 9월 12일, ConsenSys Software Inc.에서 MetaMask 사용자와 개발자가 Web3 경험을 개인화하고 향상시킬 수 있도록 MetaMask Snaps 기능을 공개했습니다. 그렇다면 MetaMask Snaps란 정확히 무엇이며, 어떻게 작동하는 것일까요?
MetaMask 공동 창립자인 댄 핀레이는 MetaMask Snaps의 도입을 다양한 블록체인 기반 분산형 애플리케이션(DApp)과 상호 작용할 수 있는 ‘지갑 시스템의 새로운 패러다임’이라고 설명했습니다.
이는 MetaMask 팀이 개발하고 제공하는 기능에 국한되지 않고, 이제 독립 개발자들이 설계한 추가 도구 및 기능(Snaps)을 MetaMask 암호화폐 지갑에 통합할 수 있다는 것을 의미합니다.
예를 들어, MetaMask 지갑 외에도 Wallet Guard를 사용하고자 할 경우, Wallet Guard 브라우저 확장 프로그램이나 앱을 따로 설치하는 대신 Wallet Guard Snap을 이용해 MetaMask 지갑에 연결하고 MetaMask 사용자 인터페이스 내에서 거래 통찰력과 보안 알림을 편리하게 받을 수 있습니다.
본질적으로 MetaMask Snaps는 MetaMask 지갑과 다양한 블록체인의 DApp 간의 연결 다리 역할을 합니다. 이러한 연결, 좀 더 정확하게는 프레임워크를 통해 독립 개발자는 MetaMask의 기능을 확장하고 더 많은 선택지와 유연성을 제공하는 플러그인을 만들고 통합할 수 있습니다.
MetaMask Snaps를 사용하면 훨씬 더 많은 블록체인, DApp, 토큰, 거래 보안 제공업체, 알림 시스템은 물론 새로운 사용자 인터페이스까지 접근할 수 있습니다.
MetaMask Snaps는 Secure EcmaScript(SES)라는 JavaScript 엔진을 사용하며, 이는 샌드박스 환경에서 Snaps를 실행합니다. 결과적으로 Snaps는 다른 프로그램, 특히 핵심 MetaMask 기능 및 특징에 영향을 줄 수 없습니다. 이는 Snaps가 제공하는 특정 기능과 설치 중에 사용자가 부여하는 권한으로만 작동한다는 의미입니다.
Snap은 사전 정의된 API(애플리케이션 프로그래밍 인터페이스), 즉 지갑 API를 통해 MetaMask와 상호작용하며, 이 API는 필요한 기능과 데이터를 노출합니다. 또한 HTTPS 요청 및 기타 통신 프로토콜을 사용하여 외부 블록체인 네트워크와 통신합니다.
MetaMask Snaps는 개방형 소스 프레임워크이므로, 누구나 새로운 Snap을 개발하고 MetaMask에 설치할 수 있습니다. Snap을 제작하려면 먼저 MetaMask Flask를 설치해야 합니다. 이를 통해 안정적인 MetaMask 확장 프로그램에 추가하기 전에 Snap을 구축하고 테스트할 수 있습니다.
Snap 개발 후, MetaMask는 이를 검토하고 MetaMask Snap 디렉토리에 등록합니다. 2023년 9월 현재 디렉토리에는 30개 이상의 Snap이 등록되어 있습니다. 향후 MetaMask는 외부 기관이 Snap을 검토하고 등록할 수 있도록 감사 프로세스를 확장할 계획입니다.
직접 Snap을 개발하지 않더라도 디렉토리에서 필요한 것을 선택하여 사용할 수 있습니다. 플러그인처럼 MetaMask Snap도 설치해야 하며, 필요에 따라 활성화하거나 비활성화할 수 있습니다. MetaMask Snap을 설치하는 방법은 다음과 같습니다.





이것으로 완료됩니다!
개발자와 일반 투자자 모두 MetaMask Snaps를 통해 다양한 이점을 얻을 수 있습니다.
1. 비 EVM 블록체인과의 상호 운용성
과거에는 MetaMask가 이더리움 및 이더리움 가상 머신(EVM) 호환 네트워크만을 지원했습니다. 그러나 MetaMask Snaps를 사용하면 비트코인 및 솔라나와 같은 비 EVM 호환 네트워크에도 연결할 수 있게 되었습니다.
예를 들어, Zion Snap을 사용하면 토큰을 래핑하지 않고도 MetaMask 지갑 내에서 직접 비트코인을 관리할 수 있습니다. 솔라나 Snap도 마찬가지입니다. Snap이 존재한다면 MetaMask 지갑에서 가능한 많은 블록체인 네트워크 (EVM 및 비 EVM) 에 접속하고 상호 작용할 수 있습니다.
2. 새로운 알림 기능
상호 운용성 외에도 MetaMask 지갑 내에서 즉각적인 알림을 받을 수 있습니다. Snaps는 지갑 API를 활용하여 연결된 DApp 또는 블록체인 프로토콜의 실시간 알림을 통합합니다.
MetaMask 인터페이스 내에서 즉각적인 업데이트, 가격 알림, 액세스 차트 또는 메시지를 받을 수 있습니다.
3. 거래 분석 및 인사이트
일부 Snap은 사용자의 자금 손실을 막기 위해 거래 제출 전에 거래를 분석합니다. 이는 수신(계약) 주소의 안전성 또는 악의성을 판단하거나 잠재적인 피싱 공격을 경고하거나 거래의 성공 또는 실패 여부를 예측하는 방식으로 이루어집니다.
설치 시 Snaps가 부여하는 권한을 통해 거래 분석 및 인사이트 도구를 제공하는지 확인할 수 있습니다. 예를 들어, Snap에 ‘거래 인사이트 가져오기 및 표시’ 권한을 부여하면 해당 앱이 거래 인사이트 기능을 사용한다는 것을 알 수 있습니다.
4. 핵심 지갑 기능 강화
MetaMask Snaps를 사용하면 개인 정보 보호를 강화하고 MetaMask 지갑 내에서 직접 메시지를 주고받는 기능과 같은 추가 기능에 접근할 수 있습니다.
사용자는 필요에 따라 여러 기능을 설치하여 지갑을 맞춤화하고 개선할 수 있습니다.
또한 개발자는 Snap을 편리하게 만들고 배포할 수 있으며, 결국에는 MetaMask의 승인 없이도 가능하게 될 것입니다. 이는 MetaMask 지갑의 기능을 확장하는 데 큰 도움이 될 것입니다.
이미 여러 개의 MetaMask Snaps를 설치하고 사용할 수 있습니다.
1. 솔플레어 지갑
Solflare Wallet Snap은 MetaMask와 EVM이 아닌 네트워크인 솔라나 간의 상호 운용성을 가능하게 합니다. 이제 MetaMask 지갑을 솔라나에 연결하고, 토큰을 저장하고, 앱에 접속하고, 계정을 관리할 수 있습니다.
2. V1 푸시
Push Snap을 사용하면 MetaMask 지갑 내에서 구독하는 채널로부터 즉시 알림을 받을 수 있습니다. Snap을 설치하고, 즐겨찾는 채널을 구독하고, 지갑 주소를 연결하기만 하면 모든 관련 Web3 이벤트에 대한 앱 내 알림을 받을 수 있습니다.
3. 블록펜스
Blockfence Snap을 사용하면 거래를 제출하기 전에 평가할 수 있습니다. 또한 사용자가 사용하는 DApp, 상호 작용하는 스마트 계약, 보유한 토큰 등을 평가할 수 있습니다.
MetaMask Snaps는 암호화폐 참가자들이 하나의 지갑으로 다양한 블록체인 네트워크에서 DApp 및 분산 금융에 접근할 수 있는 간편한 방법을 제공합니다. 마찬가지로 개발자는 Snap을 쉽게 개발하고 배포할 수 있습니다.
MetaMask Snaps는 완전히 분산된 시스템에 대한 암호화폐 업계의 꿈을 실현하는 혁신적인 기술이 될 수 있습니다.