[IOST] 무엇이 IOST 인가? – 퍼블릭 체인 개발의 설계

in #jjangjjangman6 years ago

IOST.jpg

안녕하세요 IOST팀입니다. 이번에는 새롭게 리뉴얼된 IOST에 대해서 소개드리고자 이렇게 업로드를 하게 되었습니다. 많은 관심부탁드립니다!


우리는 6월말 IOST의 첫 번째 퍼블릭 테스트넷 Everest 0.5를 런칭하였습니다. Everest는 POB 합의 프로토콜을 기초로 실제환경에서 구현한 결과 8,000 TPS에 도달하였습니다. 이는 ETH에 비교해 400배, EOS에 비교해 8배 빠른 성과입니다.

우리는 테스트 넷Everest 0.5의 성과가 IOST 커뮤니티 유저들의 지지 없이는 불가능 했다는 사실을 알고 있습니다.이에 IOST 개발과 관련된 아이디어를 보다 더 많은 사람들과 공유하기 위해 노력하고 있습니다.

우리는 매달 한차례 개발팀 핵심 엔지니어들과 기술적 장벽과 개발 이념에 대해 심도 있는 대화를 진행할 계획입니다. IOST의 독보적인 기술과 파생 서비스를 설명할 것입니다.

IOST는 분산 앱에 이용되는 블록체인 플랫폼입니다. 중앙화된 플랫폼은 웹과 모바일에서 줄곧 주도적 지위를 차지했고, 사람들은 중앙화의 대안이 있다는 생각을 하지 못했습니다. 반면 탈중앙화된 IOST는 효율적인 방식으로 개발자, 콘텐츠 창작자와 기업을 위해 현실적인 플랫폼을 제공할 수 있습니다.

IOST 블록체인은 각종 확장성 방안을 시험해 보는 동시에 줄곧 검열저항성과 공개성, 공격 저항성을 유지합니다. IOST는 EOS에 비해 더욱 탈 중앙화되고, ETH에 비해 더욱 확장 가능성이 있습니다.

IOST는 다음 5가지 특성을 가지고 있습니다.

  1. Censorship Resistance(검열 저항성)
  2. 알고리즘 선거 위원회
  3. 경제적 보상의 평등 분배
  4. 신뢰성 증명(POB)
  5. 프로토콜 레벨(Protocol-level)과 레이어2 (Layer-2) 프로토콜의 확장 방안을 통해 확장성 제고


1. Censorship Resistance(검열저항성)

검열저항성.png

* 검열저항성이란?

검열저항성이란 당사자가 아닌 제 3자가 임의로 블록체인상의 내용을 검열하거나 중단할 수 없다는 것을 의미합니다. 비트코인 이전에도 디지털 화폐는 존재했으나, 이들 언어는 검열저항성이 없어 신뢰를 떨어뜨리는 원인이 됐습니다. 이는 블록체인이 탈중앙화를 기본으로 하기에, 당사자가 아닌 정부, 기업, 운영자등 제 3자도 임의로 블록체인상 내용을 변질시킬 수 없다는 의미입니다.

IOST는 탈 중앙화를 중시하며 특히 검열 저항성(censorship resistance)을 중시합니다. IOST 블록체인은 확장성을 향상시킬 수 있는 각종 방안을 시험해보는 동시에, 검열저항성과 공개적 참여를 보장하여 악의적 공격에 저항하는 특성을 유지합니다. IOST 체인상의 모든 노드는 위원회에 선출돼 거래와 블록 생성 검증에 참여할 평등한 기회를 가집니다. IOST는 다른 목표를 달성하기 위해 검열저항성을 희생하지 않을 것입니다.

많은 사람들은 블록체인이 성공적으로 실현됐다고 하는데, 이 말을 입증하려면 반드시 Visa 네트워크와 경쟁할 수 있을 정도의 데이터 처리량을 구현해야 합니다. 몇 초면 거래 처리가 완료 되는 앱도 있는데, 누가 거래하는데 며칠, 몇 시간씩 네트워크상에서 낭비하길 원하겠습니까? 블록체인은 중앙화 서비스와 경쟁할만한 거래속도를 구비해야 합니다. 하지만 거래속도를 향상시키기 위해 블록체인의 탈중앙화를 희생하여 시스템을 구축하는 것은 있을 수 없습니다.

대부분의 사람들이 블록체인이 제공하는 근본적인 가치인 Censorship Resistance를 인식하지 못하였습니다. 만약 블록체인에 censorship resistance의 특성이 없고 EOS 등과 같이 고정된 노드의 블록 생성에 의지하면, 과거의 중앙화 데이터베이스로 돌아갈 수 밖에 없습니다.또한 Amazon Web Services 와 Microsoft Azure Cloud가 제공할 수 있는 효율성에도 뒤지게 됩니다.

