의견.png

"오리고"의 두 판 사이의 차이

해시넷
이동: 둘러보기, 검색
(특징)
24번째 줄: 24번째 줄:
  
 
==특징==
 
==특징==
 +
===프로토콜===
 +
====프라이버시 목표 범위====
 +
모네로, 지캐시 등의 최근 프로젝트들은 새로운 비공개 암호화폐를 만들어냄으로써 프라이버시 문제를 해결하기 위해 노력했지만, 이러한 프로젝트들은 영지식증명과 기타 기초적 암호법을 통해 트랜잭션의 기밀성을 보장하고자 했다. 오리고는 트랜잭션의 기밀성만을 보장할 뿐만 아니라 스마트 계약 내에 작성된 탈중앙화 애플리케이션의 입출력 데이터의 프라이버시를 보장함으로써 보다 나은 프라이버시 보호를 제공하고자 한다. 따라서 오리고는 상기 프로젝트들에 비해 유연성을 보이게 된다. 아래는 트랜잭션의 기밀성에 집중한 프로젝트들과 오리고의 프라이버시 목표의 범위를 비교한 것이다. 표에 나타난 것처럼 모네로, 지캐시, 밈블윔블 등이 비공개 트랜잭션을 지원하는 비트코인의 포크라면, 오리고는 애플리케이션의 입출력 데이터 프라이버시를 보호하는 이더리움과 비슷한 개선된 탈중앙화 애플리케이션 플랫폼이다.
 +
:{|class=wikitable width=400
 +
|+오리고와 모네로, 지캐시의 프라이버시 범위 비교
 +
!align=center|모네로, 지캐시
 +
!align=center|오리고
 +
|-
 +
|align=center|1) 송신자 주소<br>2) 트랜잭션 금액<br>3) 수신자 주소
 +
|align=center|1) 송신자 주소<br>2) 트랜잭션 금액<br>3) 수신자 주소<br>4) 애플리케이션 입력<br>5) 애플리케이션 출력
 +
|}
 +
프라이버시 보호 애플리케이션 플랫폼은 단순한 비공개 트랜잭션보다는 많은 기능을 제공한다. 비공개 트랜잭션은 거래되는 금액과 함께 송신자와 수신자의 정보를 보호한다는 뜻이다. 프라이버시 보호 애플리케이션은 비공개 트랜잭션의 기능뿐만 아니라 입출력 데이터의 프라이버시에 대한 보호 능력도 갖추고 있어야 한다. 거래 당사자들은 자신들의 입력 데이터와 화폐 단위를 시스템에 제공한다. 시스템은 이러한 입력값을 수신한 뒤 오프체인으로 애플리케이션을 실행하고 거래 당사자들에게 배당된 지불금을 암호화하여 출력한다. 시스템은 입력값으 프라이버시와 실행의 공정성을 보장할 필요가 있다.
 +
 +
* 입/출력의 프라이버시 : 애플리케이션의 입출력은 보호되어 공개되어서는 안 된다. 즉, 입출력 내용은 암호화되어 공개되어서는 안 된다. 이를 위해서는 블록체인을 오가는 모든 정보는 암호화되어야 하며 계약 실행을 보장하기 위해 영지식증명이 사용되어야 한다.
 +
* 실행의 공정성 : 탈중앙화 애플리케이션, 특히 다수의 당사자가 존재하는 경우에 대해서는 프라이버시를 일반 대중으로부터 보호하는 것만으로 부족하다. 거래 당사자들이 자신의 이익을 극대화하기 위한 이기적인 존재라고 가정했을 때, 그들은 실행 이전에 트랜잭션을 중단할 수도 있다. 따라서 시스템은 거래 당사자들 간의 공정성도 보장할 필요가 있다.
 +
 +
오리고는 탈중앙화 애플리케이션을 비공개로 안전하게 실행할 수 있는 솔루션을 제안한다. 입출력 데이터 프라이버시를 보호하기 위해 오리고는 탈중앙화 애플리케이션을 오프체인 환경에서 실행한다. 오프체인 실행의 증명은 올바른 계산에 대한 검증을 위해 온체인으로 제출되어야 한다. 애플리케이션 개발자들은 암호버벵 대해 알 필요는 없다. 오리고의 프라이버시 보호 애플리케이션 플랫폼에서 개발자들이 원래 하던 방식대로 애플리케이션을 작성하면 오리고 프라이버시 보호 애플리케이션 플랫폼이 입출력 데이터의 유츨 없이 애플리케이션을 컴파일하고 실행한다. 오리고 프라이버시 보호 애플리케이션 플랫폼은 개발자들이 쉽고 편하게 프라이버시 보호 애플리케이션을 구출할 수 있도록 해준다.
 +
 +
효율성과 프라이버시를 보장하기 위해 오리고는 온체인 및 오프체인 계산을 모두 지원한다. 프라이버시가 요구되는 애플리케이션의 실행 및 정당성 검증은 오프체인으로 실행된다. 프라이버시 보호 애플리케이션의 계산 검증과 일반 애플리케이션의 실행은 온체인으로 진행된다. 오리고 팀은 애플리케이션의 오프체인 실행의 세부사항은 보호하는 동시에 그 실행의 정당성에 대해서는 공개 블록체인이 정당성을 입증할 수 있도록 영지식증명을 사용한다. 또한 오리고는 악의를 지닌 당사자가 계약을 중단하지 못하도록 하는 적절한 경제적 메커니즘을 제안한다.
 +
 +
====현재 솔루션의 한계====
 +
현존하는 블록체인 기술을 통해 튜링완전한 프라이버시 보호 애플리케이션을 적용할 수 있는 간단한 방법은 존재하지 않는다. 이더리움은 튜링완전한 애플리케이션을 지원하는 무허가형 공개 블록체인이다. 이더리움은 그 어떠한 트랜잭션 상의 프라이버시도 제공하지 않는다. 계약이 올바르게 실행되었나 검증하기 위해서는 각 노드가 계약을 실행해야 한다. 따라서, 각 계약의 입력, 중간 상태, 출력 데이터는 이더리움의 모든 노드에 대해 공개된다.
 +
 +
