의견.png

경과시간증명

위키원
ksj4572 (토론 | 기여)님의 2019년 8월 8일 (목) 16:02 판 (특징)
이동: 둘러보기, 검색

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

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

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

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

각주

  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

참고자료

같이 보기


  의견.png 이 경과시간증명 문서는 합의 알고리즘에 관한 토막글입니다. 위키 문서는 누구든지 자유롭게 편집할 수 있습니다. [편집]을 눌러 이 문서의 내용을 채워주세요.