알파코인 (APRA) 백서 요약

in kr •  6 years ago 

1_-NBlsSDGVPmOXzY557JkBg.png

ARPA는 레이어2와, MPC를 활용해 안전하고 비밀을 유지하는 연산 솔루션을 제공합니다.

개인 정보를 보존하는 계산 네트워크로서 모든 사람에게 미가공 데이터를 공개하지 않고도 데이터를 공유하고 사용할 수 있습니다. 정보 이론적 MAC 및 Zero-Knowledge Proof를 사용하여 다수의 악성 조건 하에서도 계산의 정확성을 입증 할 수 있습니다. MPC(멀티 파티 컴퓨팅)과 혁신적인 노드 통신 체계를 사용함으로써 프라이버시 보호 컴퓨팅 프로토콜은 데이터 임대의 새로운 방식의 데이터 수익 화를 가능하게합니다

동기


현재의 블록체인 기술은 모든 블록체인 노드들이 합의에 도달해야 한다. 신뢰관계가 없는 네트워크에서 스마트계약을 실행하지 않고 결과를 검증할 수 있는 방법은 없고, 네트워크가 확장됨에 따라 검증에 필요한 시간과, 수수료가 증가된다.

레이어 2 연산작업을 공개적인 네트워크와 분리하여 검증이 불확실한 경우에만 On-Chain에서 검증한다. Off-Chain 레이어에서 연산작업을 하여 검증에 필요한 시간과 수수료를 낮추고 네트워크 처리속도를 향상시킨다.

블록체인 기술의 큰 장점은 투명성이다. 하지만 실제 세계에서 투명성은 문제가 될 수 있다. 당신이 아이스크림 트럭에서 암호화폐를 사용하여 거래를 하는 경우, 아이스크림 트럭 종업원은 당신의 계좌에 얼마의 금액이 있는 지를 알게 될 것이다. 블록체인 기술에서 비밀의 특성은 허용되지 않는다.

모든 미가공 데이터들은 그 수가 많아질수록 힘이 된다. 하지만 블록체인 상에서는 정보를 기밀화 하기 힘들다. 정보들의 기밀유지 그리고 비밀의 보호는 기업들의 블록체인을 도입함에 어려움을 느끼는 큰 문제점들이다.

알파(ARPA)는 대부분의 블록체인 네트워크에서 Off-Chain 솔루션으로 기밀의 보호가 가능하고 안전한 연산능력을 구현하기 위해 개발되었다.

중앙집중화 데이터세트의 문제

대규모 IT기업들은 고객들의 모든 데이터를 수집한다. 수집된 데이터는 곧 돈이다. 하지만 정보를 제공한 주체들에게 수익이 전혀 분배되지 않고 있다. 개인정보보호법(GDPR)은 데이터의 소유자들이 본인의 데이터 처리 관련 사항을 제공받을 권리가 있으며, 열람, 정정, 삭제 이동, 처리거부, 본인의 데이터 활용에 대한 결정 등의 권리를 보호한다.

지금의 대규모 IT 기업들은 중앙집중화된 데이터서버를 운영하고 데이터 제공자들에게 불공정한 가치의 배분이 행해지고 있다.

알파(ARPA)는 안전하고 분산화되며 데이터 공유 체계를 기업들에게 제공하는 것을 목표로 한다.

데이터 보안

데이터 과학은 정보의 시대에 근본적인 구성요소이다. 데이터는 새로운 원유라고 평가받고 있다.

미가공 데이터를 수집하는 것에는 막대한 재무적 및 사회적 가치가 뒤따르게 된다.

최근 구글에 의해 제시된 연구문서에는 데이터의 품질과 관계없이 데이터의 양이 중요하다는 결과를 발표한적 있다. 이것은 기업들이 광범위한 양의 사용자 데이터를 수집하고 있는 것을 설명한다.

