이전자료
•
클레이튼의 서비스체인은 메인과 연결된 독립적으로 운영되는 블록체인
•
확장성을 기반으로써 한 아이디어이다.
•
어느상황에서 쓰이냐면
◦
특별한 노드환경에서 설정 되어야할때
◦
보안 수준을 맞춤형으로 운영하고자 할때 (예를 들면 PRIVATE 블록체인)
◦
엄청나게 많은 처리량을 요구하는 서비스와, 메인넷에 배포할때 경제성이 낮다고 판단 될때에 서비스 체인을 쓰게 된다.
•
위의 이미지에서 가운데 큰 동그라미가 메인 넷이고, 양쪽으로 체인처럼연결되어있는게, 서비스 체인이다.
•
서비스 체인은 메인 체인의 신뢰를 고정시킨다고 생각하자.
•
메인 체인과 서비스 체인이 소통이 자유롭지는 않고, 오직 제한된 트렌젝션만 사용될 수 있다.
•
클레이의 전송도 추후 제약조건이 존제할 때에만 허용된다.
•
요약하면 서비스 체인은 독립된 서비스 공간을 구축해서 필요할때 메인넷의 신뢰를 고정 시키는 것
•
서비스 체인과 같은 기술은 다른 블록체인에서도 체택하려는 움직임이 있다.
•
이더리움에서는 메인 네트워크만의 환경에서 한계를 느낌
•
이더리움은 플라즈마라는 체인을 공개했었는데, 제대로 된다면 메인넷에 대한 부담을 줄인다고 하는데 실용성이 떨어진다고 한다.
•
클레이튼에서 서비스 체인 안에서는 트랜잭션에 소유되는 GAS 비용을 아예 안받게 설정이 가능하다.
•
bAPP 개발자나 서비스 제공자가 서비스 체인안에서 자기가 원하는 환경을 구축하고 서비스를 유저들에게 제공할 수 있다는 뜻이다.
이더리움과 클레이튼의 차이
•
이더리움은 단일 네트워크이다.
•
네트워크 구성간의 구분이 없다.
•
누구나 블록을 생성할 수 있는데,
•
단 블록을 만들었을때에 내가 먼저 만들었다고 가장 빨리 알려야 하고, 동시에 많이 알려줘야한다.
•
그렇게 보상을 받는 구조로 쓰고 있는 Proof-of-Work(작업증명) 방식이다.
•
마이닝 노드 : 블록을 쓰고 네트워크에 전파한 노드
•
즉 블록을 체굴하고 있는 노드가 무엇일지 모르기 때문에, 최대한 많은 노드들에게 붙어야한다.
•
쉽게 말해서 블록을 쓰는 노드는 최신 정보를 가지고 있는데, 그래서 이러한 정보를 빨리 받아야하는데, 이노드가 어디에있는지를 모른다.
•
만약에 A라는 노드에서 항상 블록 쓰는 것을 담당한다면 해당 근처 노드에만 달라 붙어 있으면 된다.(가장 정보를 빨리 볼수 있으니)
•
하지만 이더리움은 그 역할을 담당하는 노드가 항상 바뀌기 때문에 최대한 많은 노드들에게 붙어서 전파 즉 가쉽을 받아야한다.
•
이러면 확률적으로 최신 정보를 받을 수 있다.
•
어떠한 노드는 블록을 쓰고 전파할 수 있기 때문에, 최대한 많은 노드들과 연결을 하고 블록전파에 힘써야 최신 데이터를 확보 할 수 있다.
클레이튼에서는?
•
단일 네트워크가 아니라 2개의 Layer를 가지고 있다.
•
Two Layer Architecture Trust Model
•
Core Cell Network에 있는 합의 노드들 중 라운드마다 한 노드가 제한자로 뽑혀서 블록 쓰기 역할을 담당한다.
•
즉 매 라운드마다 합의노드들 중 하나가 뽑혀서 블록을 씀
•
최신 정보를 받기 위해서 바로 옆에 붙어서 작동이 된다.
•
Core Cell 안에 있는 합의 노드들이 블록을 만든다는 사실을 바깥에 있는 엔드포인트 노드들이 알고 있기 때문에 옆에 바로 붙는다.
•
그래야지 신뢰도가 높은 정보를 불러오거나 쓸 수 있기 때문이다.
•
우리가 어떤 어플리케이션을 만들때에 서버들도 같이 구축을 하게 된다.
•
자바나 SQL DB를 Azure, AWS 같은 클라우드 또는 개인 서버에 반영하게 된다.
•
이 서버가 직접적으로 코어셀과 연결을 시킬수 없으니 블록체인 데이터에 접근할려면 엔드포인트 노드에 먼저 연결을 해야한다.
•
내 컴퓨터를 엔드포인트 노드화 시켜서 연결 하거나 아니면 다른 엔드포인트 노드에 연결해서 쓸수도 있다.
•
하지만 이 Endpoint 노드를 개인적으로 운용한다는게 현실적으로 어렵다.
•
블록체인 시스템은 노드를 운영할 때 모든 노드를 동기화하여서 써야하기 때문에 똑바로 쓸려면, 새로운 블록들이 추가 될때 마다 동기화를 계속 시켜줘야한다.
•
그 외로 공격을 받아서 컴퓨터가 다운될 수도 있기 때문이다.
•
이러한 문제들 때문에 이더리움에 있는 인프라 노드처럼 신뢰 가능한 외부 노드에 연결해서 쓸수도 있다.
•
예를 들어서 웹 개발자가 있을때에 그런데 이 사람이 클레이튼에 연결해서 단순히 데이터만 읽어오는 사이트를 만들고자 한다.
•
그러면 개인적인 엔드포인트를 운영하는 것보다 신뢰 가능한 외부 공유 노드에 연결해서 쓰는 것이 훨씬 편하고 시간도 절약 된다.
•
마지막으로 이더리움과는 달리 오른쪽에 메인 넷과 부분적으로 소통할 수 있으며, 독립된 서비스 공간을 구축하는 서비스 체인이 있다.
•
최종
◦
클레이튼은 두개의 레이어가 서로 신뢰하는 네트워크
◦
내부 블록체인에 접근 할때에 엔드포인트노드가 코어셀네트워크에 연결해서 빠르게 데이터를 쓰거나 받을수 있는 구조이다.