엔터프라이즈 이더리움 얼라이언스의 비전 발표

EEA로고

몇 일전 Enterprise Ethereum Alliance(엔터프라이즈 이더리움 얼라이언스 이하 EEA)에서 Vision Paper를 릴리즈하였다.

간략하게만 정리해 보면 다음과 같다.




EEA에서 Plugin 가능한 합의방식, 거버넌스, 상호운용성, Ethereum 프로토콜, Secure 코드 실행, 저장소와 성능 최적화 등 다양한 주제에 대해 논의하였다.

2017년 5가지를 목표로 함!

  1. Plugin 가능한 합의 알고리즘으로 변경하기위한 프로토타입 개발 - P2P 네트워크와 데이터 저장의 Layer 분리와 인터페이스 기반 모듈화
  2. 데이터 Privacy 및 권한 기반의 프레임 워크 + 합의 알고리즘 테스트
  3. Enterprise 수준에 맞는 기능 및 성능
    • 10 Node 참여한 네트워크 기준으로 초당 100개 트랜잭션 처리
    • Enterprise 급 Use Case
    • 고 가용성 / 신뢰성
    • 병렬화 및 수평 Scaling
  4. 위에 언급한 수준에 맞는 요구 사항과 로드맵을 정의하고, Enterprise Ethereum Ver 1 스펙 개발
  5. Enterprise Ethereum에 대한 견고한 거버넌스 프로세스 수립



Plugin 가능한 합의 알고리즘

Pluggable Consenssus는 Hyperledger의 Fabric에서도 지향하고 있으며, 기업 환경에서 PoW 합의 방식의 비효율성은 많이 언급되었다.

Ethereum은 코드량이 많기도 하지만, 합의 알고리즘과 많은 기능(P2P네트워크, 블록, 트랜잭션 등)이 상당히 tight하게 연결되어 있다.

EEA에서는 네트워크와 Smart Contract를 실행하기 위한 EVM(Ethereum Virtual Machine)을 잘 모듈화 시키고, 합의 알고리즘과 인터페이스 가능하도록 하려는 목표를 가지고 있다.

특정 알고리즘들을 규정하지 않고, Use Case에 따라 다양한 합의 방식을 사용할 수 있도록 하는데, 어떤 방식으로 구현될지 기대가 된다.

그리고 Enterprise Etheruem Ver 1 스펙은 단순히 개발 스펙에만 집중하지 않고, 기업의 레거시 시스템과 연계를 위한 개발 방법, 테스트 환경, DevOps, 관리 도구 등에 대해서도 스펙에 명시하고, 상호운용성과 호환성에 대해 많은 고민을 할 것이라고 한다.



견고한 거버넌스

Public 블록체인 구현체들(Bitcoin, Ethereum 등)이 거버넌스와 관련하여 많은 챌린지가 있었고, 지금도 현재 진행형이다.

e.g. 블록 크기, SW 업그레이드, Hard/Soft Fork 여부, 블록체인 네트워크에 관련된 참여자 마이너, 개발자, 또 다른 스테이크 홀더등…

그래서 EEA는 참여하는 기업 회원사, 관심 그룹 중심으로 만들어 가면서, 큰 틀에서 네 가지 원칙을 세웠다.

  1. 오픈 소스로 개발하기
  2. 범용 시스템에서 동작할 수 있도록 하기
  3. Public Ethereum과 호환성 갖추기
  4. 데이터 표준에 대한 혁신을 재촉하지 않기



성능/최적화

Public 용도가 아닌 기업향 블록체인이 되기 위해 EEA는 기업수준에서 요구되어지는 공통의 특성을 정의하고, 그 기준에 집중하려고 한다.

기존에 기업들이 PoC하거나 Pilot을 하면서 고민되었던 내용들을 비전 문서에 언급하여 좀더 명확하게 짚어 주고 있고,

블록체인 기반 시스템을 적용하기 위해 기업들이 비슷한 고민들을 하기 때문에 아래 요소들을 기준으로 숙제를 풀고자하는 의지가 보인다.

  1. 노드 연결성 (P2P로 연결할 )
  2. 최적의 네트워크 토폴로지 (연결 수 및 패턴)
  3. 연결성의 신뢰성 (노드 간 연결 유지)
  4. 실패/오류 상황 (서로 연결이 끊어졌을때)
  5. 시스템 안전성 (분산 환경에서 무한 실행되지 않도록)
  6. 생명 (프로세스나 응용의 실행에 대한 보장)
  7. 정상 작동을 위한 최소한의 정직한 노드 수
  8. 트랜잭션 완료까지의 시간
  9. 총 네트워크 노드 수
  10. 노드 토폴로지
  11. 전송 시간 측면에서 노드 간 거리
  12. 동기식 / 비동기식 메시징
  13. 초당 처리량 (TPS)
  14. 트랜잭션/블록 전송 및 처리 대기 시간

기업 시스템 구축을 위해 고민하면서 위에 언급된 특성 하나하나 들어가보면, 명확하게 하고 가야할 요소들이 많다.

아마 블록체인에 관심을 가지고 있는 사람 중에 엔지니어 측면에 가깝거나 관련된 분들은 모두 고민하고 있을 항목일 것이다.



기타

Smart Contract 코드를 안전하게 실행하는 것, 그리고 Contract 업데이트(실행된 데이터에 대한 Migration, legacy등 이러한 Feature는 아주 중요한 요소라고 생각된다.

다른 이야기지만, Hyperledger(Fabric)에서 릴리즈 예정인 Ver 1.0에서 chain code에 이러한 기능을 제공할 것으로 예상이 되는데, 어떠한 방식으로 제공할지 기대되기도 한다.

그리고 현재까지 블록체인 구현체들은 분산 어플리케이션에서 만들어지는 많은 데이터를 저장하기 위해 효율적이지 않기 때문에, IPFS나 Ethereum 프로젝트에 포함된 Swarm 등 관련된 프로젝트를 언급하고 있다.

EEA가 상호운용성에 대해서 많이 강조하고 있는 이유는 기업 target이라 당연하고, 명확한 것이다. 실제 PoC나 Pilot을 해보면, 블록체인 기술만 사용하여 단독으로 시작부터 종료되는 서비스나 시스템이 아니라면, 당연히 기존 시스템과 함께 잘 동작해야 한다는 것이다.

동작하고 있는 Ethereum을 base로 하고, Enterprise의 수준이 요구하는 구체적인 특성들을 고려하고 있어서 기대가 되기도 한다.

Public 블록체인과의 호환성을 가진다거나, Layer를 잘 나누어 모듈화 시키고, Core 모듈과 비표준 기술과의 연동 등 지향하는 바를 차근차근 잘 만들어 갔으면 하는 바램이다.

아마도 Enterprise에 집중하겠지만, Public Ethereum과 호환성에 어떤 방식으로 풀어나갈지 궁금해지긴 한다.



  • 최신버전은 아님 (2017년 2월 말 버전) Vision Paper



생각해보기

기업이 블록체인 기반 시스템을 적용하려고 할때 해결해야하거나 IT 관리 측면에서 궁금해 하는 부분들(아키텍쳐, 기존 시스템과 상호운용, 인프라 구성, 데이터 저장, 관리/유지보수 등)이 많을 것이며, 때에 따라 기존의 방식이나 시스템을 재사용하기 어려울 수 있을 것이다.

여러가지 해결해야할 요소들과 기술이 아닌 다른 영역의 고민이 더 필요한 경우도 있다.

하지만, 새로운 기술을 적용하거나 도입하기 위한 “의지”가 큰 부분이라는 생각을 해본다.