Censorship Resistance는 왜 중요할까요?

비트코인 블록체인 censorship resistance의 특성은 누구라도 비트코인의 가치를 보유할 수 있고 악의를 가진 사람(예를 들어 관리자)에 의해 임의로 가치를 박탈당할 리스크가 없다는 것을 의미합니다. Censorship resistance의 가치는 화폐 자산에서만 구현되는 것은 아닙니다. IOST 블록체인의 설계는 이 점을 구현하였습니다. IOST는 동태적이며 명성에 기반한 위원회를 갖고 있습니다. 위원회는 정태적인 노드가 아니며 거래 검증과 블록 생성에 이용됩니다. 블록체인 속의 모든 노드는 위원회에 선출될 공평한 기회를 누립니다.

IOST의 개발진들은 검열 저항성의 앱을 스마트 컨트랙트로 구축하는 것을 가능하게 합니다.만약 당신과 다른 유저가 스마트 컨트랙트에 가입한다면, 스마트 콘트랙트의 룰과 어떠한 기록도 왜곡되거나 당신의 이익을 희생하지 않는다는 사실을 아는 것은 매우 중요합니다. 당신의 신상 정보 예를 들어, 사회보장번호, 신용 상황 등 정보는 스마트 콘트랙트에 의해 저장되고 처리될 때, 악의를 가진 사람이 당신의 정보를 왜곡하지 않았다는 사실을 확정할 수 있는 것은 매우 중요합니다.

일부 DPOS 지지자들은 DPOS를 기반으로 하는 블록체인이 censorship resistance라고 말합니다. 그러나, EOS 메인넷은 출시 후 임의로 심의를 시작하였습니다. ‘EOS핵심중재포럼(ECAF)’은 중앙화 조직으로 체인상의 모든 블록체인 생성자가 네트워크 상의 27개 계좌를 동결할 것을 명령했습니다. 이 조치 후 그들은 “이 명령을 발표하는 논리와 이유는 이후 게시할 것”이라고 하였습니다. 이 명령은 Sam Sapoznik라고 불리는 사람이 하달한 것으로 명령이 하달된 후 어떠한 슈퍼 노드도 이 지시에 의문을 제기하지 않았습니다. 만약 censorship resistance의 특성이 없다면, 블록체인을 사용하는 것은 아무 의미가 없게 되고 탈 중앙화는 존재하지 않습니다.

현재 EOS 블록체인 조항에는 일부 새로운 내용이 추가되어 있습니다. 새로 추가된 조항에는 어떠한 탈 중앙화 정책 과정도 포함되어 있지 않습니다. 이것은 EOS 핵심중재포럼(ECAF)에게 무한한 재량권을 주고 구속력을 부여합니다. EOS 심의는 이미 조항 속에 숨겨져 있습니다. 이러한 매우 익숙한 중앙화 관리는 이미 암호화폐를 만들 때의 최초 목적과 배치되는 것입니다.

2. 알고리즘 선거 위원회



IOST 블록체인은 알고리즘을 이용하여 커뮤니티에 대한 그들의 기여와 보유하고 있는 토큰에 근거해 검증 위원회(노드)를 선출합니다. 대다수 DPOS 프로토콜에 기반한 블록체인과는 달리 온 체인 투표 시스템을 채용하지는 않습니다.
온체인 투표로 노드를 선출하는 것은 알고리듬상 심각한 결함이 있습니다. 이러한 메커니즘은 대의 민주주의를 표방하지만, 궁극적으로는 Vitalik의 말대로 1인 1표 체제는 이미 1토큰 1표의 체제로 변질되었습니다.

* 온체인 투표란?

온체인이란 블록체인상 투표로 대표자를 뽑는 과정을 의미합니다. 투표자는 자신이 보유한 코인(토큰)의 수에 비례해 투표권을 행사할 수 있으며, EOS를 비롯해 대부분의 dPOS는 노드 선정과정을 위해 온체인 투표를 택하고 있습니다.

