다자간 연산(MPC)이란 무엇인가?

Published Jul 2, 2021
By Brian Spector, Chief Product and Technology Officer at Qredo

다자간 연산(MPC - Multi-party computation)은 여러 당사자가 개별 입력을 공개하지 않고 결합된 데이터를 사용하여 연산을 수행할 수 있도록 하는 암호화 도구입니다.

중국 컴퓨터 과학자 Andrew Yao가 발명한 MPC는 복잡한 암호화를 사용하여 여러 당사자 간에 연산을 분산하는 방식으로 작동합니다.

디지털 자산의 맥락에서 MPC는 트랜잭션 서명을 위한 개별 개인 키를 대체하는 데 사용할 수 있습니다. MPC는 여러 컴퓨터 간에 서명 프로세스를 배포합니다. 각 컴퓨터는 키의 공유를 나타내는 개인 데이터 조각을 소유하고 함께 협력하여 분산화된 방식으로 트랜잭션에 서명합니다.

Qredo는 MPC와 L2 블록체인을 최초로 결합하여 유연한 관리와 디지털 자산의 즉각적인 전송을 위한 안전한 환경을 구축합니다.

아래 섹션들에서는 MPC를 조금 더 자세히 살펴봅니다.

  1. 암호화의 진화

  2. Andrew Yao와 MPC의 탄생

  3. 다자간 연산 사용 사례

  4. MPC는 개인 키를 어떻게 보호하는가?

  5. Qredo의 합의 중심 MPC

  6. MPC FAQ

  7. 다자간 연산은 안전한가?

  8. MPC vs 다중서명

  9. MPC vs Shamir의 Secret Sharing Scheme

암호화의 진화

암호화는 역사적으로 정보를 숨기는 데 사용되었습니다. 이는 적군이 전시 통신을 가로채는 것을 막기 위해 노예의 두피에 문신을 새긴 메시지를 숨긴 그리스의 폭군 Histiaeus까지 거슬러 올라갑니다.

그 이후로 암호화는 더 많은 사용 사례를 지원하도록 발전했습니다. 공개 키 암호화와 같은 새로운 암호화 기술이 등장하여 최신 웹을 가능하게 하고 데이터를 비밀로 유지하는 훨씬 더 복잡한 방법을 제공합니다.

Andrew Yao와 MPC의 탄생

다자간 연산으로 알려진 암호학적 혁신은 80년대의 경제 호황기에 탄생했으며 지난 수십 년 동안 개발되었습니다. 지적 호기심에서 실제 시스템을 구축하기 위한 강력한 도구에 이르기까지 프로토콜을 사용합니다.

  • 1982 - 중국의 선구적인 암호학자이자 컴퓨터 과학자인 Andrew Yao는 Garbled Circuits Protocol을 사용하여 MPC를 도입하여 두 당사자가 입력을 공개하지 않고 데이터를 공동으로 연산할 수 있도록 합니다.

    그해 말, Yao는 MPC의 중요성을 설명하기 위해 '백만장자의 문제'를 설정했습니다. 비밀리에 점심을 먹고 있는 두 명의 백만장자는 가장 부유한 사람이 청구서를 지불해야 한다고 결정합니다. 그러나 어느 쪽도 그들이 얼마나 많은 돈을 가지고 있는지 공개하고 싶지 않습니다. 누가 더 부유하고 누가 점심값을 지불할 것인지 어떻게 알 수 있을까요?

    이 문제를 해결하려면 두 당사자 간의 프로토콜이 필요합니다. 다른 백만장자를 믹스에 추가하면 다자간 프로토콜이 필요합니다.


  • 1987 – 컴퓨터 과학자 Oded Goldreich, Silvio Micali 및 Avi Wigderson은 GMW(Goldreich-Micali-Wigderson) 프로토콜을 도입하여 2자 계산을 다자간으로 조정합니다.


  • 2008 - MPC가 시작됩니다! 이 기술의 첫 번째 대규모 상업 응용 프로그램은 덴마크의 밀봉 입찰 사탕무 경매에서 개인 정보를 보호하는 데 사용됩니다. 이 유형의 경매에서는 가장 높은 입찰가가 낙찰되지만 두 번째로 높은 입찰가가 제시한 가격을 지불합니다. MPC는 사탕무 농부들이 당시 유일한 덴마크 사탕무 가공업체인 Danisco에 지불할 의사가 있는 금액을 밝히지 않고 입찰을 할 수 있도록 했습니다.


  • 2015 - 핫 및 콜드 크립토 지갑에서 폭발적인 해킹과 디지털 자산 도난 이후, 초기 크립토 개척자들은 개인 키를 보호하기 위해 MPC를 사용하기 시작했습니다.

  • 2018 - Qredo는 단일 실패 지점 없이 디지털 자산을 안전하게 관리하기 위해 분산된 레이어 2 네트워크와 다자간 연산을 결합하여 합의 기반 MPC를 개념화합니다.

