2-of-2 vs 2-of-3 vs m-of-n multisig: 올바른 임계값 고르기

·8분 읽기·작성자: SSP Editorial Team
남색 SSP 커버, 어두운 그라데이션 위 키·방패·자물쇠 아이콘, Multisig Deep Dive 시리즈의 m-of-n 선택 장

이전 글에서 multisig가 무엇인지 다뤘다: 돈이 움직이기 전에 n개의 키 중 m개가 서명해야 하는 지출 규칙이다. SSP는 기본값으로 너를 2-of-2에 둔다 — 두 기기, 둘 다 필요, 논의할 정족수 없음. 그 기본값은 "첫 천 달러"와 "이미 나에게 진짜 돈이다" 사이의 대부분의 단독 사용자에게 맞는다. 모두에게 맞지는 않는다.

이 글은 선택기다. 세 가지 구성이 현실 세계 multisig 셋업의 압도적 다수를 덮는다: 2-of-2, 2-of-3, 3-of-5(또는 그 이상). 각각은 특정 조건에서 다른 것보다 진실로 더 낫고, 다른 조건에서는 진실로 더 못하다. 이 글이 끝날 때쯤 너는 답할 수 있어야 한다: 내가 실제로 보호하려는 것에 어떤 m-of-n이 맞는가?

TL;DR

  • 2-of-2는 개인 스택의 기본값이다. 두 기기를 가진 한 사용자, 낮은 조율 비용, 적당한 금액에 가장 적합. SSP 제품 전체가 이를 중심으로 만들어졌다.
  • 2-of-3는 한 사용자가 키를 잃을 것을 계획하고 싶을 때 두는 수다 — 폰을 잃음, 백업을 잃음, 가족 상속 시나리오. 솔로 multisig의 "이중화" 버전.
  • 3-of-5 또는 그 이상은 한 명 이상이 서명해야 할 때, 지리가 중요할 때, 자금이 개인이 아니라 회사 / DAO / family office에 속할 때의 답이다.
  • m을 올리는 건 보안만 더하지 않는다 — liveness 위험(가용해야 하는 키가 더 많음)과 조율 비용을 더한다. 올바른 m-of-n은 둘의 합을 최소화한다.
  • 단일 사용자에게 2-of-3 위로 가는 것은 보통 실수다. 한계 보호는 작고, 운영의 고통은 크다.

m-of-n을 결정하는 세 질문

공식 threat modeling은 잠시 건너뛰자. 실제로는 세 질문이 어떤 구성이 맞는지 결정한다:

  1. 누가 서명해야 하나? 한 사람? 두 사람? 돌아가는 팀? 서명자가 들고 나는 조직?
  2. 방어하려는 지배적인 실패는 무엇인가 — 분실인가, 도난인가? Multisig는 둘 다 다루지만, mn의 올바른 비율은 한쪽을 다른 쪽 위에 무게를 둔다. 더 높은 n은 분실에 대한 더 많은 이중화를 뜻하고, 더 높은 m(n에 대한 상대)은 도난에 대한 더 큰 저항을 뜻한다.
  3. 서명자 한 명을 잃는 운영 비용은 얼마인가? 답이 "내 폰에 하루 못 닿는다"라면 비용은 가볍다. 답이 "급여가 나가야 할 때 CFO가 비행기 안"이라면 비용은 막대하다.

이 세 줄은 아래 세 구성에 꽤 깔끔히 매핑된다.

2-of-2: 솔로-이중화 기본값

설정: 두 키가 있다. 둘 다 서명해야 한다. SSP의 기본값 — 브라우저 확장에 키 하나, SSP Key 모바일 앱에 키 하나.

가장 적합한 경우: 한 사람, 한 지갑, 공격 표면을 공유하지 않는 두 기기(Mac 노트북과 iPhone, Android와 Windows 머신, 등). 보호는 기기 분리에서 온다: 노트북의 malware는 폰에 닿지 못하고, 그 반대도 마찬가지.

강점:

  • 모든 multisig 중 가장 낮은 조율 비용. 두 기기 모두 네 것이고, 둘 다 보통 주머니나 책상 위에 있다.
  • 도난의 문턱을 막대하게 높인다. 두 기기 중 하나를 완전히 손상시킨 공격자도 여전히 돈을 움직일 수 없다. 이기려면 다른 기기 — 거의 항상 다른 OS, 다른 공격 체인 — 도 손상시켜야 한다.
  • 두 seed를 두 장소에, 두 개의 별도 백업으로 유지하도록 강제한다. 서랍 안의 단일-seed-종이라는 전형적인 셋업보다 훨씬 나은 기본 자세다.

