검수요청.png검수요청.png

경과시간증명

해시넷
Asadal (토론 | 기여)님의 2019년 8월 9일 (금) 02:31 판 (같이 보기)
이동: 둘러보기, 검색

경과시간증명(PoET, Proof of Elapsed Time)이란 미국 인텔이 개발한 합의 알고리즘이다.[1] 한국의 에덴체인(EdenChain)이 이 방식을 사용하고 있다.[2]

개요

경과시간증명은 작업증명 방식으로 낭비되는 에너지를 줄임과 동시에 그와 같은 수준의 보안성을 보장하기 위해 제시된 방식이다. 인텔에서 자체적으로 만든 대체 합의 알고리즘이며 하이퍼레저 소투스 레이크(Sawtooth Lake)에서 제안되었다. 경과시간증명 방식은 작업증명과 유사하지만 전기를 적게 소비한다. 참가자는 암호화 퍼즐을 푸는 대신 신뢰실행환경(Trusted Execution Enviroment) 내에서 작동된다. 즉, 신뢰할 수 있는 보안 모듈(Intel SGX)을 기반으로 블록을 생성하는 리더를 랜덤하게 선정하는 것이다. 경과시간증명 방식에서 가능한 다수의 노드가 합의에 참여하여 공정하게 리더를 선정한다.[3][4]

네트워크의 참여자들은 무작위로 선택된 기간을 기다려야 하며 가장 먼저 이 경과시간을 완료하는 첫 번째 노드가 블록에서 승리한다. 이 때, 보안 CPU 명령을 사용하여 리더를 선정함으로써 안정성과 무작위성을 보장한다. 블록체인 네트워크의 각 노드는 임의의 대기시간을 생성하고 대기 상태로 있게 된다. 먼저 깨어난 사람, 즉 가장 짧은 경과 시간을 가진 노드가 깨어나 새로운 블록을 투입하고 필요한 정보를 전체 네트워크에 전파한다. 이 모든 채굴자의 동작을 시스템 보안 모듈인 엔클레이브(Enclave)에서 수행되도록 함으로써 원천적으로 악의적인 노드의 개입을 막는다.[3][4]

경과시간증명 방식은 리더 선정 참가비용이 낮아 다수의 검증인들이 참여할 수 있으므로 합의 알고리즘이 견고성이 증가한다는 장점을 가지고 있으나 인텔SGX에 의존한다는 한계점을 가지고 있다.[3]

특징

POET(Proof of Elapsed Time) 경과 시간 증명 합의 알고리즘의 방식은 '신뢰할 수 있는 실행 환경'을 활용하여 비잔틴 장군 문제에 대한 해결책을 제시하고 있다. 이때 신뢰할 수 있는 실행 환경이라고 함은 [ntel SGX(Software Guard Extensions)라는 보안 명령 코드가, 보안 기능을 갖춘 메모리의 실행 영역인 Enclave에서 실행되도록 하는 것을 의미한다. 즉, 신뢰 할 수 있는 실행 환경에서 합의에 도달하게 되므로 비잔틴 노드의 발생을 원천적으로 방지하는 알고리즘이라고 할 수 있다.

POET 합의 알고리즘에서는 그 이름처럼 '경과 시간'에 따라 블록 생성자를 랜덤으로 선택하게 된다. 합의 노드들은 각각 무작위 변수를 샘플링하고 해당 샘플에서 무작위로 제시한 시간 동안을 기다리게 된다. 이때 가장 적은 시간을 기다려도 되는, 무작위 샘플링을 통해 가장 적은 경과 시간을 보낸 노드가 블록의 생성자로 선정된다. 그리고 이러한 블록 생성자 선택 과정은 앞서 살펴본 신뢰할 수 있는 실행 환경에서 이루어지므로 공정하고 신속하게 이루어지며 부정행위를 효과적으로 방지할 수 있다.

이렇게 경과 시간 증명 방식을 통해 합의에 도달하게 되면 블록 생성자로 선택된 노드가 블록을 생성하고 거래를 블록에 기록함으로써 블록체인이 계속해서 이어질 수 있게 된다. 그리고 이러한 방식으로 이루어지는 합의 알고리즘을 경과 시간 증명이라고 한다.

끝으로 경과 시간 증명 방식은 앞서 살펴본 것처럼 무작위 샘플에 의해 시간이 정해지므로 공정하고, 블록 생성자로 선택된 노드가 정당하게 선택되었는지 빠르게 검증 가능하며 보안성이 높다는 장점이 있다. 하지만 Intel SGX를 기반으로 하기 때문에 특정 회사의 기술에 의존한다는 점은 단점이라고 할 수 있다.[5]

활용

에덴체인(EdenChain)

  • 블록체인과 외부 서비스 사이의 안전한 연동
블록체인 기술 자체는 안전하다. 하지만 블록체인과 외부 시스템이 연결될 때 그 사이의 지점은 데이터 위변조, 데이터 탈취 등의 위험에 노출될 수 있다. 에덴체인(EdenChain)은 Inter Software Guard Extension(SGX) Enclave와 E-Oracles의 합의구조를 적용한 E-Bridge 구조로 블록체인과 외부 시스템 사이의 연결지점을 안전하게 해준다.
  • 트랜잭션 병렬처리로 빠른 실행
기존 블록체인 기술은 느린 실행 속도로 인해 그 개선 사항이 지속적으로 제기되어 왔다. 에덴체인(EdenChain)은 Namespace 기술로 서로 연관없는 트랜잭션을 별도의 공간으로 분리하고 트랜잭션들을 병렬로 실행한다. 때문에 대량의 트랜잭션을 빠르게 처리할 수 있다. 또 트랜잭션이 늘어나면, 처리 환경을 Namespace별로 구성해 항상 최적의 성능을 유지할 수 있다.
  • 합리적인 처리 비용
기존의 블록체인 스마트컨트랙트는 그 처리 비용이 비싸다는 단점이 있다. 에덴체인(EdenChain)은 기능별 처리와 트랜잭션 비용을 저렴하게 책정하여 거래의 부담을 줄였다. 또한 에너지 면에서 효율적인 PoET 합의방식을 도입하여 처리비용이 적절한 수준을 유지할 수 있도록 유동적으로 설계되었다.[6]

각주

  1. 유지수 기자, 〈THEblockchain: 블록체인 합의 프로토콜 기초서〉, 《토큰포스트》, 2017-03-07
  2. 이정훈 기자, 〈(이정훈의 블록체인 탐방)토큰경제 생태계 만든다…글로벌 플레이어 승부수〉, 《이데일리》, 2018-06-18
  3. 3.0 3.1 3.2 yceffort, 〈블록체인 합의 프로토콜의 종류〉, 《깃허브》, 2018-07-04
  4. 4.0 4.1 miiingo riiingo, 〈(Blockchain) 블록체인과 합의 알고리즘〉, 《티스토리》, 2018-05-28
  5. erc20, 〈Q. 경과시간증명(PoET, Proof of Elapsed Time) 알고리즘이 정확히 무엇인가요?〉, 《아하 지식인》, 2019-08-03
  6. 에덴체인(EdenChain)을 소개합니다〉, 《에덴체인 공식 사이트》, 2018-04-12

참고자료

같이 보기


  검수요청.png검수요청.png 이 경과시간증명 문서는 합의 알고리즘에 관한 글로서 검토가 필요합니다. 위키 문서는 누구든지 자유롭게 편집할 수 있습니다. [편집]을 눌러 문서 내용을 검토·수정해 주세요.