다자간 연산 사용 사례: 경매에서 유전자 검사까지

MPC가 시간이 지남에 따라 발전함에 따라 디지털화의 가속화로 인해 기술이 그 어느 때보다 빠른 속도로 민감한 정보를 분출하게 되었습니다. 이로 인해 MPC가 누구에게 공개되는지를 제어하는 ​​디지털 비공개 계약의 역할을 하여 민감한 데이터를 보호하는 데 점점 더 많이 사용되고 있습니다. 예는 다음과 같습니다.

유전자 검사에서 MPC를 사용하여 정부나 보험사에 실수로 카페인을 얼마나 빨리 대사하는지 또는 당뇨병 발병 가능성을 공개하지 않고 사람들이 자신의 유전자 프로필을 확인할 수 있습니다.

봉인된 입찰 경매에서 MPC를 사용하여 동시에 제출된 각 입찰이 완전히 비공개로 유지되도록 할 수 있습니다.

민감한 연구에서 MPC는 개인이 민감한 정보를 제3자에게 공개하도록 강요하지 않고도 재무 및 의료 세부 정보와 같은 개인 데이터를 안전하게 수집하고 분석하는 데 사용할 수 있습니다.

Boston University가 아래 비디오에서 설명하는 것처럼 경쟁 차량 공유 조직은 MPC를 사용하여 기밀 사용자 데이터를 공유할 필요 없이 공동 이익 문제에 대해 협력할 수 있습니다.

MPC는 개인 키를 어떻게 보호하는가?

여러 당사자의 민감한 데이터가 노출되는 것을 방지하는 것이 목표인 위의 사용 사례와 달리 MPC는 디지털 자산을 제어하는 개인 키와 같이 한 엔티티가 소유한 단일 민감한 데이터를 보호하는 데에도 사용할 수 있습니다.

MPC가 없으면 개인 키는 일반적으로 한 곳에 저장됩니다. 핫 암호화폐 지갑(인터넷에 연결됨) 또는 콜드 스토리지(오프라인)에 있게 되는 것이죠. 시스템 설계의 용어에서, 이것은 해커에 저항할 수 없는 목표인 "단일 실패 지점"을 만듭니다.

MPC는 이 아킬레스건을 제거할 수 있습니다.

TSS(Threshold Signature Scheme)를 사용하면 한 사람이 개인 키를 완전히 제어할 수 없도록 개인 키에 독립적으로 보유한 쉐어를 만들고 배포할 수 있습니다.

개인 키 자료의 이러한 공유는 다자간 연산 프로토콜을 실행하는 노드 간에 분산됩니다. 따라서 우리는 완전한 개별 개인 키가 존재하지 않는다고 말할 수 있습니다. 여러 노드에 걸쳐 분산된 다른 사람들이 제어하는 ​​분산 쉐어만 존재합니다.

단일 개인 키를 호출하는 대신 트랜잭션에 서명해야 하는 경우 MPC 프로세스가 트리거되고 각 독립 노드가 협력하여 분산된 방식으로 트랜잭션에 서명합니다. 한 목소리만으로는 이룰 멋진 뮤지컬을 이룰수 없는 것과 같습니다.

이 집합적이고 분산된 디지털 서명은 기본 블록체인 네트워크에 제공되고 '전통적인' 개인 키가 수행하는 것처럼 트랜잭션을 인증합니다.

Qredo의 탈중앙화 MPC

MPC는 가명이 되기 직전입니다.

PayPal, BNY Mellon 및 Coinbase와 같은 대기업은 여러 컴퓨터 간에 개인 키 자료를 분할하여 보안을 강화하는 데 중요한 역할을 할 수 있음을 인식하고 이 기술에 투자했습니다. 하지만...

민감한 개인 키 자료를 분배하는 것만으로는 충분하지 않습니다.

MPC 노드가 중앙 집중화되고 단일 조직의 제어 하에 있는 경우 자산은 내부 공모 또는 외부 해킹에 취약한 상태로 남아 있습니다. 자산 거버넌스를 결정하는 정책 엔진이 Intel SGX와 같은 해킹 가능한 하드웨어 영역에 보관된 개인 키 자료가 있는 취약한 데이터베이스에서 실행되는 경우에는 더욱 그렇습니다.

MPC 노드가 진정으로 분산되지 않는 한, 분산된 서명 프로세스는 노드를 제어하는 ​​중앙 집중식 MPC 제공자에게 모든 신뢰가 배치되고 잠재적으로 트랜잭션을 검열하거나 내부 담합에 굴복할 수 있는 분산형 극장입니다.

진정한 탈중앙화를 달성하고 이러한 위험을 제거하기 위해 Qredo는 MPC의 고유한 구현을 레이어 2 블록체인과 결합합니다.

각 MPC 노드는 자체 비밀 키 자료를 독립적으로 생성하고 변조 방지 인클로저에서 외부 공격으로부터 보호됩니다. 이들은 런던에서 시카고, 홍콩에 이르기까지 전 세계 6개 금융 허브의 데이터 센터에 분산되어 있습니다.

