[Cosmos] 코스모스학 개론 // Introduction to Cosmos v1.0

□ 코스모스 탄생배경과 사전지식

 [탄생배경]

  ㅇ 지분증명방식(PoW)의 한계

    - 환경파괴 : 비트코인 채굴에 들어가는 전기에너지 > 일부 국가가 사용하는 전기에너지
     => 보다 친환경적인 증명방식이 필요하다.
    - 성능한계 : PoW는 통제요인이 외부(채굴기)에 있기때문에, 혹시 모를 상황에 대비하여, 블록생성시 일정시간(비트코인 10분, 이더리움 15초)이후에 블록을 확정하는데, 이는 속도, 확장성에 큰 걸림돌이다.
     => 속도, 확장성, 그리고 매우 안정적인 합의 프로토콜이 필요하다.

  ㅇ 현재 블록체인의 한계

    - 고립성 : 비트코인을 포함한 모든 블록체인은 각자 고유한 메커니즘을 갖고 있기에, 상호호환되지 못하는 서로 배타적인 상태이다.
     => 블록체인간 상호호환되어 운영되는 모델이 필요하다.
    - 블록체인 제작 : 새 블록체인 개발시, 기본 네트워크, 합의프로토콜 등 처음부터 모든 작업을 해야했기에 비트코인, 이더리움 등의 레거시 체인을 포크하여 활용하였지만 결국 레거지 체인이 직면한 문제를 벗어나지 못 한다.
     => 블록체인 개발이 용이한 도구가 필요하다.
<https://coincentral.com>

 [사전지식]

  ㅇ 블록체인의 레이어

   < 블록체인 기술의 필수요소 >
    - 데이터 레이어(Data Layer) : 제네시스블록부터 이어진 블록체인상 데이터, 체인, 타임스탬프, 공개키 등이 포함된다.
    - 네트워크 레이어(Network Layer) : 블록체인을 유지하기 위해 각 노드들이 자유롭게 연결하여 서로 트랜잭션을 주고 받는다.
    - 컨센서스 레이어(Consensus Layer) : 서로 떨어진 노드들이 데이터의 유효성에 대한 합의가 도출된다.
     *트랜잭션(Transaction) : 각 계좌에 있는 토큰잔고를 상태(State)라고 하는데, 이를 변화시키는 것.

   < 블록체인 기술의 추가요소 >
    - 컨트렉트 레이어(Contact Layer) : 블록체인 상에서 프로그래밍할수 있는 코드, 알고리듬, 스마트컨트렉트 등이 포함된다.
    - 어플리케이션 레이어(Application Layer) : 합의하에 검증된 트랜잭션이 처리된다.

  ㅇ 텐더민트(Tendermint)

    - 개념 : 다양한 컴퓨터에서 어플리케이션을 안전하고 일관성있게 복제하기위한 소프트웨어로, 코스모스 생태계에서 활용되는 비잔틴 결함 장애 컨센서스 알고리듬이다.
    - 목적 : 블록체인의 필수요소인 네트워크 레이어 및 컨센시스 레이어를 제공하여 블록체인 어플리케이션을 만들수있는 범용성 높은 엔진(텐더민트엔진)을 제시하므로 개발자들이 블록체인 만들때 오직 어플리케이션 레이어만 만들게 하여 시간, 비용 등이 절약된다. 이때 개발자들은 어플리케이션 레이어에서 어플리케이션을 만들때, ABCI(Application BlockChain Interface)라는 프로토콜 덕분에 복잡한 네트워킹 및 합의 부분을 처리하지 않고도, 다양한 언어로 고성능 수준의 어플리케이션 개발이 가능하며, 텐더민트코어와 연결을 하기도 한다.
< 텐더민트 코어-ABCI어플리케이션 도식화 >

