이더리움 레이어2 시리즈(1) — State Channels(스테이트 채널)

100y
8 min readApr 30, 2022

--

본 아티클은 전문가의 의견이 아니며, 투자에 대한 조언이 절대 아님을 밝힙니다.

https://ethhub.io/

비트코인 라이트닝 네트워크(LN)에 대해서 개인적으로 공부하던 중, LN의 구조가 이더리움의 레이어2 스케일링 솔루션 중 하나인 ‘스테이트 채널(State Channels)’과 매우 비슷하여, 이에 대해 본 아티클에서 간단하게 정리해보려고 합니다.

스테이트 채널에 대해서 정리하는 김에, 나중에 다른 이더리움 레이어2 솔루션들에 대해서도 정리할 수도 있을 것 같아, 추후에 가능하다면 시리즈 형태로 다른 레이어2 솔루션들에 대해서도 다루어 보겠습니다.

스테이트 채널(State Channel)의 필요성

과거와 달리 이제는 블록체인 투자자들도 어느정도 중앙화된 거래소(CEX)를 벗어나 메타마스크(Metamask)와 같은 개인지갑을 사용하여 블록체인 온체인(On-chain)상에서도 투자를 활발히 하는 모습을 볼 수 있습니다. 이더리움 네트워크를 사용해본 사용자들이라면, 현재 이더리움에는 모두가 공감할 수 있는 확장성(수수료, 속도)의 문제가 있습니다.

따라서, 이더리움의 확장성 문제를 해결하기 위해 스테이트 채널(State Channel), 플라즈마(Plasma), 롤업 네트워크(zk, optimistic) 등과 같은 상당히 다양한 종류의 스케일링 솔루션(Scaling solutions)들이 제시되어 왔습니다. 오늘은 그 중에서도 스테이트 채널(State Channels)에 대해 알아보도록 하겠습니다.

롤업(Rollup)

https://vitalik.ca/general/2021/01/05/rollup.html

실질적으로 가장 연구가 활발히 진행되고 있고, 최신 기술의 레이어2 솔루션들은 zk롤업과 옵티미스틱 롤업입니다. 두 접근법 모두 레이어2 상의 오프체인에서 발생한 트랜잭션들에 대해서, 트랜잭션 데이터를 요악한 형태와 그 결과로 인해 변경된 스테이트 루트(state root)값을 포함하고 있는 배치(batch)를 주기적으로 이더리움 온체인에 제출함으로써 이더리움 네트워크의 보안을 이용하며 뛰어난 확장성을 가져갈 수 있습니다.

하지만, 롤업 네트워크는 아직까지는 수백~수천tps 정도의 퍼포먼스 밖에 보여주지 못하는 상황입니다. 또한 네트워크 가스비 측면에서도, 온체인보다는 매우 저렴하긴 하나, 아직은 트랜잭션당 거의 수백원 정도를 지불해야 합니다 (추후 이더리움 네트워크에 EIP-4844가 적용되고, 최종적으로는 이더리움2.0의 로드맵 중 하나인 Danksharding이 도입된다면 상당히 저렴해진 수수료와 수만~수십만tps까지 기대해 볼 수 있습니다.).

스테이트 채널이 필요한 경우

롤업 네트워크가 굉장히 범용적이고 최신의 기술이지만, 위에 언급한 이유들로 인해 어떠한 특정 상황에서는 스테이트 채널이 오히려 우위를 가져갈 수 있습니다.

만약 당신이 어떠한 서비스를 운영하고 있는데, 매 요청마다 사용자로부터 소량의 사용료를 받고 싶다고 가정합시다. 만약 사용할 때 마다 얻는 수익이 2원이라고 했을 때, 이를 이더리움 네트워크 상에서 받는다면 2원을 얻기 위해 매 번 수 천원의 가스비가 소모될 것이며, 롤업 네트워크 상에서 받는다고 해도 매 번 수 백원의 가스비가 소모되는 비효율적인 상황이 발생할 것입니다.

스테이트 채널(State Channel)

스테이트 채널은 위와 같이 소액의 거래가 꾸준히 발생하는 상황을 굉장히 효율적으로 해결할 수 있습니다: 제 3자의 개입 없이 이해 당사자들끼리 따로 오프체인 상에 지불 채널(Channel)을 개설하여 오프체인 상에서 거래를 진행하고, 맨 마지막에 채널을 닫으면서 이더리움 온체인 상에 기록을 합니다.

스테이트 채널의 작동 방식

스테이트 채널은 채널에 참여하는 거래 당사자들의 블록체인 상태(자금 전송에 있어서는 지갑 잔고)를 당사자들의 다중 서명(Multisig)로 운영되는 스마트 컨트랙트에 동결(Locking up)하며 개설됩니다. 이후 당사자들은 이더리움 온체인이 아닌 오프체인에서 거래를 진행하며, 거래가 끝난 후 마지막에는 스테이트 채널을 닫으며 최종적으로 이더리움 온체인 상에 변경된 상태를 기록합니다.

