시크릿 컨트랙트 편집하기

이동: 둘러보기, 검색

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

편집을 되돌릴 수 있습니다. 이 편집을 되돌리려면 아래의 바뀐 내용을 확인한 후 저장해주세요.
최신판 당신의 편집
5번째 줄: 5번째 줄:
  
 
==개요==
 
==개요==
디지털 시대가 도래하면서 [[프라이버시]]에 대한 중요성은 나날이 커지고 있다.
+
디지털 시대가 [[도래]]하면서 [[프라이버시]]에 대한 중요성은 나날이 커지고 있다.
 
프라이버시는 개인이나 집단에 관한 정보를 다른 사람들에게 “[[선택적으로 공개]]”할 수 있는 권리를 의미하는데
 
프라이버시는 개인이나 집단에 관한 정보를 다른 사람들에게 “[[선택적으로 공개]]”할 수 있는 권리를 의미하는데
[[블록체인]]은 모두에게 정보를 공개함으로써 투명성 및 정보에 대한 신뢰를 보장하는 장점이 있지만, 오히려 이러한 특성으로 인해 사람들은 민감한 개인정보나 기업 기밀과 같은 [[데이터]]를 블록체인에 올리기를 꺼리게 되었다. 현재 블록체인 프라이버시 문제는 블록체인 [[상용화]]에 걸림돌이 되고 있다.<ref name="af">Lucia Kim,〈[https://medium.com/decon-lab/%EB%B8%94%EB%A1%9D%EC%B2%B4%EC%9D%B8%EC%9D%84-%ED%86%B5%ED%95%B4-%EB%82%B4-%EA%B0%9C%EC%9D%B8%EC%A0%95%EB%B3%B4%EA%B0%80-%EB%85%B8%EC%B6%9C%EB%90%9C%EB%8B%A4%EB%A9%B4-%EB%B8%94%EB%A1%9D%EC%B2%B4%EC%9D%B8-%ED%94%84%EB%9D%BC%EC%9D%B4%EB%B2%84%EC%8B%9C%EC%9D%98-%ED%98%84-%EC%A3%BC%EC%86%8C%EC%99%80-%EB%8B%A4%EA%B0%80%EC%98%AC-%EB%AF%B8%EB%9E%98-b1ada8315444 블록체인을 통해 내 개인정보가 노출된다면?- 블록체인 프라이버시의 현주소와 다가올 미래]〉, 《DECON》</ref> 이를 위해 에니그마(ENIGMA)가 블록체인의 각 노드들이 암호해독 작업없이 스마트 컨트랙트의 암호화된 자료를 사용할 수 있는 신기술 시크릿 컨트랙트(secret contracts)를 개발하였다.
+
[[블록체인]]은 모두에게 정보를 공개함으로써 투명성 및 정보에 대한 신뢰를 보장하는 장점이 있지만, 오히려 이러한 특성으로 인해 사람들은 민감한 개인정보나 기업 기밀과 같은 [[데이터]]를 블록체인에 올리기를 꺼리게 되었다.  
 +
현재 블록체인 프라이버시 문제는 블록체인 [[상용화]]에 걸림돌이 되고 있다.<ref name="af">Lucia Kim,〈[https://medium.com/decon-lab/%EB%B8%94%EB%A1%9D%EC%B2%B4%EC%9D%B8%EC%9D%84-%ED%86%B5%ED%95%B4-%EB%82%B4-%EA%B0%9C%EC%9D%B8%EC%A0%95%EB%B3%B4%EA%B0%80-%EB%85%B8%EC%B6%9C%EB%90%9C%EB%8B%A4%EB%A9%B4-%EB%B8%94%EB%A1%9D%EC%B2%B4%EC%9D%B8-%ED%94%84%EB%9D%BC%EC%9D%B4%EB%B2%84%EC%8B%9C%EC%9D%98-%ED%98%84-%EC%A3%BC%EC%86%8C%EC%99%80-%EB%8B%A4%EA%B0%80%EC%98%AC-%EB%AF%B8%EB%9E%98-b1ada8315444 블록체인을 통해 내 개인정보가 노출된다면?- 블록체인 프라이버시의 현주소와 다가올 미래]〉, 《DECON》</ref> 이를 위해 에니그마(ENIGMA)가 블록체인의 각 노드들이 암호해독 작업없이 스마트 컨트랙트의 암호화된 자료를 사용할 수 있는 신기술 시크릿 컨트랙트(secret contracts)를 개발하였다.
  
 
==역사==
 
==역사==
20번째 줄: 21번째 줄:
  
 
==특징==
 
==특징==
===블록체인 프라이버시의 필요성과 시크릿 컨트랙트===
+
===[[블록체인]] 프라이버시의 필요성과 [[시크릿 컨트랙트]]===
 
블록체인은 여러 주체가 함께 거래를 기록하고 검증하는 [[분산 장부]]이다. 다수가 거래 내역을 검증하기 위해서 거래내역은 기본적으로 공개 되어야 한다. 여기에서, 거래 내용이란 ‘내가 언제 누구에게 얼마의 [[토큰]]을 보냈는지”를 의미한다.블록체인 상에서 누가 어디로 보냈는지가 기록되긴 하지만 개인은 특정되는 것이 아니라 복잡한 주소의 형태로 나타난다.
 
블록체인은 여러 주체가 함께 거래를 기록하고 검증하는 [[분산 장부]]이다. 다수가 거래 내역을 검증하기 위해서 거래내역은 기본적으로 공개 되어야 한다. 여기에서, 거래 내용이란 ‘내가 언제 누구에게 얼마의 [[토큰]]을 보냈는지”를 의미한다.블록체인 상에서 누가 어디로 보냈는지가 기록되긴 하지만 개인은 특정되는 것이 아니라 복잡한 주소의 형태로 나타난다.
 
하지만 이 정도 수준으로는 [[프라이버시]]가 완벽하게 보호된다고 할 수 없다. 공개된 거래 내역을 분석하여 주소와 실제 개인(Entity)을 연결할 수 있는 방법들이 존재하기 때문이다. 심지어 최근에는 비트코인 거래 내역을 분석하여 실제 소유주의 신원을 밝혀내, 이를 사법기관이나 은행에 제공하는 기업(예: 체인널리시스(Chainalysis)의 ‘리액터(REACTOR)’)까지 등장하고 있다. 이러한 점으로 미루어 보아 [[비트코인]]의 복잡한 주소가 완전히 신원을 감추어 줄 수는 없다.
 
하지만 이 정도 수준으로는 [[프라이버시]]가 완벽하게 보호된다고 할 수 없다. 공개된 거래 내역을 분석하여 주소와 실제 개인(Entity)을 연결할 수 있는 방법들이 존재하기 때문이다. 심지어 최근에는 비트코인 거래 내역을 분석하여 실제 소유주의 신원을 밝혀내, 이를 사법기관이나 은행에 제공하는 기업(예: 체인널리시스(Chainalysis)의 ‘리액터(REACTOR)’)까지 등장하고 있다. 이러한 점으로 미루어 보아 [[비트코인]]의 복잡한 주소가 완전히 신원을 감추어 줄 수는 없다.
36번째 줄: 37번째 줄:
 
과거에 대출을 요청했는지 여부와 시간에 지불했는지 여부를 검토 할 수 있다.<ref>가이 지 스킨 드,〈[https://blog.enigma.co/defining-secret-contracts-f40ddee67ef2 비밀 계약 정의]〉, 《enigma블로그》, 2018-04-04</ref>
 
과거에 대출을 요청했는지 여부와 시간에 지불했는지 여부를 검토 할 수 있다.<ref>가이 지 스킨 드,〈[https://blog.enigma.co/defining-secret-contracts-f40ddee67ef2 비밀 계약 정의]〉, 《enigma블로그》, 2018-04-04</ref>
  
===스마트 컨트랙트===
+
===[[스마트 컨트랙트]]===
 
스마트 컨트랙트는 [[Nick Szabo]]가 1994년 최초 제안한 개념이다. 기존 계약서(Contract)는 서면으로 되어있어 계약 조건을 이행하려면 실제 사람이 계약서 대로 수행을 해야 하지만 [[디지털]] 명령어로 계약을 작성하면 조건에 따라 계약 내용을 자동으로 실행할 수 있다고 주장하였다.
 
스마트 컨트랙트는 [[Nick Szabo]]가 1994년 최초 제안한 개념이다. 기존 계약서(Contract)는 서면으로 되어있어 계약 조건을 이행하려면 실제 사람이 계약서 대로 수행을 해야 하지만 [[디지털]] 명령어로 계약을 작성하면 조건에 따라 계약 내용을 자동으로 실행할 수 있다고 주장하였다.
 
디지털로 된 계약서는 조건에 따른 계약 결과가 명확하고, 계약 내용을 즉각 이행할 수 있다. 각자의 자산이 연결된 디지털로 양자 합의를 하고 계약서를 작성하고 실행하기로 한다면 계약을 이행하는데 복잡한 [[프로세스]]를 엄청나게 [[간소화]] 될 것이다. 또한 다양한 그러나 디지털로 된 자료들은 쉽게 복사되고 조작이 쉬워 1994년에 제안한 스마트 컨트랙트는 개념으로만 존재하고 구체적인 서비스에 이용될 수 없었다.
 
디지털로 된 계약서는 조건에 따른 계약 결과가 명확하고, 계약 내용을 즉각 이행할 수 있다. 각자의 자산이 연결된 디지털로 양자 합의를 하고 계약서를 작성하고 실행하기로 한다면 계약을 이행하는데 복잡한 [[프로세스]]를 엄청나게 [[간소화]] 될 것이다. 또한 다양한 그러나 디지털로 된 자료들은 쉽게 복사되고 조작이 쉬워 1994년에 제안한 스마트 컨트랙트는 개념으로만 존재하고 구체적인 서비스에 이용될 수 없었다.
47번째 줄: 48번째 줄:
  
 
===Enigma===
 
===Enigma===
[[이니그마]]는 개인정보 및 데이터를 안전하게 보장하고 연산을 수행할 수 있도록 하는 [[분산 컴퓨팅]] 플랫폼이며 기존의 블록체인에 연결하여 [[오프체인]](off-chain) 네트워크에 집약적인 계산을 [[오프로드]](off-road)하도록 설계되었다. 이니그마는 2015년 공동 창립자인 [[가이 지스킨드]]의 [[MIT]] Media Lab 논문에서 처음으로 설명되었다. 이니그마를 사용하면 스마트 계약이 시크릿 계약이 되어, 입력 데이터가 코드를 실행하는 이그니마 네트워크의 노드에서 숨겨져 계약 내용이 다른 사람에게 공개되지 않기 때문에 개인정보 보호와 비밀이 보장된다. 또, 이니그마는 [[SMPC]] 또는 [[MPC]]같은 높은 보안의 분산 연산을 활용하여 제3자 없이 분산된 방식의 데이터 계산을 가능하게 한다. 2019년 5월 기준 코인마켓캡에서 이니그마의 시가총액은 약 330억원으로 146위를 차지하고 있다.<ref name="fsad"></ref>
+
[[이니그마]]는 개인정보 및 데이터를 안전하게 보장하고 연산을 수행할 수 있도록 하는 [[분산 컴퓨팅]] 플랫폼이며 기존의 블록체인에 연결하여 [[오프체인]](off-chain) 네트워크에 집약적인 계산을 [[오프로드]](off-road)하도록 설계되었다. 이니그마는 2015년 공동 창립자인 [[가이 지스킨드]]의 [[MIT]] Media Lab 논문에서 처음으로 설명되었다. 이니그마를 사용하면 스마트 계약이 시크릿 계약이 되어, 입력 데이터가 코드를 실행하는 이그니마 네트워크의 노드에서 숨겨져 계약 내용이 다른 사람에게 공개되지 않기 때문에 개인정보 보호와 비밀이 보장된다. 또, 이니그마는 [[SMPC]] 또는 [[MP]]C와 같은 높은 보안의 분산 연산을 활용하여 제3자 없이 분산된 방식의 데이터 계산을 가능하게 한다. 2019년 5월 기준 코인마켓캡에서 이니그마의 시가총액은 약 330억원으로 146위를 차지하고 있다.<ref name="fsad"></ref>
 
Enigma란 새로운 형태의 스마트 컨트랙트인 Secret contracts를 사용하여 계약 데이터의 암호화를 구축하고자 하는 프로젝트이다. Enigma는 오프체인 네트워크와 sMPC 두 가지 기술을 사용하여 스마트 컨트랙트 프라이버시를 보호한다.
 
Enigma란 새로운 형태의 스마트 컨트랙트인 Secret contracts를 사용하여 계약 데이터의 암호화를 구축하고자 하는 프로젝트이다. Enigma는 오프체인 네트워크와 sMPC 두 가지 기술을 사용하여 스마트 컨트랙트 프라이버시를 보호한다.
 
====Enigma 이해관계자====
 
====Enigma 이해관계자====
62번째 줄: 63번째 줄:
 
<ref name="af"></ref>
 
<ref name="af"></ref>
  
===SMPC(Secure Multi Party Computation)===
+
===sMPC(Secure Multi Party Computation)===
오프체인 네트워크를 이용하면 일반 사용자들에게는 컨트랙트의 내용이 노출되지 않지만, 아직 완벽한 프라이버시가 보장된다고 할 수 없다. 그 이유는 해당 스마트 컨트랙트를 실행시키는 노드(Enigma에서는 Enigma SGX node)들은 연산을 실행하기 위해 어쩔 수 없이 컨트랙트 내용을 알 수밖에 없기 때문이다. Enigma는 노드들 역시 스마트 컨트랙트의 내용을 알 수 없도록 [[SMPC]] 기술을 사용한다. [[에니그마]](Enigma)의 [[SMPC]] 기술은 한 사람이 아닌 다수가 함께 연산을 수행하는 것이다. 즉, 연산이 필요한 데이터가 쪼개져서 각 노드들에게 분배되고, 이 노드들이 함께 연산을 수행하여 결과를 만들어 내는 것이다.
+
오프체인 네트워크를 이용하면 일반 사용자들에게는 컨트랙트의 내용이 노출되지 않지만, 아직 완벽한 프라이버시가 보장된다고 할 수 없다. 그 이유는 해당 스마트 컨트랙트를 실행시키는 노드(Enigma에서는 Enigma SGX node)들은 연산을 실행하기 위해 어쩔 수 없이 컨트랙트 내용을 알 수밖에 없기 때문이다. Enigma는 노드들 역시 스마트 컨트랙트의 내용을 알 수 없도록 sMPC 기술을 사용한다. Enigma의 [[sMPC]] 기술은 한 사람이 아닌 다수가 함께 연산을 수행하는 것이다. 즉, 연산이 필요한 데이터가 쪼개져서 각 노드들에게 분배되고, 이 노드들이 함께 연산을 수행하여 결과를 만들어 내는 것이다.
 
노드들은 각각 데이터 일부만을 가지고 있으므로, 어떠한 노드도 자신이 보유한 데이터 조각을 가지고 전체 데이터의 내용을 추측할 수 없다. 그래서 노드들이 스마트 컨트랙트 연산 과정을 수행하지만, 스마트 컨트랙트에 담긴 어떤 정보도 알 수 없어 스마트 컨트랙트 프라이버시가 보장되는 것이다.<ref name="af"></ref>
 
노드들은 각각 데이터 일부만을 가지고 있으므로, 어떠한 노드도 자신이 보유한 데이터 조각을 가지고 전체 데이터의 내용을 추측할 수 없다. 그래서 노드들이 스마트 컨트랙트 연산 과정을 수행하지만, 스마트 컨트랙트에 담긴 어떤 정보도 알 수 없어 스마트 컨트랙트 프라이버시가 보장되는 것이다.<ref name="af"></ref>
  
80번째 줄: 81번째 줄:
 
* One-time Use Payment Addresses: 거래마다 발송인이 1회적인 주소를 생성하여 이를 통해 수신인에게 간접적으로 [[암호화폐]]를 전달한다.
 
* One-time Use Payment Addresses: 거래마다 발송인이 1회적인 주소를 생성하여 이를 통해 수신인에게 간접적으로 [[암호화폐]]를 전달한다.
 
* Stealth Addresses: 거래마다 수신인이 1회적인 주소를 생성하여 발송인이 해당 주소를 통해 암호화폐를 전달한다.
 
* Stealth Addresses: 거래마다 수신인이 1회적인 주소를 생성하여 발송인이 해당 주소를 통해 암호화폐를 전달한다.
* [[믹싱]](Mixing): 2개 이상의 거래를 혼합하여 특정 거래에 참여하는 거래 대상을 추측하기 어렵게 한다.
+
* Mixing: 2개 이상의 거래를 혼합하여 특정 거래에 참여하는 거래 대상을 추측하기 어렵게 한다.
* [[링서명]](Ring Signatures): 거래 당사자의 공개 키 및 임의로 선택된 다른 사람들의 공개키를 포함한 키 [[그룹]]을 형성하여, [[트랜잭션]]이 키 그룹 내의 어느 키로 서명되었는지 추측하기 어렵게 한다.
+
* Ring Signatures: 거래 당사자의 공개 키 및 임의로 선택된 다른 사람들의 공개키를 포함한 키 [[그룹]]을 형성하여, [[트랜잭션]]이 키 그룹 내의 어느 키로 서명되었는지 추측하기 어렵게 한다.
 
* Pedersen Commitments: [[무차별 대입]]을 통해 데이터 일부분을 암호화하는 반면 데이터 [[해시]]를 게시하여 데이터 [[진위]]를 검증할 수 있게 하는 [[암호화 메커니즘]]이다.
 
* Pedersen Commitments: [[무차별 대입]]을 통해 데이터 일부분을 암호화하는 반면 데이터 [[해시]]를 게시하여 데이터 [[진위]]를 검증할 수 있게 하는 [[암호화 메커니즘]]이다.
* [[영지식증명]](ZKP; zero-knowledge proofs): 당사자가 어떠한 정보 공개 없이 해당 진술이 사실임을 다른 사람에게 증명할 수 있는 암호화 [[프로토콜]]이다.
+
* ZKP(zero-knowledge proofs): 당사자가 어떠한 정보 공개 없이 해당 진술이 사실임을 다른 사람에게 증명할 수 있는 암호화 [[프로토콜]]이다.
 
* Sidechains & State Channels: 오프체인상에서 트랜잭션 처리한다.
 
* Sidechains & State Channels: 오프체인상에서 트랜잭션 처리한다.
* TEE: 하드웨어 기반의 [[안전실행환경]]에서 트랜잭션을 처리한다.
+
* TEE: 하드웨어 기반의 [[안전실행환경]]에서 트랜잭션 처리한다.
* [[SMPC]]: 다수의 노드가 하나의 트랜잭션을 나눠서 연산 처리한다.<ref name="af"></ref>
+
* sMPC: 다수의 노드가 하나의 트랜잭션을 나눠서 연산 처리한다.<ref name="af"></ref>
  
 
{{각주}}
 
{{각주}}
  
 
==참고자료==
 
==참고자료==
* 권승원 기자, 〈[https://www.tokenpost.kr/article-2665 블록체인 스타트업,데이터 프라이버시 보장 프로토콜 공개]〉, 《토큰포스트》, 2018-05-16
+
* 권승원 기자,〈[https://www.tokenpost.kr/article-2665 블록체인 스타트업,데이터 프라이버시 보장 프로토콜 공개]〉, 《토큰포스트》, 2018-05-16
* Lucia Kim, 〈[https://medium.com/decon-lab/%EB%B8%94%EB%A1%9D%EC%B2%B4%EC%9D%B8%EC%9D%84-%ED%86%B5%ED%95%B4-%EB%82%B4-%EA%B0%9C%EC%9D%B8%EC%A0%95%EB%B3%B4%EA%B0%80-%EB%85%B8%EC%B6%9C%EB%90%9C%EB%8B%A4%EB%A9%B4-%EB%B8%94%EB%A1%9D%EC%B2%B4%EC%9D%B8-%ED%94%84%EB%9D%BC%EC%9D%B4%EB%B2%84%EC%8B%9C%EC%9D%98-%ED%98%84-%EC%A3%BC%EC%86%8C%EC%99%80-%EB%8B%A4%EA%B0%80%EC%98%AC-%EB%AF%B8%EB%9E%98-b1ada8315444 블록체인을 통해 내 개인정보가 노출된다면?- 블록체인 프라이버시의 현주소와 다가올 미래]〉, 《DECON》
+
* Lucia Kim,〈[https://medium.com/decon-lab/%EB%B8%94%EB%A1%9D%EC%B2%B4%EC%9D%B8%EC%9D%84-%ED%86%B5%ED%95%B4-%EB%82%B4-%EA%B0%9C%EC%9D%B8%EC%A0%95%EB%B3%B4%EA%B0%80-%EB%85%B8%EC%B6%9C%EB%90%9C%EB%8B%A4%EB%A9%B4-%EB%B8%94%EB%A1%9D%EC%B2%B4%EC%9D%B8-%ED%94%84%EB%9D%BC%EC%9D%B4%EB%B2%84%EC%8B%9C%EC%9D%98-%ED%98%84-%EC%A3%BC%EC%86%8C%EC%99%80-%EB%8B%A4%EA%B0%80%EC%98%AC-%EB%AF%B8%EB%9E%98-b1ada8315444 블록체인을 통해 내 개인정보가 노출된다면?- 블록체인 프라이버시의 현주소와 다가올 미래]〉, 《DECON》
* 가이 지스킨드, 〈[https://blog.enigma.co/defining-secret-contracts-f40ddee67ef2 비밀 계약 정의]〉, 《이니그마 블로그》, 2018-04-04
+
*〈[http://wiki.hash.kr/index.php?title=%EC%9D%B4%EB%8B%88%EA%B7%B8%EB%A7%88&mobileaction=toggle_view_mobile#/search 이니그마]〉, 《해시넷》
 +
* 가이 지 스킨 드,〈[https://blog.enigma.co/defining-secret-contracts-f40ddee67ef2 비밀 계약 정의]〉, 《enigma블로그》, 2018-04-04
 
*〈[https://blog.theloop.co.kr/2017/03/28/%EC%8A%A4%EB%A7%88%ED%8A%B8-%EC%BB%A8%ED%8A%B8%EB%9E%99%ED%8A%B8smart-contract-%EA%B0%9C%EC%9A%94-1/ 스마트 컨트랙트(Smart Contract) 개요 -1]〉, 《아이콘루프》, 2017-03-28
 
*〈[https://blog.theloop.co.kr/2017/03/28/%EC%8A%A4%EB%A7%88%ED%8A%B8-%EC%BB%A8%ED%8A%B8%EB%9E%99%ED%8A%B8smart-contract-%EA%B0%9C%EC%9A%94-1/ 스마트 컨트랙트(Smart Contract) 개요 -1]〉, 《아이콘루프》, 2017-03-28
* 구현모, 〈[http://news.kotra.or.kr/user/globalBbs/kotranews/782/globalBbsDataView.do?setIdx=243&dataIdx=175027 탈중앙화 앱, 디앱(DApp)! 미래인가? 유행인가?]〉, 《KOTRA》, 2019-05-20
+
* 구현모,〈[http://news.kotra.or.kr/user/globalBbs/kotranews/782/globalBbsDataView.do?setIdx=243&dataIdx=175027 탈중앙화 앱, 디앱(DApp)! 미래인가? 유행인가?]〉, 《KOTRA》, 2019-05-20
  
 
==같이 보기==
 
==같이 보기==

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

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