[암호화폐] IOST에 대해 알아보자 - 기술편

in #iost6 years ago

오늘은 IOST의 기술에 대해 좀더 깊이 있게 살펴보겠습니다.

먼저 살펴볼 부분은 PoB(Proof-Of- Believability) 입니다.
PoW, PoS는 들어봤는데.. PoB ???

[PoB]

PoB : 신뢰 기반의 합의 프로토콜

잘 알려진 바와 같이, 블록체인은 거래내역이 다중에게 공개가 되기에,
이 블록체인 상 거래내역이 올바른지 확인하기 위해서는 모두가 참여할 수 있는 검증과정이 필요합니다.

이때 필요한 검증방식은 여러 가지 방식이 존재합니다. 비트코인이 채택하고 있는 PoW나 여타 다른 암호화폐가 채택하고 있는 PoS방식처럼, PoB는 IOST가 채택한 일종의 거래 검증방식입니다.

거래를 하나하나 검증하는 과정에서, PoW는 전기를 낭비하고 투기를 조장한다는 문제점을 갖고 있고 PoS는 블록체인의 목적인 탈중앙화의 성격에서 벗어날 수도 있다는 한계점을 가지게 됩니다.

IOST가 채택한 PoB는 이러한 한계점을 극복하기 위해서, 해당 IOST의 보유량뿐만 아니라 노드의 신뢰지수(Believability)까지 측정하여 신뢰도가 가장 높은 노드에게 거래를 검증할 수 있는 권한과 혜택을 부여합니다.
즉, 쉽게 말해서 신뢰도 가장 높은 노드가 블록체인 상에 발생하고 있는 거래가 올바른지 검증하고, 검증의 대가로 인센티브를 받게 되는 것입니다

신뢰도를 평가하기 위해 IOST에서는 IOST 토큰과 별개로 Servi 토큰을 발행합니다.
IOST는 일반 가상화폐 처럼 거래소를 통해 거래가 가능한 반면,
Servi 토큰은 IOST 플랫폼에 기여하는 경우에 받는 토큰으로 거래가 불가능 합니다.
쉽게 말하면, IOST 커뮤니티 활동, DApp 개발, 버그 발견, 가장 많은 사용 경험 등이 있는 경우에 Servi를 발행해주게 되는 것입니다.

Servi는 거래용이 아니고 IOST 생태계에서 PoB를 위한 신뢰도 검증용으로만 사용됩니다.
Servi가 많을수록 신뢰도가 높은(IOST에 기여를 많이한) 노드로 보는 것이죠.
또한 독점을 막기위한 장치로 Servi는 한번 사용되면 자동으로 폐기됩니다.
즉 한번 기여했다고 영원히 지위를 유지하는 것이 아니라, 계속 IOST 생태계에서 기여를 하고 있는 사람에게 신뢰도를 주겠다는 것이죠

** [Atomix] **
두번째 기술은 아토믹스 프로토콜입니다.

퍼블릭 블록체인에서는 수많은 거래가 오가기 때문에 특정 시간대에 과도한 거래량이 몰리는 경우 트랜잭션을 확인하는 과정에서 문제가 생길 수도 있습니다. 물론 이럴 가능성은 극히 드물기는 하지만, 수학적으로 반드시 발생하지 않는다고 확신할 수는 없습니다.

특히 작년 말과 같이 비트코인 거래량이 폭증해 단순한 전송 검증에도 수시간이 걸리는 경우, 이와 같은 위험성은 극대화 됩니다.

최근 비트코인 골드 해킹사태에서 볼수 있는 '이중지불공격'과 같은 문제들을 방지하기 위해 설계된 안전장치가 바로 Atomix 프로토콜입니다.

어떠한 과정을 거쳐서 발생하게 되는지 쉽게 예를 들어보겠습니다. Shard A에 속해있는 “영희”와 Shard B에 속해 있는 “철수” 가 거래를 한다고 가정해봅시다.

  1. “영희”가 거래를 한다면, Shard A에서 거래를 생성하고 shard A 에 있는 원자단위로 쪼개진 복수의 노드들을 통해 거래의 유효성을 확인합니다.

  2. 영희가 shard A에 있는 모든 노드들에게 거래의 유효성을 확인 받으면, 해당 거래는 shard A의 블록체인에 기록됩니다. 동시에 노드는 UTXO(Unspent Transaction Output 의 약자로 비트코인 거래에서 발생한 모든 기록을 '송금의 형태'로 남겨놓는 것)의 형식으로 영희의 거래 내역을 "철수”에게 보냅니다. 이 도중에 shard A의 노드들에게 영희가 진행한 거래가 거절된다면 자금은 영희에게 다시 환불됩니다.

  3. 이로써, shard A는 거래를 shard B로 전달하고, 전달받은 shard B는 이 거래의 유효성을 다시 원자단위로 쪼개진 복수의 노드를 이용해 검증합니다. 만약 B shard 내의 노드들에게 거래 승인이 거절된다면 자금은 다시 영희에게 환불됩니다.

  4. 이때, shard B의 노드들이 영희와 철수의 거래를 승인한다면, 자금은 최종적으로 “철수”에게 송금완료 됩니다. 단, 이때 노드들이 거래를 거절한다면, 이 자금은 다시 영희에게로 돌아가게 됩니다.