알파는 미가공데이터들의 비밀을 보호하며, 탈 중앙화된 데이터 연산을 가능하게 한다.

  • 안전한 연산 : 어떠한 참여 노드도 할당된 자신의 데이터 연산 이외에 어떠한 것도 알 수 없다.
  • 검증가능한 연산 : 연산은 공개적으로 검증 가능하며 그 정확성이 증명될 수 있다.
  • 2단계 계층 솔루션 : 고난도의 연산작업은 블록체인 외부에서 수행되며 이는 확정성을 확보한다.
  • 효율성 : 안전한 연산을 더 신속하게 처리하기 위해 MPC 프로토콜이 적용된다. 이는 기존의 FHE 프로토콜과 비교하여 5~6자릿수의 속도 개선이 가능하다.

MPC (Multi-party Computation)


다중참여 연산(MPC)는 그 어떤 참여 노드도 자기가 연산한 결과물 이외의 것을 알 수 없다.

서로 신뢰하지 않는 다수의 참여노드가 각자의 비밀 정보를 공유하지 않으면서 신뢰할 수 있는 연산을 공동으로 수행하는 작업이다.

야오의 백만장자 문제(Yao's millionaies's problem)와 같은 미결 문제들을 완벽하게 해결할 수 있다.

두 백만장자가 있다. 그들은 누가 더 재산이 많은지 겨루고 싶은데 각자의 재산을 상대방에게 
공개하고 싶지 않은 경우가 있다. 때문에 믿을 만한 중간자를 두고 각자의 재산을 확인하는게 
일반적이지만, 중간자도 믿지 못하는 상황에서는 문제를 풀기가 난해한데, MPC 시스템에 자산을 
등록하면 시스템이 자산의 총량을 보안의 수준이 높은 환경에서 연산해 결과를 출력해준다. 

MPC는 특정의 암호 알고리즘이아니라, 하나의 새로운 패러다임이라고 할 수 있다.

장점은 MPC 내에서 하위 프로토콜들을 활용이 가능하며,

알파에서는 하위 프로토콜로 영지식증명(ZKP)와 확률적 암호화, 정보이론적인 메시지인증코드(MAC), 여러 가지의 분산화 확정체계, 임의 데이터의 불가지록적 전송방법이 포함된다.

지난 10년 간의 MPC의 연산 성능은 실 사용이 가능한 단계로 진화했다.

35년 전에 이론적인 틀이 구축된 이후로 성능 개선을 위해 지난 10년간 알고리즘 및 기술적 설계에 상장한 개선을 보이며, 10년 간에 걸쳐서 4~5 자리수의 연산 처리 속도가 증가 했다.

알파의 목표는 처음으로 높은 가용성을 가지는 MPC 네트워크를 구축하는 것이며 여기에서 안전한 연산을 위한 이더리움이나 EOS와 같은 기존의 블록체인에서 스마트 계약을 수행할 수 있는 환경을 만드는 것이다.

비교

  • 준동형 암호 (HE) : 2009년에 제시되었으며 부트스트래핑을 훌륭한 방법을 도입했다. 하지만 대규모의 심도 있는 연산을 위한 효율적인 방법을 제공할 수없다.
  • 영지식 증명 (ZKP) : 완전 준동형 암호(FHE) 체게와 유사하며, 각 노드의 작업량을 수치화 할 수 없다. 또한 악의를 가진 해커로부터 연산이 보호되는 것을 보증할 수 없다.
  • 지케이스나크(zk-SNARK) : 영지식 간결 비대화형 지식인수(zk-SNARK)는 지캐시(Zcash)가 도입했으며 사용자들의 비밀보호를 강화하는 것을 목표로한다. 비트코인 처럼 계좌의 익명성이 아니라 사용자 거래정보를 완전하게 암호화한다.
  • 신뢰 실행환경(TEE) : 별도의 핵심부에서 구동되는 하나의 보안강화 처리 환경이다. 하드웨어의 제조회사들 각자의 솔루션이 있으며, 일반화된 표준은 존재하지 않다. 인텔의 SGX ,ARM의 TrustZone, AMD의 SEV 등이 있다. 하지만 최근 인텔의 SGX가 적절하지 않다는 것이 증명되었다. 안전한 것처럼 보이는 이 프로토콜은 사실상 전혀 안전하지 않다. 요약하면 신뢰 실행환경(TEE)는 하드웨어는 신뢰할 수 있으나 그것을 통제하는 사람까지 신뢰할 수 있다는 것을 보증하지 않는다