□ 키워드로 알아보는 코스모스

  ㅇ 상호운영성(Interoperability)

    - 개념 : 서로 다른 네트워크상의 통신일지라도 통합된 시스템으로 작용하여 일련의 처리과정이 정확하게 실행될 수 있는 능력으로, 네트워크, 컨센서스 등 레이어가 다른 이종체인(Heterogenous Chains)간 토큰 교환이 가능하게 하며, 다른 체인간 연결은 IBC(Inter BlockChain) 프로토콜을 통해 이뤄진다.
    - 특징 : 각 이종체인은 검증인 세트를 통제(주권 수호)*하는데, IBC는 각 이종체인 내 검증인 세트를 통제하지 않으면서도(주권을 침해하지 않으면서도) 이들을 연결한다.
     * 검증인 세트 통제 : 퍼블릭체인의 경우 PoS와 토큰 스테이킹을 통해서, 프라이빗체인은 검증인 세트를 변경하는 특정 주소 풀에 특별권한을 부여함.           
     => 코스모스는 누가 서명권한이 있는지와 유효성검증이 어떻게 이뤄지는지만 신경쓰기에 연결될 각 블록체인 내 토큰의 갯수만 파악할뿐이며, 덕분에 각 블록체인 고유의 로직을 유지함과 동시에 나머지 생태계와 호환성을 잃지 않으면서도, 스케일링 등 각자의 문제를 해결하는 메커니즘을 구현할수 있다.

  ㅇ 존(Zones)과 허브(Hub)

    - 개념 : 존이란 각각의 블록체인을 의미하며, 허브란 그 존들을 연결하는 특정 블록체인을 의미. IBC를 통해 허브와 연결된 각 존들은 상호간 토큰 교환이 가능하다.
    - 특징 : 허브는 제한된 수의 IBC와 존을 연결하며, 각 존사이의 이중지출을 방지한다.
    - 연결 : PoS같은 빠른 완결성을 가진 체인의 경우, 추가작업없이 쉽게 허브에 연결하면 되는데 문제는 PoW같은 느린 완결성을 가진 체인이다. 가령, Pow의 현재 이더리움의 경우, 빠른 완결성을 가지면서도 다른 블록체인의 상태를 추적하는 특화된 체인인 페그존(Peg-Zone)을 두어 IBC와 PoW이더리움 체인 간 브릿지 역할을 함
     => 이종체인간 연결수는 체인수가 늘수록 기하급수적으로 거미줄처럼 늘어나는데, 컨트롤타워 역할의 허브가 생기면서 연결수가 적어지면서 체인간 덜 신뢰해도 된다. 덕분에, 각 존들은 연결된 허브 그리고 교환대상인 토큰이 생성된 존만 신뢰하면 된다.
< 텐더민트코어, 코스모스허브, IBC, 다양한 존 등 도식화 >

  ㅇ 확장성

    - 개념 : 블록체인 사용성을 높이기 위해 현재 블록체인이 직면한 확장성 문제를 해결한다.
    - 특징 : 레거시 체인을 코스모스에 얹으면 해당 체인을 최적화 하여 체인 그 자체를 확장(수직적)하며, 더 나아가 다중체인 아키텍처를 통해 동일한 어플리케이션을 실행하고 동일한 검증인 세트를 가진 여러 병렬체인을 구성하여 이론적으로 무제한 확장(수평적)을 가능케한다.

  ㅇ 코스모스 개발 도구(Cosmos SDK, Software Development Kit)

    - 개념 : 텐터민트 위에 안전한 블록체인 어플리케이션을 개발할때 사용되는 일반화된 개발도구다.
    - 특징 : Cosmos SDK는 친 개발자 모듈 프레임워크로, 간단히 새 모듈 또는 기존 모듈을 자신의 어플리케이션에 적용가능하며, 악의적인 공격, 예기치못한 장애 등의 범위를 기능조절에 따라 개발자가 보안범위 설정 가능하다.
     => 개발자들이 어플리케이션의 모든 기능을 직접 코딩할 필요없이 모듈간 조합을 통해 블록체인을 쉽게 만들게하여 모듈의 생태계 조성에 기여케한다.

  ㅇ 아톰(Atom) 토큰

    - 개념 : 코스모스 블록체인 상 스테이킹용 토큰으로, 아톰토큰보유자가 투표, 검증 또는 다른 검증자들에게 위임하게 사용된다.
    - 특징 : 고의여부를 떠나, 동일한 높이 또는 라운드에 이중서명 등 합의프로토콜 위반시 해당 검증인은 검증인 지위 박탈 및 예치 아톰이 상당수 삭감된다. 다만, 합의프로토콜을 준수하며 검증을 하면 트랜잭션 수수료를 배당받는다.
    => 아톰토큰은 코스모스 허브의 토큰으로 이 허브와 연결된 블록체인(이더리움의 경우 이더민트)의 토큰(이더민트의 경우 포톤)과 별도 운영되며, 이렇게 이원화된 덕분에 토큰 이코노미의 유연성을 높일수 있음.