이더리움의 특정 애플리케이션에 대해서 일정 수준의 프라이버시를 보호할 수 있는 테크닉이 있다. 예를 들어 두 거래 당사자가 이더리움 스마트 계약을 이용해서 가위바위보를 할 때 한 쪽이 계약에 직접 패를 게시하게 되면 다른 한 쪽은 첫 번째 당사자의 선택을 읽고 유리한 패를 제시함으로써 이득을 취할 수 없다. 이러한 방식 대신, 두 당사자는 계약의 자신의 선택의 해시값과 무작위한 스트링을 게시하고, 두 당사자가 모두 입력을 커밋하고 나면 계약에 무작위 스트링에 대응하는 자신의 선택을 공개하여 입력값을 공개하는 방식을 사용할 수도 있다. 그러면 계약은 각 거래 당사자가 주장하는 입력값과 무작위 스트링을 조합한 것이 제출된 해시값과 일치하는지 검사함으로써 각 당사자의 입력값을 구할 수 있다. 이러한 테크닉은 두 당사자가 한쪽이 상대방의 선택을 보고 그에 맞는 선택지를 제시할 수도 있다는 우려를 할 필요 없이 게임을 진행할 수 있도록 해준다. 하지만 이러한 게임의 결과는 여전히 공개된 상태이다. 누구나 누가 게임을 이겼으며 승자에게 얼마가 지급되었는지 열람할 수 없다.
 +
 +
지캐시 및 모네로와 같은 암호화폐는 비공개 트랜잭션을 지원함으로써 이러한 문제를 해결했지만 스마트 계약을 지원하지는 않는다. 오리고는 탈중앙화 애플리케이션에 대해 비공개 트랜잭션과 스마트 계약을 모두 지원할 것이다. 또한 프라이버시 보호 애플리케이션의 입출력 데이터가 공개되는 것을 방지하기 위해 해당 애플리케이션은 오프체인으로 실행될 것이다. 해당 애플리케이션의 실행은 여전히 검증을 받아야 하긴 하지만 영지식증명을 통해 실제 결과를 공개하지 않고도 검증이 진행된다. 모든 적절한 프로토콜은 거래 당사자들이 규칙에 따라 행동하도록 유인을 제공하게 설계되었다.
 +
 +
====프로토콜 개요====
 +
상기 한계점들을 해결하기 위해 오리고는 비공개 트랜잭션과 스마트 계약을 모두 지원한다. 호크로부터 영감을 받아 오리고 팀은 온체인 계산과 오프체인 계산을 결합하여 스마트 계약 실행 시의 프라이버시를 지키는 프로토콜을 소개한다. 오리고 프로토콜에는 초기화, 커밋, 실행, 결제의 네 단계가 있다. 커밋 단계에서 각 당사자는 자신의 코인을 계약에 동결시키고 자신의 비공개 입력값과 코인을 포함하고 있는 커밋먼트를 제출한다. 커밋먼트 스킴을 이용함으로써 입력 데이터와 코인은 비공개가 되지만 제출 당사자는 커밋먼트 이후에 해당 내용을 바꾸지 못한다. 모든 당사자가 커밋먼트를 제출하거나 단계의 타임아웃이 도래하면 예치금이 검증된다. 이는 다음 단계로 넘어간다.
 +
 +
실행 단계에서 각 당사자는 자신의 비공개 입력 데이터를 오프라인 실행자에게 공개한다. 실행자는 스마트 계약을 오프라인으로 실행함으로써 입력 데이터와 실행 결과가 공개되지 않도록 한다. 계약이 실행된 뒤, 실행자는 계약이 올바르게 실행되었는지에 대해 영지식증명을 생성한다. 블록체인이 정당성을 검증하고 나면 실행 결과에 따라 자금이 당사자들에게 분배된다. 이러한 프로토콜을 사용함으로써 사용자 입력값, 트랜잭션 금액, 계약 실행 정보 등이 비공개로 유지된다. 하지만 여전히 누구나 계약이 올바르게 실행되었는지 검증할 수 있다.
 +
 +
===기술 설계===
 +
 +
===인프라===
 
====이더리움 호환성====
 
====이더리움 호환성====
 
오리고의 체인 인프라는 작업증명 합의 알고리즘, 이더리움 가상머신, 솔리디티 등 이더리움의 기능에 호환된다. 최초에 오리고 팀은 오리고 플랫폼을 이더리움의 비잔티움 포크 기분으로 개발하였다. 오리고 팀이 첫 번째 단계로 이더리움 호환 인프라를 선택한 이유는 이더리움 커뮤니티가 활동 중인 개발자들이 가장 많은 커뮤니티이므로 오리고 팀이 프라이버시 기술의 최적화에 더욱 많은 자원을 투자할 수 있었기 때문이다. 프라이버시 보호 기능은 추가적인 연산 자원을 요구하기 때문에 오리고 팀의 플랫폼의 블록 가스 한도는 이더리움의 한도보다 높게 설계되었다. 하지만 이더리움 호환 인프라는 몇 가지 확장성 문제를 가지고 있으며, 오리고 팀은 오리고 플랫폼의 향후 버전에서 이러한 문제를 해결하고자 한다.
 
오리고의 체인 인프라는 작업증명 합의 알고리즘, 이더리움 가상머신, 솔리디티 등 이더리움의 기능에 호환된다. 최초에 오리고 팀은 오리고 플랫폼을 이더리움의 비잔티움 포크 기분으로 개발하였다. 오리고 팀이 첫 번째 단계로 이더리움 호환 인프라를 선택한 이유는 이더리움 커뮤니티가 활동 중인 개발자들이 가장 많은 커뮤니티이므로 오리고 팀이 프라이버시 기술의 최적화에 더욱 많은 자원을 투자할 수 있었기 때문이다. 프라이버시 보호 기능은 추가적인 연산 자원을 요구하기 때문에 오리고 팀의 플랫폼의 블록 가스 한도는 이더리움의 한도보다 높게 설계되었다. 하지만 이더리움 호환 인프라는 몇 가지 확장성 문제를 가지고 있으며, 오리고 팀은 오리고 플랫폼의 향후 버전에서 이러한 문제를 해결하고자 한다.
31번째 줄: 66번째 줄:
  
 
===보안===
 
===보안===
 +
====공정성 보장====
 
스마트 계약 실행의 공정성을 보장하기 위해 입력과 실행이 두 단계로 나뉘어 있다. 모든 계약의 참여자들은 실행 이전에 자신의 암호화된 입력값을 준비하고 커밋 해야 한다. 이러한 모든 커밋은 암호화되어 있기 때문에 참여자들이 다른 당사자들에게 자신의 커밋을 공개하지 않기를 원한다면 모든 입력값은 서로에게 감춰진다. 커밋 단계가 끝나면 당사자 중 누구도 입력값을 변경할 수 없다. 커밋 단계가 끝나면 당사자들은 자신들의 입력값을 실행자에게 공개해 실행자가 스마트 계약을 처리할 수 있도록 한다. 커밋 이후에는 모든 입력값이 변경 불가능하여 당사자가 더 이상 입력값을 변경할 수 없기 때문에 이 단계에서는 임의의 당사자조차도 타인의 입력값을 알 수 있다. 이러한 설계를 통해 당사자 중 누구도 실행의 결과에 영향을 끼칠 수 없다.
 
