
이더리움 레이어2 확장 솔루션: 스테이트 채널
저자: 장러후이
1. 채널이란 무엇이며 왜 채널이 필요한가?
1.1 왜 채널이 필요한가?
블록체인은 사용자 수와 거래량 증가에 따라 거래 혼잡, 느린 처리 속도, 높은 수수료 등의 문제가 발생한다. 따라서 블록체인의 확장성을 향상시킬 필요가 있으며, 채널은 이러한 확장성 해결 방안 중 하나이다.
1.2 채널이란 무엇인가?
-
첫째, 채널은 블록체인 확장 문제를 해결하기 위한 방안으로, 점대점(P2P) 네트워크 또는 프로토콜이며, 채널 참여자 간 여러 번의 거래를 수행할 수 있도록 하고, 최종 처리 및 계산 결과를 체인 상에 제출하여 서명 검증과 정산을 수행한다. 채널은 지불채널과 상태채널로 나뉘며, 상태채널은 지불채널에서 파생된 것이다.
-
둘째, 채널은 오프체인 거래를 통해 메인체인과의 직접적인 상호작용을 줄여 메인체인의 부담을 완화하고 사용자의 비용을 절감할 수 있다.
-
셋째, 각 채널은 메인체인 상의 다중서명 스마트계약에 의해 관리되며, 채널을 개설하려면 양측이 체인 상에 계약을 배포한 후 일정량의 자산을 예치해야 한다.
-
넷째, 채널이 생성되면 양측은 초기 상태를 만들고 초기 잔액(예: 앨리스 5 ETH, 밥 5 ETH)을 기록하며, 양측은 초기 상태에 서명하고 각각 서명된 상태를 보관한다. 초기 상태는 양측의 로컬 데이터베이스 또는 안전한 저장소에 저장될 수 있다.
-
다섯째, 채널을 종료할 때는 양측이 최종 상태를 확인하고 최종 상태 서명을 생성한 후 블록체인에 최종 상태를 제출하며, 블록체인은 서명 검증과 정산을 통해 채널을 공식적으로 종료한다.
2. 상태채널의 작동 원리 및 절차
2.1 다중서명 계약 생성 및 배포, 채널 설정
2.1.1 다중서명 계약 배포
L1 메인체인에는 채널을 관리하기 위해 다중서명 계약을 배포해야 하며, 이 계약은 거래 당사자들이 일정 금액을 예치하고 채널 종료 및 정산 완료 시까지 자금을 잠그는 역할을 한다.
2.1.2 자금 예치
계약이 배포되었거나 이미 배포된 후 거래 당사자들은 각각 일정량의 자금을 예치하며, 해당 자금은 현재 다중서명 계약에 잠겨 있게 된다.
2.2 오프체인 거래
2.2.1 초기 상태 생성
채널이 설정되면 양측은 초기 상태를 생성하고 초기 잔액(예: 앨리스 5 ETH, 밥 5 ETH)을 기록한다. 양측은 초기 상태에 서명하고 각각 서명된 상태를 보관하며, 초기 상태는 양측의 로컬 데이터베이스 또는 안전한 저장소에 저장될 수 있다.

image.png
2.2.2 거래 수행
앨리스가 밥에게 1 ETH를 지불한다. 거래 후 새로운 잔액 상태는 앨리스 4 ETH, 밥 6 ETH가 되며, 양측은 새로운 잔액 상태에 서명하여 확인한다.

image.png
2.2.3 반복 거래
양측은 여러 차례 거래를 계속할 수 있으며, 매번 거래 후 잔액 상태를 업데이트하고 서명하여 확인한다. 예를 들어, 밥이 앨리스에게 2 ETH를 지불하면 새로운 잔액 상태는 앨리스 6 ETH, 밥 4 ETH가 된다. 이러한 거래 데이터는 앨리스와 밥의 로컬에 저장되며 즉시 블록체인에 제출되지 않는다.

image.png
2.3 채널 종료
2.3.1 채널 종료 준비
2.3.1.1 최종 상태 확인
앨리스와 밥은 가장 최근의 거래 상태를 확인하고 양측 모두 해당 상태에 동의해야 한다. 이 상태는 최신 잔액 분배 현황(예: 앨리스 6 ETH, 밥 4 ETH)을 기록한다.
2.3.1.2 최종 상태 서명 생성
양측은 최종 상태에 서명하여 최종 잔액과 양측 서명 정보를 포함하는 데이터를 생성한다.

