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

# 멀티체인 안전 설계: Runespear

> Runespear는 SuperEarn의 크로스체인 자금을 위한 관제탑입니다. 자산과 메시지가 서로 다른 체인을 오갈 때도 예치·수익·출금이 정확히 정산되도록 보장합니다.

## 요약

* 멀티체인 시스템은 본질적으로 비동기적입니다. 메시지와 자산이 서로 다른 타이밍으로 움직입니다.
* Runespear는 다음으로 이를 해결합니다:

  * 크로스체인 메시지를 표준화하고,
  * 모든 메시지에 전체 상태 스냅샷을 실어 보내며,
  * 중복 계산을 피하는 보수적 회계 모델을 사용합니다.
* SuperEarn은 CCIP나 브릿지의 지연·부분 실패가 있어도 **자산 안전성과 정합성을 최우선**으로 하도록 설계되었습니다.

## 1. 멀티체인이 어려운 이유

SuperEarn이 여러 블록체인을 사용할 때(예: UI는 Kaia, 깊은 유동성은 Ethereum), 두 가지가 별도로 이동합니다:

* **메시지** – “이 동작 실행” (예치, 출금, 상태 업데이트)
* **자산** – 브릿지를 통해 실제 이동하는 USDT/USDC

이 두 레일은…

* 같은 시간에 도착하지 않고,
* 각자 지연·재시도·일시 실패할 수 있으며,
* 체인마다 약간 다른 순서로 처리될 수도 있습니다.

적절한 설계가 없으면:

* 자산이 두 곳에 있는 것처럼 보이는 일시적 **중복 계산**,
* 메시지나 브릿지 전송이 지연될 때 혼란스러운 잔액,
* 한 체인이나 서비스가 느리면 멈춰버리는 취약한 시스템이 생길 수 있습니다.

Runespear는 이를 해결하기 위한 SuperEarn의 해법입니다.

***

## 2. Runespear란?

Runespear는 Chainlink CCIP 위에 구축된, SuperEarn 볼트와 크로스체인 인프라 사이의 **표준화된 메시징 레이어**입니다.

요약하면, Runespear는:

* 체인 간에 **명확한 타입의 지시**를 주고받게 하고(예: “이만큼 브릿지 완료”, “출금 확인”),
* 모든 메시지에 **전체 상태 스냅샷**을 붙여 양쪽이 최신 시스템 상태를 공유하며,
* 실패 메시지·재시도를 자동으로 처리해 조용히 망가지는 일을 막습니다.

즉, SuperEarn 체인들이 안전하게 소통하기 위한 공용 언어이자 원장입니다.

***

## 3. 안전 목표

Runespear와 SuperEarn V2 아키텍처는 다음 목표로 설계되었습니다:

1. **자산 손실·중복 계산 금지**: 브릿지 전송 중에도 체인 전체 총자산이 수학적으로 일관되게 유지되어야 합니다.

2. **지연·장애에도 안전**: CCIP나 브릿지가 느려도 마지막으로 안전한 데이터를 사용하고, 새 정보가 오면 즉시 보정합니다.

3. **“멈춤” 없이 동작**: 잔액 조회 등 사용자 기능이 다른 체인 응답을 기다리느라 멈추지 않도록 합니다.

4. **신뢰 가정 최소화**: CCIP와 브릿지를 외부 인프라로 보고, 지연·실패가 있어도 안전하도록 설계합니다.

***

## 4. 두 레일, 하나의 일관된 그림

SuperEarn의 크로스체인 설계는 책임을 계층화합니다:

* **볼트(체인별)** – 각 체인에서 자금을 보관·운용
* **Message Agent** – 볼트 동작을 크로스체인 메시지로 변환
* **Crosschain Adapter** – CCIP와 네이티브 브릿지와 통신
* **Runespear / CCIP + 브릿지** – 메시지와 자산을 실제로 전달하는 인프라

사용자에게는 보이지 않지만, 안전을 위해 중요합니다:

* 볼트는 **로컬에서 검증된 잔액**만 다루고,
* Runespear와 어댑터가 시간이 지나도 **양측 상태를 동기화**합니다.

***

## 5. 모든 메시지에 상태 스냅샷

가장 중요한 안전 장치는 \*\*“모든 메시지에 상태를 싣는 것”\*\*입니다.

모든 Runespear 메시지는 다음을 포함합니다:

* 동작(예: “브릿지 완료”, “잔액 동기화”)
* 송신 체인이 현재 인지하는 **상태 스냅샷**:

  * 볼트에 얼마나 보유 중인지
  * 브릿지로 이동 중인 자산이 얼마나 되는지
  * 관련 타임스탬프와 마커