이러한 시스템은 의심할 바 없이 최종적으로 금권통치로 변질될 것입니다. 더 많은 자본을 가진 사람의 투표가 그들만큼 부유하지 않은 노드를 영향력에서 압도하게 됩니다. 비교적 적은 선거권을 가진 그 노드들은 블록체인 거버넌스에 점차 무관심해 지는데 왜냐하면 그들의 투표가 선거 결과에 끼치는 영향이 미미하고 대세에 영향도 주지 않기 때문입니다. 블록체인 발전 역사로 볼 때 인공 투표 메커니즘을 채용하여 관리하는 블록체인은 예를 들어 DAO carbonvote, EIP186 carbonvote, DAO 제안 투표, 2014년의 Bitshares DPOS투표 등이 있습니다. 그러나 IOST의 시스템에서는 블록 생성자(BPs) 위원회(노드)는 공헌과 잔액에 근거하여 알고리즘 분배를 진행하고 모든 노드는 같은 책임과 권리를 가집니다.

동시에 '공유지의 비극' 역시 블록체인 투표에서 발생할 수도 있습니다.


알고리즘 선거위원회.png


모든 투표자가 투표 결과에 영향을 주는 확률은 매우 작기 때문에 그러므로 그들의 투표 동기는 이상적인 상황에 비해 훨씬 적어질 것 입니다. 이것은 다음과 같은 상황이 발생할 수도 있음을 의미합니다. 모든 사람이 그들의 토큰을 거래소에 두고 거래소가 그들을 대표하여 투표를 합니다. 이러한 유저는 거래소가 그들의 돈으로 어떻게 투표를 하는지 진심으로 관심을 갖지 않을 것입니다. 이러한 상황은 투표 중앙화 추세를 야기할 수 있습니다.

또 다른 문제는 투표자가 점차 블록 생성자 BPs(즉, DPOS의 슈퍼 노드)의 뇌물을 받고 BPs는 투표 구매를 통하여 그들의 연간 보상을 획득하는 것 입니다. BPs간의 상호 결탁으로 그들과 투표자 사이의 부당권리 비율을 결정합니다.

DPOS에서는 슈퍼노드에 대한 막대한 보상이 존재하기 때문에 이미 선출된 모든 슈퍼 노드는 계속 집권하고 싶어합니다. 그러므로 이미 정해진 질서를 유지하는 보상이 존재하는 것은 선출된 슈퍼노드가 연맹을 결성하여 서로를 위해 상호 투표를 위한 담합을 만든다는 것을 의미합니다. Lisk도 EOS와 유사한 투표 시스템을 채용하였는데 이는 블록체인을 마피아 같은 카르텔에 휘둘리도록 만들었습니다. 다른 한편, IOST는 동태적 위원회의 모델로 검증과 블록 생성을 하고 이렇게 하여 카르텔 형성을 방지할 수 있습니다. 만약 하나의 노드가 하나의 블록을 막 생성했다면 이 노드는 얼마간의 시간의 '냉각기'가 있어야 다시 참여할 수 있습니다.

일단 카르텔이 형성되면 블록체인 플랫폼의 탈 중앙화는 더 이상 유지될 수 없습니다. 카르텔은 심지어 여러 방식을 통해 EOS상에서 운행되는 업무에 대해 압력을 넣을 수 있습니다. 참여자는 어쩔 수 없이 이러한 카르텔의 규율을 준수해야 하거나, 그들에게 인센티브를 제공해야 합니다. 더 운이 없는 것은 이러한 심의가 대부분의 투자자들이 볼수 없는 '물밑'에서 진행된다는 점 입니다. 슈퍼 노드는 네트워크 논리를 변경하여 어떤 업무의 운행이 더 곤란해 지도록 하기도 합니다. 네트워크 속에서 어떤 것을 할 수 있고 어떤 것을 할 수 없는 결정권은 이러한 슈퍼 노드의 손 안에 장악될 수 있습니다.

간접적이고 비밀스러운 방식의 심의를 통해 대중의 참여는 모두 최소화됩니다. 결국 슈퍼 노드들이 유일하게 해야 하는 것은 바로 왜 프로토콜을 수정해야 하는지에 대해 그럴싸한 구호를 표방하는 것입니다. 이유가 충분히 합리적이기만 하면 그들은 기본적으로 상황을 모르는 대중을 오도할 수 있으며 우리는 심지어 그들이 어떤 사기 행각을 했는지 조차 모를 수 있습니다.

3. 경제적 보상 평등 분배



지분 증명(POS)에서 더 많은 토큰을 보유하고 보유 기간이 길어지면 노드로 선정될 확률이 높아지고, 돈이 많은 노드 일수록 다른 노드에 비해 더 빨리 부를 획득할 수 있습니다.

IOST 블록체인의 신뢰성 증명(POB) 시스템은 노드 선정과정에서 보유 IOSToken 잔액은 물론 커뮤니티에 대한 기여를 고려합니다. 커뮤니티 기여는 현재로서는 노드가 검증한 거래 및 수량을 바탕으로 측정되며, 이후에는 IOST테스트넷 결과에 따라 노드의 처리 능력 기여와 자원 기여를 또다른 측정지표로 추가할 것입니다.