결과적으로 MPC의 역사와 그 암호적 특성을 고려하면 블록체인과 매우 유사한 환경에서 서로 신뢰관계가 없는 참여 노드들과 함께 보안연산을 수행할 수 있도록 하기 위한 매우 훌륭한 방법이 될 수 있다.

효율성

우리의 실험을 통해 나온 값을 비교해보면, 신뢰 실행환경(TEE)가 가장 빠르며 한 자리수 정도 낮은 속도로 MPC가 뒤를 따른다. zk-SNARK의 경우 약 1,000배의 비용이 수반되며, TEE와 비교하여 1,000만배 정도 느린 완전 준동형 암호(FHE)가 있다.

정확성의 증명

각 노드들이 연산작업을 규정된 함수를 사용하여 실제로 실행된다는 것을 증명하기 위한 것이다.

일반적인 블록체인에서는 모든 참여노드들이 동일한 작업을 수행함으로써 간단하게 해결가능하다

그러나 보안연산의 맥락으로 연산은 모든 참여노드들에게 수행되지 않으며 일정한 노드들에게 위임된다. 이 경우 연산이 규칙에 따라 수행되었다는 증명 제출이 필요하며 그렇지 않다면 신뢰할 수 없다.

연산의 증명

MPC에서 연산적업의 양은 연산이 수행되는 동안 사용된 트리플(triple)의 수를 계산함으로 써 증명이 가능하다.

보안의증명

연산이 모든 노드 들에서 동일하게 이뤄지지 않을 때, 연산이 보안 환경에서 수행되었다는 증명을 제출하는 것이 필요하다. 신뢰 실행환경(TEE)가 이 목적을 위하여 설계되기는 하였지만, 간단하지 않다.

신뢰된 소프트웨어를 사용하여 프로세스가 설계된 보안과 (함수의 수행) 일관성을 가지도록 한다.

알파의 MPC 네트워크

사진05.png

2단계 계층 구조의 솔루션으로 설계되었다. 이 네트워크는 대부분의 주요 블록체인과 호환이 가능

알파 시스템은 보안연산을 위해 알파 네트워크를 별도의 독립적인 네트워크로 유지하면서 동시에 주요 블록체인과 상호작용이 가능하도록 설계되었다.

블록체인에 대리 스마트계약(Proxy Smart Contracts)을 설정하기만 하면 된다.

사진06.png

  • 연산계층 : MPC를 수행하는 것에 대한 책임을 가지며, 악성의 노드들로 부터 시스템을 보호하기 위한 경제적 유인/벌칙등의 알고리즘이 설계되어있다.
  • 프로토콜 계층 : 참여자들이 자율적으로 노드에 참여할 수 있으며, 자신들의 연산 자원을 제공하고 경제적인 보상을 얻을 수 있다. 참여 노드들은 공동으로 연산 노드들을 선정하고 노드들의 행태를 보고하기 위해 알파 프로토콜을 준수 하여야 한다.

MPC 프로토콜

사진07.png

처리 단계는 연산을 위해 필요한 원재료를 제공하는 기초부분을 담당하며

연산 단계는 비밀의 분산, 함수의 실행 결과의 표시를 포함하는 주요 절차이다.

