위험 경고: '가상화폐', '블록체인'이라는 이름으로 불법 자금 모집 위험에 주의하세요. — 은행보험감독관리위원회 등 5개 부처
검색
로그인
简中
繁中
English
日本語
한국어
ภาษาไทย
Tiếng Việt
BTC
ETH
HTX
SOL
BNB
시장 동향 보기
MPC와 스마트 컨트랙트 월렛의 장점, 단점, 문제점을 종합적으로 분석
ChinaDeFi
特邀专栏作者
2022-11-17 13:00
이 기사는 약 5868자로, 전체를 읽는 데 약 9분이 소요됩니다
장기적으로 스마트 계약 지갑과 다자간 컴퓨팅(MPC) 프로토콜은 경쟁적이지 않고 보완적입니다.

원래 제목:Seedless Self-Custody: On MPC and Smart Contract Wallets

원작자: Nichanan Kesonpat

원본 편집: ChinaDeFi

원본 편집: ChinaDeFi

셀프 커스터디는 오랫동안 암호화폐 자산 관리의 모범 사례로 환영받아 왔습니다. FTX와 셀시우스 사태는 "당신의 키가 무엇이든 당신의 코인이 아니다"가 사람들을 비수탁형 지갑으로 몰아넣었다는 사실을 업계에 일깨워준 긴 일련의 사건 중 가장 최근의 사건입니다. FTX 사건이 폭로된 후 Safe는 8억 달러 이상의 순유입을 받았고 Ledger는 단기간에 여러 차례 높은 매출을 기록했으며 Trezor 매출은 300% 급증했으며 ZenGo는 밤새 세 자릿수 성장을 달성했습니다. 모두 같은 주에 사상 최고치를 기록했습니다.

그러나 많은 수의 사용자는 비용 절감과 사용 편의성을 대가로 호스팅 위험을 감수할 의향이 있습니다. 비수탁 지갑 인프라가 자산 확보 및 관리를 위한 최소 저항의 길이 되기까지는 아직 갈 길이 멀다.

운 좋게도 이제 개인, DAO 및 기관에 더 많은 옵션을 제공하는 번성하는 지갑 생태계가 있습니다. 암호화는 더 이상 보안 스토리지에 관한 것이 아니라 새로운 경제에서 자산을 사용하는 것을 포함합니다. 그러나 계속해서 증가하는 공격 표면과 취약성은 점점 더 풍부한 기능과 함께 일상적인 비즈니스 및 개인 용도를 지원하면서 공격에 저항할 수 있는 지갑이 필요합니다.

  • 모든 설계 결정과 마찬가지로 이는 주어진 사용 사례에 대한 여러 고려 사항과 대상 사용자의 집단적 요구에 대해 실질적으로 균형을 이루어야 하는 지갑 솔루션 및 키 관리 관행의 기능에 대한 최적화 질문입니다.

  • 개인은 원활한 사용자 경험, 낮은 수수료 및 dApp과의 상호 작용에 대한 유연성이 필요합니다.

  • DAO는 투명한 자금 관리, 생태계 거버넌스 참여가 필요합니다.

기관은 체인 불가지성, 감사 가능성 및 기관 등급 보안을 통해 책임을 아웃소싱하기를 원합니다.

스마트 계약 지갑(다중 서명 지갑 포함)과 다중 당사자 계산(MPC) 프로토콜의 두 가지 대체 키 관리 솔루션 클래스에서 상당한 진전이 이루어졌습니다.

  • 이 문서에서는 다음을 다룹니다.

  • 지갑에서 고려해야 할 속성;

  • 기존, MPC 및 스마트 계약 지갑 개요

  • 지갑 생태계에 대한 지속적인 도전;

