경과시간증명
경과시간증명(PoET, Proof of Elapsed Time)은 하이퍼레저 소투스(Hyperledger Sawtooth)에서 제안된 합의 알고리즘이다. 작업증명(PoW) 방식의 경쟁적 해싱 연산으로 낭비되는 에너지를 줄이면서 유사한 수준의 보안성을 보장하기 위해 제시됐다.
개요
인텔은 경과시간증명이라는 고유의 대안적 합의 알고리즘을 내놓았다. 이 시스템은 작업증명 방식과 유사하게 작동하지만 전기를 훨씬 적게 소모한다. 나아가 참여자들이 암호화된 퍼즐을 풀게 하는 대신, 알고리즘이 SGX(Software Guard Extension)와 같은 신뢰 실행 환경(TEE, Trusted Execution Environments)을 사용하여 요구되는 작업 없이 블록들이 랜덤으로 당첨되는 형태를 보장한다. 경과시간증명 방식은 이름에서 알 수 있듯이 시간과 관련되어 필요에너지소비량을 통해 제공되는 대기시간에 근거한다.[1] 또한 SGX를 기반으로 블록을 생성하는 리더를 선정하는데, 이때 가능한 다수의 노드가 합의에 참여하여 공정하게 리더를 선정하도록 하며, 보안 CPU 명령을 사용하여 리더를 선정함으로써 안전성과 무작위성을 보장한다. 경과시간증명 합의 알고리즘은 수천 개의 노드로 확장되고 SGX를 지원하는 어떠한 인텔 프로세서에도 효율적으로 운영된다.[2] 경과시간증명 합의 알고리즘은 신뢰할 수 있는 실행 환경을 활용하여 비잔틴 장군 문제(Byzantine Generals Problem)에 대한 해결책을 제시하고 있다. 즉, 신뢰할 수 있는 실행 환경에서 합의에 도달하게 되므로 비잔틴 노드의 발생을 원천적으로 방지하는 알고리즘이다. 이때 신뢰할 수 있는 환경이라고 함은 인텔 SGX라는 보안 명령 코드가 보안 기능을 갖춘 메모리의 실행 영역인 엔클레이브(enclave)에서 실행되도록 하는 것을 의미한다.[3]
특징
- 합의 도달 과정
- 경과시간증명 합의알고리즘은 그 이름처럼 경과 시간에 따라 블록 생성자를 랜덤으로 선택한다. 이는 작업증명과 유사한데, 참가자는 암호화 퍼즐을 푸는 대신 SGX와 같은 신뢰실행환경(Trusted Execution Environment) 내에서 작동된다. 블록체인 네트워크의 각 노드는 임의의 대기시간을 무작위로 할당받고, 대기 상태로 있게 된다. 이때 가장 짧은 경과 시간을 가진 노드, 즉 가장 먼저 이 경과 시간을 완료한 첫 번째 노드가 블록의 생성자로 선정되어 블록의 유효성을 검증한다. 블록 생성자가 된 노드는 새로운 블록을 투입하고 필요한 정보를 전체 네트워크에 전파한다.[4] 이러한 블록 생성자 선택 과정은 신뢰할 수 있는 실행 환경에서 이루어지므로 공정하고 신속하게 이루어지며 부정행위를 효과적으로 방지할 수 있다. 경과시간증명 방식을 통해 합의에 도달하게 되면 블록 생성자로 선택된 노드가 블록을 생성하고 거래를 블록에 기록함으로써 블록체인이 계속해서 이어질 수 있게 된다.[3]
- 장단점
- 경과시간증명 방식의 장점은 모든 사람들이 선택받을 수 있는 동등한 기회를 지니기 때문에, 검증자 결정에 있어 보다 민주적인 시스템이라는 점이다. 집중적인 연산이 필요하지 않기 때문에 에너지를 적게 사용하며, 모든 전자기기나 가전제품에 들어가 있는 칩에서도 사용될 수 있다.[5] 또한 무작위 샘플에 의해 시간이 정해지므로 공정하고, 블록 생성자로 선택된 노드가 정당하게 선택되었는지 빠르게 검증 가능하며 보안성이 높다는 장점이 있다. 채굴자의 동작을 시스템 보안 모듈인 엔클레이브에서 수행되도록 함으로써 원천적으로 악의적인 노드의 개입을 막고, 리더 선정 비용이 낮아 다수의 검증인들이 참여할 수 있으므로 합의 알고리즘의 견고성이 증가한다는 장점 또한 있다.[6] 하지만 인텔SGX를 기반으로 하기 때문에 특정 회사의 기술에 의존한다는 점은 단점이라고 할 수 있다. 경과시간증명 방식은 인텔을 신뢰하도록 요구하는데, 이는 퍼블릭 블록체인으로 인한 제3자에게 신의를 표명하는 것을 피하려고 했던 것에 반하는 것이다.[1]
활용
하이퍼레저 소투스
하이퍼레저 소투스(Hyperledger Sawtooth)는 2017년 8월 패브릭(Fabric) 1.0에 이어 등장한 리눅스 재단의 두 번째 하이퍼레저(Hyperledger) 프로젝트다. 하이퍼레저 소투스는 비즈니스 블록체인을 구축, 배포, 실행 작업을 돕도록 개발했다.[7] 하이퍼레저에 따르면 소투스 1.0에 기반한 블록체인 개념 증명 파일럿 프로젝트는 이미 여러 비즈니스 케이스에 배치돼 있다. 음악 및 미디어 콘텐츠 저작권 분배, 헬스캐어 거래 기록, 금융 서비스 내 KYC(Know Your Customer) 등이다.[8] 하이퍼레저의 소투스 레이크는 경과시간증명 방식을 채택하고 있으며, 인텔 CPU에서 생성하는 데이터를 통해 합의하는 알고리즘을 사용한다. 모든 검증자가 엔클레이브(enclave)로부터 대기시간을 요청하고, 특정 거래블록에 최단 대기시간을 받는 검증자가 리더로 선정된다. 복잡한 리더 선정 무제와 리더의 특정 노드 요청 거부를 위해 스피닝(spinning) 기법을 도입하고, 리더선정과 합의 투표 메시지를 통합한다.[9]
에덴체인
에덴체인(EdenChain)은 스마트 계약을 이용해 모든 유·무형의 가치를 자산화시키고 거래할 수 있도록 하는 블록체인 플랫폼이다. 특히 기존 블록체인 기술에서의 고질적인 문제로 여겨지던 더딘 거래처리 속도와 높은 비용, 블록체인과 외부 서비스와의 연동 과정에서 불안전성 등을 개선하는데 주안점을 둔다. 블록체인 기술을 기반으로 작동하는 이코노미 시스템을 일컫는 프로그래머블 이코노미(programmable economy)를 구현하는 것을 목표로 하고 있다.[10] 에덴체인은 처리 비용이 비싼 기존 스마트 계약의 문제점을 개선하기 위해 기능별 처리와 거래 비용을 저렴하게 책정하여 거래의 부담을 줄였다. 또한 에너지 측면에서 효율적인 경과시간증명 합의 알고리즘을 도입해 처리 비용이 적절한 수준을 유지할 수 있도록 유동적으로 설계되었다.[11]
각주
- ↑ 1.0 1.1 유지수 기자, 〈THEblockchain: 블록체인 합의 프로토콜 기초서〉, 《토큰포스트》, 2017-03-07
- ↑ miiingo riiingo, 〈(Blockchain) 블록체인과 합의 알고리즘〉, 《티스토리》, 2018-05-28
- ↑ 3.0 3.1 erc20, 〈경과시간증명(PoET, Proof of Elapsed Time) 알고리즘이 정확히 무엇인가요?〉, 《아하》, 2019-08-03
- ↑ yceffort, 〈블록체인 합의 프로토콜의 종류〉, 《개인 블로그》, 2018-07-04
- ↑ 〈전력 소모가 적은 블록체인 기술〉, 《시스코 코리아 블로그》, 2018-08-22
- ↑ KIM JUN YOUNG, 〈블록체인 합의 알고리즘 알아보기 2편(PBFT, Sieve, Tendermint, Raft, Paxos, PoA〉, 《미디엄》, 2018-11-18
- ↑ 리눅스데이타시스템, 〈(CIO Korea)리눅스 재단, 기업용 블록체인 구축 모듈러 플랫폼 '소투스' 공개〉, 《네이버 블로그》, 2018-03-28
- ↑ Lucas Mearian, 〈리눅스 재단, 기업용 블록체인 구축 모듈러 플랫폼 '소투스' 공개〉, 《CIO코리아》, 2018-01-31
- ↑ 김종현 칼럼니스트, 〈김종현교수의 알기쉬운 비트코인 : 가상화폐와 비트코인〉, 《플랫폼뉴스》, 2019-03-11
- ↑ 이정훈 기자, 〈(이정훈의 블록체인 탐방)토큰경제 생태계 만든다...글로벌 플레이어 승부수〉, 《이데일리》, 2018-06-18
- ↑ 에덴체인 공식 홈페이지 - https://www.edenchain.io/
참고자료
- 유지수 기자, 〈THEblockchain: 블록체인 합의 프로토콜 기초서〉, 《토큰포스트》, 2017-03-07
- erc20, 〈경과시간증명(PoET, Proof of Elapsed Time) 알고리즘이 정확히 무엇인가요?〉, 《아하》, 2019-08-03
- miiingo riiingo, 〈(Blockchain) 블록체인과 하브이 알고리즘〉, 《티스토리》, 2018-05-28
- KIM JUN YOUNG, 〈블록체인 합의 알고리즘 알아보기 2편(PBFT, Sieve, Tendermint, Raft, Paxos, PoA〉, 《미디엄》, 2018-11-18
같이 보기