EOS
EOS의 로고는 보는 바와 같이 생겼으며, block.one이라는 회사에 의해 제작 및 관리되고 있는 3세대 블록체인입니다. Block.one의 CTO인 Dan Larimer가 EOS 개발에 핵심적인 역할을 했습니다. Dan Larimer는 EOS를 개발하기 전에 Steemit과 Bitshares라는 블록체인 Decentralized App을 이미 개발한 경험이 있는 블록체인 industry에 유명한 인물입니다.
또, EOS는 현재 가장 활동량이 많은 블록체인이기도 합니다. Blocktivity.info라는 사이트에 가면 EOS가 가장 활발하게 사용되고 있는 것을 보실 수 있습니다. 또, 폭발적으로 트랜잭션 수가 늘어난 블록체인이기도 합니다.
역사적으로 살펴보자면, 블록체인이라는 개념이 비트코인으로 처음 대중에게 알려진 이후로 블록체인은 다양하게 발전해왔습니다. 여기에 대해 일부 사람들은 블록체인 1, 2, 3세대라고 말을 하기도 하는데, 블록체인 1세대는 돈을 거래하는 화폐로서의 블록체인으로, 비트코인이 대표적입니다. 블록체인 2세대는 단순한 화폐의 기능에서 벗어나 화폐를 바탕으로 여러 참여자 간의 협의가 가능한 “스마트 컨트랙트”가 등장한 것이 특징인데, 이더리움이 대표적입니다.
EOS는 일부 사람들로부터 블록체인 3세대라 불리고 있는데, 기존의 이더리움 체계에서 나타난 여러 가지 문제들 (대표적으로 Scalability)을 해결하면서 나타난 것입니다.
다른 블록체인과의 차이는 이렇습니다. EOS는 비트코인과 이더리움과는 다른 DPOS(Delegated Proof of Stake)라는 합의 알고리즘을 채택하고 있어 트랜잭션 수에서 다른 블록체인과 크게 차이가 나며, 이더리움과 마찬가지로 DApp(Decentralized App)을 올릴 수 있습니다.
여기서 말하는 Latency는 트랜잭션이 블록체인에 제출된 이후 처음으로 해당 트랜잭션이 블록체인에 포함되기까지의 시간입니다. BTC와 ETH의 경우, 트랜잭션 비용에 따라 블록 포함 속도가 달라지기 때문에 Latency에 변동이 있지만, EOS는 트랜잭션 비용이 없기 때문에 가장 최근 블록이 생성되는 때 같이 포함됩니다.
다음으로 넘어가기 전에 언어를 명확하게 하겠습니다. EOS 관련 문서를 보면 EOS와 EOS.IO라는 단어가 자주 보이는데, EOS는 에코시스템의 이름이며 사용되는 토큰의 이름이며, 블록체인 네트워크의 통칭이기도 합니다. EOS.IO는 EOS 네트워크를 가동하는 블록체인 운영체제 (소프트웨어 시스템) 이름입니다.
Scalable
EOS의 첫 번째 특징은 Scalable 하다는 것입니다. EOS에서는 EOS.IO가 수많은 사용자들이 동시에 EOS 어플리케이션을 구동할 수 있는 OS라고 홍보합니다. 이를 위해서는 transaction이 많아져도 빠른 속도를 유지하며 작업을 처리하는 것이 중요하고, 이더리움에서는 이 문제를 해결하지 못해 자주 병목 현상이 일어나곤 했습니다.
EOS는 DPOS라는 합의 알고리즘을 사용하여 빠른 블록 생성 속도를 구현합니다. 그리고 DPOS의 빠른 블록 생성 속도를 뒷받침하기 위해 애플리케이션의 병렬 실행을 지원합니다. 그리고 여러 개의 체인을 동시에 지원합니다. Multiple chain이라고 합니다. 결과적으로 타 서비스와 비교해 보았을 때, 비자는 초당 약 일만 개의 트랜잭션을 처리할 수 있고, EOS는 이론 상으로 1초에 백만 개의 트랜잭션을 처리할 수 있습니다.
또 처리하는 트랜잭션 수의 평균값을 보면 ETH와 BTC와는 비교도 못할 정도의 트랜잭션 양을 감당하고 있습니다. 이를 보았을 때, EOS의 가장 큰 특징은 이러한 Scalability일 것입니다.
Governance
EOS의 두 번째 특징은 Governance입니다. 예전에 전체의 약 10퍼센트에 해당하는 360만 개의 이더리움이 해커의 공격으로 도난 당하는 사태가 있었습니다. 해커의 지갑에 도난당한 이더리움이 있는 것을 보면서도 이더리움 개발진은 해커의 지갑에 통제권이 없었기에, 하드포크로 블록을 되돌리는 작업을 해야만 했습니다.
이렇게 소프트웨어 알고리즘을 피해 교묘하게 발생하는 악의적인 문제를 EOS는 번거로운 하드포크 대신 투표를 통해 바로잡습니다. 후에 설명할 DPOS 방식에서 21명의 대표(Block Producer)를 선출하게 되는데, 이 사람들은 네트워크 전체를 대표해 프로토콜과 약관의 개정, 계정 동결 등의 일을 투표를 통해 진행하게 됩니다.
또한, EOS는 “EOS 헌법”이라는 것이 존재합니다. BP(Block Producer)들 사이의 투표를 통해 제대로 된 헌법으로 확정하고 EOS 전체 네트워크의 방향과 활동을 규정합니다.
Flexible
EOS 블록체인 상에 문제가 되는 것이 있으면, 다른 어플리케이션에 영향을 미치지 않으면서 문제가 되는 어플리케이션만 정지하고 손볼 수 있습니다. 또, 기존에는 역할이 바뀌면 사람에게 권한을 추가로 부여하는 방식을 사용해서, 역할이 바뀌어도 불필요한 권한을 여전히 가지고 있는 경우가 종종 발생하곤 했습니다.
EOS는 Role-Based Access Control 방식을 채택하여, 불필요하게 권한을 가지게 되는 상황을 방지하고 있습니다. 사람에게 권한을 주는 것이 아니라, 역할에 권한을 미리 다 부여한 다음, 사람에게 역할만 바꿔줌으로써 필요한 권한만 부여될 수 있도록 권한을 관리합니다.
그리고 EOS는 다양한 VM을 지원하는데, 이를 통해 이더리움의 스마트 컨트랙트와 웹 어셈블리로 만들어진 스마트 컨트랙트 등 다양한 컨트랙트들을 유연하게 지원하고 EOS 네트워크 상에서 실행시킬 수 있습니다.
참조
http://www.kmooc.kr/courses/course-v1:POSTECHk+CSED490U1+2021_T1/about
'SW > 블록체인' 카테고리의 다른 글
블록체인 : EOS가 DPoS를 합의 알고리즘으로 채택함으로써 발생할 수 있는 여러 이슈들과 EOS 네트워크에서 일어날 수 있는 공격 (0) | 2022.02.11 |
---|---|
블록체인 : EOS의 governance, 합의 알고리즘 등 EOS만의 다양한 특징 (0) | 2022.02.10 |
블록체인 : 이더리움 DApp 개발을 위해 Solidity 언어에 대해 공부하는 방법 (0) | 2022.02.08 |
블록체인 : 이더리움 플랫폼 활용 : 개발된 다양한 DApp 종류, 사례 (0) | 2022.02.07 |
블록체인 : 전통적인 App과 DApp 어떤 차이점, 아키텍쳐 : DApp 개발을 위해 고려해야 할 사항 (0) | 2022.02.06 |