현재 지갑 솔루션의 장단점 요약 및 지갑 인프라 전망.

  • 지갑에서 고려해야 할 속성

  • 안전. 단순한 공격부터 복잡한 공격까지 보호 수준. "훌륭한 키 관리"를 위해서는 온보딩 및 운영 비용이 온체인 활동의 특성 및 관련된 위험의 양과 일치하는 다양한 솔루션을 선택해야 합니다.

  • 비용. 계정을 만들고 액세스를 관리하고 트랜잭션을 실행하는 데 드는 비용입니다.

  • 사용자 경험과 유연성. 액세스 제어 관리, 오버헤드 정책, 제한 및 권한의 세분성.

  • 복구 가능성. 위협이나 손실이 발생할 경우 자산을 복원하고 액세스할 수 있습니다.

  • 확장성 핵심 제품에 새로운 기능을 도입하고 제품 및 서비스의 포괄적인 생태계를 구축할 수 있습니다.

은둔. 주소는 개인과 쉽게 연결할 수 있습니다.

전통적인 (HD) 지갑

전통적인 지갑은 니모닉과 HD(Hierarchical Deterministic) 구조를 사용하여 개인 키, 해당 공개 키 및 온체인 주소를 도출합니다. 이 지갑을 통해 사용자는 트랜잭션 서명에 사용되는 개인 키를 생성하고 시드 구문을 사용하여 모든 키를 복구할 수 있습니다.

지금까지 기존 지갑은 사용자가 자산을 보관하고 블록체인 애플리케이션과 상호 작용하기 위한 주요 진입점을 유지하는 도구였습니다. MetaMask와 같은 브라우저 확장 프로그램과 Rainbow와 같은 모바일 앱은 수백만 명의 사용자를 이 생태계로 끌어들였습니다. 위험을 줄이려는 사용자는 오프라인에서 개인 키를 보호하여 더 나은 보안을 제공하는 Ledger 및 Trezor와 같은 하드웨어 지갑을 선택할 수 있습니다.

시드 문구와 키를 안전하게 유지하는 것의 중요성을 사용자에게 알리기 위해 업계에서 엄청난 집단적 노력을 기울였지만, 이 단일 실패 지점은 널리 채택되는 데 큰 장벽으로 남아 있습니다. 개인 키를 분실하면 모든 자산을 잃는 것 외에도 사용자는 여러 주소를 수동으로 추적하고 토큰 승인을 받아야 하며 새 주소에 자금을 조달해야 하므로 개인 정보가 손상됩니다.

오늘날 취소 불가능한 문자열은 개인의 생명 저축에 대한 완전한 "액세스"를 허용할 뿐만 아니라 사용자 온라인 신원의 온체인 기록을 연결하는 추세가 증가하고 있습니다. 개인 키에 대한 액세스 권한을 얻는 인센티브가 너무 커서 각자 무제한 리소스를 사용하는 해커가 점점 더 창의적인 공격을 수행합니다. 이제 더 이상 사용자에게만 의존하는 것으로는 충분하지 않습니다. 우리는 이 단일 실패 지점을 완전히 제거해야 합니다.

MPC(Multi-party Computation) 지갑과 스마트 계약 지갑은 이를 달성하는 데 도움이 되며 기관, 개인 및 DAO 모두가 채택한 제품 및 서비스 유형 모두에 대한 제품 및 서비스 생태계가 이미 존재합니다. 두 가지 유형의 지갑 모두 단일 실패 지점을 제거하지만 서로 다른 트레이드 오프로 이어지는 몇 가지 근본적인 기술적 차이가 있습니다.

MPC 지갑

대체로 MPC(Multiparty Computation)를 사용하면 상호 불신하는 당사자 그룹이 입력을 비공개로 유지하면서 입력을 기반으로 함수를 공동으로 계산할 수 있습니다. 암호화에서 이것은 데이터를 해독하거나 디지털 서명을 생성하는 데 사용되는 개인 키를 보유하는 데 특히 유용합니다.

MPC 지갑은 임계값 서명 체계(TSS)를 사용하여 단일 실패 지점을 제거합니다. 이 패러다임에서 우리는 개인 키의 일부를 생성하고 배포하여 개인이나 기계가 개인 키를 완전히 제어할 수 없도록 합니다. 이는 DKG(분산 키 생성)로 알려진 프로세스입니다. 그런 다음 부분을 결합하고 당사자 간에 부분을 노출하지 않고 공개 키를 공동 생성할 수 있습니다.