이는 IOST 생태계에 기여를 한 집단은 보상을 획득할 수 있음을 의미하고, 올바른 행위를 할수록 더 많은 보상을 획득할 것임을 의미합니다. IOST 네트워크는 각 노드의 기여를 Servi라고 불리는 단위를 이용해 가늠할 것입니다. 유저 한 명의 신뢰성 점수는 Servi 잔액과 토큰 잔액 2가지 수치를 모두 고려해 판정됩니다. 신뢰성 점수가 높을수록 위원회에 선출될 가능성이 많아집니다.

신뢰성 증명(POB) 합의 프로토콜에 따르면 Servi는 자체적으로 소멸됩니다. 이는 노드 검증이 블록을 생성한 후에 시스템이 노드의 Servi 잔액을 자동으로 0으로 만드는 것을 의미합니다. 그러므로 모든 노드는 신뢰성 점수에 따라 높거나 낮은 순서로 돌아가며 블록을 검증합니다. 신뢰성이 높은 노드는 Servi의 소멸로 인해 계속해서 교체되고 이는 공평한 블록 보상 분배 기회를 의미합니다.


경제적 보상.png


신뢰성 증명(POB) 합의 프로토콜의 장점은 경제적 보상의 더욱 공평한 분배를 실현할 수 있다는 사실입니다. 커뮤니티에 기여한 모든 유저는 동등한 IOST 획득 기회가 있습니다. 더 중요한 것은 네트워크에 새로 가입한 구성원들도 네트워크에 가입한지 오래된 구성원과 동등한 경제 보상을 획득할 기회를 가진다는 점 입니다.

신뢰성 증명(POB) 합의 프로토콜의 의의는 그것이 모든 사람에게 평등한 기회를 주었다는데 있습니다. IOST는 일반에게 더 합리적인 경제 보상을 부여하고 모든 무리를 위해 기회를 제공하는 블록체인을 만들기 위해 노력합니다. 노드는 어떠한 다른 점을 갖고 있지 않으며 모든 사람이 기여를 통해 슈퍼 노드가 될 수 있습니다. 전체 IOST 시스템의 목적은 모든 참여자에게 평등하고 공평한 기회를 제공하는데 있습니다.

4. 신뢰성 증명(PoB)의 안전설계



신뢰성 증명(POB) 합의 프로토콜은 전통적인 POS의 영역을 확장하였습니다. POS는 노드가 대량의 토큰을 락인(Lock - in)해야 새로운 블록체인을 만드는데 참여할 자격이 생기고, 락인 비율에 근거해 블록 생성의 확률을 결정하였습니다. POS에서 블록생성확률은 어떠한 노드가 축적 혹은 부여 받은 토큰의 총량과 비례하지만, 신뢰성 증명(POB)에서는 이 확률은 더 많은 변수를 포함합니다. 확률산정에는 네트워크 클러스터링과 페이지 순위의 수학계산 사상을 응용하며 신뢰성 점수는 주로 다음의 요소로 결정됩니다.

거래량 검증

이 노드는 과거 30일간 얼마의 거래를 검증하였고 더 최근의 거래일수록 가중치가 더 커집니다.

순거래량

과거 30일간 얼마의 거래를 완성하였고 더 최근의 거래일수록 가중치가 더 커집니다.

토큰 보증금

새로운 블록을 구축하기 위하여 바인딩한 토큰 보증금

클러스터 노드

네트워크 중심 노드의 계정은 네트워크 가장자리 노드의 계정에 비해 가중치가 약간 더 큽니다.

신뢰성 점수는 POS의 주요 결함 두 가지를 해결하였습니다.

첫째, 노드는 단지 단순하게 최대한 많은 암호화폐를 축적하고 블록 생성에서 보상을 획득합니다 이러한 POS의 결함은 플랫폼 내의 부가 집중돼 IOST의 유통을 방해하게 됩니다. POB 합의 프로토콜은 토큰만을 보유하고 거래 생성과 전파를 돕지 않으면 신뢰성 점수가 더 낮아지며, IOST 유통을 도와야 신뢰성을 증가할 수 있음을 의미합니다.