스마트 계약 실행의 공정성을 보장하기 위해 입력과 실행이 두 단계로 나뉘어 있다. 모든 계약의 참여자들은 실행 이전에 자신의 암호화된 입력값을 준비하고 커밋 해야 한다. 이러한 모든 커밋은 암호화되어 있기 때문에 참여자들이 다른 당사자들에게 자신의 커밋을 공개하지 않기를 원한다면 모든 입력값은 서로에게 감춰진다. 커밋 단계가 끝나면 당사자 중 누구도 입력값을 변경할 수 없다. 커밋 단계가 끝나면 당사자들은 자신들의 입력값을 실행자에게 공개해 실행자가 스마트 계약을 처리할 수 있도록 한다. 커밋 이후에는 모든 입력값이 변경 불가능하여 당사자가 더 이상 입력값을 변경할 수 없기 때문에 이 단계에서는 임의의 당사자조차도 타인의 입력값을 알 수 있다. 이러한 설계를 통해 당사자 중 누구도 실행의 결과에 영향을 끼칠 수 없다.
  
프로토콜의 설계가 모든 참가자가 실행 결과를 변경하지 못하게 함으로써 참가자 간의 공정성을 보장하기 때문에 임의의 당사자가 타인의 입력값을 알고 결과를 예측할 수 있을 때 해당 당사자가 할 수 있는 유일한 개입은 손실을 방지하기 위해 계약을 중지하는 것이다. 이러한 사태를 방지하기 위해 예치금 메커니즘이 적용된다. 이탈을 막을 필요가 있는 계약에 대해 오리고는 계약 설계자에게 모든 당사자가 참가 이전에 거치하게 하는 예치금 프레임워크를 제공한다. 따라서, 만약 어떠한 당사자든 계약을 중단하게 된다면 해당 당사자의 예치금은 다른 참가자들이 나누어 가지게 된다. 이러한 방식을 통해 당사자들은 계약을 중단할 동기를 잃게 된다.
+
====실행 완전성====
 +
* '''당사자'''
 +
: 프로토콜의 설계가 모든 참가자가 실행 결과를 변경하지 못하게 함으로써 참가자 간의 공정성을 보장하기 때문에 임의의 당사자가 타인의 입력값을 알고 결과를 예측할 수 있을 때 해당 당사자가 할 수 있는 유일한 개입은 손실을 방지하기 위해 계약을 중지하는 것이다. 이러한 사태를 방지하기 위해 예치금 메커니즘이 적용된다. 이탈을 막을 필요가 있는 계약에 대해 오리고는 계약 설계자에게 모든 당사자가 참가 이전에 거치하게 하는 예치금 프레임워크를 제공한다. 따라서, 만약 어떠한 당사자든 계약을 중단하게 된다면 해당 당사자의 예치금은 다른 참가자들이 나누어 가지게 된다. 이러한 방식을 통해 당사자들은 계약을 중단할 동기를 잃게 된다.
 +
 
 +
* '''실행자'''
 +
: 당사자의 경우와는 다르게 실행자의 경우에는 예치금만으로는 중단을 막기에 충분치 않다. 기본적으로는 실행자는 계약을 실행하기 위해 예치금을 거치한다. 실행자가 계약을 실행하지 않으면 예치금은 모든 당사자들에게 분배된다. 높은 효용성 요건을 가진 계약을 위해 백업 실행자 메커니즘이 설계되었다. 다른 실행자/그룹이 같은 계약을 실행하고 검증자가 된다. 일반적으로 이는 메인 실행자의 결과에 대해 검증만 실행하지만 실행자가 계약을 중단하게 된다면 해당 검증자가 백업 실행자가 된다.
 +
 
 +
===암호경제학 설계===
 +
====설계 원칙====
 +
토렌트 플랫폼과 같은 과거의 탈중앙화 시스템은 사용자들이 다른 사용자가 파일을 다운로드할 수 있도록 네트워크에 파일의 시드를 유지하는 등의 규칙에 따르게 할 경제적 유인의 무족으로 인해 실패했다. 비트코인은 적절한 암호경제학 메커니즘을 구축함으로써 사용자들이 규칙을 따르게 할 뿐만 아니라 비잔틴 장군의 문제를 극복하여 완벽한 합의 시스템을 만들어내 이러한 탈중앙화 시스템을 한층 더 발전시켰다.
 +
 
 +
오리고 플랫폼 내에서 규칙은 주로 프라이버시에 집중함으로써 오리고의 각 역할이 정보 누출이나 프라이버시 보호 계약 실행의 중단 등의 스마트 계약 프라이버시에 관련된 의도하거나 의도치 않은 행위를 실행하지 않도록 한다. 작업증명(PoW)이나 지부증명(PoS) 등의 합의 알고리즘에서 처벌 메커니즘의 부족으로 인해 이중지불이나 지분없음 등의 문제가 발생하는 등, 오리고의 규칙에 기반한 합의에 이르도록 하기 위해 인센티브 메커니즘만으로는 부족하다. 따라서 오리고는 비잔틴 장애 허용(BFT) 합의 합의 프로토콜과 지분 기반 블록체인 합의를 결합한 하이브리드 합의 알고리즘을 적용하다.
 +
 
 +
====인센티브 및 역할====
 +
먼저 오리고의 합의 프로토콜은 두 가지 인센티브 조합으로 구성되어 있다.
 +
 
 +
* '''인센티브 조합 #1 - 기본조합'''
 +
:* 오리고 토큰 : 이더리움의 EHT와 마찬가지로 가스 수수료의 기능을 한다. 적극적으로 참여하고 블록체인에 기여하는 역할은 자신의 노력에 대한 암호화페를 배당 받음으로써 보상받는다.
 +
:* 특권 : 역할들은 오리고 토큰을 오리고 생태계 내에서 다양한 목적으로 사용할 수 있다.
 +
 
 +
* '''인센티브 조합 #2 - 고급 조합'''
 +
:* 에치금 : 실행자 역할에 입찰하는 등 특정 작업에는 오리고 토큰이 예치금으로 요구된다.
 +
:* 지불 : 참가자들은 트랜잭션 수수료 등 특정 활동에 참여하기 위해 일정 금액의 오리고 토큰을 지불한다.
 +
:* 보상 : 오리고 내의 우수한 참여자들은 그 행동에 토큰으로 보상을 받는다.
 +
:* 처벌 : 악성 참가자들은 규칙에 어긋나는 행위를 한 대가로 예치금의 일부 혹은 전체를 잃거나 특정 권리를 박탈당한다.
 +
 
 +
오리고는 향후 논의를 위해 인센티브에 대한 단어들에 대해 이러한 정의를 내린다.
 +
