nonce custom_top_html:no
default debug random = 0 / type = READ / detected = READ

단축키

Prev이전 문서

Next다음 문서

크게 작게 댓글로 가기 위로 아래로

단축키

Prev이전 문서

Next다음 문서

크게 작게 댓글로 가기 위로 아래로

원문 글: What is Cosms? 

 

소개

코스모스는 텐더민트 같은 BFT 합의 알고리즘에 따라 동작하는 개별 블록체인들을 연결하는 탈중앙화 네트워크다.

다시 말해, 코스모스는 확장 가능하고 서로 상호 운용이 가능한 블록체인들의 생태계다. 코스모스가 등장하기 전에는 개별 블록체인들이 서로 커뮤니케이션할 수 없었다. 블록체인은 구축이 어려웠으며 거래 처리 속도도 매우 느렸다. 코스모스는 새로운 기술적 비전으로 이러한 문제를 해결한다. 이 비전을 이해하기 위해, 블록체인 기술의 기초부터 살펴보자.

 

블록체인이란 무엇인가?

블록체인은 일부(1/3 미만) 검증인(validator)들이 악의적으로 행동하더라도 기록되는 내용 자체는 참(correct)인 디지털 원장(ledger)이다. 모든 검증인들은 이 원장의 사본을 각자의 컴퓨터에 저장하고, 프로토콜이 정의한 규칙에 따라 원장 사본을 업데이트한다. 블록체인 기술의 목표는 모든 원장 사본이 올바르게 복제되도록 하는 것이다. 이를 통해, 모든 정직한 참여자는 언제나 동일한 내용의 원장 사본을 유지하고 확인할 수 있다.

블록체인 기술의 장점은 중앙 기관(authority)에 의존하지 않고 개별 참여자들이 동일한 기록의 원장을 공유 할 수 있다는 점이다. 블록체인은 탈중앙화되어 있다. 블록체인 기술의 첫 번째이자 가장 유명한 애플리케이션은 탈중앙화 화폐인 비트코인이다.

기술적인 측면을 살펴보면, 블록체인은 전체 풀 노드(full-node, 노드의 역할 중 100%를 전부 수행하는 참여자들)에 복제/이식(replicated)된 결정론적 상태 머신(deterministic state machine)으로, 비잔틴(Byzantine, 악의성 노드)이 네트워크에 참여하는 전체 검증인의 1/3 미만인 경우 합의 안전성을 유지한다.

이게 무슨 말인가 하면,

  • 상태 머신(state machine)은 '상태를 온전히 유지하고, 입력값(input)이 발생할 경우 그 상태를 업데이트하는 프로그램'이다. '상태'는 애플리케이션의 종류에 따라 달라지며 (예. 암호화폐의 잔액), 상태는 트랜젝션 (예. 한 계좌의 잔액을 줄이고 그만큼 다른 계좌의 잔액을 높이는 것)에 의해 업데이트된다.
  • 결정론적(deterministic)이란 최초의 상태(genesis state)에서 시작해서 동일한 트랜젝션으로 업데이트해 줬을 때, 동일한 결과적 상태(resultant state)에 도달한다는 뜻이다.
  • 합의 안전성(consensus safety)이란 상태 머신을 복제해 간 모든 정직한 노드가 동일한 시각에 동일한 상태를 유지해야 한다는 뜻이다. 노드들이 트렌젝션 블록을 받으면 이를 검증, 즉 그 안에 기록된 모든 트랜젝션이 참(valid)이고 블록 자체도 다른 검증인의 2/3 이상의 검증을 마쳤다는 것을 확인한다. 안전성은 검증인의 1/3 미만이 비잔틴, 즉 악의적 노드인 한 보장될 수 있다.

 

설계적(architecture) 측면에서, 블록체인은 세 가지 개념적 층위(layer)로 나뉜다

  • 애플리케이션: 트랜젝션 처리, 즉 트랜젝션의 발생으로 인한 상태 업데이트를 담당
  • 네트워킹: 트렌젝션 및 합의와 연관된 메세지를 퍼뜨리는(propagate) 것을 담당
  • 합의: 블록체인 네트워크 참여 노드들이 시스템의 현 상태에 합의하는 것을 담당

상태 머신은 애플리케이션 층위에 해당한다. 애플리케이션의 현 상태와 상태 변환 기능을 정의한다. 네트워킹 층위와 합의 층위는 그 상태 머신을 네트워크에 연결된 모든 노드에 동일하게 복제하는 걸 담당한다.

 

블록체인 전체 생태계에서 코스모스는 어디에 있나?

 

비트코인 이야기 (블록체인 1.0)

코스모스가 어떻게 블록체인 생태계에 자리 잡았는지 이해하기 위해서는 블록체인 이야기의 첫 시작점으로 돌아가야 한다. 최초의 블록체인은 비트코인이다. 2008년에 생겨난 P2P 디지털 화폐로, 작업 증명(Proof of Work, PoW)이라는 참신한 합의 알고리즘을 사용한다. 이것은 블록체인을 활용한 첫 번째 탈중앙화 애플리케이션이었다. 곧 사람들은 탈중앙화 애플리케이션의 가능성을 알아보았고, 새로운 애플리케이션을 개발하려는 시도들이 점차 나타났다.

