Bankless 대화 MetaMask 공동 창립자: 왜 MetaMask Snap이 그렇게 중요한가?
출처:Bankless
편집 및 정리:심조 TechFlow
최근 MetaMask는 Permissionless II에서 MetaMask Snaps를 발표했습니다. 사용자는 이 기능을 통해 비트코인 및 비EVM 블록체인과의 상호 운용성 등의 기능을 실현할 수 있습니다.
업계 선도 지갑이 생태계를 확장하고 더 많은 체인상의 토큰과 기능을 통합하기 시작할 때, 이는 암호화폐의 "Chrome 확장" 순간이 될까요? 암호화폐의 다음 10억 사용자들을 끌어들이는 방법이 될까요?
이번 프로그램에서 MetaMask의 공동 창립자 Dan은 새로운 기능인 Snap에 대해 심도 있게 소개하고, 그 미래 발전과 가능한 영향에 대해 전망했습니다.

호스트:Ryan, Bankless
주강사:Dan Finlay, MetaMask 창립자
팟캐스트 출처 :Bankless
원제:《Why MetaMask Snaps is a Big Deal with Co-Founder, Dan FinIay》
프로그램 :링크
방송 날짜:9월 16일
MetaMask Snaps의 작동 원리
Dan은 MetaMask Snaps가 MetaMask 지갑을 위한 플러그인처럼 작동하며, 그 중 하나의 중요한 기능은 거래의 안전성을 강화하는 것이라고 소개했습니다. Snaps를 통해 사용자는 거래 보안 제공자를 설치할 수 있으며, 이 제공자는 거래를 시뮬레이션하고 거래 결과를 예측하여 사용자가 피싱 공격과 같은 잠재적 위험을 피할 수 있도록 돕습니다.
Dan은 Snaps의 기능을 설명하며, 그것들이 MetaMask에 확장 API의 능력을 제공한다고 강조했습니다. 현재 Snaps를 통해 지갑을 확장할 수 있는 주요 방법은 세 가지입니다:
1) 거래 보안:Snaps는 사용자가 거래의 안전성을 보장하고 거래 결과를 예측하여 위험을 피할 수 있도록 돕습니다.
2) 통합 추가:Snaps는 외부 개발자가 MetaMask를 위해 기능 플러그인을 구축하고 그 프로토콜에 대한 지원을 추가할 수 있게 합니다. 사용자가 웹사이트에 로그인할 때, 해당 웹사이트는 사용자의 특정 Snap과 상호작용할 수 있으며, 단순히 MetaMask가 제공하는 API와 상호작용하는 것이 아닙니다. 예를 들어, Snaps는 사용자에게 서명 및 확인 표시 기능을 제공할 수 있습니다.
3) 알림:Snaps는 알림 기능도 제공합니다. 예를 들어, Push라는 Snap은 Dapps가 사용자의 허가를 받은 후 관련 정보를 사용자에게 알릴 수 있게 합니다.
호스트는 비록 Snaps가 베타 버전이지만, 이미 30종 이상의 다양한 Snaps가 사용 및 다운로드 가능하다고 언급했습니다.
Dan은 Snaps를 사용하는 방법에 대해 자세히 설명했습니다. Dapps가 특정 블록체인이나 프로토콜과 상호작용하고자 할 때, 사용자가 해당 Snap을 설치하도록 요청하여 더욱 풍부하고 원활한 경험을 얻을 수 있습니다.
Dan은 특히 거래 통찰력 기능을 언급했습니다. 이 기능은 사용자가 거래를 확인하기 전에 그들이 진행할 거래의 세부 사항을 미리 보고 이해할 수 있게 합니다. 이를 통해 사용자는 거래의 내용을 깊이 이해하고, 잠재적인 악의적인 거래를 더 잘 식별하여 손실을 피할 수 있습니다.
지갑의 안전성을 높이는 측면에서, Dan은 "거미줄 모델"을 언급했습니다. 이 모델에서는 단일 보안 전략에 의존하는 것이 아니라, 여러 전략과 도구를 사용하여 안전성을 강화합니다. 다층 보호 및 전략을 통해 사용자에게 보다 포괄적이고 강력한 보안 방어를 제공합니다. 특정 전략이 실패하거나 우회되더라도, 다른 전략이 여전히 사용자를 보호할 수 있습니다.
MetaMask Snaps의 기능과 목적
Dan은 현재 MetaMask 사용자들이 이용할 수 있는 기능과 목적을 강조했습니다. 구체적으로는 호환 가능한 체인과 호환을 실현하는 방법이 포함됩니다.
호환 체인 측면에서, MetaMask는 상당한 확장과 발전을 이루었습니다. Dan은 더 많은 사람들이 안전하고 쉽게 암호화폐를 사용할 수 있도록 하기 위해, 새로운 사용자가 암호화폐 분야에 진입하는 장벽을 낮추기 위한 다양한 보안 도구를 제공한다고 강조했습니다. 최신 Snaps 발표를 통해 MetaMask는 기능을 강화했을 뿐만 아니라, 다중 체인에 대한 지원을 확장하여 Ethereum만 지원하는 범위를 넘어섰습니다.
그는 또한 MetaMask가 새로운 기능을 추가하거나 새로운 블록체인 네트워크와 상호작용할 때, 항상 사용자의 자금과 데이터의 안전성을 최우선으로 고려한다고 설명했습니다. 안전성은 MetaMask 팀이 새로운 기능을 개발하고 출시할 때 항상 고려하는 핵심 요소이며, 그들의 목표는 사용자가 MetaMask를 사용할 때 항상 안전하고 자신감을 느끼도록 하는 것입니다.
호환을 실현하는 방법에 대해, Dan은 개발자가 각 애플리케이션마다 Snap을 제작할 필요가 없다고 언급했습니다. Snaps의 목적은 지갑의 API 기능을 확장하여 더욱 풍부하게 만드는 것입니다. 개발자는 기존의 Snap 메뉴를 확인할 수 있으며, 이는 개발자가 사용자와 더 풍부한 상호작용을 할 수 있도록 허용하는 지속적으로 성장하는 기능 집합입니다. API는 매우 간단하게 설계되어 있어, 이전에 Ethereum 제공자를 사용하여 Dapp을 작성한 개발자에게는 매우 친숙할 것입니다.
자신의 애플리케이션의 특정 구성 요소가 사용자와 함께하고 다른 웹사이트에서도 사용되기를 원하는 개발자, 특히 거래를 더 쉽게 읽을 수 있도록 하려는 개발자에게 Snap을 제작하는 것은 좋은 선택입니다.
Snaps가 MetaMask 팀의 개발 능력을 확장하는 전략인지에 대한 질문에, Dan은 이것이 그들의 전략이라고 확인했습니다. 이러한 접근 방식은 그들이 사용자에게 필요한 기능을 더 빠르게 개발하고 출시할 수 있게 합니다. Dan은 블록체인의 다양성을 최대한 활용하기 위해 지갑이 유연성을 가져야 한다고 언급했습니다. 그들의 장기 목표는 Snaps를 완전히 개방하여 허가 없이 사용할 수 있도록 하는 것입니다.
Dan은 미래 Snaps에 대한 몇 가지 구상을 공유했습니다. 예를 들어, 추천 체인, 가스 보조금 및 권한 등의 정보를 포함하는 링크를 통해 사용자를 안내하는 것입니다. 그는 또한 미래의 Snaps가 서로 간에, 심지어 지갑 외부에서도 권한을 공유할 수 있게 될 것이라고 언급했습니다. Dan의 비전은 Snaps가 MetaMask를 더욱 은밀하게 만들면서도 사용자가 확장 가능하고 안전한 계약을 생성할 수 있도록 하는 것입니다.
Snaps 개발 여정 및 안전성
Dan은 MetaMask Snaps의 개발 과정을 소개했습니다. Dan은 그들이 약 5년 전부터 지갑이 확장 가능해야 한다는 생각을 가지고 있었다고 언급했습니다. 첫 해에는 이 아이디어가 미친 생각처럼 들렸지만, 연말까지 그들은 프로토타입을 구축하고 이 기능이 실현 가능하다고 믿기 시작했습니다. 그들의 팀은 처음에는 다른 작업을 하면서 Snaps 개발을 시도했지만, 나중에 전념하기로 결정했습니다. 이는 그들이 특정 기능을 위해 전담 팀을 처음으로 구성한 것입니다.
Dan은 안전성의 중요성을 여러 번 강조했습니다. 그는 MetaMask가 새로운 기능과 확장성을 도입하고자 하지만, 사용자 안전을 절대 희생하지 않을 것이라고 분명히 밝혔습니다. 이는 그들이 개발 과정에서 가장 우선적으로 고려하는 요소입니다.
Dan은 낯선 사람, 컴퓨터 및 새로운 소프트웨어와 안전하게 상호작용하는 문제에 대해 언급했습니다. 그는 이러한 문제를 해결하기 위해, 실제로 운영 체제 커널을 구축하고 이를 MetaMask에 통합했다고 설명했습니다. 이 커널은 그들이 제3자 코드를 실행할 수 있게 하지만, 실행 시에는 엄격한 제한을 두고 있습니다.
MetaMask는 제3자 코드의 안전한 실행을 보장하기 위해 두 가지 격리 메커니즘을 사용합니다. 첫째, 그들은 iframe을 사용하고, 둘째, JavaScript 언어 수준 특성을 기반으로 한 격리 영역을 사용합니다. 이 두 격리는 제3자 코드가 엄격하게 정의된 경계 내에서만 실행되도록 보장하며, MetaMask의 핵심 기능이나 사용자의 민감한 데이터에 접근하거나 수정할 수 없습니다.
이러한 방식으로, 사용자가 악의적인 Snap이나 제3자 확장을 설치하더라도, 그것은 허가된 범위를 넘어서는 작업을 수행할 수 없으므로 사용자의 안전을 보호합니다.
비록 MetaMask가 이러한 안전 조치를 구현했지만, Dan은 그들의 목표가 시스템을 더욱 허가 없이 사용할 수 있도록 하면서도 안전성을 보장하는 것이라고 밝혔습니다. 그들은 암호학 기반의 분산 프로토콜을 처리하기 위해 특별히 설계된 분산 운영 체제 커널을 만들고자 합니다. 동시에 사용자의 안전을 보장하는 것입니다.
호스트가 Snaps 개발이 왜 이렇게 오랜 시간이 걸렸는지 질문하자, Dan은 그들이 단순히 새로운 기능을 개발하는 것이 아니라, 진정한 기술적 도전을 해결하고 있다고 설명했습니다.
Dan은 그들이 다루고 있는 핵심 문제가 사실상 복잡한 큰 문제라고 강조했습니다. 이 문제를 해결하기 위해 그들은 심층 연구와 대량의 개발 작업이 필요합니다. 이는 단순히 코드를 작성하는 것이 아니라, 암호학, 안전성 및 분산 기술에 대한 심도 있는 연구를 포함합니다.
Dan은 MetaMask의 설계를 하드웨어 지갑의 펌웨어 수준과 비교했습니다. 그는 Ledger 팀이 개인 키를 격리하는 방법을 설명하는 것과 유사하게, MetaMask도 사용자 개인 키의 안전성을 보장하기 위해 유사한 방법을 채택했다고 언급했습니다.
심조 주 :"펌웨어 수준"은 하드웨어 지갑에서 기본 작업을 저장하고 실행하는 소프트웨어 계층을 의미하며, 일반적으로 개인 키를 안전하게 저장, 관리 및 사용하는 방법을 담당합니다.
호스트가 Snap 설치가 안전 위험을 초래할 수 있는지 질문하자, Dan은 위험을 최소화하기 위해 두 가지 주요 안전 전략을 채택하고 있다고 설명했습니다. 첫째, 모든 Snaps는 감사 과정을 거칩니다. 둘째, 각 Snap은 Snap이 접근할 수 있는 기능을 명확히 하는 권한 목록을 가지고 있습니다.
Dan은 그들이 감사 과정을 점진적으로 분산화하여 신뢰 기반 네트워크 또는 DAO로 발전시키고자 한다고 언급했습니다. 서명 기능이 필요한 Snaps는 사용자 모든 키가 아닌, 관련된 키에만 접근할 수 있습니다.
많은 Snaps는 네트워크 권한이 필요합니다. 왜냐하면 그것들이 로컬에서 실행될 수 없기 때문입니다. 그러나 만약 Snap이 거래 데이터에만 접근하고 네트워크 권한이 필요하지 않다면, 사용자의 데이터는 실제로 비공식적입니다. 왜냐하면 외부 서버로 전송될 수 없기 때문입니다.
호스트가 만약 키 서명이 필요 없는 Snap, 예를 들어 거래를 시뮬레이션하는 Snap을 설치하면 어떤 위험이 발생할 수 있는지 질문하자, Dan은 이러한 Snap이 거래 데이터를 시뮬레이션하기 위해 접근해야 하지만, 사용자 개인 키에는 접근하지 않는다고 설명했습니다.
MetaMask의 미래 계획
호스트는 계정 추상화 및 스마트 계약 지갑의 트렌드를 언급하며, MetaMask가 이 분야에 진입할 계획이 있는지 질문했습니다.
Dan은 MetaMask 팀의 오랜 입장이 계정을 위한 플러그인 시스템을 만드는 것이라고 설명했습니다. MetaMask는 이러한 새로운 스마트 계약 계정을 스스로 개발하지 않고, 다른 개발자나 팀이 MetaMask를 위해 이러한 계정 플러그인을 만들 수 있는 플랫폼을 제공할 것입니다. 이러한 접근 방식은 혁신을 장려하고 다양한 스마트 계약 계정 솔루션이 MetaMask에서 구현될 수 있도록 합니다.
계정 추상화와 스마트 계약 지갑은 흥미롭고 잠재력이 있는 분야이지만, 현재 MetaMask 팀의 핵심 초점은 안전하고 확장 가능한 커널을 만드는 것입니다. 이 커널은 MetaMask의 핵심 구성 요소로, Snaps와 같은 제3자 코드를 실행할 수 있게 하면서도 사용자의 안전을 보장합니다.
이 핵심 초점 때문에, Dan은 MetaMask가 최상의 계약 계정을 스스로 제작하지 않을 것이라고 생각합니다. 대신, 그들은 커뮤니티와 다른 개발자들이 이러한 솔루션을 창출할 수 있도록 플랫폼을 제공하는 것을 선호합니다.