:{|class=wikitable width=500
 +
!align=center|인센티브에 대한 단어
 +
!align=center|정 의
 +
|-
 +
|align=center|토큰 보상
 +
|align=center|n번째 당사자의 R1, …, Rn
 +
|-
 +
|align=center|지불
 +
|align=center|n번째 당사자의 P1, …, Pn
 +
|-
 +
|align=center|예치금
 +
|align=center|n번째 당사자의 D1, …, Dn
 +
|-
 +
|align=center|처벌
 +
|align=center|n번째 당사자의 Pun1, …, Punn
 +
|}
 +
 
 +
추가적으로, 오리고는 플랫폼 내의 네 가지 역할에 대해 아래와 같이 정의한다.
 +
:{|class=wikitable width=1000
 +
!align=center|역 할
 +
!align=center|정 의
 +
|-
 +
|align=center|검증자
 +
|align=center|Vi ∈ V, 플랫폼이 증명 검증 및 블록 검증 등 다양한 작업을 수행할 수 있도록 연산력을 제공하는 역할이다.<br>Vi는 블록을 채굴하거나 특정 작업을 연산한 후에 RVi를 받는다.
 +
|-
 +
|align=center|사용자
 +
|align=center|Ui ∈U, 플랫폼 상의 계약 및 디앱을 사용하는 역할이다.<br>Ui는 스마트 계약과 디앱을 통해 서비스 및 상품에 대해 예치금 DUi를 거치하고 지불 PUi를 지급한다.<br>Ui는 개발자가 해당 메커니즘을 구현해두었을 경우 계약 및 디앱을 통해 보상 RUi를 얻을 수도 있다.
 +
|-
 +
|align=center|계약/디앱 개발자
 +
|align=center|Devi ∈Dev, 프라이버시 보호 스마트 계약과 디앱을 만드는 역할이다.<br>Devi는 연산 자원을 사용하고 지불 PDevi를 지급하거나 스마트 계약 및 디앱을 만들고 보상 RDevi을 받는다.
 +
|-
 +
|align=center|실행자
 +
|align=center|Ei ∈E, 영지식증명에서 프라이버시 관련 작업을 수행하는 역할이다.<br>Ei는 규칙위반행위를 막기 위한 목적으로 오리고에 의해 예치금 Dei를 거치하도록 강제되며,<br>만약 이를 이행하지 않을 경우 처벌 PunEi를 받게 된다. Ei는 또한 프라이버시 관련 작업을 완료한 후 보상 REi를 받을 수도 있다.
 +
|}
 +
 
 +
아래는 각 역할에 대해 인센티브 조합을 생성하기 위한 필수적인 프로토콜이다.
  
당사자의 경우와는 다르게 실행자의 경우에는 예치금만으로는 중단을 막기에 충분치 않다. 기본적으로는 실행자는 계약을 실행하기 위해 예치금을 거치한다. 실행자가 계약을 실행하지 않으면 예치금은 모든 당사자들에게 분배된다. 높은 효용성 요건을 가진 계약을 위해 백업 실행자 메커니즘이 설계되었다. 다른 실행자/그룹이 같은 계약을 실행하고 검증자가 된다. 일반적으로 이는 메인 실행자의 결과에 대해 검증만 실행하지만 실행자가 계약을 중단하게 된다면 해당 검증자가 백업 실행자가 된다.
+
1. 오리고 플랫폼 상의 어떠한 활동 i에 대하여, 항상 {{형광펜|DUi, PUi, PDevi, DEi, RMi, RUi, RDevi, PunEi, REi ≧ 0}}일 경우,
 +
{{형광펜|DUi + PUi + PDevi + DEi ≧ RMi + RUi +RDevi + PunEi +REi}}가 항상 적용된다.
 +
2. 오리고가 플랫폼에서 {{형광펜|DUi, PUi, PDevi, DEi, RVi, RUi, RDevi, PunEi, REi}}의 정확한 금액을 수요와 공급의 법칙이 결정하도록 둘 경우,
 +
{{형광펜|∑DUi + PUi + PDevi + DEi ≧ ∑RVi + RUi +RDevi + PunEi +REi}}가 항상 유지되어 플랫폼의 지속가능성이 유지된다.
  
 
==로드맵==
 
==로드맵==

2020년 5월 15일 (금) 11:31 판

오리고(Origo)는 탈중앙화 애플리케이션을 위한 프라이버시 보호 플랫폼이다. 혁신적인 프라이버시 프로토콜과 효율적인 영지식증명 프레임워크를 결합함으로써 탈중앙화 애플리케이션 상의 입출력 데이터와 트랜잭션의 프라이버시를 보호한다. 티커는 OGO이다.

개요

오리고 네트워크는 애플리케이션의 입출력 데이터 프라이버시를 보호하는 탈중앙화 애플리케이션을 위한 프라이버시 강화 플랫폼이다. 이더리움의 경우 누구나 스마트 계약을 활용한 거래기록을 볼 수 있기 때문에 개인 프라이버시를 침해받을 수 있으며, 모네로, 지캐시 같은 다크코인의 경우 익명성이 보장되지만 개인간의 거래에만 특화되어 있다. 이더리움과 다크코인의 조합이라고 설명할 수 있는 오리고 네트워크는 거래내역을 익명화하고, 스마트 계약 기능을 추가, 블록체인에 입·출력에 사용되는 데이터를 익명화하여 프라이버시를 보장하는 것을 목표로 하고 있다.

영지식증명이란 누군가가 상대방에게 어떤 문장이 참이라는 것을 증명할 때, 그 문장의 참·거짓 여부를 제외한 다른 어떠한 정보도 노출하지 않는 상호 절차를 뜻하는 알고리즘으로 다크코인에 도입되었다. 이러한 다크코인들은 발신자, 수신자, 전송내용 등을 알 수 없는데, 이 같은 코인들은 개인간의 거래에만 특화되어 있다. 또한 이더리움과 같은 스마트 계약 플랫폼의 경우, 입력되는 데이터와 실행 결과가 네트워크 전체에 공개되기 때문에 프라이버시가 없고, 그로 인해 개인과 기업이 사용하기를 꺼려한다는 단점이 있다. 오리고를 쉽게 설명하자면, 다크코인과 이더리움이 결합한 버전이라고 볼 수 있다. 오리고 네트워크는 트랜잭션 값 및 스마트 계약 모두에 프라이버시 보호 솔루션을 제공하는 디앱을 위한 개인정보보호 플랫폼으로 프라이버시를 보장하는 탈중앙화 애플리케이션과 거래를 목표로 하기 때문이다.