연산 단계

  1. 비밀의 분산 : 시작은 참여 노드들 간에 분산이다. 각자에게 비밀의 개인 몫이 할당된다. 비밀의 분산 체계는 '분산' 및 '복원' 두가지 주요 기능들로 구성된다.
  2. 회로의 수행 : MPC 체계에서 실행될 함수는 산술 연산을 위한 대표 회로로 표시되어야 한다. 산술회로 구현하기 위한 일반적인 방법은 알파의 컴파일러에 포함되어 있다.
  3. 정보이론족 메시지 인증코드(MAC) : 어떤 메시지가 MAC 키를 알고 있는 어떤 특정 당사자에 의해 생성되었는 지를 확인하고 메시지가 변조되었는지를 탐지하기 위해 사용된다. MAC은 MPC내에서 검증단계에 중요한 역활을 한다.
  4. 결과의 공개 : MAC 확인절차를 끝낸 결과값 공개함으로 연산 단계를 완결한다.

처리 단계

비버(Beaver)의 "회로 임의추출" 기법을 활용했으며 선형의 비밀분산에 근거하면서 순차적 게이트 방법으로 적용되며 MPC 프로토콜에서 연산 단계에 보다 쉽게 처리할 수 있도록 돕는다.

처리 단계에서 보안성을 위해 두가지 방법을 도입하였다.

  1. 영지식(Zero-knowledge)의 적용
  2. 트리플 검증 중복확인을 위한 희생(sacrifice)을 사용한다.

함수 컴파일링

MPC 컴파일러는 함수를 처리하기 위해 부울(Boolean) 회로로 변환한다. (고급 함수를 MPC 호환 명령어로 변환 시킨다. )

안전한 연산 프로세스

대리 스마트 계약(Proxy Smart Contracts)를 구동하여 블록체인 외부에서의 연산을 지원한다.

MPC에서 연산된 결과를 대리 스마트계약을 통해 외부 블록체인에 기록한다.

대리 스마트 계약(Proxy Smart Contracts)

신뢰가 없는 당사자들 사이의 계약을 쉽게 체결할 수 있도록 하고 해당 계약을 실행 및 증명하기 위해 블록체인에서 실행되는 코드이다.

스마트 계약의 정확성은 네트워크 전체의 합의에 근거하여 검정하며, 이는 실행과 검증에 필요한 비용이 매우 높아 짐을 의미한다.

알파 네트워크에서는 고난이도의 연산을 분리하여 고비용,복잡한 연산은 MPC에서 수행함으로써

시간과 비용의 절약이 가능하다.

노드선정

연산에 참여할 다른 노드들은 분산화 랜덤 함수 (DRF)를 사용하여 확률적으로 선택된다.

함수의 유력한 후보 중의 하나는 RANDAO이며 이는 이더리움의 PoS 시스템에도 활용 예정이다.

2단계 계층 연산

모든 노드들이 합의에 도달하기 위해 모든 노드들은 모든 거래들을 검증해야 한다. 가장 큰 문제는 모든 노드들이 동일한 연산을 해야하며, 각 블록에 대해 소비되는 가스(gas)의 양이다.

연산을 블록체인 외부로 분리시키기 위해 연산의 위임 과정에 검증이 가능한 체계가 필요하다.

알파의 검증체계

  • 연산이 정직하게 수행되었다는 것을 증명
  • 연산이 수행된 양의 정확성
  • 관련 내용의 비밀보호가 보장되고 참여자들에게 비공개

알파의 검증체계 특성을 실현하기 위해 MAC을 사용한다.

경제적 합리성

알파는 암호경제학의 고려 하에 MPC 네트워크 구축을 목표로 한다.

암호에서 가장 기본적인 가정은 각 당사자들이 정직하다고 가정하는 것이다. 반면 경제학의 기본은 합리적이며 각 노드들의 경제적 이익이 수반되어야 한다.

따라서 적절한 인센티브 체계를 적용함으로 참여한 모두가 프로토콜의 규칙을 위반하지 않도록 유인할 수 있다.

참여 노드들이 네트워크를 고의로 방해하여 얻는 이익보다 프로토콜을 준수함으로써 받는 인센티브가 더 크다고 하면 참여 노드들은 프로토콜을 준수할 것이다.

