SpruceID는 디지털 신원 및 개인 데이터 관리 회사로, 사용자가 인터넷에서 자신의 신원과 데이터를 직접 관리할 수 있도록 인프라와 도구를 구축하고 있습니다. Sign-In With Ethereum(SIWE) 표준을 위한 오픈소스 라이브러리는 300만 건 이상의 다운로드와 1,000개 이상의 dapp에서 활용되고 있으며, SpruceID는 사용자 데이터 소유권과 상호운용성이라는 오랜 과제를 해결해 나가고 있습니다.
MetaMask Developer는 MetaMask의 개발자 부문으로, 사용자 온보딩을 지원하고 개발자가 MetaMask 사용자를 위한 고유하고 무허가 방식의 지갑 연결 및 dapp 내 경험을 구현할 수 있도록 설계된 포괄적인 도구, API, SDK를 제공합니다. MetaMask와 Infura의 신뢰할 수 있고 안전한 기반 위에 구축된 MetaMask Developer는 활발한 커뮤니티 참여와 협업을 통해 사용자와 개발자 모두를 위한 MetaMask 지갑 경험 향상에도 주력하고 있습니다.
이 블로그에서는 에코시스템 파트너인 SpruceID와 그들이 사용자 제어 인증을 통해 데이터 상호운용성을 실현하기 위한 노력, 그리고 MetaMask Developer와의 협업을 통해 EIP-4361(Sign-In with Ethereum, SIWE)이 MetaMask에 구현되는 동시에 MetaMask Improvement Proposal이 탄생하게 된 과정을 소개합니다.
사용자 제어 인증을 통한 데이터 상호운용성 실현
오늘날의 인터넷은 중앙화되어 있으며, 사용자 데이터 상호운용성은 사실상 존재하지 않습니다. 예를 들어, 새로운 의료 기관으로 이전하려는 환자는 기존 의료 기록을 옮기는 데 어려움을 겪게 됩니다. 이 데이터가 중앙화된 데이터베이스 방식으로 저장되기 때문입니다. 이러한 관행은 의료 분야에만 국한된 것이 아니라 전통 금융, 소셜 미디어, 정부 기관에서도 일반적으로 나타납니다.
SpruceID는 이 문제가 데이터 볼트 아키텍처(Data Vault Architecture)로의 전환을 통해 쉽게 해결될 수 있다고 봅니다. 이 구조에서는 사용자 데이터가 제3자 서비스에 저장·관리되는 대신, 사용자가 직접 운영하는 안전하고 암호화된 개인 볼트에 보관됩니다.
그러나 이를 실현하려면 사용자가 언제든지 자신의 데이터에 대한 접근 권한을 부여하거나 철회할 수 있는 인증 표준이 필요합니다. 또한 이 표준은 사용자가 상황에 따라 공유할 데이터를 세밀하게 제어할 수 있도록 동의 기반 공유를 지원할 만큼 충분히 확장 가능해야 합니다.
또 다른 과제는 이 인증 표준이 dapp 개발자들 사이에서 에코시스템 전반에 걸쳐 인정받고 채택되도록 하는 것입니다. 아울러 이 인증 방식과 관련된 특정 보안 문제는 지갑 수준에서만 해결할 수 있습니다. 예를 들어, 웹사이트가 사용자에게 트랜잭션 서명을 요청할 때 사용자의 주소 표시줄에 표시된 주소가 올바른지, 그리고 요청이 안전한 네트워크를 통해 제공되는지 확인하는 것은 dapp 수준에서 구현하기 복잡한 보안 검사입니다. 그러나 지갑은 이를 손쉽게 적용할 수 있습니다.
MetaMask Developer, SpruceID와 협력하여 EIP-4361 구현
Spruce ID 팀은 (SIWE) 표준을 작성하면서 암호화 기술과 사용자의 공개 키 및 개인 키를 기반으로 한 사용자 제어 인증 방식을 만들었습니다. 이 키를 통해 사용자는 기계가 위조할 수 없는 디지털 서명을 생성할 수 있습니다. 또한 dapp이 자신의 데이터 볼트에 접근할 수 있도록 허가 문서에 서명할 수도 있습니다. SIWE는 세밀한 제어 기능도 제공하여, 사용자가 상호작용 시 데이터 볼트의 어떤 리소스가 관여되는지 직접 지정할 수 있습니다.
dapp 개발자들을 중심으로 에코시스템 전반의 채택을 촉진하기 위해, SpruceID는 MetaMask Developer와 협력하여 SIWE를 MetaMask 지갑의 기능으로 통합했습니다. 이 협업을 통해 MetaMask 내부 JavaScript 보안 전문가들의 역량을 활용하여 지갑 수준에서 다양한 보안 문제를 해결할 수 있었습니다. 그 결과, 개발자들은 더 이상 dapp 수준에서 이러한 문제를 직접 처리할 필요가 없어졌습니다.
"MetaMask Developer 팀과의 협업 경험을 돌아보면, 가장 먼저 떠오르는 두 단어는 '매우 신속한 대응' 과 '철저함' 입니다. 사용자에게 최선의 결과를 도출하기 위해 수많은 반복 과정을 거쳤습니다. MetaMask Developer 팀이 사용자 안전을 지킬 수 있는 가능성을 알아봐 주신 것에 감사드립니다." - Wayne Chang, SpruceID 창립자*.*
또한 이 협업을 통해 MetaMask Developer는 SpruceID와 같은 프로젝트가 새로운 기능을 제안하고 MetaMask Wallet API의 변경 사항을 건의할 수 있는 프로세스를 마련했습니다. 이 프로세스는 MetaMask Improvement Proposal(MIP)이라고 하며, 자세한 내용은 이 블로그에서 확인하실 수 있습니다.
지금 바로 MetaMask Developer를 시작하세요
소비자용 dapp을 개발하는 개발자이신가요?
MetaMask Wallet API, SDK, Web3 서비스 API, Snaps로 구성된 MetaMask Developer 제품군은 웹에서 가장 활발하게 활동하는 수백만 명의 사용자를 온보딩하기 위한 포괄적인 도구를 제공합니다.
개발자 포털을 방문하여 제공되는 서비스에 대해 자세히 알아보세요.