효율성과 프라이버시 보장을 위해 오리고는 온체인과 오프체인을 둘 다 사용할 수 있는 환경을 제공한다. 프라이버시가 요구되는 애플리케이션을 사용할 경우, 오프체인을 사용하며 프라이버시가 필요하지 않은 일반 애플리케이션의 사용 시에 온체인을 활용, 오프체인 환경에서 익명성 기능을 사용해 애플리케이션을 실행한 뒤의 실행검증과 계산을 진행한다.

이더리움의 확장성 문제를 해결할 수 있는 방안으로 제안되고 있는 샤딩은 네트워크의 노드의 그룹이 합의에 도달하는 과정의 효율성을 대폭 개선시킬 수 있는 기술이다. 오리고 네트워크는 상태샤딩을 활용하여 기존 프라이버시 코인의 한계점으로 지적된 블록체인의 확장성을 개선하고자 한다.

주요 인물

  • 프랭크 팽(Frank Fang) : 오리오의 공동설립자이다. 미 카네기멜론 대학교에서 컴퓨터 공학 석사 및 칭화대학 컴퓨터 공학 학사를 취득하였으며, 전 핀터레스트(Pinterest) 본사 선임 아키텍트 및 핀터레스트 사의 전반적인 아키텍트를 담당했다. 분배체계, 암호화 알고리즘 및 신뢰 컴퓨팅 분야에서 폭넓은 경험을 자랑한다.
  • 이지아 장(Yijia Zhang) : 오리온의 공동설립자이다. 미 카네기멜론 대학교 컴퓨터 공학 석사 및 칭화대학 컴퓨터 공학 학사를 취득했다. 전 구글어시스턴트 창립 멤버 및 기술 선임자이다. 과거 구글애드, 서치, 안드로이드 오토, 지메일 등 여러 사업분야에 관여했다.
  • 베른 공(Baron Gong) : 오리오의 공동설립자이다. 미 콜럼비아 대학교 경영과학 및 공학 석사를 취득했다. 7억 위안 규모의 펀드 관리 경험이 있다.
  • 웨이란 리우(Weiran Liu) : 오리오의 공동설립자이다. 북경항공항천대학 암호학 박사이기도 하다. 중국 내 가장 규모가 큰 문답식 웹사이트인 즈후(Zhihu) 사의 암호학 핵심 구성원으로 유명하다. 암호학계에서 만오천 명 이상의 팔로워드를 보유하고 있다.
  • 홍차이(Hong Chai) : 오리오의 공동설립자이다. 중국 내 동영상 플랫폼인 유쿠(Youku) 초기 100명 직원 중 한 명으로, PPS뿐 아니라 나스닥에 상장된 소후(Sohu) 및 다른 인터넷 회사 마케팅 부서 책임으로 근무했다. CNR미디어(CNR Media) 및 참미디어그룹(Charm Media Group)의 부회장으로 디지털 마케팅 분야를 담당했으며, 15년 이상의 마케팅 경력이 있다.
  • 소니아 왕(Sonia Wang) : 오리오의 공동설립자이다. 15년 이상 금융, 미디어, 보험 및 인터넷 분야에서 경력을 쌓았다.중국 내 가장 큰 주간지인 더이코노믹옵저버(The Economic Observer), 다국적 대기업인 씨케이허친슨홀딩스(CK Hutchinson Holdings) 예하의 탐그룹리미티드(TOM Group Limited) 및 에이치앤에이그룹(HNA Group)에서 근무했다. 아비바차이나(AVIVACHina)에서 브랜딩 및 커뮤니케이션 부서를 관리했으며, 중국 내 순위권 온라인 커뮤니티인 베이비트리(Babytree) 커뮤니티에서 일일사용자 약 6백만 명을 관리했다.

등장배경

이더리움은 코드 한 줄로 디지털 자산을 직접 컨트롤할 수 있도록 하여 보다 복잡한 애플리케이션에 대한 가능성을 열어준 스마트 계약을 통해 비트코인을 한 단계 더 발전시켰다. 하지만 현재의 스마트 계약은 프라이버시가 없다. 스마트 계약에 입력되는 데이터와 그 실행 결과가 네트워크 전체에 공개되기 때문에, 프라이버시를 중시하는 현실의 많은 기업 및 개인이 스마트 계약을 채택하고 사용하는 것을 꺼리고 있다. 블록체인의 강력한 기술들이 무신뢰한 당사자들이 안전하고 정확하게 상호작용할 수 있는 단초를 제공하긴 했지만, 오리고는 안전성과 정확성뿐만 아니라 프라이버시가 블록체인이 더욱 널리 퍼지게 해줄 열쇠라고 믿고 있다. 제로캐시와 같은 블록체인의 진보는 비공개 트랜잭션을 가능케 했지만, 오리고는 거래 당사자들이 개인의 입출력 내역을 공개하지 않고도 스마트 계약을 생성하고 실행할 수 있도록 함으로써 이러한 호크와 불렛프루프 등에 기반한 프라이버시 관련 작업에 한 단계 더 진보를 이루고자 한다.

실제 셰계의 정부와 중앙화된 사기업은 점점 더 어디에서나 시민과 고객들을 감시하고 있다. 머지않아 시민들과 고객들은 프라이버시에 대한 보다 근본적인 인권을 요구하게 될 것이다. 전 세계적으로 프라이버시에 대한 우려와 관심이 증가하자, 미디어는 계속해서 프라이버시에 관련된 사건사고에 대한 논란들을 다루고 있다. 이러한 예시로는 정부의 감시, 참가자들도 모르게 명시적인 통보 없이 진행되었다고 알려진 페이스북의 대규모 과학 실험 등이 있다. 공개된 블록체인에서 모든 프라이버시가 제한 없이 공개될 경우 지적 재산에 대한 소유권 및 권리 문제, 데이터 오남용, 적대적 행위 등의 문제를 일으킬 수 있기에 기업과 개인들은 이러한 노출에 대한 우려를 품고 있다. 계약에 있어 계약 당사자들은 계약금, 성능/치수 등의 중요 데이터, 계약의 선행조건 등 민감한 데이터와 내용에 대해 심대한 우려를 품고 있다. 이더리움 등의 전통적인 스마트 계약은 이러한 민감한 계약 정보들을 보호하는데 실패하였고, 결과적으로 스마트 계약의 산업적, 개인적 사용을 제한했다.

특징

프로토콜

프라이버시 목표 범위