당시에 탈중앙화 애플리케이션을 개발하는 방법은 두 가지였다. 비트코인의 코드 베이스를 포크하거나, 그 위에 짓는 것이었다. 그러나 비트코인의 코드 베이스는 일체형이어서 바꾸기 어려웠(monolithic)다. 세 개의 층위 모두가 하나로 엮어져 있었다. 게다가, 비트코인 개발 언어는 제한적이었고 사용자 친화적이지 못했다. 더 나은 도구가 필요했다.

 

이더리움 스토리 (블록체인 2.0)

2014년에, 이더리움은 탈중앙화 애플리케이션을 만드는 새로운 방식을 제안했다. 하나의 블록체인 위에, 어떤 종류의 프로그램도 운영(deploy) 가능했다. 이는 이더리움이 애플리케이션을 EVM이라고 불리는 버추얼 머신으로 바꾼 덕분에 가능해진 일이었다. 이 버추얼 머신은 스마트 컨트렉트라는 프로그램을 처리할 수 있었다. 스마트 컨트랙트는 어느 개발자나 검열 없이 이더리움 블록체인 위에서 구동시킬 수 있었다. 이 새로운 시도는 수천 명의 개발자가 탈중앙화 애플리케이션 (dApps, decentralized application)을 만들 수 있게 해줬다. 그러나, 이 방식의 한계는 곧 분명해졌고, 여전히 해결되지 않고 있다.

 

한계 #1: 확장성(scalability)

이더리움 위에 만들어진 댑(dApp)들은 초당 15건의 트랜젝션만 처리할 수 있다. 이는 이더리움이 작업 증명 방식을 채택했기 때문이며, 여러 개의 이더리움 댑(dApp)들이 하나의 블록체인 리소스를 가지고 경쟁해야 하기 때문이다.

한계 #2: 유용성(Usability)

개발자들에게 허락된 자유도(flexibility)가 낮다는 게 두 번째 한계다. EVM은 모든 활용 방안(use case)을 가능하게 하는 범용적인 모래 상자(sand box)기 때문에, 평균적인 사용 케이스에 최적화되어있다. 이는 개발자들이 각자의 애플리케이션을 만들 때 디자인과 효율성을 (예. UTXO 모델이 더 적합한 결제 플랫폼에 계좌 모델을 적용하게 한다) 일부 포기해야 한다는 뜻이다. 무엇보다도, 이들은 몇 개의 프로그래밍 언어만 쓸 수 있으며, 자동으로 실행되는 코드를 적용할 수 없다.

한계#3. 주권(Sovereignty)

공동의 인프라(underlying environment)를 사용하기 때문에, 개별 애플리케이션은 독립적으로 작동할 수 없다. 결과적으로 이는 거버넌스가 두 층위로 나뉘게 한다: 애플리케이션 층위와 공동 인프라 층위다. 전자는 후자에 의해 제한된다. 앱에 버그가 있더라도, 이더리움 플랫폼 자체 거버넌스의 승인 없이는 아무것도 손댈 수 없다. 앱이 EVM에 새로운 기능이 필요한 경우에도, 이더리움 플랫폼 거버넌스의 승인에 전적으로 달려있다.

이러한 한계점들은 이더리움뿐 아니라 모든 유즈케이스를 위한 플랫폼이 되려는 모든 블록체인에 해당한다. 이 지점에서 코스모스가 등장한다.

 

코스모스의 비전 (블록체인 3.0)

코스모스의 비전은 개발자들이 블록체인을 쉽게 구축하고, 블록체인간 트랜젝션을 가능하게 해서 개별 블록체인 사이에 있는 장벽을 허물 수 있게 하는 것이다. 블록체인들의 인터넷, 블록체인들이 탈중앙화된 방식으로 서로 의사소통하게 할 수 있는 네트워크를 만드는 것이 최종 목표다. 코스모스를 통해 블록체인은 주권을 유지하고, 트랜젝션을 빠르게 처리하며, 생태계 내 다른 블록체인과 커뮤니케이션 할 수 있게 해서 다양한 유즈케이스에 적합하도록 만드는 것이다.

이 비전은 텐더민트, 코스모스 SDK와 IBC 같은 오픈소스 툴들을 통해 이룰 수 있다. 이들은 사람들이 맞춤형의 안전하고 확장 가능한, 그리고 상호운용이 가능한(interoperable) 블록체인 애플리케이션을 빠르게 만들 수 있게 해준다. 이제 코스모스 생태계 내의 중요 툴들과 코스모스 네트워크의 기술적 설계를 살펴보자. * 코스모스는 텐더민트 팀이 만들기 시작한 오픈 소스 커뮤니티 프로젝트이며, 개발자 생태계를 풍요롭게 하기 위한 추가 툴을 누구나 추가할 수 있다.

 

106
댓글 0

논스 매거진

"세상을 더 용기있게"

  1. 블록체인 팽창 문제란 무엇인가?

    Date2020.01.04 By크립토종한국인 Reply0 Views23
    Read More
  2. 코스모스란 무엇인가?

    Date2019.12.25 By크립토종한국인 Reply0 Views7
    Read More
  3. DAO 이론 및 응용_Binance research 번역

    Date2019.12.19 By크립토종한국인 Reply0 Views12 file
    Read More
목록
Board Pagination Prev 1 Next
/ 1
PC debug / slots = 2 / size = 0 / random = 1