이전자료
•
클레이튼 네트워크 구조에 대해 설명하고자 한다.
•
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 몇개만 연결하기 때문에 더 안정적이고 확장성에도 용이하다.