메시지 및 트랜잭션에 서명하기 위해 각 당사자는 공개 입력(서명할 메시지)이 있는 비밀 공유 부분을 입력하여 디지털 서명을 생성합니다. 거기에서 공개 키(즉, 유효성 검사기 노드)를 아는 사람은 누구나 서명을 확인하고 확인할 수 있어야 합니다. 핵심 부분이 결합되고 서명이 오프체인에서 생성되기 때문에 MPC 지갑에서 생성된 트랜잭션은 기존의 개인 키 지갑과 구별할 수 없습니다.

이것은 MPC 지갑 사용자의 프라이버시 수준을 유지합니다. 이 기능은 이러한 프로세스가 오프체인에서 발생하기 때문에 서명 체계와 서명자 활동을 대중의 눈에 띄지 않게 하려는 조직에 즉시 사용할 수 있는 유용한 기능입니다. 이러한 방식으로 조직은 서명을 공개하지 않고 참여 서명의 내부 로그를 유지할 수 있습니다.

개인 키 순환은 비밀 공유를 입력으로 받아 새로운 비밀 공유 집합을 출력하는 또 다른 MPC 프로토콜입니다. 이전 비밀 공유를 제거하고 새 공유로 교체할 수 있으며 해당 공개 키 및 주소를 변경하지 않고 동일한 방식으로 사용할 수 있습니다.

  • MPC 지갑의 장점

  • 단일 실패 지점이 없습니다. 완전한 개인 키는 한 번에 한 장치에 중앙 집중화되지 않습니다. 니모닉도 없습니다.

  • 조정 가능한 서명 체계. 동일한 주소를 유지하면서 개인 및 조직의 요구 사항이 변경되면 승인된 고정 인원수를 수정할 수 있습니다. 조직은 매번 새 주소를 상대방에게 알리지 않고도 서명 체계를 동적으로 조정할 수 있습니다.

  • 세분화된 액세스 제어. 조직 사용자는 무제한의 트랜잭션 승인자를 정책에 할당하고 조직의 역할 및 보안 조치(시간 잠금, MFA, 사기 모니터링)를 정확하게 반영하는 권한을 할당할 수 있습니다. 개인은 MPC Wallet-as-a-Service를 통해 세미 커스터디 경로를 선택할 수 있으며, 여기서 제3자는 키 공유 부분을 보유합니다.

  • 거래 및 재활용 비용을 낮춥니다. MPC 지갑은 일반 개인 키 주소와 가스 비용이 동일한 단일 주소로 블록체인에 표시됩니다. 이는 하루에 수백 건의 트랜잭션을 수행하는 사용자(예: B2C 사용 사례)에게 매우 중요합니다. 잃어버린 키 공유는 오프체인에서도 재활용할 수 있습니다.

블록체인 불가지론자. 키 생성 및 서명은 순수 암호화 오프체인에 의존합니다. 새 블록체인으로 호환성을 확장하는 것은 간단합니다. 지갑은 해당 체인에서 인식하는 알고리즘을 사용하여 서명을 생성할 수 있기만 하면 됩니다.

  • MPC 지갑의 단점

  • 오프체인 책임. 인증 정책 서명 및 고정 번호 승인은 오프체인에서 관리되므로 이러한 사용자 정의 규칙은 여전히 ​​중앙 집중화 문제가 발생하기 쉽습니다. 키 공유는 여전히 암호화된 비밀이며 전체 개인 키처럼 취급되어야 합니다. 오프 체인 규칙 및 서명은 투명성을 방해하고 더 엄격한 운영 감사를 요구합니다.

  • 많은 사용자가 채택한 대부분의 기존 지갑과 호환되지 않습니다(시드 문구 없음, 단일 장치에 저장된 전체 개인 키 없음). MPC 알고리즘도 표준화되지 않았으며 iPhone SEP 및 HSM과 같은 에이전시급 보안 장치에서 기본적으로 지원하지도 않습니다.

대부분 격리된 맞춤형 제품. 많은 MPC 라이브러리와 솔루션은 오픈 소스가 아니므로 생태계가 문제가 발생할 경우 이를 독립적으로 감사하고 통합하기 어렵습니다.