약점:

  • 두 키 모두 짐을 진다. 두 기기 중 어느 하나라도 그리고 그 seed까지 잃으면 지갑은 죽는다. 그래서 Self-Custody Fundamentals 체크리스트 seed를 각각 백업하는 데 그렇게 큰 무게를 두는 거다. 2-of-2에서는 선택 사항이 아니다.
  • 나쁜 서명자를 "투표로 누를" 정족수가 없다. 두 서명자가 모두 너라면 문제가 없다; 2-of-2에서 다른 사람과 키를 공유한 적이 있다면, 둘 다 인질 권력을 가진다.

이것이 기존 글 What is 2-of-2 multisig?가 자세히 풀어놓는 구성이다. 이 글 다음에 그것을 읽어 SSP 특화 메커니즘을 보라; 이 글은 언제 옳은 선택인지를 조정하고 있을 뿐이다.

2-of-3: 한 사용자가 분실을 계획하고 싶을 때

설정: 세 키가 있다. 임의의 두 개가 서명해야 한다. 솔로 사용자에게 흔한 배치: 일상 사용용 "핫" 기기에 하나, 집에 보관되는 하드웨어 지갑에 하나, 다른 곳(대여 금고, 부모 집, 은행 금고 — 지리적으로 분리된 어딘가)에 보관되는 회복 기기에 하나.

가장 적합한 경우: 한 사람, 하지만 "어떤 단일 물체가 타도 여전히 회복할 수 있길 원한다"는 경계를 넘은 사람. ~$10k에서 ~$100k 사이의 self-custody 사용자가 종종 이쪽으로 이주한다.

강점:

  • 어떤 한 키의 분실(또는 파괴)에 견딘다. 집 화재가 하드웨어 지갑을 먹는가? 너는 여전히 노트북 + 원격 기기를 가지고 있다 — 2-of-3 정족수에 충분.
  • 어떤 한 키의 도난도 여전히 충분하지 않다 — 공격자는 셋 중 둘을 손상시켜야 한다. 지리적 분리는 세 번째 키에 닿는 것을 훨씬 더 어렵게 만든다.
  • 깨끗한 상속 경로를 제공한다. 세 번째 키를 가족 구성원이나 변호사에게 맡길 수 있는데, 그들은 일방적으로 행동할 수 없지만(세 개 중 하나뿐) 정의된 시나리오에서 너의 남은 키 중 하나와 결합해 지갑을 복구할 수 있다.

약점:

  • 더 많은 키를 프로비저닝, 백업, 테스트해야 한다. 각각 고유한 seed와 고유한 보관 장소가 필요하다. Seed phrase best practices는 이걸 하기 전에 필수 독서.
  • 약간 더 큰 공격 표면 — 세 키는 공격자가 손상을 시도할 수 있는 세 장소를 의미하며, 그가 둘을 손상시켜야 하더라도 그렇다.
  • 더 복잡한 회복 리허설. 셋 중 둘을 결합해 실제로 지출할 수 있는지를 주기적으로 테스트해야 한다. 운영적인 잡일이다.

유용한 정신적 단축: 2-of-2는 분실에 취약함이라는 대가로 너를 공격에서 보호한다. 2-of-3는 더 많은 키를 관리한다는 대가로 너를 둘 다에서 보호한다.

3-of-5(그리고 그 이상): 팀과 자금이 무대에 들어올 때

설정: 다섯 키가 있고, 임의의 셋이 서명해야 한다. 회사, 파트너십, DAO, family office에서 사용. 다섯 키는 보통 사람, 역할, 지리에 걸쳐 분산된다.

가장 적합한 경우: 단일 인간에게 속하지 않은 자금. 두 명 이상이 합법적으로 지출을 승인해야 하는 어디든, 그리고 "유일한 서명자가 휴가 중" 시나리오가 운영을 동결시켜선 안 되는 어디든.

강점:

  • 단일 인물이 돈을 통제하지 않는다. 손상되거나 반항하는 서명자 둘로도 여전히 자금을 움직일 수 없다.
  • 운영 연속성. 누구든 한 사람이 부재할 수 있고(아프고, 출장 중, 해고됨) 다른 넷이 여전히 정족수를 갖는다.
  • 자연스럽게 직무 분리를 지원한다 — controller, CFO, CEO, 외부 감사, 핫 서명자가 모두 별개의 역할일 수 있다. 임계값은 회사의 거버넌스에 맞춰 조정될 수 있다.

