
account abstraction 방식의 EVM multisig
multisig는 설명하기 쉽습니다 — 자금을 옮기려면 둘 이상의 서명을 요구한다는 것입니다 — 그러나 그것이 구축되는 방식은 블록체인마다 뚜렷하게 다릅니다. Bitcoin에서는 multisig가 프로토콜 자체에 내장되어 있습니다. 반면 Ethereum과 그 밖의 EVM 체인에서는 그렇지 않으며, 바로 이 하나의 사실이 SSP를 포함해 Ethereum 위의 모든 진지한 multisig 지갑이 작동하는 방식을 결정합니다. 이 글은 EVM에서 multisig가 왜 다른지를 설명하고, 그것을 가능하게 하는 account abstraction 도구들을 쉬운 말로 안내하며, SSP가 Ethereum에서 진정한 2-of-2를 정확히 어떻게 구현하는지 보여줍니다.
EVM 시리즈의 처음부터 여기에 도달했다면, SSP의 Ethereum이 토대를 놓습니다. 이 글은 그 아래에 자리한 보안 메커니즘으로의 깊은 탐구입니다. 여기서의 읽기 수준은 한 단계 높습니다 — 중급입니다 — 왜냐하면 이 주제를 제대로 다루려면 얼버무리지 않고 ERC-4337과 서명 집계를 정직하게 짚어야 하기 때문입니다.
EVM의 multisig가 Bitcoin의 multisig와 다른 이유
Ethereum 위의 SSP를 가장 명확하게 이해하는 길은, 먼저 Bitcoin의 방식이 그대로 옮겨질 수 없는 이유를 보는 것입니다.
Bitcoin에는 네이티브 스크립트 multisig가 있습니다. 프로토콜에는 "이 세 개의 공개키 중 임의의 두 개가 서명해야 한다"와 같은 규칙 뒤에 자금을 잠글 수 있게 해주는 opcode가 포함되어 있습니다. Bitcoin의 multisig 주소란 그 지출 규칙이 붙은 주소일 뿐이며, 네트워크가 그것을 직접 강제합니다. SSP는 Bitcoin과 그 밖의 UTXO 체인에서 이를 BIP-48 스크립트 multisig를 통해 사용합니다 — 두 개의 키, 하나의 스크립트, 두 서명 모두 필요합니다. 이 기본 모델이 처음이라면, 2-of-2 multisig란 무엇인가가 출발점입니다.
Ethereum에는 이에 상응하는 것이 없습니다. EVM 체인에는 단 두 종류의 계정만 존재합니다. 첫 번째는 EOA입니다 — 정확히 하나의 개인키로 통제되는 외부 소유 계정입니다. 키 하나, 서명자 하나, 그게 전부입니다. EOA에 두 개의 서명을 요구하는 네이티브 opcode는 없습니다. 두 번째는 스마트 컨트랙트 계정으로, 단일한 통제 키 대신 코드를 가지며 그 코드가 지시하는 대로 동작합니다.
따라서 Ethereum에서 "multisig"는 언제나 스마트 컨트랙트 지갑을 의미해 왔습니다 — 다중 서명 규칙이 충족될 때에만 자금을 풀도록 프로그래밍된 컨트랙트입니다. 이것이 Gnosis Safe / Safe 같은 지갑이 개척한 모델이며, 잘 작동합니다. 그 대가는, 고전적인 온체인 multisig 컨트랙트가 보통 각 소유자의 서명을 저장하고 그것들을 온체인에서 하나씩 검증한다는 점이며, 이는 gas를 소모하고 서명자 수에 따라 늘어납니다. account abstraction은 더 깔끔한 길을 제공하며, 그것이 바로 SSP가 택하는 길입니다.
짧고 정직한 ERC-4337 입문
account abstraction이란 여러분의 지갑이 단순한 키 쌍이 아니라 스마트 컨트랙트 — 프로그래밍 가능한 계정 — 이어야 한다는 발상입니다. ERC-4337은 기반 프로토콜을 바꾸지 않고 이를 Ethereum에서 구현하는 표준입니다. SSP를 쓰기 위해 이를 통달할 필요는 없지만, 몇 가지 용어를 알면 이 글의 나머지가 제자리에 맞춰집니다. 전체 설명은 account abstraction(ERC-4337)이란 무엇인가를 읽어 보세요. 여기서는 사용자 수준의 지도를 제시합니다.
- smart account. 여러분의 자금은 smart account 안에 있으며, 그 코드가 무엇을 유효한 트랜잭션으로 간주할지를 정의합니다. 코드이기 때문에, 이 계정은 사용자 지정 규칙을 강제할 수 있습니다 — "유효한 2-of-2 서명을 요구한다"를 포함해서요.
- UserOperation. smart account는 일반 트랜잭션을 제출하는 대신, 자신의 의도를 UserOperation으로 표현합니다 — 무엇을 하고 싶은지를 말하고 그것을 승인하는 서명 데이터를 담은 구조화된 요청입니다.
- bundler. bundler는 UserOperations를 모아 실제 온체인 트랜잭션으로 감싸 제출하는 서비스입니다. gas를 미리 지불하고 환급받습니다. 여러분의 자금을 옮길 능력은 결코 얻지 못합니다.
- EntryPoint. 감사를 거친 단일 EntryPoint 컨트랙트가 온체인의 신뢰받는 조정자입니다. 묶인 UserOperations를 받아 각 smart account를 호출하여 검증한 뒤 그 작업을 실행합니다.
- paymaster. 선택적인 paymaster 컨트랙트는 gas를 후원하거나, 수수료를 네이티브 코인이 아니라 토큰으로 낼 수 있게 해줍니다. 이는 선택 사항이며 multisig 자체와는 독립적입니다.
핵심 통찰은 이것입니다. smart account가 있으면 "누가 트랜잭션을 승인할 수 있는가"라는 규칙은 프로토콜의 고정된 동작이 아니라 여러분이 통제하는 소프트웨어입니다. 그것이 바로 네이티브 multisig가 없는 체인에서 multisig가 필요로 하는 자유입니다.
SSP가 EVM에서 2-of-2를 구현하는 방법
SSP는 지원하는 모든 체인에서 같은 약속을 지킵니다 — 두 기기에 담긴 두 개의 키, 그리고 그중 어느 하나만으로는 여러분의 돈을 옮길 수 없습니다. 키 1은 SSP Wallet 브라우저 확장에 있고, 키 2는 SSP Key 모바일 앱에 있습니다. 여러분은 확장에서 트랜잭션을 만들고 서명한 다음, 휴대폰에서 push를 통해 승인합니다 — 두 서명 모두 필요합니다.
Bitcoin에서 이 보장은 BIP-48 스크립트 multisig에서 옵니다. EVM 체인에서 SSP는 이를 Schnorr로 집계된 2-of-2 서명을 검증하는 ERC-4337 smart account로 재현합니다. 다음은 그 발상의 개요로, 컨트랙트의 정확한 내부 세부가 핵심이 아닌 부분에서는 일반적으로 서술했습니다.
여러분의 두 키 각각은 트랜잭션에 대한 부분 서명을 생성합니다. 두 기기는 두 서명을 체인에 따로 보내는 대신 — MuSig2 방식의 서명 집계를 사용해 — 그것들을 하나의 간결한 서명으로 결합합니다. smart account는 그 집계된 서명이 지갑이 기대하는 키에 대해 검증될 때에만 UserOperation을 받아들이도록 프로그래밍되어 있습니다. 따라서 체인은 평범해 보이는 하나의 서명을 보지만, 그 서명은 두 키가 모두 참여하지 않고서는 수학적으로 만들어 낼 수 없습니다.
이 설계는 온체인에서 N개의 별도 서명을 저장하고 확인하는 것에 비해 실질적인 이점이 있습니다.
- 더 작은 온체인 흔적. 집계된 하나의 서명은 독립적인 두 서명보다 검증과 저장 비용이 낮으며, 이는 여러분이 얻는 보안에 대해 더 적은 gas를 의미하는 경향이 있습니다.
- 단일 서명자 지갑과 동일한 UX. 체인은 단일 서명을 검증하므로, 네트워크의 관점에서 여러분의 smart account는 여느 일반 계정처럼 동작합니다. ETH 전송, ERC-20 토큰 이동, DeFi와의 상호작용은 모두 같은 느낌입니다 — 두 번째 서명은 여러분의 두 기기 사이에서 조용히 일어납니다.
- 어디서나 동일한 모델. Schnorr와 이 집계 방식은 secp256k1 위의 잘 연구된 암호학에 기반하며, 동일한 smart account 설계가 Ethereum, Polygon, Base, BNB Smart Chain, Avalanche를 포함해 SSP가 지원하는 EVM 체인들로 이어집니다.
이를 뒷받침하는 SSP의 스마트 컨트랙트는 2025년에 Halborn의 감사를 받았습니다. 더 깊은 account abstraction 메커니즘 — EntryPoint, bundler, 검증 단계가 어떻게 맞물리는지 — 에 대해서는, 여기 있는 어떤 개별 컨트랙트 세부를 정설로 취급하기보다 account abstraction(ERC-4337) 설명을 참고하세요.
이것이 사용자인 여러분에게 의미하는 바
암호학은 흥미롭지만, 일상에서 중요한 것은 그것이 사주는 보호입니다.
- 자금을 옮기려면 두 기기가 모두 필요합니다. 트랜잭션은 확장과 SSP Key가 각각 자신의 몫을 보탠 뒤에야 유효합니다. 한 기기 — 또는 한 키 — 를 소유하는 것만으로는 충분하지 않습니다.
- 한 기기를 잃는 것이 여러분의 돈을 잃는 것은 아닙니다. 어떤 단일 기기도 혼자서는 서명할 수 없으므로, 분실되거나 초기화된 휴대폰, 또는 다시 설치된 브라우저가 누구에게도 여러분 자금의 통제권을 넘기지 않습니다. 접근 권한을 복구하는 일은 자체적인 안전장치를 갖춘 별도의 주제입니다. 복구는 여기가 아니라 전용 가이드에서 다룹니다.
- 하나의 탈취된 키는 단일 장애점이 아닙니다. 멀웨어나 phishing이 한 기기에 있는 것을 포착하더라도, 그것은 여전히 smart account가 요구하는 집계된 2-of-2 서명을 만들어 낼 수 없습니다. 공격자는 여러분의 두 기기를 동시에 탈취해야 하며 — 이는 키가 하나뿐인 지갑을 비우는 것보다 훨씬 높은 문턱입니다.
이것들은 일반적인 보호이지 절대적인 보장은 아닙니다. 좋은 seed 문구 위생과 기기 보안은 여전히 중요합니다. 그러나 구조적 요점은 변함없습니다 — 가치가 움직이기 전에 두 개의 독립적인 요소가 합의해야 한다는 것입니다.
단일 키 EOA 지갑과의 중립적인 대비
대부분의 Ethereum 지갑은 단일 키 EOA입니다. 단순하고 폭넓게 지원되며, 많은 사용자에게는 충분합니다. 그 대가는, 하나의 개인키가 이야기의 전부라는 점입니다 — 그것을 가진 사람은 무엇이든 옮길 수 있으므로, 단 하나의 유출된 seed 문구나 하나의 탈취된 기기가 치명적일 수 있습니다.
스마트 컨트랙트 multisig는 하나의 키를 신뢰하는 대신 두 키 사이의 합의를 요구함으로써 이 위험 양상을 바꿉니다. 다른 스마트 컨트랙트 multisig 지갑들도 존재하며 — Safe가 잘 알려진 예입니다 — 같은 핵심 문제를 각자의 방식으로 해결합니다. SSP의 고유한 선택은 집계된 Schnorr 서명을 곁들인 ERC-4337을 통해 2-of-2를 제공하는 것이며, 그리하여 여러분은 단일 서명자 계정의 온체인 흔적과 일상적 사용감을 유지하면서 multisig의 보안을 얻습니다.
다음으로 갈 곳
개념적 토대를 원한다면, account abstraction(ERC-4337)이란 무엇인가와 기초가 되는 2-of-2 multisig란 무엇인가를 읽어 보세요. 이것이 SSP에서 Ethereum의 더 넓은 그림에 어떻게 들어맞는지 보려면 SSP의 Ethereum으로 돌아가세요. 그리고 표준 자체에 대해서는, 정설이 되는 출처는 ERC-4337 명세와 Ethereum Foundation의 account abstraction 개요입니다. 여기를 관통하는 한 줄기는 SSP가 지원하는 모든 체인을 관통하는 것과 같습니다 — 두 개의 키, 두 대의 기기, 하나의 서명 — 그리고 통제권은 여러분에게 있습니다.