모네로, 지캐시 등의 최근 프로젝트들은 새로운 비공개 암호화폐를 만들어냄으로써 프라이버시 문제를 해결하기 위해 노력했지만, 이러한 프로젝트들은 영지식증명과 기타 기초적 암호법을 통해 트랜잭션의 기밀성을 보장하고자 했다. 오리고는 트랜잭션의 기밀성만을 보장할 뿐만 아니라 스마트 계약 내에 작성된 탈중앙화 애플리케이션의 입출력 데이터의 프라이버시를 보장함으로써 보다 나은 프라이버시 보호를 제공하고자 한다. 따라서 오리고는 상기 프로젝트들에 비해 유연성을 보이게 된다. 아래는 트랜잭션의 기밀성에 집중한 프로젝트들과 오리고의 프라이버시 목표의 범위를 비교한 것이다. 표에 나타난 것처럼 모네로, 지캐시, 밈블윔블 등이 비공개 트랜잭션을 지원하는 비트코인의 포크라면, 오리고는 애플리케이션의 입출력 데이터 프라이버시를 보호하는 이더리움과 비슷한 개선된 탈중앙화 애플리케이션 플랫폼이다.

오리고와 모네로, 지캐시의 프라이버시 범위 비교
모네로, 지캐시 오리고
1) 송신자 주소
2) 트랜잭션 금액
3) 수신자 주소
1) 송신자 주소
2) 트랜잭션 금액
3) 수신자 주소
4) 애플리케이션 입력
5) 애플리케이션 출력

프라이버시 보호 애플리케이션 플랫폼은 단순한 비공개 트랜잭션보다는 많은 기능을 제공한다. 비공개 트랜잭션은 거래되는 금액과 함께 송신자와 수신자의 정보를 보호한다는 뜻이다. 프라이버시 보호 애플리케이션은 비공개 트랜잭션의 기능뿐만 아니라 입출력 데이터의 프라이버시에 대한 보호 능력도 갖추고 있어야 한다. 거래 당사자들은 자신들의 입력 데이터와 화폐 단위를 시스템에 제공한다. 시스템은 이러한 입력값을 수신한 뒤 오프체인으로 애플리케이션을 실행하고 거래 당사자들에게 배당된 지불금을 암호화하여 출력한다. 시스템은 입력값으 프라이버시와 실행의 공정성을 보장할 필요가 있다.

  • 입/출력의 프라이버시 : 애플리케이션의 입출력은 보호되어 공개되어서는 안 된다. 즉, 입출력 내용은 암호화되어 공개되어서는 안 된다. 이를 위해서는 블록체인을 오가는 모든 정보는 암호화되어야 하며 계약 실행을 보장하기 위해 영지식증명이 사용되어야 한다.
  • 실행의 공정성 : 탈중앙화 애플리케이션, 특히 다수의 당사자가 존재하는 경우에 대해서는 프라이버시를 일반 대중으로부터 보호하는 것만으로 부족하다. 거래 당사자들이 자신의 이익을 극대화하기 위한 이기적인 존재라고 가정했을 때, 그들은 실행 이전에 트랜잭션을 중단할 수도 있다. 따라서 시스템은 거래 당사자들 간의 공정성도 보장할 필요가 있다.

오리고는 탈중앙화 애플리케이션을 비공개로 안전하게 실행할 수 있는 솔루션을 제안한다. 입출력 데이터 프라이버시를 보호하기 위해 오리고는 탈중앙화 애플리케이션을 오프체인 환경에서 실행한다. 오프체인 실행의 증명은 올바른 계산에 대한 검증을 위해 온체인으로 제출되어야 한다. 애플리케이션 개발자들은 암호버벵 대해 알 필요는 없다. 오리고의 프라이버시 보호 애플리케이션 플랫폼에서 개발자들이 원래 하던 방식대로 애플리케이션을 작성하면 오리고 프라이버시 보호 애플리케이션 플랫폼이 입출력 데이터의 유츨 없이 애플리케이션을 컴파일하고 실행한다. 오리고 프라이버시 보호 애플리케이션 플랫폼은 개발자들이 쉽고 편하게 프라이버시 보호 애플리케이션을 구출할 수 있도록 해준다.

효율성과 프라이버시를 보장하기 위해 오리고는 온체인 및 오프체인 계산을 모두 지원한다. 프라이버시가 요구되는 애플리케이션의 실행 및 정당성 검증은 오프체인으로 실행된다. 프라이버시 보호 애플리케이션의 계산 검증과 일반 애플리케이션의 실행은 온체인으로 진행된다. 오리고 팀은 애플리케이션의 오프체인 실행의 세부사항은 보호하는 동시에 그 실행의 정당성에 대해서는 공개 블록체인이 정당성을 입증할 수 있도록 영지식증명을 사용한다. 또한 오리고는 악의를 지닌 당사자가 계약을 중단하지 못하도록 하는 적절한 경제적 메커니즘을 제안한다.

현재 솔루션의 한계

현존하는 블록체인 기술을 통해 튜링완전한 프라이버시 보호 애플리케이션을 적용할 수 있는 간단한 방법은 존재하지 않는다. 이더리움은 튜링완전한 애플리케이션을 지원하는 무허가형 공개 블록체인이다. 이더리움은 그 어떠한 트랜잭션 상의 프라이버시도 제공하지 않는다. 계약이 올바르게 실행되었나 검증하기 위해서는 각 노드가 계약을 실행해야 한다. 따라서, 각 계약의 입력, 중간 상태, 출력 데이터는 이더리움의 모든 노드에 대해 공개된다.

이더리움의 특정 애플리케이션에 대해서 일정 수준의 프라이버시를 보호할 수 있는 테크닉이 있다. 예를 들어 두 거래 당사자가 이더리움 스마트 계약을 이용해서 가위바위보를 할 때 한 쪽이 계약에 직접 패를 게시하게 되면 다른 한 쪽은 첫 번째 당사자의 선택을 읽고 유리한 패를 제시함으로써 이득을 취할 수 없다. 이러한 방식 대신, 두 당사자는 계약의 자신의 선택의 해시값과 무작위한 스트링을 게시하고, 두 당사자가 모두 입력을 커밋하고 나면 계약에 무작위 스트링에 대응하는 자신의 선택을 공개하여 입력값을 공개하는 방식을 사용할 수도 있다. 그러면 계약은 각 거래 당사자가 주장하는 입력값과 무작위 스트링을 조합한 것이 제출된 해시값과 일치하는지 검사함으로써 각 당사자의 입력값을 구할 수 있다. 이러한 테크닉은 두 당사자가 한쪽이 상대방의 선택을 보고 그에 맞는 선택지를 제시할 수도 있다는 우려를 할 필요 없이 게임을 진행할 수 있도록 해준다. 하지만 이러한 게임의 결과는 여전히 공개된 상태이다. 누구나 누가 게임을 이겼으며 승자에게 얼마가 지급되었는지 열람할 수 없다.

