상태 채널
페이지 마지막 업데이트됨: 2026년 2월 26일
상태 채널을 통해 참여자들은 이더리움 메인넷과의 상호작용을 최소화하면서 오프체인에서 안전하게 거래할 수 있습니다. 채널 피어는 채널을 열고 닫기 위해 온체인 트랜잭션을 두 번만 제출하면서 임의의 수의 오프체인 트랜잭션을 수행할 수 있습니다. 이를 통해 매우 높은 트랜잭션 처리량을 달성하고 사용자 비용을 절감할 수 있습니다.
필수 구성 요소
이더리움 확장 및 레이어 2에 대한 페이지를 읽고 이해해야 합니다.
채널이란 무엇인가요?
이더리움과 같은 퍼블릭 블록체인은 분산된 아키텍처로 인해 확장성 문제에 직면합니다. 온체인 트랜잭션은 모든 노드에서 실행되어야 합니다. 노드는 네트워크의 탈중앙성을 유지하기 위해 평범한 하드웨어를 사용하여 블록의 트랜잭션 양을 처리할 수 있어야 하므로 트랜잭션 처리량에 제한이 있습니다. 블록체인 채널은 사용자가 최종 정산을 위해 메인 체인의 보안에 의존하면서 오프체인에서 상호작용할 수 있도록 함으로써 이 문제를 해결합니다.
채널은 두 당사자가 서로 많은 트랜잭션을 수행한 다음 최종 결과만 블록체인에 게시할 수 있도록 하는 간단한 P2P 프로토콜입니다. 채널은 암호학을 사용하여 생성된 요약 데이터가 실제로 유효한 중간 트랜잭션 집합의 결과임을 증명합니다. "다중서명" 스마트 계약은 트랜잭션이 올바른 당사자에 의해 서명되었는지 확인합니다.
채널을 사용하면 관련 당사자가 상태 변경을 실행하고 검증하여 이더리움의 실행 레이어에서 계산을 최소화할 수 있습니다. 이는 이더리움의 혼잡을 줄이고 사용자의 트랜잭션 처리 속도를 높입니다.
각 채널은 이더리움에서 실행되는 다중서명 스마트 계약에 의해 관리됩니다. 채널을 열려면 참여자가 온체인에 채널 계약을 배포하고 자금을 예치해야 합니다. 양 당사자는 채널의 상태를 초기화하기 위해 상태 업데이트에 공동으로 서명한 후, 오프체인에서 빠르고 자유롭게 거래할 수 있습니다.
채널을 닫으려면 참여자들은 마지막으로 합의된 채널 상태를 온체인에 제출해야 합니다. 이후 스마트 계약은 채널의 최종 상태에서 각 참여자의 잔액에 따라 잠긴 자금을 분배합니다.
P2P 채널은 사전 정의된 일부 참여자가 눈에 띄는 오버헤드 없이 높은 빈도로 거래하고자 하는 상황에 특히 유용합니다. 블록체인 채널은 지불 채널과 상태 채널의 두 가지 범주로 나뉩니다.
지불 채널
지불 채널은 두 명의 사용자가 공동으로 유지 관리하는 "양방향 원장"으로 가장 잘 설명할 수 있습니다. 원장의 초기 잔액은 채널 개설 단계에서 온체인 계약에 예치된 예금의 합계입니다. 지불 채널 전송은 초기에 한 번 온체인에서 생성하고 최종적으로 채널을 닫는 경우를 제외하고 실제 블록체인 자체의 개입 없이 즉시 수행될 수 있습니다.
원장 잔액(즉, 지불 채널의 상태)에 대한 업데이트는 채널의 모든 당사자의 승인이 필요합니다. 모든 채널 참여자가 서명한 채널 업데이트는 이더리움의 트랜잭션과 마찬가지로 확정된 것으로 간주됩니다.
지불 채널은 간단한 사용자 상호 작용(예: ETH 전송, 아토믹 스왑, 소액 결제)의 비용이 많이 드는 온체인 활동을 최소화하기 위해 설계된 최초의 확장 솔루션 중 하나였습니다. 채널 참여자는 전송의 순 합계가 예치된 토큰을 초과하지 않는 한 서로 간에 무제한의 즉각적이고 수수료 없는 트랜잭션을 수행할 수 있습니다.
상태 채널
오프체인 지불을 지원하는 것 외에 지불 채널은 일반적인 상태 전환 로직을 처리하는 데 유용하다는 것이 입증되지 않았습니다. 상태 채널은 이 문제를 해결하고 채널을 범용 계산 확장에 유용하게 만들기 위해 만들어졌습니다.
상태 채널은 여전히 지불 채널과 많은 공통점을 가지고 있습니다. 예를 들어, 사용자는 암호화 서명된 메시지(트랜잭션)를 교환하여 상호 작용하며, 다른 채널 참여자도 이에 서명해야 합니다. 제안된 상태 업데이트가 모든 참여자에 의해 서명되지 않으면 유효하지 않은 것으로 간주됩니다.
그러나 채널은 사용자의 잔액을 보유하는 것 외에도 계약 스토리지의 현재 상태(즉, 계약 변수 값)도 추적합니다.
이를 통해 두 사용자 간에 오프체인으로 스마트 계약을 실행할 수 있습니다. 이 시나리오에서 스마트 계약의 내부 상태에 대한 업데이트는 채널을 만든 피어의 승인만 필요합니다.
이는 앞에서 설명한 확장성 문제를 해결하지만 보안에 영향을 미칩니다. 이더리움에서 상태 전환의 유효성은 네트워크의 합의 프로토콜에 의해 시행됩니다. 이로 인해 스마트 계약의 상태에 대한 잘못된 업데이트를 제안하거나 스마트 계약 실행을 변경하는 것이 불가능합니다.
상태 채널은 동일한 보안 보장을 제공하지 않습니다. 어느 정도 상태 채널은 메인넷의 축소판입니다. 제한된 수의 참여자가 규칙을 시행하므로 악의적인 행동(예: 유효하지 않은 상태 업데이트 제안)의 가능성이 증가합니다. 상태 채널은 에 기반한 분쟁 중재 시스템에서 보안을 얻습니다.
상태 채널의 작동 방식
기본적으로 상태 채널에서의 활동은 사용자와 블록체인 시스템이 관련된 상호 작용의 세션입니다. 사용자는 대부분 오프체인에서 서로 통신하며, 채널을 열거나 닫거나 참여자 간의 잠재적인 분쟁을 해결하기 위해서만 기본 블록체인과 상호 작용합니다.
다음 섹션에서는 상태 채널의 기본 워크플로를 간략하게 설명합니다.
채널 열기
채널을 열려면 참여자가 메인넷의 스마트 계약에 자금을 예치해야 합니다. 예치금은 가상 탭 역할도 하므로 참여 행위자는 즉시 결제를 정산할 필요 없이 자유롭게 거래할 수 있습니다. 채널이 온체인에서 확정되어야만 당사자들이 서로 정산하고 탭에 남은 금액을 인출할 수 있습니다.
이 예치금은 각 참여자의 정직한 행동을 보장하는 보증금 역할도 합니다. 예금자가 분쟁 해결 단계에서 악의적인 행위를 한 것으로 밝혀지면 계약은 예금자의 예금을 삭감합니다.
채널 피어는 모두가 동의하는 초기 상태에 서명해야 합니다. 이는 상태 채널의 제네시스 역할을 하며, 이후 사용자는 거래를 시작할 수 있습니다.
채널 사용하기
채널의 상태를 초기화한 후 피어는 트랜잭션에 서명하고 승인을 위해 서로에게 전송하여 상호 작용합니다. 참여자는 이러한 트랜잭션으로 상태 업데이트를 시작하고 다른 사람의 상태 업데이트에 서명합니다. 각 트랜잭션은 다음으로 구성됩니다.
-
논스(nonce)는 트랜잭션의 고유 ID 역할을 하며 재전송 공격을 방지합니다. 또한 상태 업데이트가 발생한 순서를 식별합니다(분쟁 해결에 중요).
-
채널의 이전 상태
-
채널의 새로운 상태
-
상태 전환을 유발하는 트랜잭션 (예: 앨리스가 밥에게 5 ETH를 보냄)
채널의 상태 업데이트는 일반적으로 사용자가 메인넷에서 상호 작용할 때와 같이 온체인에서 브로드캐스트되지 않으며, 이는 온체인 공간을 최소화하려는 상태 채널의 목표와 일치합니다. 참여자들이 상태 업데이트에 동의하는 한, 이는 이더리움 트랜잭션만큼 최종적입니다. 참여자는 분쟁이 발생할 경우에만 메인넷의 합의에 의존하면 됩니다.
채널 닫기
상태 채널을 닫으려면 채널의 최종 합의된 상태를 온체인 스마트 계약에 제출해야 합니다. 상태 업데이트에서 참조되는 세부 정보에는 각 참가자의 이동 횟수와 승인된 트랜잭션 목록이 포함됩니다.
상태 업데이트가 유효한지(즉, 모든 당사자가 서명했는지) 확인한 후 스마트 계약은 채널을 확정하고 채널의 결과에 따라 잠긴 자금을 분배합니다. 오프체인에서 이루어진 지불은 이더리움의 상태에 적용되며 각 참여자는 잠긴 자금의 남은 부분을 받습니다.
위에 설명된 시나리오는 성공적인 경우에 발생하는 상황을 나타냅니다. 때로는 사용자가 합의에 도달하지 못하고 채널을 확정하지 못할 수도 있습니다(실패한 경우). 다음 중 어느 하나라도 해당될 수 있습니다.
-
참여자가 오프라인 상태가 되어 상태 전환을 제안하지 못합니다
-
참여자가 유효한 상태 업데이트에 공동 서명하기를 거부합니다
-
참여자가 온체인 계약에 오래된 상태 업데이트를 제안하여 채널을 확정하려고 시도합니다.
-
참여자가 다른 사람이 서명하도록 유효하지 않은 상태 전환을 제안합니다.
채널의 참여 행위자 간에 합의가 깨지면, 마지막 옵션은 메인넷의 합의에 의존하여 채널의 최종 유효 상태를 강제하는 것입니다. 이 경우 상태 채널을 닫으려면 온체인에서 분쟁을 해결해야 합니다.
분쟁 해결
일반적으로 채널의 당사자들은 사전에 채널을 닫는 데 동의하고 마지막 상태 전환에 공동 서명하여 스마트 계약에 제출합니다. 업데이트가 온체인에서 승인되면 오프체인 스마트 계약의 실행이 종료되고 참여자는 자신의 돈을 가지고 채널을 나옵니다.
그러나 한쪽 당사자는 상대방의 승인을 기다리지 않고 스마트 계약의 실행을 종료하고 채널을 확정하기 위해 온체인 요청을 제출할 수 있습니다. 앞서 설명한 합의 파기 상황 중 하나라도 발생하면 어느 쪽이든 온체인 계약을 트리거하여 채널을 닫고 자금을 분배할 수 있습니다. 이것은 무신뢰성을 제공하여 정직한 당사자가 다른 당사자의 행동에 관계없이 언제든지 예치금을 인출할 수 있도록 보장합니다.
채널 종료를 처리하려면 사용자는 애플리케이션의 마지막 유효한 상태 업데이트를 온체인 계약에 제출해야 합니다. 이것이 확인되면(즉, 모든 당사자의 서명이 있는 경우) 자금은 그들에게 유리하게 재분배됩니다.
하지만 단일 사용자 종료 요청을 실행하는 데는 지연이 있습니다. 채널을 종료하라는 요청이 만장일치로 승인되면 온체인 종료 트랜잭션이 즉시 실행됩니다.
사기 행위의 가능성으로 인해 단일 사용자 종료 시 지연이 발생합니다. 예를 들어, 채널 참여자는 오래된 상태 업데이트를 온체인에 제출하여 이더리움에서 채널을 확정하려고 시도할 수 있습니다.
이에 대한 대응책으로, 상태 채널은 정직한 사용자가 채널의 최신 유효 상태를 온체인에 제출하여 유효하지 않은 상태 업데이트에 이의를 제기할 수 있도록 합니다. 상태 채널은 더 새롭고 합의된 상태 업데이트가 더 오래된 상태 업데이트를 무효화하도록 설계되었습니다.
피어가 온체인 분쟁 해결 시스템을 트리거하면 상대방은 시간 제한(챌린지 기간이라고 함) 내에 응답해야 합니다. 이를 통해 사용자는 특히 상대방이 오래된 업데이트를 적용하는 경우 종료 트랜잭션에 이의를 제기할 수 있습니다.
어떤 경우이든 채널 사용자는 항상 강력한 최종성 보장을 받습니다. 즉, 자신이 소유한 상태 전환이 모든 구성원에 의해 서명되었고 가장 최근의 업데이트인 경우 일반적인 온체인 트랜잭션과 동일한 최종성을 가집니다. 그들은 여전히 온체인에서 상대방에게 이의를 제기해야 하지만, 유일한 가능한 결과는 그들이 보유한 마지막 유효한 상태를 확정하는 것입니다.
상태 채널은 이더리움과 어떻게 상호 작용하나요?
상태 채널은 오프체인 프로토콜로 존재하지만 온체인 구성 요소를 가지고 있습니다. 바로 채널을 열 때 이더리움에 배포되는 스마트 계약입니다. 이 계약은 채널에 예치된 자산을 제어하고, 상태 업데이트를 검증하며, 참여자 간의 분쟁을 중재합니다.
상태 채널은 레이어 2 확장 솔루션과 달리 트랜잭션 데이터나 상태 약정을 메인넷에 게시하지 않습니다. 그러나 사이드체인보다 메인넷에 더 많이 연결되어 있어 어느 정도 더 안전합니다.
상태 채널은 다음을 위해 메인 이더리움 프로토콜에 의존합니다.
1. 활성
채널을 열 때 배포된 온체인 계약은 채널의 기능을 담당합니다. 계약이 이더리움에서 실행 중이면 채널은 항상 사용 가능합니다. 반대로, 사이드체인은 메인넷이 작동하더라도 항상 실패할 수 있어 사용자 자금을 위험에 빠뜨릴 수 있습니다.
2. 보안
어느 정도 상태 채널은 보안을 제공하고 악의적인 피어로부터 사용자를 보호하기 위해 이더리움에 의존합니다. 이후 섹션에서 논의했듯이, 채널은 사용자가 유효하지 않거나 오래된 업데이트로 채널을 확정하려는 시도에 이의를 제기할 수 있도록 하는 사기 증명 메커니즘을 사용합니다.
이 경우, 정직한 당사자는 채널의 최신 유효 상태를 사기 증명으로 온체인 계약에 제공하여 검증을 받습니다. 사기 증명을 통해 서로 신뢰하지 않는 당사자들이 자금을 위험에 빠뜨리지 않고 오프체인 트랜잭션을 수행할 수 있습니다.
3. 최종 승인
채널 사용자가 공동으로 서명한 상태 업데이트는 온체인 트랜잭션과 동일하게 간주됩니다. 하지만, 모든 채널 내 활동은 채널이 이더리움에서 닫힐 때만 진정한 최종성을 달성합니다.
낙관적인 경우, 양 당사자는 협력하여 최종 상태 업데이트에 서명하고 온체인에 제출하여 채널을 닫을 수 있으며, 그 후 채널의 최종 상태에 따라 자금이 분배됩니다. 비관적인 경우, 누군가 온체인에 잘못된 상태 업데이트를 게시하여 속이려고 할 때, 그들의 트랜잭션은 챌린지 기간이 경과할 때까지 확정되지 않습니다.
가상 상태 채널
상태 채널의 단순한 구현은 두 명의 사용자가 오프체인에서 애플리케이션을 실행하고자 할 때 새로운 계약을 배포하는 것입니다. 이는 실현 불가능할 뿐만 아니라 상태 채널의 비용 효율성을 떨어뜨립니다(온체인 트랜잭션 비용이 빠르게 증가할 수 있음).
이 문제를 해결하기 위해 "가상 채널"이 만들어졌습니다. 열고 종료하기 위해 온체인 트랜잭션이 필요한 일반 채널과 달리, 가상 채널은 메인 체인과 상호 작용하지 않고도 열고, 실행하고, 확정할 수 있습니다. 이 방법을 사용하여 오프체인에서 분쟁을 해결하는 것도 가능합니다.
이 시스템은 온체인에서 자금을 조달한 소위 "원장 채널"의 존재에 의존합니다. 두 당사자 간의 가상 채널은 기존 원장 채널 위에 구축될 수 있으며, 원장 채널의 소유자가 중개자 역할을 합니다.
각 가상 채널의 사용자는 새로운 계약 인스턴스를 통해 상호 작용하며, 원장 채널은 여러 계약 인스턴스를 지원할 수 있습니다. 원장 채널의 상태에는 둘 이상의 계약 스토리지 상태도 포함되어 있어 여러 사용자 간에 오프체인에서 애플리케이션을 병렬로 실행할 수 있습니다.
일반 채널과 마찬가지로 사용자는 상태 업데이트를 교환하여 상태 머신을 진행합니다. 분쟁이 발생하지 않는 한, 중개자는 채널을 열거나 종료할 때만 연락하면 됩니다.
가상 지불 채널
가상 지불 채널은 가상 상태 채널과 동일한 아이디어로 작동합니다. 동일한 네트워크에 연결된 참여자는 온체인에서 새로운 채널을 열 필요 없이 메시지를 전달할 수 있습니다. 가상 지불 채널에서 가치 전송은 하나 이상의 중개자를 통해 라우팅되며, 의도된 수신자만 전송된 자금을 받을 수 있도록 보장됩니다.
상태 채널의 애플리케이션
지불
초기 블록체인 채널은 두 명의 참여자가 메인넷에서 높은 트랜잭션 수수료를 지불할 필요 없이 오프체인에서 신속하고 저렴한 수수료로 전송을 수행할 수 있도록 하는 간단한 프로토콜이었습니다. 오늘날에도 지불 채널은 이더와 토큰의 교환 및 예치를 위해 설계된 애플리케이션에 여전히 유용합니다.
채널 기반 지불에는 다음과 같은 장점이 있습니다.
-
처리량: 채널당 오프체인 트랜잭션의 양은 이더리움의 처리량과 관련이 없으며, 이더리움의 처리량은 블록 크기 및 블록 시간과 같은 다양한 요인의 영향을 받습니다. 오프체인에서 트랜잭션을 실행함으로써 블록체인 채널은 더 높은 처리량을 달성할 수 있습니다.
-
개인 정보 보호: 채널은 오프체인에 존재하기 때문에 참여자 간의 상호 작용 세부 정보는 이더리움의 공개 블록체인에 기록되지 않습니다. 채널 사용자는 채널에 자금을 지원하고 닫거나 분쟁을 해결할 때만 온체인에서 상호 작용하면 됩니다. 따라서 채널은 더 사적인 거래를 원하는 개인에게 유용합니다.
-
지연 시간: 채널 참여자 간에 수행되는 오프체인 트랜잭션은 양 당사자가 협력하면 즉시 정산되어 지연을 줄일 수 있습니다. 반면, 메인넷에서 트랜잭션을 보내려면 노드가 트랜잭션을 처리하고, 트랜잭션이 포함된 새 블록을 생성하고, 합의에 도달할 때까지 기다려야 합니다. 사용자는 또한 트랜잭션을 확정된 것으로 간주하기 전에 더 많은 블록 확인을 기다려야 할 수도 있습니다.
-
비용: 상태 채널은 특정 참여자 그룹이 장기간에 걸쳐 많은 상태 업데이트를 교환하는 상황에 특히 유용합니다. 발생하는 유일한 비용은 상태 채널 스마트 계약을 열고 닫는 것입니다. 채널을 열고 닫는 사이의 모든 상태 변경은 정산 비용이 그에 따라 분배되므로 마지막보다 저렴해집니다.
롤업과 같은 레이어 2 솔루션에 상태 채널을 구현하면 지불에 더욱 매력적으로 만들 수 있습니다. 채널은 저렴한 지불을 제공하지만, 개설 단계에서 메인넷에 온체인 계약을 설정하는 비용은 특히 가스 수수료가 급등할 때 비싸질 수 있습니다. 이더리움 기반 롤업은 더 낮은 트랜잭션 수수료 (opens in a new tab)를 제공하며 설정 수수료를 낮춰 채널 참여자의 오버헤드를 줄일 수 있습니다.
소액 결제
소액 결제는 기업이 손실을 입지 않고는 처리할 수 없는 소액 지불(예: 1달러 미만)입니다. 이러한 법인은 지불 서비스 제공업체에 비용을 지불해야 하는데, 고객 지불에 대한 마진이 너무 낮아 이익을 낼 수 없다면 이를 수행할 수 없습니다.
지불 채널은 소액 결제와 관련된 오버헤드를 줄여 이 문제를 해결합니다. 예를 들어, 인터넷 서비스 제공업체(ISP)는 고객과 지불 채널을 열어 서비스를 사용할 때마다 소액 결제를 스트리밍할 수 있습니다.
채널을 열고 닫는 비용 외에 참여자는 소액 결제에 대한 추가 비용(가스 수수료 없음)을 부담하지 않습니다. 이는 고객이 서비스에 대해 지불하는 금액에 대해 더 많은 유연성을 갖게 되고 기업은 수익성 있는 소액 결제를 놓치지 않으므로 상호 이익이 되는 상황입니다.
탈중앙화 애플리케이션
지불 채널과 마찬가지로 상태 채널은 상태 머신의 최종 상태에 따라 조건부 지불을 할 수 있습니다. 상태 채널은 임의의 상태 전환 로직도 지원할 수 있어 오프체인에서 일반 앱을 실행하는 데 유용합니다.
상태 채널은 온체인 계약에 예치된 자금을 관리하기 쉽기 때문에 간단한 턴제 애플리케이션으로 제한되는 경우가 많습니다. 또한, 제한된 수의 당사자가 오프체인 애플리케이션의 상태를 간헐적으로 업데이트하므로 부정직한 행동을 처벌하는 것이 비교적 간단합니다.
상태 채널 애플리케이션의 효율성은 디자인에 따라 달라집니다. 예를 들어, 개발자는 앱 채널 계약을 한 번 온체인에 배포하고 다른 플레이어가 온체인에 가지 않고도 앱을 재사용할 수 있도록 할 수 있습니다. 이 경우, 초기 앱 채널은 여러 가상 채널을 지원하는 원장 채널 역할을 하며, 각 가상 채널은 오프체인에서 앱의 스마트 계약의 새로운 인스턴스를 실행합니다.
상태 채널 애플리케이션의 잠재적인 사용 사례는 게임 결과에 따라 자금이 분배되는 간단한 2인용 게임입니다. 여기서의 이점은 플레이어가 서로를 신뢰할 필요가 없고(무신뢰성), 플레이어가 아닌 온체인 계약이 자금 배분과 분쟁 해결을 제어한다는 것입니다(탈중앙화).
상태 채널 앱의 다른 가능한 사용 사례로는 ENS 이름 소유권, NFT 원장 등이 있습니다.
아토믹 전송
초기 지불 채널은 두 당사자 간의 전송으로 제한되어 사용성이 제한되었습니다. 그러나 가상 채널의 도입으로 개인은 온체인에서 새로운 채널을 열 필요 없이 중개자(즉, 여러 P2P 채널)를 통해 전송을 라우팅할 수 있게 되었습니다.
"다중 홉 전송"이라고 흔히 설명되는 라우팅된 지불은 원자적입니다(즉, 트랜잭션의 모든 부분이 성공하거나 전체가 실패합니다). 아토믹 전송은 해시 타임락 계약(HTLC) (opens in a new tab)을 사용하여 특정 조건이 충족되는 경우에만 지불이 해제되도록 하여 거래 상대방 위험을 줄입니다.
상태 채널 사용의 단점
활성 가정
효율성을 보장하기 위해 상태 채널은 채널 참여자가 분쟁에 대응할 수 있는 능력에 시간 제한을 둡니다. 이 규칙은 피어가 항상 온라인 상태로 채널 활동을 모니터링하고 필요할 때 챌린지에 이의를 제기할 것이라고 가정합니다.
실제로 사용자는 통제할 수 없는 이유(예: 열악한 인터넷 연결, 기계적 고장 등)로 오프라인 상태가 될 수 있습니다. 정직한 사용자가 오프라인 상태가 되면 악의적인 피어는 중재자 계약에 오래된 중간 상태를 제시하고 예치된 자금을 훔쳐 상황을 악용할 수 있습니다.
일부 채널은 "감시탑"을 사용합니다. 이는 다른 사람을 대신하여 온체인 분쟁 이벤트를 감시하고 관련 당사자에게 알리는 것과 같은 필요한 조치를 취하는 주체입니다. 하지만 이는 상태 채널 사용 비용을 증가시킬 수 있습니다.
데이터 비가용성
앞서 설명했듯이, 유효하지 않은 분쟁에 이의를 제기하려면 상태 채널의 최신 유효 상태를 제시해야 합니다. 이것은 사용자가 채널의 최신 상태에 액세스할 수 있다는 가정에 기반한 또 다른 규칙입니다.
채널 사용자가 오프체인 애플리케이션 상태의 사본을 저장할 것으로 기대하는 것은 합리적이지만, 이 데이터는 오류나 기계적 고장으로 인해 손실될 수 있습니다. 사용자가 데이터를 백업하지 않은 경우, 상대방이 소유하고 있는 오래된 상태 전환을 사용하여 유효하지 않은 종료 요청을 확정하지 않기를 바랄 뿐입니다.
이더리움 사용자는 네트워크가 데이터 가용성에 대한 규칙을 시행하므로 이 문제를 처리할 필요가 없습니다. 트랜잭션 데이터는 모든 노드에 의해 저장 및 전파되며, 사용자가 필요할 때 다운로드할 수 있습니다.
유동성 문제
블록체인 채널을 설정하려면 참여자는 채널의 수명 주기 동안 온체인 스마트 계약에 자금을 예치해야 합니다. 이는 채널 사용자의 유동성을 감소시키고, 메인넷에 자금을 예치할 여유가 있는 사람들로 채널을 제한합니다.
하지만 오프체인 서비스 제공업체(OSP)가 운영하는 원장 채널은 사용자의 유동성 문제를 줄일 수 있습니다. 원장 채널에 연결된 두 피어는 가상 채널을 생성할 수 있으며, 원할 때 언제든지 오프체인에서 완전히 열고 확정할 수 있습니다.
오프체인 서비스 제공업체는 여러 피어와 채널을 열어 지불 라우팅에 유용하게 만들 수도 있습니다. 물론 사용자는 OSP의 서비스에 대한 수수료를 지불해야 하며, 이는 일부에게는 바람직하지 않을 수 있습니다.
그리핑 공격
그리핑 공격은 사기 증명 기반 시스템의 일반적인 특징입니다. 그리핑 공격은 공격자에게 직접적인 이익을 주지 않고 피해자에게 슬픔(즉, 해악)을 주기 때문에 붙여진 이름입니다.
사기 증명은 정직한 당사자가 모든 분쟁(유효하지 않은 분쟁 포함)에 대응해야 하거나 자금을 잃을 위험이 있기 때문에 그리핑 공격에 취약합니다. 악의적인 참여자는 오래된 상태 전환을 온체인에 반복적으로 게시하여 정직한 당사자가 유효한 상태로 응답하도록 강요할 수 있습니다. 이러한 온체인 트랜잭션 비용은 빠르게 증가하여 정직한 당사자들이 그 과정에서 손해를 볼 수 있습니다.
사전 정의된 참여자 집합
설계상 상태 채널을 구성하는 참여자 수는 수명 주기 동안 고정됩니다. 이는 참여자 집합을 업데이트하면 채널 자금 조달이나 분쟁 해결 시 채널 운영을 복잡하게 만들기 때문입니다. 참여자를 추가하거나 제거하려면 추가적인 온체인 활동이 필요하며, 이는 사용자에게 오버헤드를 증가시킵니다.
이는 상태 채널을 더 쉽게 이해할 수 있게 하지만, 애플리케이션 개발자에게 채널 디자인의 유용성을 제한합니다. 이는 부분적으로 상태 채널이 롤업과 같은 다른 확장 솔루션을 위해 폐기된 이유를 설명합니다.
병렬 트랜잭션 처리
상태 채널의 참여자는 순서대로 상태 업데이트를 보내므로 "턴제 애플리케이션"(예: 2인용 체스 게임)에 가장 적합합니다. 이는 동시 상태 업데이트를 처리할 필요를 없애고 온체인 계약이 오래된 업데이트 게시자를 처벌하기 위해 해야 할 작업을 줄여줍니다. 그러나 이 디자인의 부작용은 트랜잭션이 서로 의존적이어서 지연 시간을 늘리고 전반적인 사용자 경험을 저하시킨다는 것입니다.
일부 상태 채널은 오프체인 상태를 두 개의 단방향 "단순" 상태로 분리하는 "전이중" 설계를 사용하여 이 문제를 해결하며, 이를 통해 동시 상태 업데이트가 가능합니다. 이러한 설계는 오프체인 처리량을 향상시키고 트랜잭션 지연을 줄입니다.
상태 채널 사용하기
여러 프로젝트에서 탈중앙화앱에 통합할 수 있는 상태 채널 구현을 제공합니다:
- Connext (opens in a new tab)
- Kchannels (opens in a new tab)
- Perun (opens in a new tab)
- Raiden (opens in a new tab)
- Statechannels.org (opens in a new tab)
더 읽어보기
상태 채널
- 이더리움의 레이어 2 확장 솔루션 이해하기: 상태 채널, 플라즈마, 트루빗 (opens in a new tab) – 조쉬 스타크, 2018년 2월 12일
- 상태 채널 - 설명 (opens in a new tab) 2015년 11월 6일 - 제프 콜먼
- 상태 채널의 기초 (opens in a new tab) District0x
- 블록체인 상태 채널: 최신 기술 (opens in a new tab)
도움이 되었던 커뮤니티 참고 자료를 알고 계신가요? 이 페이지를 편집해서 추가하세요!