□ 코스모스란 ㅇㅇ다

  ㅇ 쉽게, 쉽게, 또 쉽게

    - 코스모스는 각 블록체인을 '쉽게' 연결하고, 허브와 존을 두어 '쉽게' 상호운영하며, '쉽게' 확장하고, 또한 전용 개발도구를 통해 '쉽게' 블록체인 개발이 가능하다.

< 코스모스에서의 블록 생성 과정 >

  ㅇ 그리고 안전하게

    - 쉽게 사용되도록 설계되었지만 코스모스의 무게중심은 '안전성(Safety)'다. 블록체인 상 유효성 검증을 하기 위하여 2/3를 초과하는 검증인이 사전투표(Prevote) 및 사전결정(Precommit)해야하며, 스테이킹용 토큰과 수수료용 토큰을 따로두어 DDoS등 공격에 대비한다.
< 코스모스 전체 실행 흐름도 >

     "제가 비트코인을 좀 더 진지하게 알아보고 있을 때가 2013년이었고, 
      지분증명 문제를 이렇게 해결하자고 마음먹은건 2014년이었어요. 
      시중에 있던 모든 소프트웨어 플랫폼들을 연구하고, 어떻게 변화시키면 
      지분증명 블록체인으로 고칠 수 있을까 등을 고민했죠. 당시에는 마땅한 플랫폼이 
      없어서 블록체인 생성을 위한 소프트웨어 프레임워크를 만들기로 했어요.(중략) 
      텐더민트는 아무런 제약 없이 블록체인의 어느 부분이든 수정할 수 있어요. 
      물론 합의 알고리즘은 건드릴 수 없지만, 모듈성이 굉장히 좋습니다. 
      코스모스 SDK에 넣은 모듈을 보시면, 스테이킹, 거버넌스, 피드 분산 외에도 
     저희가 뱅킹 모듈이라고 부르는 기능으로 다양한 자산들을 관리할 수 있습니다. 
     - JaeKwon Kim(Founder of Cosmso)

< 코스모스 창립자 재권의 인터뷰(https://medium.com/hashed-kr) >
*한국어 자막 제공(글자 크기, 위치 수정 가능)



법적 고지 : 본 게시글은, 투자를 위한 정보제공을 목적으로 작성되었기에 투자결정은 신중을 기하여 주시기 바라며, 참고자료를 토대로 본인 판단하에 내용을 추가, 편집 등 작성되었기에 본인의 허락없이 복사, 배포, 편집 등을 할 수 없습니다.



<References>
1) https://blog.cosmos.network/a-tour-of-cosmos-for-developers-7517ba1b4045
2) https://medium.com/cosmostation/c%C3%B8smonaut-guide-%EC%BD%94%EC%8A%A4%EB%AA%A8%EC%8A%A4-%EC%9D%B4%ED%95%B4%ED%95%98%EA%B8%B0-c%C3%B8smos-%EC%9D%98-%EB%AA%A9%ED%91%9C%EC%99%80-%EA%B0%80%EC%B9%98-%EC%A0%9C%EC%95%88-40d05525852a
3) https://medium.com/hashed-kr/%ED%95%B4%EC%8B%9C%EB%93%9C-%EC%9D%B8%ED%84%B0%EB%B7%B0-%EC%BD%94%EC%8A%A4%EB%AA%A8%EC%8A%A4-%ED%8C%8C%EC%9A%B4%EB%8D%94-%EC%9E%AC%EA%B6%8C-jae-kwon-%EB%B8%94%EB%A1%9D%EC%B2%B4%EC%9D%B8%EC%9D%98-%EC%9D%B8%ED%84%B0%EB%84%B7-56114dd498b7
4) https://brunch.co.kr/@shinseonho/43

댓글

이 블로그의 인기 게시물

[Insight] JP모건을 통해 본 월가와 코인시장(2부작) 1부 // Wallstreet and CryptoMarket with JPmorgan part1 v1.2

[Insight] JP모건을 통해 본 월가와 코인시장(2부작) 2부 // Wallstreet and CryptoMarket with JPmorgan part2 v1.3

[Insight] 팍스 아메리카나와 팍스 블록체이나(2부작) 1부 // Pax Americana & Pax Blockchaina Part1 v1.1