결합된 레이어 2 블록체인을 통해 액세스에 대한 세분화된 제어 및 네트워크 참가자 간의 즉각적인 결제가 가능합니다. 느리고 값비싼 기본 체인을 기다리는 대신 Qredo 네트워크 참가자는 즉시 '디지털화된 소유권 권한'을 그들 사이에 이전하여 즉각적인 크로스 체인 및 크로스 플랫폼 유동성을 생성할 수

FAQ: MPC에 대해 여러분들이 알고 싶었던 모든 것. 그리고 추가 정보 다자간 컴퓨팅은 안전한가요?

해커가 어떻게든 단일 MPC 노드에 침입하더라도 모든 노드의 집합적 출력 값을 알 수 있는 방법이 없습니다. MPC로 보호되는 지갑을 제어하려면 이론적으로 트랜잭션에 서명하는 데 필요한 총 장치 수에 대해 동시 공격을 착수해야 합니다.

예를 들어, 노드 수가 10개이고 트랜잭션에 서명하는 데 필요한 임계값이 5개라면 공격자는 6개 노드에 침입하여 키 쉐어를 훔쳐야 합니다. 이는 노드 간에 민감한 개인 키 자료를 자동으로 이동하는 키 교체와 같은 사전 예방적 보안 조치로 인해 더욱 어려워집니다.

MPC가 보안 하드웨어에서 구현된다고 가정할 때, 여러 전선에서 동시에 공격해야 하기 때문에 단일 실패 지점이 있는 핫 및 콜드 크립토 월렛과 같은 다른 개인 키 저장 방법보다 MPC가 훨씬 더 안전합니다.
또한 MPC가 지원하는 유연한 거버넌스

는 불량 직원이 암호화폐 지갑에 액세스하여 자산을 탈취할 가능성을 줄여줍니다.

MPC vs 다중서명 : 무엇이 다른가?

"저는 TSS(임계값 서명 체계)가 지갑과 보관 서비스의 판도를 바꿀 것이라고 믿습니다. 다중서명보다 훨씬 뛰어납니다." — CZ, 바이낸스 CEO

다중 서명 크립토 월렛은 임계값 서명 체계(MPC TSS)를 사용하여 구현된 MPC와 유사한 목표를 공유합니다. 둘 다 여러 당사자에게 서명 권한을 분배합니다.


차이점은 다중서명 크립토 월렛은 서로 다른 개인 키로 생성된 여러 온체인 서명으로 보호되는 반면 MPC는 오프체인에서 생성된 단일 서명에 의존한다는 것입니다.


MPC를 사용하여 오프체인 트랜잭션에 서명하면 다음과 같은 큰 이점이 있습니다.


속도. 트랜잭션은 느린 기본 블록체인과의 거래에 의존하지 않기 때문에 오프체인에서 더 빠르게 서명할 수 있습니다.


비용. 오프체인에서 계산된 서명에는 네트워크 수수료가 발생하지 않습니다.


프라이버시. 오프체인 서명은 공개 원장에서 볼 수 없습니다. 이렇게 하면 잠재적인 공격자에게 민감한 서명 체계와 워크플로를 노출할 수 있는 트랜잭션 체인이 노출되는 것을 방지할 수 있습니다.


호환성. 다중서명 암호화폐 지갑은 특정 블록체인에 연결되어 있지만 MPC는 블록체인의 95%에 걸쳐 구현할 수 있는 표준화된 암호화 서명 알고리즘(ECDSA)을 사용합니다.


유연성. 오프체인 분산 서명을 사용하면 조직 요구 사항에 적합하고 규제 요구 사항을 준수하도록 보다 쉽게 ​​구성할 수 있는 복잡한 거버넌스 체계를 허용합니다.


모든 것을 고려해 볼 때 MPC는 다중서명 기술로 계층화된 다른 형태의 암호화폐 커스터디에 비해 여러 가지 뚜렷한 이점을 제공합니다. MPC vs Multisig에 대해 자세히 알아보십시오.


MPC vs Shamir의 Secret Sharing Scheme

Shamir's Secret Sharing scheme(SSSS)는 개인 키와 같은 민감한 데이터를 부분으로 나누는 암호화 체계입니다. 사용자는 전체 부품 수와 전체를 재생성하는 데 필요한 부품의 특정 하위 집합을 정의할 수 있습니다.

서명이 실제로 배포되고 각 서명자가 트랜잭션에 직접 서명하는 MPC TSS와 달리 SSSS에서는 공유가 단일 시스템 또는 단일 신뢰할 수 있는 행위자에 의해 재조립되어야 합니다. 이것은 단일 실패 지점을 초래합니다.


원본 https://www.qredo.com/blog/what-is-multi-party-computation-mpc  

Qredo 한국어 페이지: https://www.qredo.com/ko