저자: 줄리아 우
출처: 매체
MPC는 Coinbase 및 Fireblocks와 같은 거인이 쫓는 새로운 핫 약어입니다. 개인 정보를 보호하는 대규모 애플리케이션을 구축하기 위한 도구입니다.
간단히 말해서 MPC를 사용하면 조직이 각 참가자의 개인 정보를 공개하지 않고 계산을 수행할 수 있습니다.
MPC는 또한 니모닉 문구가 있는 완전 비수탁 지갑의 대안으로 "세미 수탁" 지갑을 지원합니다.
이 게시물은 MPC에 대한 초기 정보를 제공하기 위한 것이지만 토끼 굴은 매우 깊을 수 있습니다. 관심 있는 독자를 위해 기사 끝에 추가 리소스에 대한 링크가 제공됩니다.
MPC 소개
80년대(Andrew Yao가 개척)부터 암호학에서 큰 화제가 되었으며, 최근에는 디지털 자산에도 적용되고 있습니다. 이 프로토콜은 2000년대에 컴퓨팅 성능과 알고리즘이 개선되어 실용화될 때까지 대부분 학술 및 이론적 영역에 머물었습니다.
이름에서 알 수 있듯이 MPC의 목표는 여러 당사자가 특정 데이터를 계산하는 기능을 공유할 수 있도록 하는 것입니다. 여러 참여자가 개인 키의 일부와 같은 개인 데이터를 보유할 수 있습니다. 각 세그먼트는 전체 개인 키 또는 개별 부분을 공개하지 않고 트랜잭션에 서명하는 데 사용할 수 있습니다.
Yao의 백만장자 문제로 알려진 가상의 사용 사례가 있습니다. 정확한 순자산을 밝히지 않고 누가 더 부유한지 비교하려는 두 친구 Alice와 Bob을 상상해 보십시오(자신의 책임하에 친구와 함께 시도하십시오).
https://www.researchgate.net/figure/Millionaires-problem_fig1_320290997
이 경우 계산된 함수는 다음과 같습니다.
F(x1, x2) = 최대(x1, x2)
두 백만장자는 MPC를 사용하여 모든 사람의 정확한 수입을 공유하지 않고도 누가 가장 많은 돈을 버는지 알아낼 수 있습니다. 모두가 급여 데이터를 가져오고 이 기능은 누가 가장 많이 지출하는지 알아냅니다.
MPC의 첫 번째 대규모 상업적 사용 사례는 2008년 덴마크에서 봉인된 사탕무 경매에서 프로토콜이 사용되었을 때였습니다. 최고가 입찰자가 경매에서 낙찰되지만 두 번째로 높은 입찰자가 제안한 가격을 지불합니다. MPC는 입찰 순위를 결정하는 동안 입찰 가격을 비공개로 유지하는 데 사용됩니다.
키 관리와의 관련성
암호화폐 지갑과 관련하여 오늘날 가장 큰 문제 중 하나는 시드 문구가 얼마나 쉽게 손실되거나 손상될 수 있는지입니다. 이것이 단일 타협 지점이 됩니다.
MPC를 사용하면 MPC가 분산 키 생성을 통해 키를 여러 조각으로 나누기 때문에 더 이상 개인 키를 한 곳에 저장할 필요가 없습니다. 이러한 조각은 여러 당사자가 서로 다른 위치에 저장할 수 있습니다.
단일 비밀(개인 키 공유)은 컴퓨터 또는 모바일 장치의 끝점 집합에 의해 무작위로 할당됩니다. 엔드포인트는 개인 키의 해당 부분만 사용하여 단일 개인 공유에서 공개 키(지갑 주소)를 계산할 수 있습니다! 전체 "베어" 키는 한 곳에서 형성되거나 공개되지 않습니다.
트랜잭션에 서명해야 할 때 MPC 프로토콜은 각 독립 개인 키 공유 소유자를 소집하여 분산 및 비공개 방식으로 트랜잭션에 서명합니다.
각 측의 입력은 함수에 입력됩니다. 이 정보에는 개인 공유 및 개인 정보가 포함됩니다. 출력은 서명된 메시지입니다. 디지털 서명은 단일 개인 키로 완료된 것처럼 나타납니다. 그런 다음 트랜잭션을 승인하기 위해 블록체인 네트워크로 전송됩니다.
MPC는 키 공유의 전부 또는 임계값이 동시에 발생하도록 요구하거나 각각의 시간에 계산을 수행하도록 구성할 수 있습니다.
해커가 지갑에 액세스하려면 이제 키의 모든 부분에 액세스할 수 있는 방법을 찾아야 합니다. 한 사람에게서 열쇠를 받는 것만으로는 충분하지 않습니다. 조직이나 팀의 경우 이제 한 사람이 자금을 가지고 도망칠 수 없는 상황에서 여러 사람이 하나의 지갑에 접근할 수 있게 되었습니다.
관련 항목: 임계값 서명(TSS)
TSS는 n개 중 m개 이상을 요구하는 임계값에서 서명을 생성하여 단일 엔터티에 대한 신뢰를 제거하는 것을 말합니다. 프로토콜을 MPC와 결합하여 트랜잭션을 승인하기 위해 최소한의 서명을 요구할 수 있습니다.
멀티시그 대 MPC
다중 서명과 MPC의 차이점은 하나의 키를 여러 당사자(MPC)가 보유한 여러 공유로 나누는 대신 다중 서명의 각 당사자가 자체 개인 키를 가지고 있다는 것입니다. 트랜잭션이 성공하려면 승인할 서명자의 최소 임계값이 있어야 합니다.
https://docs.gnosis-safe.io/introduction/the-programmable-account/eoas-vs.-contract-accounts
MPC를 사용하면 서명 프로세스가 여러 컴퓨터에 분산되며 각 컴퓨터는 단일 키 공유를 사용하여 개인 데이터를 처리합니다. 이러한 공유는 함께 작동하여 분산 방식으로 트랜잭션에 서명합니다.
다중 서명 지갑은 서로 다른 개인 키를 사용하여 서로 다른 서명을 생성하는 반면 MPC는 하나의 개인 키의 여러 공유로 구성된 단일 서명입니다.
멀티시그가 작동하려면 블록체인이 이를 지원해야 합니다. 그러나 모든 체인이 일반적으로 스마트 계약의 형태로 제공되는 다중 서명 지갑을 지원하는 것은 아닙니다. MPC는 대부분의 블록체인에서 구현할 수 있는 표준화된 암호화 서명 알고리즘( ECDSA : Elliptic Curve Digital Signature Algorithm)을 사용합니다.
멀티시그를 사용하면 메타마스크의 일반적인 원클릭 프로세스와 달리 거래에 여러 서명이 승인되어야 하므로 dApp 또는 대부분의 DeFi 서비스를 지원하는 것이 쉽지 않습니다.
Coinbase의 Pete Kim은 이를 잘 설명했습니다.
"MPC 기반 지갑(dApp 지갑이라고 함)은 일반 자체 호스팅 지갑이 할 수 있는 모든 것을 지원할 수 있습니다. 보내고 받고 거래할 뿐만 아니라 dApps, DEX, 저장 및 거래 NFT 사용, 거버넌스 투표, 유동성 마이닝, 웹3 게임 등.”
MPC는 서명만 출력하지만 승인 구조가 더 복잡합니다. MPC 지갑은 모든 키 공유가 동일한 서명에 참여하기 때문에 트랜잭션 서명에 사용된 키 공유를 결정하는 기능이 부족할 수 있습니다. MPC 지갑에는 하드웨어 보안 모듈(HSM, 하드웨어 지갑이라고도 함) 지원도 부족합니다.
다중 서명 예시: 노시스 세이프
Gnosis Safe를 사용하면 소유자 계정 목록과 트랜잭션 확인에 필요한 최소 서명 임계값을 정의할 수 있습니다. 임계값에 도달하면 안전한 트랜잭션을 실행할 수 있습니다.
Multisig는 거래가 처리되기 전에 거래를 승인할 최소한의 사람이 필요합니다. 비즈니스에 3명의 이해 관계자가 있는 경우 트랜잭션이 성공하려면 3명의 승인이 모두 필요하도록 Gnosis를 구성할 수 있습니다. 이것은 또한 자체 호스팅입니다.
먼저 MetaMask와 같은 서명자 지갑이 필요합니다. Gnosis Safe 자체는 개인 키를 보유하지 않으므로 트랜잭션에 서명하거나 실행할 수 없습니다.
https://gnosis-safe.io/static/df5a5bc44d16189df7e6b1cc9556a685/bc8e0/multisig.png
MPC 채택
방화벽
Fireblocks는 1,300개의 대규모 기관에 MPC 지갑, 토큰 발행/관리 및 DeFi 액세스를 포함하는 디지털 자산 커스터디 플랫폼을 제공합니다. 고객은 은행, 거래소, 대출 기관, 헤지 펀드, 시장 조성자 등을 포함합니다.
Fireblocks의 고객 중 하나인 Revolut(가치 55억 달러, 가장 큰 핀테크 회사 중 하나)는 Fireblocks의 MPC를 사용하여 전 세계 1,300만 소매 고객에게 암호화 서비스를 소개하고 있습니다. 이 인프라는 디지털 자산 전송을 위한 안전한 지불 레일을 제공하는 데 사용됩니다. MPC 지갑을 통해 Revolut는 암호화폐 및 소매 지향 기능과 관련된 제품 라인을 늘릴 수 있습니다.
젠고
ZenGo는 두 개의 키 공유를 생성합니다. 하나는 모바일 장치에 저장되고 다른 하나는 ZenGo 서버에 저장됩니다. 즉, ZenGo는 귀하의 자금에 액세스할 수 없지만 사용자는 서버와 장치의 키 공유가 서로의 개인 정보를 공개하지 않고 트랜잭션에 서명하는 프로세스를 시작합니다.
https://zengo.com/a-deep-dive-into-zengo-guaranteed-access-solution/
코인베이스
Coinbase는 사용자가 시드 문구를 관리할 필요 없이 dApp을 탐색할 수 있는 방법을 제공하고 있으며 MPC를 사용하여 사용자와 Coinbase 간에 키를 분할합니다.
발문
우리는 아직 MPC의 초기 단계에 있지만 전체 개인 키를 온라인, 오프라인 또는 물리적 장치(단일 손상 지점)에 저장하지 않고 사용자 경험을 보존하면서 디지털 자산을 보호하기 위한 강력한 옵션이 되고 있습니다.
MetaMask와 같은 원활한 온체인 상호 작용을 위해 MPC 지갑이 널리 채택되고 사용되는 것을 아직 보지 못했습니다. 그러나 사용자와 조직의 보안을 개선하는 솔루션에 대한 이러한 노력을 목격하는 것은 매우 흥미로운 일입니다.
출처 및 추가 자료
더 깊이 이해하다