그런데, 다른 블록체인도 이런 유사기술을 사용하는데 IOST는 뭐가 다른걸까요?

다른 블록체인 프로젝트에서는 이중지불 문제를 해소하기 위해 샤딩기술을 이용합니다.(IOST도 샤딩기술을 적용할 계획입니다).
그러나 샤딩기술 만으로는 이중지불 문제를 완벽하게 해소할 수 없습니다. 그 이유는 다음과 같습니다.

예를 들어 100개로의 노드중 99개의 노드가 거래검증을 성공한다고 해도 마지막 1개의 노드가 검증에 실패한다면, 이로 인해 예상치 못한 변수가 발생해 네트워크에 피해를 입힐 수 있습니다.

따라서 IOST는 만일에 사태에 미리 대비하고자 노드들을 원자단위로 쪼갠 뒤, 샤드단위로 다시 묶어놓았습니다.
각 거래를 원자 단위로 쪼개서 각 거래가 실시간으로 융통성있게 진행되도록 합니다.
이렇게 “원자(Atom) 단위”로 쪼개져서 거래를 처리하기에 아토믹스라는 이름이 붙게 된 것입니다.
아토믹스는 이렇게 사전에 먼저 원자단위로 쪼개진 노드에 의해 검증받고 거래를 처리해,
검증을 처리하는 대기 시간을 최소화합니다. 또한 새로운 노드가 등장하거나 거래가 예기치 못한 상황으로 중단되었을 경우에도, 해당거래를 원자단위를 기준으로 빠르게 복구할 수 있습니다.

[개발원칙]
자~그럼 이러한 기술을 잘 개발하는게 중요할텐데요..
어떤 개발원칙을 가지고 추진하는지 살펴보겠습니다.

1. 개발자도구

  • Rainer 확장성을 고려한 지능적 블록체인 자동 테스트 도구, IOST 테스트넷 상에서 매일 자동적으로 수천 개의 테스트 사례를 검증, 배치하며 실패 관리 및 결과 보고를 실시합니다. 그리고 레이너는 검증 속도 증가 외에도 아주 낮은 긍정 오류율을 자랑합니다.

2. 블록체인 개발 프레임워크

아래와 같은 개발 프레임워크 기능을 토대로 추진한다고하네요.

  • 소규모 대역폭 풋프린트 (footprint)의 프레임워크
  • 간단하고 빠른 네트워크 경로계층
  • 개발자들이 로컬 환경에서 스마트 컨트랙트를 실행할 수 있는 ‘플레이그라운드 (playground)’
  • 스마트 컨트랙트
  • 컨트랙트간 API 콜
  • 강력한 블록체인 모니터링 모듈
  • 확장성을 고려한 지능적 블록체인 자동 테스트 도구

** [멤버]**
끝으로~ 이러한 기술을 잘 개발할 수 있는 인력이 중요할텐데요.
IOST에 참여하고 있는 멤버들을 살펴보겠습니다.

IOST팀은 전형적인 중국의 젊은 테크 엘리트들 입니다.
중국에서 태어나 하버드, 프린스턴, 존스홉킨스 등 미국 Top-tier 대학을 졸업했습니다.

이후에 실리콘밸리에서 창업 혹은 우버와 같은 Tech 회사에서 경력을 쌓거나 뉴욕의 투자은행에서 일하고 IOST의 미션을 실현하기 위해 뭉쳤습니다. 주요 팀원에 대한 요약 소개는 IOST.io 에서 확인하실 수 있습니다.


한국인 멤버도 보이네요~~

자~ 오늘은 IOST의 기술적인 부분을 살펴보았습니다~
감사합니다~~ 재밌게 보신분들은 추천 부탁드려요~~~^^

출처 : IOST Korea, IOST.io, 구글