> ## Documentation Index
> Fetch the complete documentation index at: https://docs.optimism.io/llms.txt
> Use this file to discover all available pages before exploring further.

# OP Conductor

> op-conductor가 OP Stack sequencer의 고가용성을 유지하는 방식, 제공하는 보장, 그리고 Raft 기반 설계의 동작 방식을 이해합니다.

이 페이지에서는 `op-conductor` 서비스가 무엇이며 개략적으로 어떻게 동작하는지
설명합니다. 기존 네트워크에 추가하려면
[설정 가이드](https://docs.optimism.io/ko/chain-operators/tools/op-conductor/setup.md)를 따르십시오. 전체 플래그 및
RPC 목록은
[구성 및 RPC 레퍼런스](https://docs.optimism.io/ko/chain-operators/tools/op-conductor/reference.md)를 참고하십시오.

## sequencer 안정성 및 가용성 향상

[op-conductor](https://github.com/ethereum-optimism/optimism/tree/develop/op-conductor)는
고가용성 구성에서 sequencer의 안정성과 가용성을 높이기 위해 설계된 보조
서비스입니다. op-conductor는 단일 장애 지점(single point of failure)과 관련된
위험을 최소화하여 sequencer가 계속 동작하고 응답할 수 있도록 보장합니다.

### 전제 조건

`op-conductor`는 비잔틴 장애 허용(Byzantine fault tolerance, BFT)을 포함하지
않는다는 점에 유의해야 합니다. 즉, 이 시스템은 참여하는 모든 node가 정직하고
올바르게 동작한다는 가정하에 운영됩니다.

### 보장 사항 요약

`op-conductor`의 설계는 다음을 보장합니다.

* **unsafe reorg 없음**
* **네트워크 분할 중 unsafe head 정체 없음**
* **node 장애가 1개 이하일 때 100% 가동 시간**

## 설계

![op-conductor.](https://mintcdn.com/optimism-373f39ad/Vw5vY8zA-CRjBsUF/public/img/builders/chain-operators/op-conductor.svg?fit=max\&auto=format\&n=Vw5vY8zA-CRjBsUF\&q=85\&s=7189ce3b2a31a460b140fff5156f2f18)

**개략적으로 `op-conductor`는 다음 기능을 수행합니다.**

### Raft 합의 레이어 참여

* **리더 결정:** Raft 합의 알고리즘에 참여하여 sequencer 중 리더를
  결정합니다.
* **상태 관리:** 최신 unsafe 블록을 저장하여 시스템 전체의 일관성을
  보장합니다.

### RPC 요청 처리

* **Admin RPC:** 수동 복구 시나리오를 위한 관리용 RPC를 제공합니다.
  리더십 투표 중지, 클러스터에서 자신을 제거하는 기능 등이 포함되며 이에
  국한되지 않습니다.
* **Health RPC:** `op-node`가 트랜잭션과 unsafe 블록의 게시를 허용할지
  판단할 수 있도록 health RPC를 제공합니다.

### sequencer 상태 모니터링

* 최적의 성능과 안정성을 보장하기 위해 sequencer(op-node)의 상태를
  지속적으로 모니터링합니다.

### 제어 루프 관리

* sequencer(op-node)의 상태를 관리하는 제어 루프를 구현합니다. 여기에는
  다양한 시나리오와 상태 검사에 따라 동작을 시작하고 중지하는 것이 포함됩니다.

## Conductor 상태 전이

다음은 op-conductor가 sequencer의 Raft 합의를 관리하는 방식을 나타낸 상태 머신
다이어그램입니다.

![op-conductor 상태 전이.](https://mintcdn.com/optimism-373f39ad/Vw5vY8zA-CRjBsUF/public/img/builders/chain-operators/op-conductor-state-transition.svg?fit=max\&auto=format\&n=Vw5vY8zA-CRjBsUF\&q=85\&s=9a5e01bc792a18c5078242c2dabe941e)

**유용한 팁:** 그래프를 더 잘 이해하려면 한 번에 하나의 node에 집중하여,
어떤 상태에서 현재 상태로 전이될 수 있는지, 그리고 현재 상태에서 다른 상태로
어떻게 전이될 수 있는지 파악하십시오. 이렇게 하면 상태 전이를 처리하는 방식을
이해할 수 있습니다.

## 다음 단계

* [설정 가이드](https://docs.optimism.io/ko/chain-operators/tools/op-conductor/setup.md)를 따라 다운타임 없이
  기존 다중 sequencer 네트워크에 op-conductor를 추가하십시오.
* [구성 및 RPC 레퍼런스](https://docs.optimism.io/ko/chain-operators/tools/op-conductor/reference.md)에서
  플래그와 admin RPC를 확인하십시오.
* [op-conductor-mon](https://github.com/ethereum-optimism/infra)을 확인하십시오.
  이 도구는 여러 op-conductor 인스턴스를 모니터링하고 메트릭 보고를 위한 통합
  인터페이스를 제공합니다.
* op-conductor와 상호작용하기 위해 [op-conductor-ops](https://github.com/ethereum-optimism/infra/tree/main/op-conductor-ops)에 익숙해지십시오.
