///
Search
📎

07.네트워크 구조 / 코어 셀 (Core Cell)

이전자료

클레이튼 네트워크 구조에 대해 설명하고자 한다.
A가 네트워크 축소판이다.
전체 네트워크 안에 Core Cell Network가 있고 이를 둘러싼 Endpoint Node Network가 있다.
이걸 확대해서 보는게 바로 B이다.
Core Cell Network 안에 노란색 부분은 CNN(합의 노드 네트워크) : 합의를 담당 하는 노드 라고 한다.
CNN에 한개의 노드는 여러개의 PNN 노드들과 연결 된다.
CNN으로 참여 될려면 어려운 조건을 만족해야하고, 각자가 다 완전 연결 되어 있어야만 한다.
합의하는 과정에서 최대한 빠른 커뮤니케이션을 해야 하기 때문이다.
CNN은 외부와는 직접적으로 접촉할 수 없고, 굉장히 Private한 환경으로 빠른 결정에 굉장히 유리한 조건에 있다.
접근 하려면 어떻게 해야할까?
바로 Core Cell 참여자로써 자기가 운영하고 관리하는 프록시 노드(PN)을 통해 통신을 하는 방식이다. 여기서 정보를 주고 받는다.
Endpoint의 조건은 생각보다 쉽다. (아무나 쉽게 할 수 있다.)
CNN에는 CN BootNode가 있고 PNN에는 PN BootNode, ENN에는 EN BootNode가 있다.
이 부트노드는 새로 들어오는 노드가 네트워크에 등록하고 또 다른 노드에 연결할 수 있도록 도움을 주는 클레이튼에서 운영하는 특색있는 노드이다.
CN BootNode만 비공개이다.
PN BootNode는 허용된 프록시 부트 노드만 등록할 수 있도록 해준다. 그리고 엔드포인트 노드들이랑 연결할 수 있도록 도와준다.
EN BootNode는어떤 프록시 부트랑 연결해야할지를 엔드포인트에게 전달하는 역할을 한다.

코어 셀(Core cell)

합의를 담당하는 코어 셀에서는 메인 해쉬에서 론칭되면 운영이 된다.
그리고 서비스가 잘됨에 따라 사용자가 많아져서 확장이 필요하면 코어 셀측은 어떻게 운영을 할까?
일반적인 블록체인이 아닌 경우는 서버를 늘리고 리퀘스트를 분산시킬텐데 블록체인은 노드를 늘려 봤자, 정보를 더 많이 공개해야해서 오히려 더 느려질수도 있다.
그래서 노드수를 늘리는 것 보다, 그 노드 자체의 성능을 늘려야한다.(클레이튼)
램이나 CPU 성능을 올리는 것이다.
그래서 합의 노드로써 참여하기 위한 조건이 있어야 한다.
CN(합의노드)로써 참여 조건은 물리코어(Physical core)의 수는 40개여야 한다.
램은 256GB RAM, 1년치의 데이터 약 14TB 저장, 10G속도의 네트워크
참여조건은 성능이 더 좋아도 더 안좋아도 애매하기 때문에 모두가 다 똑같은 서버여야만 한다.
코어셀 구조는 왼쪽 네모이다.
하나의 CN과 여러개의 PN으로 이루어져 있다는 것을 알 수 있다.
이 PN이라는 프록시 노드가 여러개 있냐면, CN에 연결하는 자원이 제한적이고, CN 역시 수가 한정 되어 PN을 이용해서 endpoint 연결을 지원하는 것이다.
예를 들어서 endpoint 노드들의 CN에 직접적으로 연결할 수 있다고 해보자.
CN이 ENDPOINT 커넥션을 1000개 까지 허용이 가능할 때에 더 큰 커넥션을 수용할 경우 문제가 발생한다.
그래서 그 역할을 PN이 해준다.
PN이 Endpoint 연결을 도와주고 CN에게 넘겨준다.
그리고 CN은 PN 몇개만 연결하기 때문에 더 안정적이고 확장성에도 용이하다.