또한 프로토콜 위반다에게는 벌칙을 부여하는 인센티브를 설계하였으며, 이 벌칙은 다른 악성 노드들과 공모하여 얻는 예상 수익보다 더 큰 벌칙을 부여한다.

신분과 평판

새로운 노드가 네트워크에 합류할 때, 프로토콜 계층에서 고유의 계정이 배정된다. 이 계정은 노드의 공개적인 신분의 역활을 한다.

토큰의 사용

알파 토큰은 알파네트워크 상태계 내에서 중요한 기능을 수행하기 위해 사용된다.

연산비용

참여 노드들은 각 노드들이 공헌한 연산의 양에 비례하여 토큰으로 보상을 받는다.

소비된 연산 능력은 소비된 트리플의 양에 의하여 측정된다.

데이터 및 모델 사용 수수료

MPC 연산 데이터 제공자에게 보상하기 위한 데이터 사용 수수료가 부과된다.

담보금

MPC 노드 참여자들은 연산 작업을 착수하고 이행하기 위해 보증금의 형태로 알파토큰이 필요하다.

이는 공정성을 확보하고 악의의 참여자들이 알파네트워크를 오용하는 것을 제한한다.

공동체 관리

특정의 기준금액 이상의 토큰을 보유하는 사람들은 알파네트워크의 방향에 대해 표결 참여권을 가진다.

인센티브 프로그램

알파 토큰의 경제적 가치를 증대 시키기 위한 목적이다.

알파 네트워크에서 수행되는 온라인 거래들로 발생한 수익금의 20%는 토큰 보유자에게 인센티브로 지급된다.

파이어니어 노드(pioneer node) : 일정 기준 금액을 초과하는 토큰을 가진 노드는 자신의 노드를 제공함으로써 토큰을 획득할 수 있다. 전체적으로 알파 토큰의 30%가 파이어니어 노드들 보상으로 제공된다.

생태계와 dApp

개발자들은 별다른 지식없이 알파를 활용하여 애플리케이션의 데이터 비밀을 보호하거나 기밀 보호가 가능한 분산화 애플리케이션(dApp)을 구축할 수 있다.

금융, 건강관리,사물인터넷(IoT), 소매, 에너지, 그외 모든 산업에 적용가능하다.

참여자들

  • 연산노드 : 연산 능력과 데이터 저장을 제공한다.
  • 데이터 제공자 : 개인이나 기업, 연구소, 금융기관, 의료기관 등. 데이터 제공자들이 그들의 데이터를 안전하고 비밀의 보호가 가능한 형태로 사업화 할 수 있도록 한다.
  • 데이터 소비자 : 인공지능/머신러닝 모델들을 훈련시키기 위한 목적으로 제공된 데이터가 필요한 개인 또는 기업들이다. 중계인 없이 데이터를 제공받을 수 있기 때문에 낮은 비용으로 가능하다.
  • 모델 제공자 : 모델을 소유하며 모델을 상업적인 용도로 사용을 희망하는 기업 / 개인 개발자. 모델은 건별로 요금을 부과하는 방법 또는 기간 정액제 요금으로 임대가능 기본 소스의 누출 위험 없이, 모델을 제공 가능하다.
  • 데이터/모델 후원자 : 공공의 데이터세트(datasets)와 모델 등에 투자를 하고 토큰으로 수익을 분배 받는 기업/개인. 알파를 통해 제공되는 모든 데이터세트와 모델 기본 판매가격에 20%를 추가금액이 포함되며, 이 가격 차액은 데이터 후원자들에게 분배된다.

로드맵

사진10.png

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!
Sort Order:  

Congratulations @tokenman.steem! You have completed the following achievement on the Steem blockchain and have been rewarded with new badge(s) :

You published your First Post
You got a First Vote

You can view your badges on your Steem Board and compare to others on the Steem Ranking
If you no longer want to receive notifications, reply to this comment with the word STOP

Vote for @Steemitboard as a witness to get one more award and increased upvotes!