다자간 계산 편집하기

이동: 둘러보기, 검색

경고: 로그인하지 않았습니다. 편집을 하면 IP 주소가 공개되게 됩니다. 로그인하거나 계정을 생성하면 편집자가 아이디(ID)으로 기록되고, 다른 장점도 있습니다.

편집을 되돌릴 수 있습니다. 이 편집을 되돌리려면 아래의 바뀐 내용을 확인한 후 저장해주세요.
최신판 당신의 편집
1번째 줄: 1번째 줄:
'''다자간 계산'''<!--다자간계산-->(MPC; Multi-Party Computation)이란 다수의 사용자가 각자의 비밀 값을 입력값으로 하여 함숫값을 함께 계산하는 기술이다. 흔히 영어로 '''MPC'''(엠피씨)라고 한다. 다자간 계산은 1982년에 최초로 시작되었다. 처음에는 [[양자간 계산]](2PC; Two-Party Computation)으로부터 시작했고, 이후 다자간 계산으로 발전했다.
+
'''MPC'''(Multi-Party Computation)다수의 사용자가 각자의 비밀 값을 입력값으로 하여 함숫값을 함께 계산하는 기술이다. '''다자간 계산'''<!--다자간계산-->이라는 뜻이다. 다자간 계산은 1982년에 최초로 시작되었으며, 처음에는 [[2PC]](Two-Party Computation)로부터 시작했다.
  
 
==개요==
 