MPC 기반 솔루션은 주로 펀드, 거래소 및 관리인과 같은 기관 고객을 대상으로 합니다. Fireblocks 및 Qredo와 같은 MPC 기술 제공업체를 통해 고객은 다양한 유형의 거래에 대한 고유한 워크플로를 정의하여 규정을 준수하고 안전하게 유지할 수 있습니다. 그러나 소매 투자자 기반은 여전히 ​​독립적인 연구 및 개인 키 지갑에 의존합니다. Web3Auth는 최근 사용자가 iCloud 또는 이메일을 백업으로 사용할 수 있는 MPC SDK를 출시했습니다. Entropy와 같은 분산형 커스터디 프로토콜은 소비자와 DAO를 위한 오픈 소스 도구를 구축하여 자산을 온라인에 저장할 수 있습니다.

MPC의 주목할만한 발전: 프로그래밍 가능한 키 쌍

Lit는 Lit 네트워크 노드에 키 공유를 저장하는 분산형 프로토콜입니다. 공개/개인 키 쌍은 소유자가 키 쌍의 유일한 컨트롤러인 PKP(프로그래밍 가능 키 쌍) NFT로 표시됩니다. 그런 다음 PKP 소유자는 임의로 정의된 조건이 충족될 때 네트워크 집계 키 공유를 트리거하여 파일을 해독하거나 대신 서명할 수 있습니다.

이는 분산 액세스 제어, 자산 관리 및 자동화된 온체인 상호 작용에 큰 영향을 미칩니다. Lit Actions(IPFS에 배포된 불변 코드)에 서명 권한을 부여함으로써 PKP는 자바스크립트로 표현할 수 있는 모든 인증 방법을 사용하여 MPC 또는 분산형 클라우드 지갑으로 사용할 수 있습니다.

PKP 생성 NFT는 NFT 소유자를 PKP의 루트 소유자로 만드는 MPC 기반 분산 키 생성 프로세스입니다. 따라서 이 NFT를 전송하는 것은 트랜잭션 개인 키와 동일하며 실제로 "영혼" 토큰(SBT)의 개념을 깨뜨리는 것은 SBT가 특정 소유자에게 바인딩되어 이제 지갑 자체가 안전하게 거래될 수 있기 때문에 , "wallet-bound token"이 더 적절한 이름일 수 있습니다.

스마트 계약 지갑

  • Ethereum에는 현재 두 가지 계정 유형이 있습니다.

  • 외부 소유 계정(EOA) - 개인 키로 제어

스마트 계약 계정 - 코드로 제어

스마트 계약 지갑("스마트 지갑")은 지갑처럼 작동하는 스마트 계약입니다. 즉, 사용자가 자금을 관리하고 web3 로그인을 수행하고 dApp과 상호 작용할 수 있는 인터페이스입니다. 개인 키 지갑과 달리 스마트 지갑은 스마트 계약을 온체인에 배치해야 하므로 초기 생성 비용이 필요합니다.

다중 서명 지갑은 트랜잭션을 실행하기 위해 M-of-N 키의 서명이 필요한 스마트 계약 지갑입니다. MPC는 참여하는 키 공유의 수와 관계없이 단일 서명만 생성하고 다중 서명 트랜잭션은 서로 다른 개인 키에서 생성된 서로 다른 서명을 사용합니다. 이를 통해 기존 개인 키 지갑과 호환되며 Ledger 또는 MetaMask와 같은 기존 지갑 주소 위에 레이어가 있습니다.

