안녕하세요. 블록체인을 통한 탈중앙화 된 미래를 꿈꾸는 @bigthumbsup입니다. 오늘은 인터체인의 한 축인 폴카닷(Polkadot)을 알아보겠습니다.
Polkadot 비젼
Polkadot은 개인 사용자의 데이터가 온전히 본인에게 소유되는 웹을 구상합니다. 이를 완전히 분산화 된 ‘Web3’이라 부릅니다. Polkadot은 프라이빗/컨소시엄 체인과 퍼블릭/비허가성 네트워크를 연결하려 합니다. 이를 통해서 독립적인 블록체인들이 Polkadot의 릴레이 체인(Relay chain, 중계체인)을 통해서 제 3자의 의존하지 않고 거래와 정보를 교환 할 수 있습니다.
Polkadot이 바라보는 7가지 문제점
상호운용성(Interoperability)- 블록체인 연결
체인간 가치 전송은 현재 거래소에 국한되어 있기 때문에 Polkadot은 제 3자 개입 없이도 체인간 원할한 데이터 전송을 가능토록 목표로 설정하고 있습니다. Polkadot은 다수의 체인이 상호 연결이 되면 더 많은 노드에 Tx 로드가 분산되어 스마트 계약 실행 비용을 줄이는 동시에 확장성과 분산성을 향상시킬 것으로 보고 있습니다.
확장성(Scalability)- 빠른 처리량
확장성은 Dapp 사용과 개발을 저해하는 주요 장애요소 입니다. 2017년이 ICO의 한 해였다면 2018년은 Dapp의 한 해가 되고 있습니다. 개발자들은 그래서 자연스럽게 사용자 베이스가 높은 체인에 많은 관심을 가집니다. 이 때문에 성공적인 EOS 메인넷 런치가 사용자와 개발자 모두에게 기대가 되고 있습니다. Polkadot 플랫폼은 체인을 연결하는 릴레이 체인을 통해서 체인간 트랜잭션 조정 및 합의 매커니즘을 제공합니다. 또한 다중 파라체인 구조는 다수의 트랜잭션이 병렬로 처리할 수 있는 확장성 솔루션을 입니다.
속도(Speed)- 러스트(Rust)를 통한 Tx 실행
Polkadot은 가상머신 안에서 빠른 실행 속도를 제공합니다. 최근에 Parity Technologies 사에서 발표한 Substrate를 이용하여 릴레이 체인과 각 파라체인이 구축되고 있습니다. Substrate는 Rust로 작성이되지만 핵심 기능은 WebAssembly(Wasm)으로 작성됩니다. Rust를 통하면 빠르게 코드 실행이 가능해지고 Wasm은 초당 작동 수가 적은 융통성을 지니게 됩니다. Polkadot 노드는 코드가 최신 버전인 경우 Rust에서 코드를 작동시키지만 노드가 구 버전을 가진 경우 Wasm 프로그램을 사용하여 코드를 실행시킵니다. 즉, 맞춤형 상태 머신과 자연어 코드 실행으로의 전환을 통해서 속도가 눈에 빠르게 증가 하게 됩니다. 결국 빠른 속도를 가진다는 것은 Dapp 개발자들을 유인할 수 있는 중요한 장점이 됩니다.
보안성(Security)- 기존 보안 활용
Polkadot의 기본 합의 알고리즘은 비잔티움 장애 허용의 변형인 POS입니다. 검증자(Validator) 노드는 모든 블록의 유효성을 체크하면서 릴레리 체인과 모든 파라체인의 보안을 책임집니다. 블록이 유효하면 검증자는 블록을 ‘봉인’하고 체인에 연결되도록 블록을 승인합니다. 검증자는 악의적인 행동을 하게 되면 담보(스테이킹)를 걸어두었던 DOTs를 몰수당하게 됩니다. Polkadot은 하나의 ‘보안 풀’을 제공하여 새로운 체인들이 자신들만의 보안 네트워크를 유지할 필요 없이 제공 받은 보안 툴을 이용하게 합니다. 결과적으로, 파라체인 수의 증가 또는 사용자 베이스 증가는 Polkadot 플랫폼의 경제적 가치를 높이게 되고 이는 경제적 보안성 향상으로 이어지게 됩니다. 경제적 가치가 높다는 것은 DOTs(Polkadot 토큰)의 가치 상승을 의미하는데, 이는 공격 비용이 점점 더 비싸져 보안이 높아지는 계기가 됩니다.
데이터 프라이버시(Data Privacy)- 개인 거래 및 허가형 체인
체인간 상호운용성이 용이해지면 데이터 침해 이슈가 떠오르게 됩니다. 이미 유럽에서는 유럽 자국민들의 개인 정보 보호를 위해 GDPR(General Data Protection Regulation)을 2016년에 공표하였습니다. 그만큼 데이터 프라이버시 사안이 점점 더 중요해지고 있습니다. 이에 따라서 Parity사는 이미 허가형 체인과 개인 거래에 대한 작업을 진행하고 있습니다. 현재까지는 Polkadot상에서 허가형 체인을 올리는 작업은 별 어려움이 없다고 합니다. 이는 추후에 상호운용성이 가지는 이점을 누리면서도 프라이빗한 개인간 데이터 전송을 할 수 있습니다.
개발가능성(Developability)- 용이한 개발환경 제공
용이한 개발 환경 조성은 블록체인 플랫폼에서 중요한 사안이지만 확장성 및 상호운용성문제가 뚜렷하기 때문에 현재 개발 한계성이 존재합니다. 이에 Polkadot은 개발자들이 용이한 Dapp 개발 환경을 가지도록 노력합니다. 앞서 언급한 Substrate를 이용하여 개발자들은 파라체인을 구축할 수 있어서 더 많은 시간을 제품 디자인 및 개발에 쏟을 수 있습니다.
거버넌스(Governance)- 조정 및 업그레이드가 가능한 블록체인
Polkadot은 정교한 거버넌스 메커니즘을 사용하여 이해 관계자의 요구에 따라서 변화할 수 있습니다. 프로토콜 변경은 온체인 거버넌스 시스템(On-chain Governance System)을 통해 이루어지고 결과는 법적 구속력을 지니면서도 불가역적이게 됩니다. 거버넌스 시스템 자체는 코인 홀더에 의해서 변경됩니다. 네트워크가 런치 되기 전까지는 최종 거버넌스 모델은 확정되지 않았습니다. Polkadot의 거버넌스 시스템은 전적으로 이해관계자의 투표로 만들어집니다. 하단의 이미지는 Polkadot의 거버넌스 매커니즘을 한 눈에 보여줍니다. 화살표 방향의 진행을 따라서 참조해주세요.
Polkadot의 3가지 메인 솔루션
1. 상호운용성(Interoperability):
Polkadot은 하나의 블록체인 상에서 어플리케이션과 스마트 계약이 다른 체인의 데이터 및 자산과 원활하게 상호작용할 수 있도록 합니다.
2. 확장성(Scalability):
Polkadot은 다수의 파라체인(Parachain)을 사용해서 병렬로 수 많은 트랜잭션을 처리합니다. 이를 통해 네트워크는 무한한 확장성을 가집니다.
3. 공유 보안(Shared Security):
Polkadot을 사용하면 보안이 네트워크 내에 통합되어 개별 체인이 집단 보안을 활용할 수 있습니다. Polkadot은 뛰어난 확장성을 지니며 블록체인간 커뮤니케이션이 원활하게 이루어지면서도 높은 보안성을 가지는 인터체인이 되려 합니다.
Polkadot 작동원리
Polkadot은 익명성과 검증이 쉽게 이루어지도록 여러 개의 파라체인으로 구성되어 있고 트랜잭션(Tx)이 체인간 전송이 되어 신속하게 처리됩니다. Polkadot은 각각의 블록체인이 보안성을 유지하면서도 양 체인간의 Tx가 충실하게 이루어지도록 합니다. 브릿지(Bridge)는 특화된 파라체인으로서 독립 체인을 연결할 때 생성이 됩니다.
상위 그림은 Polkadot의 작동원리를 보여줍니다
1. 릴레이 체인(Relay Chain, 중계 체인):
Cosmos의 Hub과 같은 역할을 합니다. 파라체인을 연결하는 중계 체인역할을 하며 파라체인 사이의 Tx 이동을 주관합니다
2. 파라체인(Parachain):
Cosmos의 Zone과 같은 역할을 합니다. 릴레이 체인에 묶일 수 있는 체인입니다. 거래가 수집하고 처리됩니다.
3. 브릿지(Bridge):
이더리움, 네오 등 각각의 합의 매커니즘을 가진 기존의 블록체인 간 연결을 담당합니다.
Polkadot의 참여자들
Polkadot 네트워크에는 검증가(Validator), 수집·분석가(Collator), 피셔맨(Fisherman) 그리고 지명자(Nominator) 총 4명의 참여자로 구성됩니다. 하단의 이미지는 4명의 Polkadot 참여자가 일하는 모습입니다.
1. 검증가(Validators):
검증가는 Polkadot 네트워크에서 가장 높은 권한을 가지며 새로운 블록을 봉인합니다. 검증자의 역할은 스테이킹 토큰 양 여부에 따라 달라집니다. 검증가들은 고가용성(高可用性, HA, High Availability) 및 대역폭으로 릴레이 체인 구현시켜야 합니다. 각 블록마다 노드는 지명된 파라체인 상에서의 새로운 블록을 승인하는 역할을 수행합니다. 이러한 과정에는 후보 블록들의 수신, 검증 그리고 재등록 등이 포함됩니다.
검증가들은 모든 파라체인의 완전한 동기식 데이터베이스를 유지하지 못함으로, 수집·분석가(Collator)인 제 3자에게 새로운 파라체인 블록을 마련하는 업무을 맡깁니다(쉽게 생각해서 수집·분석가들이 검증가의 업무를 지원 한다고 보시면 됩니다.) 새로운 파라체인 블록이 수집분석가들로부터 승인이 되면, 검증가들은 릴레이체인 블록을 승인해야 합니다. 이 작업에는 트랜잭션 대기행렬 상태 업데이트가 포함됩니다. 즉, 하나의 파라체인 아웃풋 대기행렬에서 또 다른 파라체인 인풋 대기행렬로의 데이터 이동을 말합니다.
검증가의 보상 체계
Polkadot은 코스모스의 합의 보상체계를 많이 참조하였습니다. 코스모스에서 마찬가지로검증가들은 업무태만을 하게 되면 처벌을 받게 됩니다. 초기의 의도치 않은 문제점을 발생시켰을 때는 검증자들에게 지급되는 보상이 보류됩니다. 지속적으로 문제점을 노출시키면 검증자들이 예치해놓았던 토큰을 소각하여 삭감 시킵니다. 무효한 블록을 만들어내는 이중 사인 또는 네트워크 교란 등의 악의적인 행위를 했을 때는 스테이킹 한 모든 토큰을 몰수 당하게 됩니다. (몰수된 토큰의 일부는 소각이 되지만 상당수의 토큰은 악의적인 행위를 제보한 정보 제공자와 정직한 참여자에게 돌아갑니다.)
2. 수집·분석가(Collators):
트랜잭션 수집·분석가(Transaction collators)는 검증가들이 유효한 파라체인 블록을 생산하도록 도와주는 역할을 합니다. 즉, 수집·분석가는 검증가를 보조하는 역할을 수행합니다. 수집분석가들은 특정 파라체인의 풀노드를 유지하는데 이는, 현재 POW 블록체인에서 마이너들이 새로운 블록을 생성하고 Tx를 처리하는 데 필요한 모든 정보를 보유하는 방식이라고 생각하시면 됩니다. 정상적인 상황에서는 블록을 생성하기 위해서 Tx를 수집하고 실행합니다. 이때 영지식증명(zero-knowledge proof)을 이용해서 파라체인 블록 승인을 담당 하는 하나 또는 그 이상의 검증가들에게 보냅니다.
수집·분석가, 지명가, 검증가의 관계는 시간에 따라서 변화할 것으로 보고 있습니다. 그러나 초기에는 Tx 양이 많지 않으면서 소수의 파라체인만이 존재하기 때문에 수집·분석가는 검증가와 아주 밀접하게 일을 수행할 것이라고 합니다. 추후에는 수집·분석가 풀이 형성되어 Tx 수수료를 얻기 위해서 경쟁을 하게 됩니다.
3. 지명자(Nominator):
지명자는 모범적인 검증가들을 선택하고 자신들이 보유한 DOTs를 스테이킹 시킴으로써 릴레이 체인의 안정성을 유지시킵니다. 지명자가 선택한 검증가들의 보안 기여도에 따라 지명자의 DOTs 예치금은 증가 또는 감소하게 됩니다.
4. 피셔맨(Fishermen, 어부):
사전적 의미로는 어부인 피셔맨(Fishermen)은 네트워크의 부적절한 행동을 감시하게 됩니다. 블록 생성 과정에는 참여하지 않고 독립적인 ‘바운티 사냥꾼(Bounty hunters)’ 역할을 하게 됩니다. 즉, 네트워크를 모니터링하고 블록 생성자의 불법적인 행동을 증명해내면 보상을 받게 됩니다. 무효한 블록을 승인하거나 동일한 부모 블록이 두개의 블록에 동시에 서명하는 행동들은 불법으로 간주됩니다.
DOT 토큰
Polkadot의 토큰인 DOT는 네트워크의 거버넌스, 운영 및 담보 총 3가지 목적성을 가집니다.
1. 거버넌스(Governance):
토큰 소지자는 프로토콜에 대한 권한을 가집니다. 수수료 구조 결정, 프로토콜 변경 및 업데이트, 파라체인 추가 및 제거 등의 권한을 부여 받습니다. 이러한 권한은 토큰 소지자들에게 공식적으로 부여되지는 않지만 의사 결정 프로세스에 참여할 수 있는 기회를 얻습니다.
2. 운영(Operations):
DOT 토큰은 Polkadot 네트워크의 합의 매커니즘을 용이하게 만듭니다. 악의적인 행동을 하는 참여자들은 자신들의 담보 토큰(DOTs)를 잃어버리게 됨으로 네트워크 교란 행위를 예방합니다.
3. 담보(Bonding):
Polkadot내의 가치 매커니즘을 제공합니다. 네트워크에 적극적으로 참여하면 상응하는 DOTs 보상을 얻습니다. POS의 개념처럼 새로운 파라체인을 구성하기 위해서는 DOT 토큰을 담보(스테이킹)를 걸어야 합니다.
Polkadot Genesis 블록의 초기 공급량은 1000만개 였으며 이 중 500만개는 2017년 10월 ICO를 통해 진행되었습니다. 200만개의 DOT 토큰은 추후 네트워크 출시 기여금으로 사용되며 나머지 300만개는 Web3 재단에서 사용됩니다. ICO를 진행한 500만개 토큰을 통해 485,331 이더(당시 37만원의 가격)를 확보하여 현재가로 약 4천억원 정도를 모금한 것으로 추산됩니다. DOT 토큰은 거래소에 구입할 수 없으며 Genesis 블록이 생성이 되는 시기에 500만개의 토큰이 배포됩니다. Genesis 블록의 출범은 2019년 3분기로 정해져 있습니다. 이는 2017년 Polkadot ICO에 참여한 투자자들은 Polkadot의 중장기적인 잠재성을 바라보고 투자한 것임을 알 수 있습니다.
마무리
블록체인 인터체인은 아주 중요하면서도 가치가 큰 연구입니다. 비트코인을 시작으로 지금까지 수 많은 블록체인이 탄생했으며, 지금도 새로운 블록체인 프로젝트가 매일 만들어지고 있습니다. 그러나 현재는 다수의 블록체인이 독립적으로 분리되어 있어서 체인간 원활한 커뮤니케이션이 이루어지고 않아 시너지 효과를 거의 기대할 수 없습니다. 블록체인 간 연결은 수 많은 정보의 원활한 전송을 가능케합니다. 이는 이전에는 상상하지 못했던 블록체인의 또 다른 혁신의 시발점이 될 것입니다. 폴카닷의 인터체인 여정에 모두 관심있게 바라보면 좋겠습니다.
감사합니다. @bigthumbsup 올림