지캐시 및 모네로와 같은 암호화폐는 비공개 트랜잭션을 지원함으로써 이러한 문제를 해결했지만 스마트 계약을 지원하지는 않는다. 오리고는 탈중앙화 애플리케이션에 대해 비공개 트랜잭션과 스마트 계약을 모두 지원할 것이다. 또한 프라이버시 보호 애플리케이션의 입출력 데이터가 공개되는 것을 방지하기 위해 해당 애플리케이션은 오프체인으로 실행될 것이다. 해당 애플리케이션의 실행은 여전히 검증을 받아야 하긴 하지만 영지식증명을 통해 실제 결과를 공개하지 않고도 검증이 진행된다. 모든 적절한 프로토콜은 거래 당사자들이 규칙에 따라 행동하도록 유인을 제공하게 설계되었다.

프로토콜 개요

상기 한계점들을 해결하기 위해 오리고는 비공개 트랜잭션과 스마트 계약을 모두 지원한다. 호크로부터 영감을 받아 오리고 팀은 온체인 계산과 오프체인 계산을 결합하여 스마트 계약 실행 시의 프라이버시를 지키는 프로토콜을 소개한다. 오리고 프로토콜에는 초기화, 커밋, 실행, 결제의 네 단계가 있다. 커밋 단계에서 각 당사자는 자신의 코인을 계약에 동결시키고 자신의 비공개 입력값과 코인을 포함하고 있는 커밋먼트를 제출한다. 커밋먼트 스킴을 이용함으로써 입력 데이터와 코인은 비공개가 되지만 제출 당사자는 커밋먼트 이후에 해당 내용을 바꾸지 못한다. 모든 당사자가 커밋먼트를 제출하거나 단계의 타임아웃이 도래하면 예치금이 검증된다. 이는 다음 단계로 넘어간다.

실행 단계에서 각 당사자는 자신의 비공개 입력 데이터를 오프라인 실행자에게 공개한다. 실행자는 스마트 계약을 오프라인으로 실행함으로써 입력 데이터와 실행 결과가 공개되지 않도록 한다. 계약이 실행된 뒤, 실행자는 계약이 올바르게 실행되었는지에 대해 영지식증명을 생성한다. 블록체인이 정당성을 검증하고 나면 실행 결과에 따라 자금이 당사자들에게 분배된다. 이러한 프로토콜을 사용함으로써 사용자 입력값, 트랜잭션 금액, 계약 실행 정보 등이 비공개로 유지된다. 하지만 여전히 누구나 계약이 올바르게 실행되었는지 검증할 수 있다.

기술 설계

인프라

이더리움 호환성

오리고의 체인 인프라는 작업증명 합의 알고리즘, 이더리움 가상머신, 솔리디티 등 이더리움의 기능에 호환된다. 최초에 오리고 팀은 오리고 플랫폼을 이더리움의 비잔티움 포크 기분으로 개발하였다. 오리고 팀이 첫 번째 단계로 이더리움 호환 인프라를 선택한 이유는 이더리움 커뮤니티가 활동 중인 개발자들이 가장 많은 커뮤니티이므로 오리고 팀이 프라이버시 기술의 최적화에 더욱 많은 자원을 투자할 수 있었기 때문이다. 프라이버시 보호 기능은 추가적인 연산 자원을 요구하기 때문에 오리고 팀의 플랫폼의 블록 가스 한도는 이더리움의 한도보다 높게 설계되었다. 하지만 이더리움 호환 인프라는 몇 가지 확장성 문제를 가지고 있으며, 오리고 팀은 오리고 플랫폼의 향후 버전에서 이러한 문제를 해결하고자 한다.

비밀 트랜잭션

비밀 트랜잭션의 목표는 트랜잭션 내의 데이터가 비공개로 남는 것이다. 지캐시와 비슷하게 비밀 트랜잭션 역시 비공개 주소를 사용한다. 두 비공개 주소 간의 트랜잭션은 송신자, 수신자, 트랜잭션 금액 등의 정보를 제3자에게 전혀 유출하지 않는다. 사용자는 공개 주소에서 비공개 주소로 토큰을 옮길 수도, 그 반대로 할 수 있다. 오리고 팀은 영지식증명 시스템 영지식 스나크(zk-SNARKs)를 사용해 트랜잭션 데이터를 비공개로 유지한다. 하지만 여전히 비밀 트랜잭션의 정당성, 예를 들어 송신자가 비공개 주소의 토큰을 사용하기 위한 비밀을 알고 있는지, 투입 토큰의 총량이 배출 토큰의 총량과 같은지 등은 공공에 의해 검증될 수 있다.

보안

공정성 보장

스마트 계약 실행의 공정성을 보장하기 위해 입력과 실행이 두 단계로 나뉘어 있다. 모든 계약의 참여자들은 실행 이전에 자신의 암호화된 입력값을 준비하고 커밋 해야 한다. 이러한 모든 커밋은 암호화되어 있기 때문에 참여자들이 다른 당사자들에게 자신의 커밋을 공개하지 않기를 원한다면 모든 입력값은 서로에게 감춰진다. 커밋 단계가 끝나면 당사자 중 누구도 입력값을 변경할 수 없다. 커밋 단계가 끝나면 당사자들은 자신들의 입력값을 실행자에게 공개해 실행자가 스마트 계약을 처리할 수 있도록 한다. 커밋 이후에는 모든 입력값이 변경 불가능하여 당사자가 더 이상 입력값을 변경할 수 없기 때문에 이 단계에서는 임의의 당사자조차도 타인의 입력값을 알 수 있다. 이러한 설계를 통해 당사자 중 누구도 실행의 결과에 영향을 끼칠 수 없다.

실행 완전성

  • 당사자
프로토콜의 설계가 모든 참가자가 실행 결과를 변경하지 못하게 함으로써 참가자 간의 공정성을 보장하기 때문에 임의의 당사자가 타인의 입력값을 알고 결과를 예측할 수 있을 때 해당 당사자가 할 수 있는 유일한 개입은 손실을 방지하기 위해 계약을 중지하는 것이다. 이러한 사태를 방지하기 위해 예치금 메커니즘이 적용된다. 이탈을 막을 필요가 있는 계약에 대해 오리고는 계약 설계자에게 모든 당사자가 참가 이전에 거치하게 하는 예치금 프레임워크를 제공한다. 따라서, 만약 어떠한 당사자든 계약을 중단하게 된다면 해당 당사자의 예치금은 다른 참가자들이 나누어 가지게 된다. 이러한 방식을 통해 당사자들은 계약을 중단할 동기를 잃게 된다.
  • 실행자
