클레이튼을
직접 공부해보기로 한 후 여러 자료들을 찾아보다가 한양대학교와 그라운드 X에서 진행한 클레이튼 관련 강의가 있었다는 것을 알게 되었다. 참고로 그라운드 X는 카카오의 블록체인 기술 자회사로 클레이튼 플랫폼을 개발하고 있는 회사이다. 2019년 9월부터 총 15주 동안 한양대학교에서 진행한 ‘스마트 계약 및 탈중앙 앱’ 강의를 유튜브와 인프런에 무료로 공개되어서 한번 공부해보았다.
강의는
기본적인 블록체인 개념부터 시작하여서 합의 알고리즘, 클레이튼의 차별점, 그리고 solidity 언어까지 클레이튼 플랫폼 개발의 처음부터 끝까지 다루고 있다. 총 36개의 영상으로 이루어져 있으며 각 영상마다 5분에서 20분까지 길지 않은 시간이다. 현재 나는 18개의 강좌를 수강한 상태이다.
그전에도
클레이튼 백서를 통하여서 나름대로 클레이튼의 목표, 구조, 성능에 대해서 공부해보았지만, 확실히 그라운드X에서 일하고 계시는 분께 직접 설명을 들으니 훨씬 이해가 잘되었다. 또한 초반에 블록체인의 기초 개념부분도 정말 알기 쉽게 설명해 주셔서 블록체인에 대해 전혀 알지 못하는 사람도 이 강좌 하나를 통해서 기본 개념부터 코딩 실습까지 해볼 수 있을 것 같다.
확실히
그라운드X, 즉 클레이튼의 목표는 결국 '서비스'가 핵심인 것 같다. 일반적인 dApp들과 다르게 상대적으로 중앙하된 중개 서버가 존재하여서 User Experience를 높이는 것에 초점을 둔다. 물론 이경우에 단점은 신뢰비용이 발생하고, 중개 서버가 다운되면 전체 서비스가 멈추는 single point of failure의 위험이 있다.
이더리움과 클레이튼의
차이점은 크게 두가지가 있다.
- 첫번쨰는 합의방식이다. 이더리움은 원래는 PoW를 사용하다 PoS로 넘어가는 단계이고, 클레이튼은 BFT 기반 합의 알고리즘을 사용한다. 클레이튼이 이런 방법을 선택한 이유는 성능에서 더 뛰어나기 때문이다. 대신 BFT 기반 알고리즘의 경우에는 참여 제한이 있고, 2/3 이상의 노드들이 합의해야만 진행된다는 단점이 있다. 클레이튼이 사용하는 ** 변형된 BFT 알고리즘** 은 조금 다른 부분이 매 블록마다 전체 노드들중에서 랜덤으로 소수의 노드들을 뽑아서 그 노드들이 BFT 알고리즘을 통하여 합의에 이르게 된다.
- 두번쨰는 트랜잭션과 서명부분이다. 이더리움의 경우에는 트랜잭션을 보낼 때 주소를 보내지 않고, 노드가 서명에서부터 공개키를 도출하게 하고 거기서 어카운트 주소를 도출하게 하는데, 이번 강좌에서 말씀해주신 바에 따르면 서명에서 공개키를 도출하는 그 과정이 연산량을 30%이상 증가시킨다고 한다. 그레서 클레이튼의 경우에는 주소와 저장된 공개키로 서명을 직접 검증하는 방식을 사용한다.