이 덕분에 수신 체인은 작은 변경분이 아니라 **매번 완전한 최신 상태**를 받습니다.

**안전한 이유:**

* 메시지가 지연·손실돼도 **다음** 메시지가 최신 스냅샷을 담아옵니다.
* 업데이트가 완벽한 순서로 이어질 필요 없이, 가장 최신의 진실로 덮어씁니다.
* 메시지가 재개되면 시스템이 **자체적으로 보정**되어 올바른 회계로 자연스럽게 수렴합니다.

***

## 6. 멈추지 않고 정확한 잔액 유지

크로스체인 시스템에서 자주 떠오르는, 하지만 위험한 생각이 있습니다:

> “다른 체인 새 데이터 올 때까지 아무도 움직이지 못하게 하자.”

SuperEarn은 이런 “멈춰!” 방식을 택하지 않습니다. 그럴 경우:

* 기본 조회(`totalAssets`)가 느리거나 불안정해지고,
* 모든 호출이 외부 시스템을 기다리게 되며,
* 즉각적 읽기 기능을 기대하는 다른 프로토콜과의 연동이 깨집니다.

대신 SuperEarn은 이렇게 합니다:

1. **로컬 온체인 데이터를 우선 신뢰**: 각 체인은 자신이 **로컬**에 얼마나 보유 중인지 정확히 압니다.

2. **다른 체인의 최신 스냅샷과 결합**: Runespear 메시지의 상태 스냅샷을 활용합니다.

3. **이동 중 자산 중복 계산 방지**: 브리징 중인 자산을 감지·차감해 중복 계산을 막습니다.

4. **사용자 조회를 막지 않음**: 메시지가 지연되어도 마지막 안전한 보수적 데이터를 써서 바로 잔액을 반환합니다.

현실에 빗대면:

* 같은 은행의 두 지점이 있다고 가정해 보세요.
* 각 지점은 자신의 장부를 관리하고 주기적으로 대조합니다.
* 다른 지점이 느려도 내 지점에서는 여전히 출금할 수 있습니다.
* 시간이 지나면 두 장부가 일치하며 모든 돈이 정확히 맞춰집니다.

Runespear 아래의 SuperEarn도 같은 방식으로 동작합니다.

***

## 7. 실패 시나리오를 다루는 방법

대표적인 “나쁜” 상황에서 시스템이 어떻게 동작하는지 살펴보겠습니다.

### 7.1 메시지 지연 또는 손실

CCIP/Runespear 메시지가 지연되거나 실패하면:

* 실패한 메시지 정보를 **저장**해 확인 및 재시도할 수 있게 하고,
* 이후 메시지에도 **전체 스냅샷**이 실리므로 시스템이 올바르게 재동기화됩니다.
* 사용자 화면은 마지막 안전한 상태를 사용해 계속 제공됩니다.

### 7.2 브릿지 혼잡·장애

체인 간 네이티브 브릿지가 느리거나 일시 중단되면:

* 진행 중인 전송을 **브릿지 큐**와 회계 레이어에서 추적합니다.
* 대상 체인에서 명확히 확인될 때까지 자산을 “도착”으로 간주하지 않습니다.
* 총자산은 수학적으로 일관되게 유지되고, 길어야 “이동 중” 상태로 처리될 뿐입니다.

### 7.3 원격 체인 문제

원격 체인이 혼잡하거나 일시적으로 응답하지 않으면:

* 원격 정보를 의존하는 Origin 측 동작은 더 보수적으로 변하지만, **회계가 깨지지는 않습니다**.
* Runespear 메시지가 재개되면 새 스냅샷이 누락된 단계를 자동으로 정산합니다.

***

## 8. 사용자에게 의미하는 바

사용자 입장에서:

* Kaia에서 **예치**하면 체인 전반에서 수익이 발생하고, 다시 Kaia에서 **출금**합니다.
* 그 사이에서 Runespear는:

  * 상태 스냅샷으로 체인 간 동기화를 유지하고,
  * 지연·재시도·순서 문제를 처리하며,
  * 자산이 줄어들거나 “이동 중 분실”되지 않도록 합니다.

실제로는:

* 크로스체인 활동이 많을 때 잔액이 잠시 **보수적으로** 표시될 수 있습니다.
* 그러나 다음을 목표로 설계되었습니다:

  * **안전** – 과대·중복 계산 없이,
  * **최종 정확** – 모든 메시지·전송이 정산되면 실제 값으로 수렴합니다.

***