==개요==
다자간 계산(MPC)과 연관된 기술들은 [[머클트리]], [[동형암호]], [[탭루트]] 등 다양한 암호학 관련 기술들이 있다. 다자간 계산을 활용한다면 원래 정보는 알 필요 없이 도출된 비밀 값만을 몇몇 주체들이 해결해 낸 뒤, 그 결과들을 활용하면 된다. 이를 통해 제삼자의 개입 없이 프라이버시 및 신뢰를 얻을 수 있어서 이에 대한 수요가 계속해서 생긴다. 또한 단일 주체가 공급을 담당하지 않기 때문에 단일 주체가 공급을 맡아서 가격형성을 할 때 비해 더 소비자에게 이득일 가능성이 커지고, 이를 통해 자연스럽게 "시장"이 형성될 수 있다. 이를 해내기 위해서는 고도의 암호화를 가능하게 하고, 다자가 빠르게 소통할 수 있게 하는 인코딩/대역폭 제한 컴퓨팅과 같은 인프라 및 기술이 요구된다.<ref>블록투데이, 〈[https://cobak.co.kr/community/9/post/173542 다자간 연산 (Multi-Party Computation/MPC):모든 것의 핵심인 존재]〉, 《코박》, 2019-05-08</ref>
+
MPC와 연관된 기술들은 [[머클트리]], [[동형암호]], [[탭루트]] 등 다양한 암호학 관련 기술들이 있다. MPC를 활용한다면 원래 정보는 알 필요 없이 도출된 비밀 값만을 몇몇 주체들이 해결해낸 뒤, 그 결과들을 활용하면 된다. 이를 통해 제삼자의 개입 없이 프라이버시 및 신뢰를 얻을 수 있어서 이에 대한 수요가 계속해서 생긴다. 또한 단일 주체가 공급을 담당하지 않기 때문에 단일 주체가 공급을 맡아서 가격형성을 할 때 비해 더 소비자에게 이득일 가능성이 커지고, 이를 통해 자연스럽게 "시장"이 형성될 수 있다. 이를 해내기 위해서는 고도의 암호화를 가능하게 하고, 다자가 빠르게 소통할 수 있게 하는 인코딩/대역폭 제한 컴퓨팅과 같은 인프라 및 기술이 요구된다.<ref>블록투데이, 〈[https://cobak.co.kr/community/9/post/173542 다자간 연산 (Multi-Party Computation/MPC):모든 것의 핵심인 존재]〉, 《코박》, 2019-05-08</ref>
  
 
==특징==
 
==특징==
11번째 줄: 11번째 줄:
 
*계산은 어느 정도 내결함성이 있으며, 계산의 일부 [[노드]]/파티들이 악의적이더라도 계산은 계속하여 의도한 결과를 제공할 수 있다.
 
*계산은 어느 정도 내결함성이 있으며, 계산의 일부 [[노드]]/파티들이 악의적이더라도 계산은 계속하여 의도한 결과를 제공할 수 있다.
  
==다자간 계산 프로토콜==
+
==MPC 프로토콜==
대부분의 다자간 계산 [[프로토콜]](MPC protocol)은 [[양자간 계산]](2PC) 프로토콜과 달리 개인 채널의 무조건적인 설정하에서 비밀 공유를 사용한다. 비밀 공유 기반 방법에서 당사자들은 특별한 역할을 하지 않는다. 대신, 각 와이어와 관련된 데이터는 당사자들 간에 공유되며, 각 게이트를 평가하는 프로토콜이 사용된다. 이 기능은 [[Yao]]에 사용되는 이진 회로와 달리 유한 필드의 '회로'로 정의된다. 이러한 회로를 문헌에서 산술 회로라고 하며, 연산된 값이 유한 필드에 대해 정의되는 덧셈 및 곱셈 "게이트"로 구성된다. 비밀 공유를 통해 각 당사자에게 주식을 배포하여 여러 당사자에게 비밀을 배포할 수 있다. 일반적으로는 [[샤미르]](Shamir) 비밀 공유와 추가 비밀 공유의 두 가지 비밀 공유 방식이 사용된다. 두 경우 모두 주식은 한정된 분야의 임의적인 요소로서 그 분야의 비밀을 더한다. 자격에 맞지 않는 주식 집합이 임의로 배포되는 것처럼 보이기 때문에 보안이 이루어진다.<ref>〈[https://en.wikipedia.org/wiki/Secure_multi-party_computation Secure multi-party computation]〉, 《위키피디아》</ref>
+
대부분의 MPC [[프로토콜]]은 [[2PC]] 프로토콜과 달리 개인 채널의 무조건적인 설정하에서 비밀 공유를 사용한다. 비밀 공유 기반 방법에서 당사자들은 특별한 역할을 하지 않는다. 대신, 각 와이어와 관련된 데이터는 당사자들 간에 공유되며, 각 게이트를 평가하는 프로토콜이 사용된다. 이 기능은 [[Yao]]에 사용되는 이진 회로와 달리 유한 필드의 '회로'로 정의된다. 이러한 회로를 문헌에서 산술 회로라고 하며, 연산된 값이 유한 필드에 대해 정의되는 덧셈 및 곱셈 "게이트"로 구성된다. 비밀 공유를 통해 각 당사자에게 주식을 배포하여 여러 당사자에게 비밀을 배포할 수 있다. 일반적으로는 [[샤미르]](Shamir) 비밀 공유와 추가 비밀 공유의 두 가지 비밀 공유 방식이 사용된다. 두 경우 모두 주식은 한정된 분야의 임의적인 요소로서 그 분야의 비밀을 더한다. 자격에 맞지 않는 주식 집합이 임의로 배포되는 것처럼 보이기 때문에 보안이 이루어진다.<ref>〈[https://en.wikipedia.org/wiki/Secure_multi-party_computation Secure multi-party computation]〉, 《위키피디아》</ref>
  
 
===보안 속성===
 
===보안 속성===
22번째 줄: 22번째 줄:
  
 
==프라이빗 조인 앤 컴퓨트==
 
==프라이빗 조인 앤 컴퓨트==
프라이빗 조이 앤 컴퓨트(Private Join and Compute)는 [[구글]]이 새로운 유형의 다자간 계산 기술을 발표한 것이다. 조직들이 기밀에 속하는 데이터를 가지고 공유하거나 협업을 해야 할 때 좀 더 안전하게 할 수 있도록 해주는 것이라고 한다. 이 새로운 다자간 계산(MPC) 기술은 원래 [[PSI]]라고 알려진 암호화 프로토콜을 한층 더 강화할 목적으로 개발됐다고 한다. PSI는 '사적 집단 교차'(private set intersection)의 준말이다. 구글은 '프라이빗 조인 앤 컴퓨트'를 [[오픈소스]]로 풀었다. 프라이빗 조인 앤 컴퓨트는 조직들이 서로 데이터를 공유하고 집계해 새로운 통찰을 얻어갈 수 있도록 해주는 것으로, 이 과정에서 특정 개인에 대한 정보를 실수나 고의로 획득할 수 없도록 해준다. 개개인에 대한 식별과 인지는 불가능하게 하면서, 전체 데이터에 대한 분석은 가능케 해준다는 것이다. 프라이빗 조인 앤 컴퓨트는 두 개의 암호화 기술을 합한 것으로, 하나는 PSI이고 다른 하나는 [[동형암호]](homomorphic encryption)이다. PSI는 데이터를 공유하는 양측이 데이터를 합쳐 공통된 식별자를 찾아내게 해주는 기능을 가지고 있고, 동형암호는 암호화된 데이터를 가지고 특정 유형의 계산식을 복호화 없이 작용할 수 있게 해준다.<ref>문가용 기자, 〈[https://www.boannews.com/media/view.asp?idx=80694&skind=D 구글, 안전한 데이터 공유 및 분석 툴을 오픈소스로 풀어]〉, 《보안뉴스》, 2019-06-21</ref>
+
프라이빗 조이 앤 컴퓨트(Private Join and Compute)는 [[구글]]이 새로운 유형의 다자간 계산 기술을 발표한 것이다. 조직들이 기밀에 속하는 데이터를 가지고 공유하거나 협업을 해야 할 때 좀 더 안전하게 할 수 있도록 해주는 것이라고 한다. 이 새로운 MPC 기술은 원래 [[PSI]]라고 알려진 암호화 [[프로토콜]]을 한층 더 강화할 목적으로 개발됐다고 한다. PSI는 '사적 집단 교차'(private set intersection)의 준말이다. 구글은 '프라이빗 조인 앤 컴퓨트'를 [[오픈소스]]로 풀었다. 프라이빗 조인 앤 컴퓨트는 조직들이 서로 데이터를 공유하고 집계해 새로운 통찰을 얻어갈 수 있도록 해주는 것으로, 이 과정에서 특정 개인에 대한 정보를 실수나 고의로 획득할 수 없도록 해준다. 개개인에 대한 식별과 인지는 불가능하게 하면서, 전체 데이터에 대한 분석은 가능케 해준다는 것이다. 프라이빗 조인 앤 컴퓨트는 두 개의 암호화 기술을 합한 것으로, 하나는 PSI이고 다른 하나는 [[동형암호]](homomorphic encryption)이다. PSI는 데이터를 공유하는 양측이 데이터를 합쳐 공통된 식별자를 찾아내게 해주는 기능을 가지고 있고, 동형암호는 암호화된 데이터를 가지고 특정 유형의 계산식을 복호화 없이 작용할 수 있게 해준다.<ref>문가용 기자, 〈[https://www.boannews.com/media/view.asp?idx=80694&skind=D 구글, 안전한 데이터 공유 및 분석 툴을 오픈소스로 풀어]〉, 《보안뉴스》, 2019-06-21</ref>
  
 
==활용==
 
==활용==
 
===알파코인===
 
===알파코인===
[[알파코인]](Arpacoin)은 [[블록체인]] 기반의 보안 연산 [[네트워크]]이다. 알파는 [[레이어2]]와, 다자간 계산(MPC)을 활용해 안전하고 비밀을 유지하는 연산 솔루션을 제공한다. 개인 정보를 보존하는 계산 네트워크로서 모든 사람에게 미가공 데이터를 공개하지 않고도 데이터를 공유하고 사용할 수 있다. 정보 이론적 MAC 및 [[Zero-Knowledge Proof]]를 사용하여 다수의 악성 조건으로도 계산의 정확성을 입증할 수 있다. 다자간 계산과 혁신적인 [[노드]] 통신 체계를 사용함으로써 프라이버시 보호 컴퓨팅 프로토콜은 데이터 임대의 새로운 방식에 데이터 수익화를 가능하게 한다.<ref>*TOKENMAN 토큰맨, 〈[http://blog.naver.com/PostView.nhn?blogId=mastertokenman&logNo=221519760622 토큰맨이 알려주는 알파코인이란?]〉, 《네이버 블로그》, 2019-04-22</ref> 안전한 연산을 더 신속하게 처리하기 위해 다자간 계산(MPC) 프로토콜이 적용된다. 이를 통해 5~6 자릿수 속도 개선이 가능하다. 다자간 계산 프로토콜은 여러 도구와 하위 프로토콜을 사용한다. 이런 도구에는 영지식증명, 확률적 암호화, 정보 이론적인 메시지인증 코드, 여러 가지의 분산화 확정 체계, 임의 데이터의 불가지론적 전송 방법이 포함된다. 다자간 계산 네트워크(MPC network)는 2단계 계층구조 솔루션으로 설계되었으며 [[이더리움]], [[이오스]]와 같은 [[퍼블릭 블록체인]]과 호환성을 가진다.<ref>영보스, 〈[http://blog.naver.com/PostView.nhn?blogId=jruits&logNo=221524529942 알파코인(ARPA)에 대해 알아보자]〉, 《네이버 블로그》, 2019-04-29</ref>
+
[[알파코인]](Arpacoin)은 [[블록체인]] 기반의 보안 연산 [[네트워크]]이다. 알파는 [[레이어2]]와, MPC를 활용해 안전하고 비밀을 유지하는 연산 솔루션을 제공한다. 개인 정보를 보존하는 계산 네트워크로서 모든 사람에게 미가공 데이터를 공개하지 않고도 데이터를 공유하고 사용할 수 있다. 정보 이론적 MAC 및 [[Zero-Knowledge Proof]]를 사용하여 다수의 악성 조건으로도 계산의 정확성을 입증할 수 있다. MPC와 혁신적인 [[노드]] 통신 체계를 사용함으로써 프라이버시 보호 컴퓨팅 프로토콜은 데이터 임대의 새로운 방식에 데이터 수익화를 가능하게 한다.<ref>*TOKENMAN 토큰맨, 〈[http://blog.naver.com/PostView.nhn?blogId=mastertokenman&logNo=221519760622 토큰맨이 알려주는 알파코인이란?]〉, 《네이버 블로그》, 2019-04-22</ref> 안전한 연산을 더 신속하게 처리하기 위해 다자간 계산(MPC) 프로토콜이 적용된다. 이를 통해 5~6 자릿수 속도 개선이 가능하다. 다자간 계산 프로토콜은 여러 도구와 하위 프로토콜을 사용한다. 이런 도구에는 영지식증명, 확률적 암호화, 정보 이론적인 메시지인증 코드, 여러 가지의 분산화 확정 체계, 임의 데이터의 불가지론적 전송 방법이 포함된다. MPC 네트워크는 2단계 계층구조 솔루션으로 설계되었으며 [[이더리움]], [[이오스]]와 같은 [[퍼블릭 블록체인]]과 호환성을 가진다.<ref>영보스, 〈[http://blog.naver.com/PostView.nhn?blogId=jruits&logNo=221524529942 알파코인(ARPA)에 대해 알아보자]〉, 《네이버 블로그》, 2019-04-29</ref>
  
 
===젠고===
 
===젠고===
[[파일:젠고 글자.png|썸네일|300픽셀|'''[[젠고]]'''(ZenGo)]]
+
[[파일:젠고 글자.png|썸네일|300픽셀|'''젠고'''(ZenGo)]]
 
+
[[젠고]](Zengo)는 키(Key)가 없이 생체인식으로 로그인이 되고 [[클라우드]]로도 보관할 수 없는 [[비트코인]]같은 [[암호화폐]] [[지갑]]이다. 젠고는 1914년 4월 [[삼성벤처투자]], [[벤슨 오크벤처스]] 등에서 400만 달러의 투자를 유치했으며 2019년 7월 자체 개발 기준값 서명(TSS) 암호화 기법을 사용한 [[리브라]] [[테스트넷]] 관련 개념 증명(proof-of-concept)을 공개하고 [[페이스북]]의 암호화폐 리브라를 지원할 예정이라고 발표했다. 젠고는 MPC 암호해독 기능을 사용한다. 이 방법을 사용하면 여러 개의 신뢰할 수 없는 컴퓨터가 각각 다른 세그먼트의 세부 정보를 모르는 한 [[노드]] 없이도 원하는 공통 결과를 집합적으로 생성하는 고유한 큰 데이터 세트의 고유한 세그먼트를 계산할 수 있다. 따라서 실행 트랜잭션의 개인키는 집합적으로 생성된 값이며 실제 키를 담당하는 취약한 컴퓨터는 하나도 없다.<ref>〈[https://ko.0xzx.com/201906109707.html MPC는 설명합니다:cryptocurrencies 보호하기위한 대담한 새로운 비전]〉, 《0xzx》, 2019-06-10</ref>{{자세히|젠고}}
[[젠고]](Zengo)는 키(Key)가 없이 생체인식으로 로그인이 되고 [[클라우드]]로도 보관할 수 없는 [[비트코인]]같은 [[암호화폐]] [[지갑]]이다. 젠고는 1914년 4월 [[삼성벤처투자]], [[벤슨 오크벤처스]] 등에서 400만 달러의 투자를 유치했으며 2019년 7월 자체 개발 기준값 서명(TSS) 암호화 기법을 사용한 [[리브라]] [[테스트넷]] 관련 개념 증명(proof-of-concept)을 공개하고 [[페이스북]]의 암호화폐 리브라를 지원할 예정이라고 발표했다. 젠고는 다자간 계산 암호해독 기능을 사용한다. 이 방법을 사용하면 여러 개의 신뢰할 수 없는 컴퓨터가 각각 다른 세그먼트의 세부 정보를 모르는 한 [[노드]] 없이도 원하는 공통 결과를 집합적으로 생성하는 고유한 큰 데이터 세트의 고유한 세그먼트를 계산할 수 있다. 따라서 실행 트랜잭션의 개인키는 집합적으로 생성된 값이며 실제 키를 담당하는 취약한 컴퓨터는 하나도 없다.<ref>〈[https://ko.0xzx.com/201906109707.html MPC는 설명합니다:cryptocurrencies 보호하기위한 대담한 새로운 비전]〉, 《0xzx》, 2019-06-10</ref>{{자세히|젠고}}
 
  
 
===폴라리스===
 
===폴라리스===
[[파일:폴라리스 글자.png|썸네일|300픽셀|'''[[폴라리스]]'''(Polaris)]]
+
[[파일:폴라리스 글자.png|썸네일|300픽셀|'''폴라리스'''(Polaris)]]
 
 
 
[[폴라리스]](Polaris)는 한국의 [[㈜체인파트너스]](대표 [[표철민]])가 [[이오스]](EOS)를 [[하드포크]]하여 만든 기업용 [[블록체인 플랫폼]]겸 [[암호화폐]]이다. 2019년 2월 ㈜체인파트너스는 조직개편과 함께 폴라리스 프로젝트를 중단했다. 폴라리스는 Main Phase 1, Main Phase 2, Main Phase 3 이렇게 3단계로 Main Phase 3에서 주 [[토큰]]을 수수료로 사용하는 다자간 계산을 구현할 계획이다. 폴라리스 특징으로 [[다자간 계산]]이 있다. 이오스 플랫폼은 트랜잭션을 순차적이고 빠르게 처리할 수 있다. 하지만 파일의 형태 변경인 인코딩이나 디코딩 같은 대용량 데이터를 처리하기에는 적합하지 않다. [[블록생성자]]가 데이터 처리를 하는 동시에 0.5초마다 [[블록]]을 생성할 수 없기 때문이다. 연산을 가속하기 위해 [[GPU]]나 [[구글]]의 [[TPU]](TensorFlow Processing Unit)와 같은 전용 [[하드웨어]]를 이용할 수 있다. 그러나 전용 하드웨어를 사용하더라도 [[블록생성자]]에게 연산 처리를 맡기는 것은 상대적으로 느릴 것이고, 데이터 처리를 타인에게 위임하게 되면 이를 검증하기 위해 동일한 컴퓨팅 연산을 해야 하는 [[Verifier Dilemma]]가 발생하게 된다. 폴라리스 플랫폼은 이런 문제를 해결하기 위해 폴라리스 [[소프트웨어]]에 내장된 [[웹어셈블리]]를 이용한다. 폴라리스 플랫폼상에서는 웹어셈블리(WASM)을 통해 상태 변경에 대한 머클트리를 검증할 수 있다. 웹어셈블리는 컴퓨터 성능 그대로를 반영하고 확장 또한 간편하기 때문에, 이를 이용하여 누구나 Computation Group에 참여할 수 있게 한다. 플랫폼 참여자들은 그룹 안에서 노동의 대가로 일정한 수수료를 받아 운영할 수 있다.{{자세히|폴라리스}}
 
[[폴라리스]](Polaris)는 한국의 [[㈜체인파트너스]](대표 [[표철민]])가 [[이오스]](EOS)를 [[하드포크]]하여 만든 기업용 [[블록체인 플랫폼]]겸 [[암호화폐]]이다. 2019년 2월 ㈜체인파트너스는 조직개편과 함께 폴라리스 프로젝트를 중단했다. 폴라리스는 Main Phase 1, Main Phase 2, Main Phase 3 이렇게 3단계로 Main Phase 3에서 주 [[토큰]]을 수수료로 사용하는 다자간 계산을 구현할 계획이다. 폴라리스 특징으로 [[다자간 계산]]이 있다. 이오스 플랫폼은 트랜잭션을 순차적이고 빠르게 처리할 수 있다. 하지만 파일의 형태 변경인 인코딩이나 디코딩 같은 대용량 데이터를 처리하기에는 적합하지 않다. [[블록생성자]]가 데이터 처리를 하는 동시에 0.5초마다 [[블록]]을 생성할 수 없기 때문이다. 연산을 가속하기 위해 [[GPU]]나 [[구글]]의 [[TPU]](TensorFlow Processing Unit)와 같은 전용 [[하드웨어]]를 이용할 수 있다. 그러나 전용 하드웨어를 사용하더라도 [[블록생성자]]에게 연산 처리를 맡기는 것은 상대적으로 느릴 것이고, 데이터 처리를 타인에게 위임하게 되면 이를 검증하기 위해 동일한 컴퓨팅 연산을 해야 하는 [[Verifier Dilemma]]가 발생하게 된다. 폴라리스 플랫폼은 이런 문제를 해결하기 위해 폴라리스 [[소프트웨어]]에 내장된 [[웹어셈블리]]를 이용한다. 폴라리스 플랫폼상에서는 웹어셈블리(WASM)을 통해 상태 변경에 대한 머클트리를 검증할 수 있다. 웹어셈블리는 컴퓨터 성능 그대로를 반영하고 확장 또한 간편하기 때문에, 이를 이용하여 누구나 Computation Group에 참여할 수 있게 한다. 플랫폼 참여자들은 그룹 안에서 노동의 대가로 일정한 수수료를 받아 운영할 수 있다.{{자세히|폴라리스}}
  
51번째 줄: 49번째 줄:
  
 
==같이 보기==
 
==같이 보기==
* [[안전한 다자간 계산]](SMPC)
+
*[[SMPC]]
* [[알파코인]]
+
*[[알파코인]]
* [[젠고]]
+
*[[젠고]]
  
 
{{암호 알고리즘|검토 필요}}
 
{{암호 알고리즘|검토 필요}}

해시넷에서의 모든 기여는 다른 기여자가 편집, 수정, 삭제할 수 있다는 점을 유의해 주세요. 만약 여기에 동의하지 않는다면, 문서를 저장하지 말아 주세요.
또한, 직접 작성했거나 퍼블릭 도메인과 같은 자유 문서에서 가져왔다는 것을 보증해야 합니다 (자세한 사항은 해시넷:저작권 문서를 보세요). 저작권이 있는 내용을 허가 없이 저장하지 마세요!

취소 | 편집 도움말 (새 창에서 열림)