Safe와 같은 스마트 계약 계정 표준은 자산 관리 제품 및 서비스의 생태계를 위한 기본 계층을 제공합니다. 모듈을 통해 기능이 추가되어 사용자가 관리 키 로직, 지출 한도, 반복 트랜잭션, 계정 자동화, 계층화된 액세스 등을 정의할 수 있습니다. 현재 가장 많은 안전 모듈 세트는 Zodiac 팀에 의해 구축되었습니다.

  • 스마트 계약 지갑의 장점

  • 단일 실패 지점이 없습니다. 트랜잭션을 실행하려면 여러 서명이 필요합니다.

  • 프로그래밍 가능한 액세스 제어. 사용자는 다양한 정책을 정의하고 시간 잠금, 지출 한도, 자동화를 설정할 수 있습니다.

  • 트랜잭션 일괄 처리를 구현하여 비용을 절감할 수 있습니다.

  • 확장 가능 스마트 계약의 구성 가능성 덕분에 지갑 개발자는 사용자가 자신의 지갑에 추가하도록 선택할 수 있는 모듈 생태계를 생성하여 NFT 대출 프레임워크, DAO 투표 모듈 및 비수탁 자산 관리 서비스와 같은 새로운 기능을 위한 생태계를 만들 수 있습니다. 가게.

  • 프로그래밍 가능한 복구. 지갑은 스마트 계약 자체에 자금을 재활용하기 위한 몇 가지 옵션을 제공할 수 있습니다.

  • 온체인 책임. 온체인 서명 권한 부여 정책 및 집계는 트랜잭션 서명에 사용되는 키를 명확하게 하여 작업을 보다 투명하고 간단하게 만들어 오류가 발생한 경우 트랜잭션에 참여한 사람을 감사할 수 있도록 합니다.

  • 다른 서명 체계로의 마이그레이션이 지원됩니다. 스마트 계약 지갑은 서명 체계를 더 간단하고 가스 효율이 낮거나 양자 내성이 있는 것으로 변경할 수 있습니다. 또한 iOS 및 Android 장치(휴대폰을 하드웨어 지갑으로 전환)에서 사용하거나 iOS 생체 인식 및 웹 인증을 사용할 수 있는 Ed25519를 활성화할 수 있습니다.

오픈 소스. 누구나 스마트 월렛의 구현 및 기능 확장을 감사하여 생태계를 통해 버그를 수정하고 새로운 기능을 추가할 수 있습니다.

  • 스마트 계약 지갑의 단점

  • 더 높은 수수료. 스마트 지갑은 다중 서명을 확인해야 하기 때문에 일반 단일 주소 거래보다 수수료가 높습니다. 소유자 추가/제거 및 임계값 변경과 같은 작업에도 온체인 트랜잭션이 필요합니다.

  • 보편적으로 지원되지 않습니다. 스마트 지갑은 동일한 주소의 모든 EVM 체인에 배포할 수 있지만 비 EVM 체인에서 사용자 지정 구현이 필요합니다.

  • 복구 비용이 더 높습니다. 복구 로직은 프로그래밍이 가능하지만 이를 실행하려면 온체인 수수료를 지불해야 합니다.

업그레이드할 수 없는 계약과 호환되지 않습니다. EIP-1271은 애플리케이션이 계약 지갑을 대신하여 서명할 수 있도록 허용하지만 여전히 보편적으로 지원되지 않으며 업그레이드할 수 없는 계약에 추가할 수 없습니다.

스마트 계약 지갑의 주목할만한 발전: 계정 추상화

스마트 지갑은 EOA 및 개인 키(계정 추상화라고도 함)에서 완전히 벗어나려는 생태계 전반의 노력에서 중요한 역할을 합니다. 이 패러다임에서 모든 계정은 유효한 트랜잭션을 구성하는 것을 지시하는 고유한 논리를 가진 스마트 계약이므로 사용자가 특정 요구에 맞게 계정을 조정할 수 있습니다.

