# 확장성 솔루션

### 서비스체인 <a href="#service-chain" id="service-chain"></a>

클레이튼의 서비스체인은 클레이튼의 메인체인과는 분리된 독립적인 보조 블록체인입니다. 서비스체인은 개별 dApp에 맞도록 특별하게 노드 설정을 할 수 있습니다. 또한, 맞춤형 보안 레벨 설정을 하거나 메인체인에서는 불편하거나 불가능한 높은 처리량을 가진 블록체인을 구현할 수 있습니다.

완전히 탈중앙화된 스케일링 솔루션이 존재하지만 Challenge나 Exit 같은 어려운 인터페이스나 비즉각적 완결성 문제 때문에 클레이튼의 서비스체인은 다른 접근법을 취하였습니다. 서비스체인은 더 나은 사용성, 즉각적인 완결성, 높은 성능 및 가용성을 위해 완전한 탈중앙화를 일부 희생하였습니다.

클레이튼 서비스체인은 다양한 서비스별 목표를 위해 사용될 수 있으며 데이터 앵커링이나 밸류 트랜스퍼 같은 여러 가지 이유로 메인체인과 연결될 수 있습니다. (데이터 앵커링: 노드 수가 적어 서비스체인의 보안이 저하된 것을 보완하기 위해 서비스체인의 블록 해시를 메인 체인으로 정기적으로 저장하는 일 / 밸류 트랜스퍼: KLAY나 dApp에서 발행한 토큰의 체인 간 전송)

### 네트워크 <a href="#network" id="network"></a>

클레이튼 메인체인에 연결된 서비스체인들을 통칭하여 서비스체인 네트워크라고 부릅니다. 서비스체인과 메인체인의 연결 방법은 추후 달라질 수 있습니다.

![그림 1. Klaytn 메인체인과 서비스체인](https://4178890574-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LqJV-03ampuHElwofFa%2Fuploads%2Fgit-blob-804cc595e4515b5b602cf8fdc86369dd953c1604%2Fmainchain_servicechain.png?alt=media)

그림 1은 다양한 비즈니스 요구를 충족하기 위해 사용되는, 클레이튼 메인체인과 연결되어 클레이튼 네트워크를 확장하는 서비스체인들의 네트워크 토폴로지를 보여줍니다.

![그림 2. Main/Sub-Bridge Model을 이용해 연결된 메인체인과 서비스체인](https://4178890574-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LqJV-03ampuHElwofFa%2Fuploads%2Fgit-blob-94ffe69bfb238df5d7c2c228421f22d6f798ff49%2Fsc_connection.png?alt=media)

그림 2는 서비스체인의 기능인 main/sub-bridge 모델을 이용하여 클레이튼 메인체인의 EN(Endpoint Node)과 직접적으로 연결되어있는 SCN(Service Chain Consensus Node)의 예를 보여줍니다.

### Features <a href="#features" id="features"></a>

서비스체인은 데이터 무결성 메커니즘을 제공하고, 서로 다른 체인 간의 토큰 전송을 지원함으로써 Klaytn을 확장합니다.

#### 데이터 앵커링 <a href="#data-anchoring" id="data-anchoring"></a>

데이터 무결성을 위해 서비스체인의 블록 해시를 메인체인에 특별한 트랜잭션을 이용해 자동으로 저장할 수 있습니다. 이 데이터 앵커링을 이용하여 서비스체인에 올라간 데이터가 바뀌지 않았음을 사용자들에게 확신시킬 수 있습니다.

#### Value Transfer <a href="#value-transfer" id="value-transfer"></a>

서비스 제공자들(SPs)이 쉽게 서비스 사용자들을 체인간 이전할 수 있도록 KLAY나 dApp을 통해 만들어진 토큰 등의 체인간 전송을 지원합니다. 사용자는 bridge contract라고 불리는 특별한 컨트랙트에 트랜잭션을 보냄으로써 다른 체인으로 토큰을 쉽게 이전할 수 있습니다.