둘째, nothing-at-stake문제입니다. 블록 설립은 자원을 낭비할 필요가 없기 때문에 포크 생성시, 노드는 2개의 포크 위에서 자유롭게 새로운 블록을 설립할 수 있으며 이렇게 하여 어떤 포크를 극대 혹은 무한하게 연장합니다. 신뢰성 증명(POB)은 보증금이 담보하는 ‘동결 보증금’을 이용해 이러한 상황의 발생을 예방할 수 있습니다. 위에서 말한 것과 같이 모든 검증위원회의 신뢰성 점수는 유저가 위탁해 동결한 토큰을 포함합니다. 이렇게 동결 된 토큰 보증금을 해제하기 위해서 유저는 비교적 긴 시간 구간 즉, 소위 ‘동결 해제기’를 기다려야 합니다. 이 역시 모든 유저로 하여금 사전에 노트 구성이 어떻게 변화되는지 알게 해 줍니다. 만약 이 ‘동결 해제기’가 없다면 노드는 기존의 검증위원회로부터 오는 공격을 쉽게 받을 수 있으며 사실상 이 검증위원회는 이미 존재하지 않을 수도 있습니다.

5. 확장성



우리가 이미 토론한 것과 같이 블록체인은 최종적으로 주류 대중에 의해 받아들여지고 그것의 혁명적 가치를 실현하기 위해 확장성을 반드시 필요로합니다. 그러나 블록체인의 확장성의 실현은 검열저항성(censorship resistance)을 희생해서 이뤄져서는 안되며, 만일 희생한다면 블록체인은 바로 중앙화 데이터베이스로 퇴화할 것입니다.

IOST의 솔루션은 실제로 확장 가능성의 트릴레마를 해결하려고 하며 censorship resistance를 희생하는 방법을 이용해 문제 해결을 회피하지 않습니다.

우리는 프로토콜 레벨(Protocol-level)과 레이어2(Layer-2) 확장 방안을 통해 확장 가능성을 제고하는데 여기에는 샤딩, 사이드 체인이 포함됩니다.


확장성.png

우리는 프로토콜 레벨(Protocol-level)과 레이어2(Layer-2) 레벨로 나뉘어지는 이중적 구조를 블록체인 확장성을 높일 수단으로 고려하고 있습니다.

프로토콜 레벨은 좀더 근본적이고, 정교한 블록체인 구조입니다. 프로토콜 레벨은 탈 중앙화와 안전이라는 블록체인의 고유한 특성을 유지하는 것이 주 목적입니다. 소수의 노드만으로도 모든 거래를 블록체인 위에서, 동시에 처리합니다.

레이어2(Layer2) 프로토콜은 대다수 거래를 블록체인(온체인) 바깥의 언더체인으로 보내는데 사용됩니다. 언더체인에 송부된 데이터는 때때로 Layer 2프로토콜을 통해 온체인과 내용을 주고 받습니다 .

* 언더체인 / 사이드체인 / 오프체인 이란?
기존의 주된 블록체인(메인체인 / 온체인)과는 별도로 운영되는 데이터 통로를 이야기 합니다. 언더체인이나 사이드체인, 오프체인은 반드시 블록체인일 필요가 없으며 경우에 따라서는 오프라인 상에서 구축될 수 있습니다. 언더체인상에서 벌어지는 거래의 모든 내역이 아니라, 일정시기마다의 거래처리 결과나 최종결과만이 메인체인에 정보가 기록되기에 메인체인상 데이터 처리분량을 압도적으로 줄일 수 있습니다. 기존 블록체인의 고질적 문제인 느린 처리속도를 비약적으로 끌어올릴 수 있는 해법으로 주목받고 있으며 현재 이더리움, 비트코인 네트워크의 속도 개선 솔루션으로 부상하고 있는 라이덴, 라이트닝 네트워크 등도 언더체인 / 사이드체인 오프체인의 일종입니다.

우리는 이 두 종류의 프로토콜이 상호 보완적이라고 생각하며, 이를 동시에 전략으로 채용하여 IOST의 확장성을 제고할 계획입니다.


IOST 공식 홈페이지 : http://iost.io
Steemit: https://steemit.com/@iostoken-kr
Facebook : http://bit.ly/IOSTKr_fb
Twitter : http://bit.ly/IOSTKr_twitter
Kakao : http://bit.ly/IOSTKr_kakao
Telegram : http://bit.ly/IOSTKr_telegram

Sort:  

와우 자세하게 설명해주셨네요

잘 읽고 갑니다 @iostoken-kr

감사합니다!

이오스 계정이 없다면 마나마인에서 만든 계정생성툴을 사용해보는건 어떨까요?
https://steemit.com/kr/@virus707/2uepul

Coin Marketplace

STEEM 0.17
TRX 0.15
JST 0.028
BTC 62102.06
ETH 2415.08
USDT 1.00
SBD 2.49