백문이불여일견인지라 작동 방식을 단계별로 살펴보며 스테이트 채널의 작동방식을 살펴보도록 하겠습니다.

https://blog.statechannels.org/do-we-still-need-state-channels/

Alice와 Bob이 스테이트 채널을 이용하여 거래를 진행한다고 가정합시다.

  1. Alice와 Bob은 각각 5 ETH 씩 스테이트 채널 컨트랙트에 동결하여 스테이트 채널을 개설합니다.
  2. 스테이트 채널에서는 당사자들끼리 원하는 만큼 거래를 오프체인 형식으로 진행할 수 있습니다. 서로 ETH를 주고 받으며 여러 번의 거래 이후 최종적으로 Alice: 3 ETH, Bob: 7 ETH의잔고가 스테이트 채널에 남았다고 가정합시다.
  3. 스테이트 채널은 블록체인이 아닙니다. 따라서 최종적인 결과를 다시 이더리움 온체인에 제출해야하며, 제출 후 동결된 잔고에서 3 ETH가 Alice에게, 7 ETH가 Bob에게 지급됩니다.

스테이트 채널의 장점은 이더리움 온체인을 전혀 사용하지 않고, 스테이트 채널이 개설된 상태에서 원하는 만큼 거래를 오프체인으로 빠르게 진행할 수 있다는 것입니다. 특히 스테이트 채널 내에서는 수수료도 들지 않기 때문에 매우 소액의 거래도 진행할 수 있다는 장점이 있습니다.

악의적인 행동 방지

만약 위 상황에서 Bob이 인터넷이 끊긴다거나, 프라이빗 키를 잃어버려 스테이트 채널에 참가하지 못하는 상황이 생긴다면 어떻게 할까요? Alice는 자금을 다시 돌려받을 수 있을까요? 이를 위해 스테이트 채널에는 옵티미스틱 롤업과 비슷하게 챌린지(Challenge) 메커니즘이 존재합니다.

원래라면 채널을 닫는데에 Alice와 Bob의 서명이 모두 필요하겠지만, 상대방이 부재하는 경우에서 이는 실행될 수 없습니다. Bob이 스테이트 채널에서 응답이 없다면, Alice는 스테이트 채널의 거래 내역을 통해서 제일 최신의 상태를 이더리움 온체인에 제출함으로써 스테이트 채널을 닫을 수 있습니다. 대신 이 경우에는 Alice가 악의적인 행동으로 Bob의 자금을 탈취할 위험이 있으므로, 챌린지(Challenge) 기간을 두어 누구든 이의를 제기할 수 있도록 합니다.

롤업 네트워크와의 차이점

스테이트 채널도 롤업 네트워크와 더불어 이더리움 네트워크를 사용함에 있어서 공통점이 있지만 작동 방식이 완전히 달라 결과적으로 많은 차이점들이 존재합니다.

  1. 트랜잭션을 묶어서 온체인 상에 제출하는 오퍼레이터(Operator)라는 제 3자가 존재하는 롤업 네트워크와 달리, 스테이트 채널에서의 거래에는 제 3자가 존재하지 않습니다.
  2. 지속적으로 거래 내역을 이더리움 온체인에 제출해야하는 롤업 네트워크와 달리, 스테이트 채널에서는 거래 당사자들끼리 합의 하에 채널을 처음에 개설할 때와, 마지막 거래가 끝난 후 채널을 닫을 때 이더리움 네트워크에 상태를 기록합니다.
  3. 스테이트 채널 내에서는 당사자들끼리 합의만 하면 되기 때문에, 거래의 완결성(Finality)가 즉시 보장됩니다. 따라서 롤업 네트워크보다는 훨씬 더 싼 수수료와 빠른 속도의 장점을 누릴 수 있습니다.
  4. 롤업 네트워크에서는 사용자들이 자유롭게 사용하고 나갈 수 있는 반면에, 스테이트 채널에서는 정해진 사용자들만 사용할 수 있다는 한계가 있습니다. 물론 채널이 열린 상태에서 사용자들이 들어올 수 있고 나갈 수 있지만, 그럴 때마다 컨트랙트를 변경해야하는 번거로움이 존재합니다.
  5. 스테이트 채널에서는 제한된 당사자들간, 긴 기간 동안 수많은 거래가 필요한 경우에 유리합니다. 스테이트 채널을 개설할 때 컨트랙트 배포가 필요하므로 비용이 발생하기 때문입니다.
  6. 롤업 네트워크와 달리 스테이트 채널에서는 이상적인 경우를 위해서 채널 내의 당사자들 100%의 참여가 필요하다는 단점이 존재합니다.

--

--