약점:

  • 조율 오버헤드는 실제다. 다섯 명 중 셋이 정의된 시간 창에서 실제로 거래에 서명하게 만드는 것은, 너 자신의 주머니에 있는 한두 기기를 서명하게 하는 것보다 정말로 더 어렵다.
  • 새로운 서명자마다 공격 표면을 더한다. 다섯 키는 다섯 별개의 기기, 다섯 별개의 백업 절차, 서명자 한 명이 떠날 때 다섯 별개의 승계 계획을 의미한다.
  • 커스텀 워크플로. 대부분의 소비자 지갑은 기본으로 3-of-5을 출하하지 않는다; 이 임계값을 넘으면 보통 전문 툴링(Safe, Casa, 커스텀 multisig 셋업)으로 이동한다. SSP Wave 1은 2-of-2을 중심으로 만들어졌고 이 규모에 맞는 자리가 아니다.

흔한 변형 — 사회적 서명자가 있는 2-of-3 — 은 솔로 2-of-3와 기업 3-of-5 사이에 앉는다. 너는 두 키를 들고, 신뢰할 만한 가족 구성원이나 변호사가 세 번째를 든다. 그들은 혼자 지출할 수 없지만(키 하나는 부족), 네가 네 것 중 하나를 잃었을 때 회복을 도울 수 있다.

크기가 — 그리고 — 고치지 않는 것

2-of-2에서 2-of-3로, 3-of-5로 가는 것은 선형의 "더 많은 보안" 슬라이더가 아니다. 어떤 속성은 좋아지고, 어떤 것은 나빠진다.

n을 올리면 다음에 도움이 된다:

  • 분실에 대한 회복력(더 많은 키 = 더 많은 이중화).
  • 상속 계획.
  • 여러 인간이 있는 운영 가용성.

n을 올리면 다음에 해롭다:

  • 영원히 계속해야 하는 seed-phrase 위생 작업의 양.
  • 공격자가 공격에 실패해야 하는 장소의 수, 그러나 동시에 성공해야 하는 장소의 수 — 키가 진정으로 독립이 아니라면 때로는 더 나쁘다.

m(임계값)을 올리면 다음에 도움이 된다:

  • 도난에 대한 저항(공격자는 더 많은 키가 필요).
  • 서명자 간 신뢰 최소화(m 미만의 어떤 부분 집합도 행동할 수 없다).

m을 올리면 다음에 해롭다:

  • Liveness. 지출하려면 m개의 키가 가용해야 한다면, n - m + 1개의 키가 오프라인이 되면 지갑이 얼어붙는다. 네 인간의 조율을 요구하는 4-of-5는 그 취약함으로 악명 높다.

기술은 mn을, m명의 서명자가 필요하다는 가용성 비용m명의 서명자가 필요하다는 보안 이익과 맞도록 선택하는 것이다. 대부분의 솔로 사용자에게 2-of-2가 스위트 스폿에 떨어진다. 대부분의 팀에게는 3-of-5. 중간 케이스 — 분실을 계획하는 솔로 사용자를 위한 2-of-3 — 가 리테일 self-custody에서 가장 덜 쓰이는 구성이다.

이것이 너에게 의미하는 것

세 가지 시사점:

  1. 다섯 자리 미만의 솔로 사용에 2-of-2를 기본값으로. SSP가 그것을 위해 만들어졌고, Meet SSP Wallet이 설명하는 것이며, 네 보안 자세를 실질적으로 끌어올리는 가장 마찰이 적은 셋업이다.
  2. 한 키를 잃는 비용이 세 개를 관리하는 비용을 넘어가면 2-of-3로 이동하라. 대략: "이것은 진짜 부다"라는 경계를 넘었을 때, 명확한 상속 질문이 있을 때, 또는 이미 가까이서 회복 공포를 한 번 겪었을 때.
  3. 한 사람 이상에 속한 자금을 보호하는 게 아니라면 3-of-5+에 손을 뻗지 말라. 그것은 조직에 대한 올바른 답이고, 개인에게는 그렇게 적합하지 않다 — 고순자산 개인조차도 완전한 3-of-5 대신 custodial 도우미가 있는 2-of-3를 쓰는 경향이 있다.

이 시리즈의 다음 글, BIP48 explained: the derivation path behind SSP는 2-of-2(또는 2-of-3) 지갑이 실제로 어떻게 온체인에 구성되는지로 들어간다 — 여러 키가 협력하게 하는 표준과 대부분의 현대 multisig 지갑이 상호 운용 가능한 이유다.

이 글 공유하기

관련 글