계정 추상화는 2016년부터 논의되었지만 생태계는 솔루션에 대한 조정이 느렸습니다. L2는 인식과 채택을 크게 가속화했습니다. 예를 들어 StarkWare는 모든 Starknet 계정을 스마트 지갑으로 현지화했으며 zkSync 2.0도 AA와 함께 출시될 예정입니다.

  • 이더리움에서는 로드맵의 이정표를 완료하기 위해 여러 EIP가 존재하여 계정 추상화를 현실로 만듭니다.

  • EIP-4337: 서명 확인, 가스 지불 및 재생 보호를 핵심 프로토콜에서 EVM으로 이동하여 사용자가 EOA를 기본 계정으로 사용하는 대신 임의의 확인 논리로 스마트 지갑을 사용할 수 있으며 합의 계층 변경이 없습니다. 이 EIP는 기존 메모리 풀과 병렬로 존재하는 UserOperations 메모리 풀을 도입합니다. 번들러(검증자, MEV 검색자 또는 애플리케이션 자체)는 UserOperations 풀에서 트랜잭션을 가져와 블록체인으로 전달하고 수수료를 지불합니다. 여기서 스타트업 지갑 자체는 가스 수수료를 지불하지 않지만 애플리케이션은 수수료 기반 구독 모델을 통해 사용자를 위해 가스 수수료를 집계할 수 있습니다.

  • EIP-3074: EOA가 계약에 제어권을 위임할 수 있도록 허용하여 기존 EOA가 제3자가 비용을 지불한 작업을 보낼 수 있도록 합니다.

EIP-5003: 기존 EOA를 계약으로 업그레이드하고 ECDSA에서 보다 효율적이거나 양자 저항 서명 체계로 마이그레이션할 수 있도록 합니다.

지갑 개발 생태계가 직면한 과제

기술적 허점

Parity Multisig 해킹과 최근의 Rabby Swap 공격은 자금을 저장하는 가장 좋은 개념적 방법이라도 구현에 결함이 있으면 거의 의미가 없음을 보여주었습니다. 스마트 계약 계정에 대한 표준이 등장할 것으로 예상할 수 있습니다.

사회적 공격 수준

기술 솔루션의 장점은 여전히 ​​사회적 수준의 위험을 제거할 수 없습니다. 6억 달러 규모의 Ronin Bridge 침해는 기술적 결함 때문이 아니라 공격자에게 유효성 검사기 키에 대한 액세스 권한을 부여한 Sky Mavis 직원에 대한 사회 공학 공격 때문이었습니다. 자산 관리에 사용할 지갑을 결정하는 것 외에도 조직은 이 중요한 시스템의 각 "구성 요소"가 사회적 및 기술 계층에서 진정으로 독립적인지 확인해야 합니다.

보안 및 마이그레이션 비용

한 계정에서 다른 계정으로 마이그레이션하는 것은 재미도 없고 비용도 저렴하지 않습니다. 현재 시장에 강력한 지갑 대안이 있지만 사용자가 기존 EOA를 마이그레이션하는 데는 거래 수수료, DeFi 포지션 닫기/열기, 수익 영향, 사용자 오류, 시간 및 노력과 같은 실제 비용이 있습니다.

자기 관리는 오늘날 대부분의 사용자에게 두려운 전망이며 개선에는 의식적인 노력이 필요하기 때문에 벅찬 작업이 될 수 있습니다. 대부분의 트랜잭션 데이터는 읽을 수 없으며(변경 중임) 오류는 되돌릴 수 없습니다. 암호화 교육과 마찬가지로 이 문제는 팀만으로는 해결할 수 없으며 도구와 사용자 경험 패턴이 필요합니다.

결론적으로

결론적으로

  • MPC와 스마트 지갑은 "이것과 저것"이라는 공통 프레임워크를 공유하지만 장기적으로는 경쟁이 아니라 보완적입니다. MPC는 키 생성 및 관리 수준에서 공유 보안을 제공하는 반면 스마트 계약은 기능 및 애플리케이션 개발에 확장성과 생태계 접근 방식을 제공합니다. 예를 들어:

  • MPC는 하나 이상의 개인 키를 여러 부분으로 분할하여 기존 다중 서명 체계를 향상시킬 수 있습니다. 3명이 2/3 다중 서명을 확보하는 데 사용되는 경우 3명의 사용자는 각각 MPC를 사용하여 개별 개인 키를 세분화하고 MPC 키 부분을 별도의 시스템에 저장할 수 있습니다.

커뮤니티 또는 DAO는 자동화된 투자 또는 DEX 상호 작용에 사용할 수 있는 분산형 클라우드 지갑을 관리하는 PKP NFT가 있는 다중 서명 서명자가 될 수 있습니다.


스마트 계약
지갑
Odaily 공식 커뮤니티에 가입하세요