UniSwap이 자체 AppChain을 운영할 예정이 있다는 뉴스를 보았다
AppChain이란 무엇일까 ..?
간단하게 정의하면 “특정 애플리케이션을 목적으로 설계된 블록체인”
이라고 정리 가능하다
그렇다면 AppChain 생태계 중 대표적인 Cosmos EcoSystem에 대해서도 궁금하다..!
그래서 시작된 포스팅!
코스모스 블록체인은 중앙 집중식 서버에 의존하지 않고 분산 원장 간의 통신을 용이하게 하기 위해 개발되었으며 백서는 2016년에 발간되었습니다.
Cosmos 네트워크는 Cosmos SDK를 이용해 각자의 블록체인을 좀 더 쉽게 만들 수 있도록 하며, 각 블록체인을 Zone이라고하여 상호 운용성을 가능하게 하는 플랫폼입니다.
Cosmos 네트워크는 Cosmos Hub, Tendermint 합의 알고리즘 및 IBC(Inter-Blockchain Communication) 프로토콜을 사용하여 블록체인이 안전하게 통신할 수 있도록 하여, 상호 연결된 앱과 서비스의 계속 확장되는 생태계입니다.
암호화폐로는 ATOM을 사용합니다.
기존 Tendermint
에서 개선된 합의 알고리즘
❓ Tendermint
- Cosmos의 합의 레이어이며 DPOS와 BFT를 결합한 합의 알고리즘
- Finality를 우선시 하여 블록이 생성되자 마자 Finality를 갖는다는 특징이 있음.
- 100~130개의 대표노드들에게 위임하여 동작하며 검증인이 많아질 수록 합의 속도 증가
- 그러나 각 AppChain으로 Staking된 금액들이 나누어 지면서 보안성 ↓
↪ Interchain Security를 통해 보완
⤷ Interchain Security : 새로 만들어지는 체인들이 런칭을 할 때 DPOS 악용 문제 해결을 위해 Total Stake가 큰 체인들(cosmos hub)의 validate set과 voting power를 빌려와 검증에 사용
IBC는 블록체인 간의 통신을 가능하게 하는 프로토콜입니다.
Cosmos의 합의알고리즘의 즉각적인 최종성 속성을 활용하여 서로 다른 체인이 가치 또는 데이터를 서로 전송할 수 있도록 합니다.
이를 통해, 서로 다른 블록체인 간에 토큰이나 기타 데이터를 송수신할 수 있으며, 서로 다른 블록체인 간의 상호 운용성을 가능하게 합니다.
체인 A의 계정이 체인 B의 계정에게 10개의 ✪Token
을 보내는 시나리오
Tracking
각 체은은 기본적으로 다른 체인의 Light Client를 실행 하여 서로의 헤더 데이터를 수신Bonding
체인 A에서 토큰을 전송하기 위해 IBC 전송이 시작되면✪Token
을 Bonding 상태로 잠금 처리
Proof Relay
그 후 10개의✪Token
이 결합되어 있다는Proof
가 체인 A에서 체인 B로 전달
Validation
증명은 체인 B에서 체인 A의 헤더에 대해 검증되며, 유효하면 체인 B에서 10개의✪Token
바우처를 생성
𖤐𖤐 체인 B에 생성된
✪Token
은 체인 A에만 존재하기 때문에 실제✪Token
이 아니며 체인B에 대한 체인A✪Token
이 체인A에 동결되어 있다는 증명으로 사용
✪Token
이 원래 체인으로 돌아올 때 역시 유사한 메커니즘을 사용하여✪Token
의 잠금을 해제
Cosmos SDK는 Cosmos Blockchain 네트워크 상에 애플리케이션을 구축하는 데 사용되는 도구 모음입니다.
Cosmos SDK를 사용하면 사용자들은 자신들의 블록체인을 빠르게 구축하고, 다른 블록체인과 손쉽게 통신할 수 있게 됩니다. 또한 Cosmos SDK를 사용하면 기본적인 블록체인 기능들을 모듈로 사용할 수 있어, 개발 시간을 단축하고 코드의 품질을 향상시킬 수 있으며 CLI, REST 서버 및 기타 일반적으로 사용되는 다양한 유틸리티 라이브러리를 구축하기 위한 유용한 기능을 제공합니다.
Cosmos SDK를 이용해서 만든 Cosmos Ecosystem에 소속된 독립된 블록체인을 의미하며 각 Zone은 개별적인 상태 머신과 합의 알고리즘을 갖고, 특정한 사용 사례나 애플리케이션에 맞게 최적화할 수 있습니다.
Zone은 Cosmos 네트워크의 핵심 구성 요소 중 하나로, 블록체인의 확장성 문제를 해결하는 데 중요한 역할을 합니다. Zone 각각은 독립적으로 확장될 수 있기 때문에, 전체 네트워크의 성능이나 안정성에 영향을 미치지 않으면서 특정 블록체인의 처리량을 증가시킬수 있다는 특징을 갖고 있습니다.
각 Zone은 Cosmos Hub나 다른 Zone과 IBC(Inter-Blockchain Communication) 프로토콜을 통해 통신할 수 있으며 이를 통해 Cosmos는 다양한 블록체인이 서로 협력하여 복잡한 애플리케이션을 구현할 수 있고, 블록체인의 확장성과 상호 운용성 문제를 개선할 수 있습니다.
백서가 나온지 7년이 넘었으나, 생각보다 강의 또는 자료는 여전히 찾기가 쉽지가 않습니다 ㅠㅠ
그럼에도 Cosmos가 추구하는 바는 충분히 매력적이라고 생각이 들었고,
앞으로 Cosmos SDK에 대해서도 조금씩 공부해서 포스팅할 계획입니다 ☻
Refer.