상태 채널 (State Channel)

중급블록체인수정일

상태 채널(State Channel)은 특정 블록체인 생태계의 온체인 트랜잭션 수를 줄이는 데 쓰이는 레이어 2 확장 솔루션의 한 유형입니다. 정해진 참여자들이 블록체인에 자금을 잠근 뒤, 그 사이의 여러 상호 작용을 블록체인 밖(오프체인)에서 서명된 메시지로 주고받고, 채널을 닫을 때 최종 상태만 블록체인에 기록합니다. 그래서 상호 작용이 일어나는 동안에는 더 저렴하고, 비공개적이며, 효율적인 장소가 됩니다.

작동 방식

  1. 채널 열기: 참여자들이 멀티시그 주소나 스마트 계약에 일정 금액을 예치합니다. 이 온체인 트랜잭션으로 채널이 열립니다.
  2. 오프체인 상태 갱신: 참여자들은 잔액 배분 같은 새 상태를 만들 때마다 모두 서명해 서로 교환합니다. 각 상태에는 순번이 붙어 있어, 순번이 더 높은 상태가 이전 상태를 대체합니다. 이 과정은 블록체인과 상호 작용하지 않으므로 수수료가 없고 블록 확인을 기다리지 않습니다.
  3. 채널 닫기: 참여자들이 합의한 최종 상태를 블록체인에 제출하면 예치금이 그에 따라 배분됩니다.

참여자를 신뢰할 필요가 없는 이유

상태 채널은 참여자 사이의 신뢰에 의존하지 않습니다. 한 참여자가 협조하지 않거나 자신에게 유리한 옛 상태를 제출해 채널을 닫으려 하면, 일정한 분쟁 기간(challenge period) 동안 상대방이 더 최신의 서명된 상태를 제출해 이를 무효로 만들 수 있습니다. 비트코인 라이트닝 네트워크처럼 옛 상태를 제출한 쪽의 자금을 상대방이 모두 가져가는 벌칙을 두는 설계도 있습니다. 안전성은 서명된 상태와 온체인 분쟁 해결 규칙으로 보장되며, 그 대신 참여자가 분쟁 기간 안에 대응할 수 있어야 합니다.

대표적인 구현

  • 라이트닝 네트워크(Lightning Network): 비트코인의 결제 채널 네트워크입니다. 직접 채널이 없는 사람에게도 여러 채널을 거쳐 결제할 수 있도록 해시 시간 잠금 계약(HTLC)을 씁니다.
  • Raiden Network: 이더리움에서 ERC-20 토큰 결제를 위해 개발된 결제 채널 네트워크입니다.

사용 예

  • 소액 반복 결제: 동영상이나 API 사용량에 따라 초 단위·건 단위로 대금을 지불하는 경우처럼, 같은 상대와 작은 금액을 자주 주고받는 결제에 적합합니다.
  • 턴제 게임: 두 사람이 체스를 둘 때 수 하나하나를 블록체인에 기록하면 비용이 많이 들고 느립니다. 상태 채널에서는 각 수를 서명된 상태로 주고받고, 결과만 블록체인에 기록할 수 있습니다.

장점

  • 낮은 수수료: 온체인 트랜잭션은 채널을 열고 닫을 때만 필요합니다.
  • 빠른 처리: 채널 안의 상태 갱신은 블록 확인을 기다리지 않고 즉시 이루어집니다.
  • 개인 정보 보호: 중간 상태는 블록체인에 공개되지 않고 최종 상태만 기록됩니다.
  • 확장성: 많은 상호 작용을 블록체인 밖에서 처리해 네트워크의 부담을 줄입니다.

한계

  • 참여자 고정: 채널은 미리 정한 참여자 사이에서만 쓸 수 있어, 불특정 다수가 참여하는 서비스에는 맞지 않습니다.
  • 자금 잠김: 채널에 예치한 자금은 채널이 열려 있는 동안 다른 곳에 쓸 수 없고, 채널 안에서 보낼 수 있는 금액도 예치금 범위로 제한됩니다.
  • 온라인 유지 필요: 상대방의 부정한 채널 종료에 대응하려면 분쟁 기간 동안 블록체인을 감시해야 합니다. 이를 대신해 주는 감시 서비스(워치타워)를 쓰기도 합니다.
  • 온체인 비용: 채널을 열고 닫는 데는 여전히 온체인 수수료가 듭니다.

이 글은 학습을 위한 일반 정보이며 투자 권유나 법률 자문이 아닙니다. 가상자산은 가격 변동이 크고 원금 손실 위험이 있습니다.