당사자의 경우와는 다르게 실행자의 경우에는 예치금만으로는 중단을 막기에 충분치 않다. 기본적으로는 실행자는 계약을 실행하기 위해 예치금을 거치한다. 실행자가 계약을 실행하지 않으면 예치금은 모든 당사자들에게 분배된다. 높은 효용성 요건을 가진 계약을 위해 백업 실행자 메커니즘이 설계되었다. 다른 실행자/그룹이 같은 계약을 실행하고 검증자가 된다. 일반적으로 이는 메인 실행자의 결과에 대해 검증만 실행하지만 실행자가 계약을 중단하게 된다면 해당 검증자가 백업 실행자가 된다.

암호경제학 설계

설계 원칙

토렌트 플랫폼과 같은 과거의 탈중앙화 시스템은 사용자들이 다른 사용자가 파일을 다운로드할 수 있도록 네트워크에 파일의 시드를 유지하는 등의 규칙에 따르게 할 경제적 유인의 무족으로 인해 실패했다. 비트코인은 적절한 암호경제학 메커니즘을 구축함으로써 사용자들이 규칙을 따르게 할 뿐만 아니라 비잔틴 장군의 문제를 극복하여 완벽한 합의 시스템을 만들어내 이러한 탈중앙화 시스템을 한층 더 발전시켰다.

오리고 플랫폼 내에서 규칙은 주로 프라이버시에 집중함으로써 오리고의 각 역할이 정보 누출이나 프라이버시 보호 계약 실행의 중단 등의 스마트 계약 프라이버시에 관련된 의도하거나 의도치 않은 행위를 실행하지 않도록 한다. 작업증명(PoW)이나 지부증명(PoS) 등의 합의 알고리즘에서 처벌 메커니즘의 부족으로 인해 이중지불이나 지분없음 등의 문제가 발생하는 등, 오리고의 규칙에 기반한 합의에 이르도록 하기 위해 인센티브 메커니즘만으로는 부족하다. 따라서 오리고는 비잔틴 장애 허용(BFT) 합의 합의 프로토콜과 지분 기반 블록체인 합의를 결합한 하이브리드 합의 알고리즘을 적용하다.

인센티브 및 역할

먼저 오리고의 합의 프로토콜은 두 가지 인센티브 조합으로 구성되어 있다.

  • 인센티브 조합 #1 - 기본조합
  • 오리고 토큰 : 이더리움의 EHT와 마찬가지로 가스 수수료의 기능을 한다. 적극적으로 참여하고 블록체인에 기여하는 역할은 자신의 노력에 대한 암호화페를 배당 받음으로써 보상받는다.
  • 특권 : 역할들은 오리고 토큰을 오리고 생태계 내에서 다양한 목적으로 사용할 수 있다.
  • 인센티브 조합 #2 - 고급 조합
  • 에치금 : 실행자 역할에 입찰하는 등 특정 작업에는 오리고 토큰이 예치금으로 요구된다.
  • 지불 : 참가자들은 트랜잭션 수수료 등 특정 활동에 참여하기 위해 일정 금액의 오리고 토큰을 지불한다.
  • 보상 : 오리고 내의 우수한 참여자들은 그 행동에 토큰으로 보상을 받는다.
  • 처벌 : 악성 참가자들은 규칙에 어긋나는 행위를 한 대가로 예치금의 일부 혹은 전체를 잃거나 특정 권리를 박탈당한다.

오리고는 향후 논의를 위해 인센티브에 대한 단어들에 대해 이러한 정의를 내린다.

인센티브에 대한 단어 정 의
토큰 보상 n번째 당사자의 R1, …, Rn
지불 n번째 당사자의 P1, …, Pn
예치금 n번째 당사자의 D1, …, Dn
처벌 n번째 당사자의 Pun1, …, Punn

추가적으로, 오리고는 플랫폼 내의 네 가지 역할에 대해 아래와 같이 정의한다.

역 할 정 의
검증자 Vi ∈ V, 플랫폼이 증명 검증 및 블록 검증 등 다양한 작업을 수행할 수 있도록 연산력을 제공하는 역할이다.
Vi는 블록을 채굴하거나 특정 작업을 연산한 후에 RVi를 받는다.
사용자 Ui ∈U, 플랫폼 상의 계약 및 디앱을 사용하는 역할이다.
Ui는 스마트 계약과 디앱을 통해 서비스 및 상품에 대해 예치금 DUi를 거치하고 지불 PUi를 지급한다.
Ui는 개발자가 해당 메커니즘을 구현해두었을 경우 계약 및 디앱을 통해 보상 RUi를 얻을 수도 있다.
계약/디앱 개발자 Devi ∈Dev, 프라이버시 보호 스마트 계약과 디앱을 만드는 역할이다.
Devi는 연산 자원을 사용하고 지불 PDevi를 지급하거나 스마트 계약 및 디앱을 만들고 보상 RDevi을 받는다.
실행자 Ei ∈E, 영지식증명에서 프라이버시 관련 작업을 수행하는 역할이다.
Ei는 규칙위반행위를 막기 위한 목적으로 오리고에 의해 예치금 Dei를 거치하도록 강제되며,
만약 이를 이행하지 않을 경우 처벌 PunEi를 받게 된다. Ei는 또한 프라이버시 관련 작업을 완료한 후 보상 REi를 받을 수도 있다.

아래는 각 역할에 대해 인센티브 조합을 생성하기 위한 필수적인 프로토콜이다.

1. 오리고 플랫폼 상의 어떠한 활동 i에 대하여, 항상 DUi, PUi, PDevi, DEi, RMi, RUi, RDevi, PunEi, REi ≧ 0일 경우,
DUi + PUi + PDevi + DEi ≧ RMi + RUi +RDevi + PunEi +REi가 항상 적용된다.
2. 오리고가 플랫폼에서 DUi, PUi, PDevi, DEi, RVi, RUi, RDevi, PunEi, REi의 정확한 금액을 수요와 공급의 법칙이 결정하도록 둘 경우,
∑DUi + PUi + PDevi + DEi ≧ ∑RVi + RUi +RDevi + PunEi +REi가 항상 유지되어 플랫폼의 지속가능성이 유지된다.

로드맵

  • 2018년 12월 : 비밀 트랜잭션을 갖춘 테스트넷 공개
  • 2019년 09월 : 메인넷 공개
  • 2019년 12월 : 자체 프라이버시 보호 스마트 계약 가능
  • 2020년 06월 : 개발자들이 자체적으로 프라이버시 보호, 보안성 확보 및 증명 가능한 스마트 계약 생성 가능

각주

참고자료

같이 보기

  질문.png 이 문서는 로고가 필요합니다.  

  의견.png 이 오리고 문서는 암호화폐 종류에 관한 토막글입니다. 위키 문서는 누구든지 자유롭게 편집할 수 있습니다. [편집]을 눌러 이 문서의 내용을 채워주세요.