image.png
2.3.2 최종 상태를 블록체인에 제출
앨리스 또는 밥 누구나 최종 상태를 블록체인에 제출할 수 있으며, 제출 내용에는 최종 잔액 분배와 양측의 서명이 포함된다.
2.3.3 검증 및 정산
2.3.3.1 서명 검증
블록체인에서는 제출된 서명을 검증하여 최종 상태가 양측이 인정한 것임을 보장한다. 검증 로직은 일반적으로 서명의 유효성과 최종 상태와의 일치 여부를 확인한다.
2.3.3.2 잔액 정산
검증이 완료되면 스마트계약은 최종 상태의 잔액 분배에 따라 다중서명 주소에서 자금을 해제하여 각 당사자에게 지급한다. 예를 들어, 앨리스에게 6 ETH, 밥에게 4 ETH를 분배한다.
2.3.3.3 채널 종료 표시
스마트계약은 채널 상태를 종료됨으로 표시하여 이후 추가적인 상태 제출을 방지한다.
3. 왜 채널을 다중서명 계약으로 설계하는가?
채널 계약을 다중서명 계약으로 설계하는 주된 목적은 양측의 자금 안전을 보장하고, 자금 이체 시 양측의 공동 동의를 요구하기 위함이다. 이러한 설계는 한쪽 당사자가 동의 없이 자금을 조작하는 것을 방지하는 추가적인 보안 계층을 제공한다. 다음은 채널 계약을 다중서명 계약으로 설계하는 주요 이유들이다.
3.1 자금 안전 보장
다중서명 계약에서는 자금 이체 시 복수의 서명(일반적으로 양측의 서명)이 필요하다. 이를 통해 일방적인 자금 이동을 방지하고 자금의 안전성을 강화한다.
3.2 사기 방지
다중서명 계약은 어느 일방이 사기 행위를 시도하는 것을 효과적으로 방지한다. 모든 자금 이동은 양측의 서명 확인이 필요하므로 모든 거래가 양측의 합의 하에 이루어짐을 보장한다.
3.3 오프체인 거래의 서명 확인 메커니즘 구현
다중서명 계약은 오프체인에서 여러 번의 거래를 수행하고, 매번 거래 후 서명을 통해 상태를 업데이트할 수 있게 한다. 최종 상태는 양측의 동의 하에 체인 상에 제출되어 정산된다. 이러한 메커니즘은 양측의 서명 확인을 필요로 하여 모든 단계의 작업이 투명하고 승인된 것임을 보장한다.
3.4 채널 종료의 정확성 보장
채널 종료 시 다중서명 계약은 최종 상태의 제출과 정산이 양측의 동의를 받아야 함을 보장한다. 이를 통해 어느 일방이 일방적으로 채널을 종료하고 불공정한 잔액을 취하는 것을 방지한다.
4. 상태채널의 장단점 비교
4.1 장점
첫째, 거래 비용이 낮아 거래 효율성이 향상된다. 둘째, 데이터가 체인에 올라가지 않아 높은 프라이버시를 제공한다. 셋째, 도전 기간(challenge period)이 존재하여 보안성이 강하다.
4.2 단점
첫째, 도전 기간이 존재하여 인출 속도가 느리다. 둘째, 오프체인에서는 스마트계약을 지원하지 않는다. 셋째, 거래 당사자들이 동시에 온라인 상태를 유지해야 하며, 참여자는 연결 상태를 유지하여 거래 상태 업데이트를 실시간으로 수신하고 처리하며 분쟁 해결에 참여해야 한다. 만약 일방이 악의적으로 채널을 종료하거나 잘못된 상태를 제출하려 할 경우, 온라인 상태인 다른 당사자가 즉시 개입하여 체인 상의 분쟁 해결 메커니즘을 활용할 수 있어야 한다. 넷째, 참여 주체가 제한적이다. 일반적으로 하나의 채널에는 2명의 참여자만 가능하며, 다수의 참여는 어렵다. 다섯째, 대규모 네트워크에 적합하지 않으며 확장성이 낮다.
TechFlow 공식 커뮤니티에 오신 것을 환영합니다
Telegram 구독 그룹:https://t.me/TechFlowDaily
트위터 공식 계정:https://x.com/TechFlowPost
트위터 영어 계정:https://x.com/BlockFlow_News













