MetaMask Snaps: 분산형 새로운 생태계를 개척하고 지갑 선두 지위를 강화하다
저자:Darren, Everest Ventures Group
1. MetaMask Snaps란 무엇인가?
MetaMask Snaps는 MetaMask 지갑의 새로운 기능(플러그인)으로, 개발자가 원하는 방식으로 MetaMask를 확장할 수 있는 허가 없는 생태계를 만드는 것을 목표로 합니다. MetaMask Snaps는 오픈 소스 지갑 확장 개발을 통해 다양한 요구를 가진 최종 사용자에게 다양화되고 개인화된 솔루션을 제공하는 좋은 방법이며, 공개된 정보에 따르면 MetaMask는 지금까지 유일하게 사용자 정의 플러그인을 지원하는 지갑 제공업체입니다.
사용자 사용 흐름:
- 먼저 이 웹사이트에서 MetaMask Flask를 다운로드합니다;
참고: 현재 프로젝트는 개발자 테스트 단계에 있으며, Flask를 다운로드할 때 위험 경고가 표시됩니다⬇:
- Flask를 다운로드한 후, 사용하고 싶은 Snaps를 다운로드할 수 있습니다. 여기서는 AA Snap을 예로 들겠습니다(현재 개발자 테스트 단계이므로 본문에서는 개발자의 비디오 스크린샷을 사용합니다):
1) AA Snap 공식 웹사이트에서 MetaMask 지갑을 연결하면 MetaMask에서 연결 요청 창이 팝업됩니다. 연결을 클릭합니다.
2) 승인 및 설치
3) 여기에서 연락처 지갑을 연결합니다.
4) 이후 EOA 지갑과 계정 추상화 지갑을 볼 수 있습니다. 계정 추상화 지갑은 계약 지갑이므로 주소가 고정되어 있으며 MetaMask에 연결된 후 자동으로 생성됩니다.
5) 다음으로 계약 지갑으로 0.1$MATIC을 보내보겠습니다: 계약 지갑 주소를 복사하고 다른 EOA 지갑 주소에 토큰을 보내듯이 직접 전송합니다.
잠시 기다리면 계약 지갑으로 보낸 $MATIC이 도착합니다.
6) 다음으로 계약 지갑에서 EOA 지갑으로 0.05$MATIC을 보내보겠습니다.
거래를 확인한 후 "서명"하고 잠시 기다리면 토큰이 성공적으로 전송된 것을 볼 수 있습니다.
7) 마지막으로 polygonscan에서 계약 계좌가 성공적으로 배포되었는지 확인할 수 있습니다(이미 배포된 것을 볼 수 있습니다).
이상은 간단한 사용자 사용 튜토리얼입니다. 위의 사용 튜토리얼을 통해 MetaMask Snaps를 사용하기 전에 먼저 MetaMask 사용법을 배워야 한다는 것을 알 수 있습니다. 따라서 MetaMask Snaps의 출현은 실제로 사용자 사용 장벽을 낮추지 않았으며, 현재의 기존 사용자에게 더 나은 경험과 더 많은 기능을 제공하여 현재의 기존 사용자를 더 잘 유지하는 데 중점을 두고 있습니다.
2. MetaMask Snaps의 진행 상황과 프로젝트
현재 MetaMask Snaps는 상대적으로 초기 개발 단계에 있습니다. 기존 Snaps는 지속적으로 개발 및 테스트되고 있으며, MetaMask 팀은 다양한 방법으로 더 많은 개발자가 MetaMask에서 Snaps를 구축하도록 장려하고 있습니다. 현재 주로 다음 두 가지 방법을 사용하고 있습니다:
- MetaMask Grants DAO: 이것은 ConsenSys가 자금을 지원하는 실험적인 직원 주도 프로그램으로, 전 세계 외부 개발자에게 MetaMask 생태계에서 영향력 있는 경험을 구축하기 위한 보조금을 제공합니다. Grants DAO에서 커뮤니티는 제안을 시작하고 특정 Snaps 프로젝트에 보조금을 지급할지 여부를 결정할 수 있으며, 제안이 일정 비율의 지지를 받으면 통과됩니다.
- 후원 해커톤 행사 개최: 또한 MetaMask는 더 많은 개발자가 Snaps를 개발하도록 유도하기 위해 여러 해커톤 행사를 후원했습니다.
지금까지 많은 개발자가 Snaps 개발에 큰 관심을 보였으며, 적극적으로 참여하고 있습니다. 또한 이미 많은 Snaps 프로젝트가 개발 및 테스트 중입니다. 본문에서는 해커톤 행사에서 우승하거나 Grants DAO에서 높은 비율의 지지를 받은 Snaps 프로젝트 몇 가지를 분석하겠습니다.
- MPC Snap: MetaMask에 다중 요소 인증 통합
MPC Snap은 MetaMask에 MPC 기술을 통합하여 사용자가 MPC 기술을 사용하여 개인 키를 관리할 수 있도록 합니다. MPC Snap을 사용할 때 사용자는 MetaMask 지갑에 접근하기 위해 이중 인증(2FA)을 설정할 수 있습니다. 이후 사용자가 거래를 서명할 준비가 될 때마다 MPC Snap의 MPC SDK가 임계값 ECDSA 서명을 수행합니다. 이는 개인 키를 두 부분으로 나누어 수행됩니다: 한 부분은 로컬 스냅샷의 공유에 저장되고, 다른 부분은 서명 서버의 공유에 저장됩니다. 여러 차례의 통신을 통해 서명 서버와 Snap은 공동으로 이더리움 거래에 서명하고 Goerli 네트워크에서 확인됩니다.
또한, 니모닉과 달리 이 설정은 단일 실패 지점으로 인해 되돌릴 수 없는 키 손실을 초래하지 않습니다. 사용자의 노트북이 해킹되거나 서명 서버가 침해되더라도 사용자는 개인 키를 잃지 않습니다.
- CoinChoice Snap: 어떤 통화로도 Gas 충전
지갑 작업을 하려는 일부 사용자들은 특히 에어드랍 토큰을 수령하거나 토큰을 판매할 때 지갑에 충분한 이더리움이 없을 가능성이 높습니다. 과거에는 이 문제를 해결하기 위해 중앙화 거래소에서 인출하거나 다른 지갑에서 자금을 인출해야 했습니다. 그러나 여러 지갑을 조작해야 하고 블록체인 네트워크가 혼잡할 때 이 두 가지 방법 모두 많은 불편을 초래합니다.
CoinChoice Snap은 이 문제를 해결하기 위해 설계되었습니다. 이는 사용자의 MetaMask 확장 브라우저에 존재하는 도구로, 각 거래에 대해 사용자의 요구에 따라 gas를 관리할 수 있는 기능을 제공합니다. 사용자가 ETH 대신 USDC를 보유하고 싶다면, 그들은 USDC를 사용하여 gas를 지불할 수 있습니다. 이렇게 하면 사용자는 거래에 필요한 gas를 지불하기 위해 원하는 통화를 선택할 수 있습니다.
- Invisible Keys Snap: 다중 클라우드 개인 키 저장
Invisible Keys Snap은 MPC Snap과 유사하게 사용자의 개인 키 관리 방식을 개선하는 것을 목표로 합니다. Invisible Keys의 다중 클라우드 지갑은 사용자의 개인 키를 두 개 이상의 클라우드 저장 서비스(예: Google Drive, Dropbox 등)에 저장하여, 그 중 하나의 서비스가 유출되더라도 개인 키가 노출되지 않도록 합니다.
- Smart Account Session Snap: 게임 Dapp 자동 승인
Web3에서 금융화 게임(GameFi)의 사용자 경험은 상당히 일반적인 문제입니다. GameFi를 경험할 때 사용자는 종종 게임을 계속하기 위해 여러 번 서명해야 합니다. Smart Account Session Snap의 목표는 게임 dapps를 위한 원활한 사용자 경험을 창출하고 안전한 자동 승인 방식을 제공하는 것입니다.
다음은 사용자의 사용 흐름입니다:
- EOA를 연결하고 Smart account session Snap을 설치합니다.
- MetaMask 주소 위에서 스마트 계정을 활성화합니다. MetaMask EOA는 해당 스마트 계정의 제어자가 됩니다.
- 스마트 계정에서 세션 모듈을 활성화합니다. 모듈은 Smart Safe 계정에 추가적인 접근 제어 논리를 활성화합니다. 본질적으로 각 스마트 계정은 두 가지 방식으로 제어됩니다. MetaMask 계정 소유자가 자신의 서명 키를 사용하고, 맞춤형 접근 논리를 가진 선택적 모듈이 있습니다.
- 세션을 생성합니다.
- 이는 스마트 계정에서 임시 세션 키를 생성하며, 이 키는 모듈을 통해 지갑에서 거래를 수행할 수 있도록 권한을 부여받습니다. 세션은 시작 시간, 종료 시간 및 권한과 같은 매개변수를 가질 수 있으며, Dapp 계약에서 사용자 정의 작업을 수행하는 데 사용됩니다.
- 위의 세션 키를 사용하여 자동 승인 거래를 전송합니다. MetaMask 팝업 창에서 gas나 서명을 요청할 필요가 없습니다.
- Blackbelt Snap: 사기를 위한 실시간 자기 방어
Web3에서 보안 문제는 매우 일반적이지만 심각한 문제입니다. 공격자는 프론트엔드 취약점을 이용하여 사용자가 모르는 사이에 사용자 인터페이스에 악성 계약을 주입하여 사용자가 계약과 상호작용하게 하고, 프로토콜 상호작용 과정에서 관련된 자금을 잃게 만듭니다. Blackbelt Snap의 목표는 이 문제를 해결하는 것입니다. 사용자는 Blackbelt Snap을 통해 데이터의 보안 평가를 실시간으로 확인할 수 있으며, 사용자가 사용 중에 보안 점수가 낮은 프로토콜을 발견하면 Blackbelt Snap에 신고할 수 있습니다. 이후 다른 사용자는 해당 프로토콜과 상호작용하기 전에 신고된 횟수를 확인할 수 있습니다.
Blackbelt Snap을 통해 사용자는 프로토콜의 보안성을 더 잘 이해하고, 악의적인 활동으로부터 커뮤니티를 보호하는 데 공동으로 참여할 수 있습니다. 이 신고 메커니즘은 사용자의 경각심을 높이고 불안전한 프로토콜에 대한 위험 노출을 줄이는 데 기여할 수 있습니다.
Unipass 스마트 계약 지갑 MetaMask Snap: 이메일 기반의 사회적 복구 기능
이 Snap의 목표는 Unipass 회사가 구축한 기능을 도입하여 계정 추상화 기능을 갖춘 스마트 계약 지갑 기능을 MetaMask에 통합하는 것입니다. 이 프로젝트는 먼저 사회적 복구 기능을 추가하여 사용자가 시드 문구를 관리할 필요를 없애는 것을 목표로 합니다. 시드 문구 관리는 외부 계정 지갑(예: MetaMask)을 사용할 때 주요 문제 및 보안 위험 중 하나였습니다. 이후 이 프로젝트는 ERC-20 토큰을 사용하여 gas를 지불하는 gas 인출 및 대량 거래와 같은 다른 기능을 점진적으로 추가하여 작업의 난이도를 크게 줄이고 사용자 경험을 개선할 것입니다.
사회적 복구 시스템의 잠재력은 잘 알려져 있지만, 현재까지 MetaMask 내부에서는 사회적 복구 기능이 구현되지 않았으며, 시장의 다른 일부 지갑(예: Argent)은 이미 유사한 기능을 상당 기간 제공해왔습니다. Unipass는 이 비전을 잘 실현할 수 있으며, 그들은 시장에서 게임 dapp에 널리 사용되는 무니모닉 및 무 gas 지갑을 출시했습니다. 계정 추상화 및 다중 당사자 계산(MPC)을 통해 스마트 계약 지갑의 기능을 활용하는 것 외에도, Unipass는 DKIM 이메일 프로토콜을 통해 도메인 키로 생성된 서명을 사용하여 거래를 안전하게 검증하고 보호자를 승인합니다. 이는 Argent와 같은 기존 솔루션에 대한 큰 개선 사항으로, Argent는 보호자가 암호화 지갑을 직접 보유하도록 요구하여 지갑을 가진 신뢰할 수 있는 모든 당사자가 사용자의 보호자가 될 수 있도록 합니다.
- Forta Snap: Web3의 탈중앙화 카메라 및 경고 시스템
Forta는 2021년 10월에 출시되었으며, Lido, Compound, Aave, MakerDAO, Balancer, dYdX 및 UMA와 같은 일부 유명 DeFi 프로젝트가 프로토콜의 주요 측면을 모니터링하는 데 사용하고 있습니다. Forta는 OpenZeppelin에 의해 인큐베이팅되었으며, a16z, Blockchain Capital, Coinbase Ventures 및 기타 회사의 지원을 받고 있습니다. 이는 블록체인 활동의 보안 및 운영 모니터링을 위한 실시간 탐지 네트워크입니다. Forta는 DeFi, NFT, 거버넌스, 크로스 체인 브리지 및 기타 Web3 시스템에서 위협 및 이상을 실시간으로 탐지합니다. 적시에 관련된 경고를 통해 프로토콜 및 투자자는 위협을 제거하고 자금 손실을 방지하거나 최소화하기 위해 신속하게 대응할 수 있습니다.
Web3는 사용자들이 피싱 및 사기의 사례로 가득 차 있는 것으로 잘 알려져 있습니다. 2022년 상반기 동안 사기꾼과 해커는 피싱 및 기타 취약점을 통해 20억 달러 이상을 훔쳤습니다. 그러나 Web3의 보안성은 여전히 초기 단계에 있으며, 지금까지 대부분의 초점은 감사, 형식 검증 및 취약점 보상을 통해 DeFi 프로토콜을 보호하는 데 있었습니다. 그러나 Forta와 같은 보안 스택은 대부분의 사용자에게 보급되지 않았으며, 피싱, 무제한 토큰 승인 및 사기와 같은 많은 일반적인 공격은 주로 보호가 부족한 일상 사용자들을 겨냥하고 있습니다. 따라서 Forta Snap의 목표는 MetaMask에서 최종 사용자 보호 보안 기능을 구축하여 Forta 로봇의 탐지 기능을 활용하여 더 많은 사용자가 사기 및 피싱 공격을 예방하도록 돕는 것입니다. 프로젝트가 성공하면 MetaMask 사용자는 그들의 지갑 경험에서 체인 기반의 사기 및 피싱 예방 기능을 강화하여 기존의 URL 기반 보호 메커니즘을 개선할 수 있습니다.
- Safeheron 다중 당사자 계산(MPC) 키 샤딩 Snap: 계정 및 키 관리
Safeheron은 2019년에 설립된 오픈 소스, 투명한 디지털 자산 자가 관리 서비스 플랫폼으로, 싱가포르에 본사를 두고 있습니다. 안전한 다중 당사자 계산(MPC) 및 신뢰 실행 환경(TEE) 기술을 기반으로 Safeheron은 기관 고객에게 원스톱, 종합적인 디지털 자산 자가 관리 솔루션을 제공하여 고객이 100% 개인 키 및 자산 통제권을 보유하고 자산 보안 및 관리 효율성을 향상시킵니다. 이 Snap은 Safeheron과 MetaMask가 협력하여 MetaMask의 키 관리 경험을 개선하는 데 중점을 두고 있으며, 특히 사용자가 피싱 공격을 줄이고 이러한 키 손실 가능성을 낮추기 위해 비밀 복구 문구(SRP)를 관리하는 데 도움을 주는 데 중점을 두고 있습니다.
기본 다중 당사자 계산(MPC) 알고리즘 덕분에 개인 키는 한 장치에 완전히 저장되지 않으며, 이는 공격자가 이러한 개인 키를 얻어 사용자의 자금을 훔칠 가능성을 크게 줄입니다. 또한 사용자가 3대 장치 중 1대를 잃어버린 경우, 나머지 2대 장치를 사용하여 새로운 장치에 새로운 키 조각을 발행하여 보안을 유지할 수 있습니다. 프로젝트가 성공하면 MetaMask 팀은 MetaMask snap을 새로운 키 관리 경험의 혁신 가속기로 검증할 수 있으며, 사용자가 해킹/피싱/개인 키 손실과 관련된 단일 실패 지점 위험을 크게 줄일 수 있습니다.
- StarkNet Snap: StarkWare를 최초의 ZK-Rollup Snap에 통합
지금까지 이더리움과 다른 주소 및 계정 형식을 사용하기 때문에 StarkNet은 MetaMask와 직접 호환되지 않았습니다. 다시 말해, EVM 호환성이 없습니다. StarkNet Snap은 사용자가 원래의 MetaMask 비밀 복구 문구(SRP)를 기반으로 StarkNet 계정을 생성하여 StarkNet에서 자산을 관리할 수 있도록 합니다. StarkNet Snap은 또한 개발자가 StarkNet 계정을 배포하고 StarkNet에서 거래하며 StarkNet 스마트 계약과 상호작용할 수 있도록 합니다. 이는 모든 dapp과 연결되어 StarkNet에 접근할 수 있으며, 개발자는 자신의 dapp을 이 Snap과 통합하려고 시도할 수 있습니다.
또한 StarkNet Snap을 실수로 삭제하더라도 걱정할 필요가 없습니다. 스냅을 삭제해도 사용자의 StarkNet 계정이나 거래 기록이 삭제되지 않습니다. StarkNet Snap 복구는 MetaMask의 비밀 복구 문구를 직접 활용하여 이루어지며, MetaMask 계정을 복구하고 StarkNet Snap을 설치한 후 사용자의 기존 계정이 자동으로 복구됩니다.
- Snap 디렉토리: Snaps를 추가, 검색, 발견 및 설치하기 위한 웹 디렉토리
앞으로 MetaMask에는 선택할 수 있는 많은 Snaps가 있을 것으로 예상되며, 각 Snap은 다양한 기능, 권한 및 보안성 등의 정보를 가지고 있습니다. 사용자는 이러한 정보를 조회하는 데 많은 시간을 소비해야 하며, 이는 사용자 경험에 심각한 영향을 미치고 MetaMask Snaps의 빠른 발전을 어느 정도 저해하고 있습니다.
Snap 디렉토리의 목표는 사용자가 Snaps를 빠르게 찾고, 정보를 검증하며, 보안 위험을 이해할 수 있는 웹사이트를 만드는 것입니다. 웹사이트의 모든 데이터는 투명하게 공개되며, 커뮤니티가 외부 감사할 수 있고, 개발자는 인증을 통해 자신의 스냅샷을 Snap 디렉토리에 추가할 수 있습니다.
3. 주요 영향
앞서 읽은 내용을 통해 MetaMask Snaps가 가져오는 영향이 매우 크다는 것을 알 수 있습니다. MetaMask Snaps의 발전이 순조롭게 진행된다면 다음과 같은 영향을 미칠 수 있습니다:
- MetaMask Snaps는 MetaMask의 지갑 분야에서의 선도적 위치를 더욱 강화할 것입니다. MetaMask Snaps는 기존 MetaMask 사용자에게 큰 도움이 되어 더 나은 web3 경험을 제공할 수 있습니다.
- MetaMask Snaps는 web3 생태계에서의 돌파구로 볼 수 있습니다. 이는 단순한 이더리움 지갑을 완전한 web3 관리 도구로 변모시켜 사용자 맞춤형 및 향상된 web3 경험을 제공할 수 있게 하며, 이는 현재 다른 지갑 프로젝트에서는 실현되지 않은 것입니다.
- MetaMask Snaps는 더 많은 web2 개발자를 web3 분야로 유입할 가능성이 있습니다. 이는 복잡한 Web3 기술을 개발자들이 이해하고 적용하기 쉽게 만들어, 전통적인 Web2 애플리케이션과 Web3의 통합을 크게 촉진할 것입니다.
4. 존재할 수 있는 문제와 위험
1. 보안 측면:
앞서 언급한 바와 같이, MetaMask Snaps는 구글 브라우저의 확장 프로그램과 유사한 점이 있습니다. 보안 측면에서 구글 브라우저는 구글 웹 애플리케이션 마켓에 제출된 각 확장 프로그램을 스캔하지만, 이 단계는 충분히 철저하지 않아 일부가 누락될 수 있습니다. 따라서 수년간 구글 브라우저의 확장 프로그램에서 많은 정보 유출 사건이 발생했습니다.
MetaMask Snap에서는 앞서 언급한 Snap 디렉토리 프로젝트가 어느 정도 사용자에게 Snaps의 보안성을 평가하는 데 도움을 줄 수 있지만, 이는 여전히 부족합니다. 구글 브라우저와 달리 지갑은 사용자 자금을 대량으로 저장하고 있으므로 더 높은 보안 기준이 필요합니다. 따라서 MetaMask Snaps에게 보안성은 반드시 보장해야 할 핵심 사항입니다. 이는 MetaMask Snaps 발전 과정에서의 잠재적 위험 요소가 될 수 있습니다. 따라서 MetaMask Snaps의 발전은 더 많은 개선 및 보안 보장이 필요하며, 사용자가 안심하고 사용할 수 있어야 합니다.
2. 진입 장벽 측면:
MetaMask Snaps 사용법을 배우기 전에 사용자는 먼저 MetaMask 지갑 사용법을 배워야 하며, 이는 EOA 지갑으로 개인 키, 니모닉 등을 사용하는 방법을 이해해야 합니다. 이는 웹3에 접촉해본 적이 없는 사용자에게는 친숙하지 않습니다. MetaMask Snaps의 출현은 사용 장벽을 낮추지 않았으며, 오히려 MetaMask 사용에 익숙한 기존 사용자에게 서비스를 제공하고 도움을 주는 데 중점을 두고 있습니다.
하지만 우리는 새로운 상승장이 웹3 분야에 많은 신선한 혈액을 주입해야 한다고 추측할 수 있습니다. 그러나 현재로서는 웹3에 진입하는 장벽이 여전히 상대적으로 높기 때문에, 장벽을 낮추는 것이 매우 중요합니다. 마찬가지로 낮은 장벽의 웹3 지갑은 신규 사용자를 더 잘 유치할 수 있습니다. 현재 이미 많은 낮은 장벽의 웹3 지갑이 등장했으며, 그 중 일부는 트위터를 통해 한 번의 클릭으로 지갑에 로그인할 수 있고, 일부는 이메일이나 전화번호로 로그인할 수 있으며, 심지어 일부는 얼굴 인식만으로도 지갑에 로그인할 수 있습니다. 그러나 MetaMask Snaps는 이 측면에서 MetaMask에 이점을 제공하지 않으므로, 아마도 MetaMask가 새로운 상승장에서 선두 자리를 유지하기 위해서는 장벽을 낮추는 데 더 많은 노력을 기울여야 할 것입니다.