라이트닝 네트워크는 불가능한 스케일링 솔루션이다 : Limitation of lightning network(1부)

안녕하세요, 암호화폐가 가져올 새로운 미래를 꿈꾸는 @Cryptodreamrs입니다.

필자역시 많은 암호화폐 전문가들이 예상하듯, 라이트닝 네트워크가 완전한 모습으로 비트코인에 적용되는 시점은 비트코인을 비롯하여 암호화폐 시장의 새로운 시대를 여는 역사적인 순간이 될 것이라 생각합니다.

비트코인의 스케일링 문제를 해결할 수 있는 최적의 솔루션으로 주목 받는 라이트닝 네트워크. 하지만 모든 사람이 라이트닝 네트워크가 완벽한 솔루션이라고 생각하지는 않는 것 같습니다.

스크린샷 2018-03-04 오후 5.07.12.png

<라이트닝 네트워크는 스케일링 솔루션이 될 수 있을 것인가?>

이번에는 라이트닝 네트워크의 한계점으로 지적되고 있는 부분들에 대해 상세하게 살펴볼까 합니다. 라이트닝 네트워크에 대한 설명을 생략하고 진행하니, 이에 대한 사전 이해가 필요하신 분들은 앞서 3부에 걸친 라이트닝 네트워크에 대한 설명을 참고하시면 좋을 것 같습니다.

라이트닝 네트워크란 무엇인가?(1부) : 라이트닝 네트워크의 개념
https://steemit.com/lightningnetwork/@cryptodreamers/lightning-network-1

라이트닝 네트워크란 무엇인가?(2부) : 일대일 당사자간의 거래
https://steemit.com/lightningnetwork/@cryptodreamers/lightning-network-2

라이트닝 네트워크란 무엇인가?(3부) : 다자간의 거래
https://steemit.com/lightningnetwork/@cryptodreamers/lightning-network-2

<라이트닝 네트워크의 한계>

"라이트닝 네트워크는 Micro payment의 네트워크를 활용해서 하루에 수백만건의 비트코인 거래를 처리할 수 있도록 스케일링 할 수 있다" 라는 주장은 분산화된 것이 아니라, 오히려 집중화된 거대한 뱅킹 허브가 필요하다는 사실을 간과하고 있습니다.
많은 사람들은 라이트닝 네트워크가 완전히 분산화된 P2P 형태를 가질 것이라 생각하지만, 수학적인 예측에 따르면 전혀 불가능한 주장입니다.

비트코인은 애초에 P2P의 형태를 가진 화폐로, 블록사이즈의 증대를 통해 스케일링을 하도록 디자인되어 있습니다. 하지만 점차 비트코인의 스케일링 문제가 대두되면서 이 문제를 어떻게 해결할 것인가에 대해 논쟁이 생겨났죠. 57명의 비트코인 코어 개발자들은 공식적으로 "Capacity Increase Roadmap(용량 증가 로드맵)이라는 라이트닝 네트워크의 로드맵을 지지했고, 라이트닝 네트워크는 Non-bandwidth 스케일링 메커니즘이며, 고도의 탈중앙화된 서비스를 제공할 수 있다고 주장합니다. 하지만 그것이 정말 가능한 것인지는 여러분들께서 직접 판단하셔야 할 것입니다.

1) 라이트닝 네트워크는 탈중앙화(Dicentralized)인가 분산화(Distributed)인가?

일반적으로 비트코인에 대한 토론을 할 때, 많은 사람들은 탈중앙화(Dicentralized)라는 단어를 분산화(Distributed)의 개념으로 사용합니다. 탈중앙화는 서버와 클라이언트의 관계처럼 서버에 모든 것이 집중되어 있지 않은 형태를 의미하는 것이며, 분산화는 탈중앙화의 한 형태로 모든 노드들이 수평한 관계로 네트워크를 형성한 것입니다. 라이트닝 네트워크는 탈중앙화의 형태를 갖게 될 것이며, 분산화와 같은 형태가 아닐 것이라는 사실을 알 수 있습니다. 라이트닝 네트워크의 모델이 탈중앙화의 한 형태가 아니라 완전하게 분산화된 네트워크 모델을 따른다고 짐작하는 것이 라이트닝 네트워크에 대한 과대평가를 불러 일으키게 됩니다.

스크린샷 2018-03-04 오후 5.30.33.png

2) 라이트닝 네트워크는 왜 스케일링 솔루션이 될 수 없는가?

라이트닝 네트워크는 자신이 원하는 유저에게 손쉽게 접촉할 수 있도록 만들어진 일반적인 네트워크가 아닙니다. 여러분께서 비트코인을 보내거나 받기 위해서는 결제채널(Payment Channel)이 특정 유저와 만들어져 있어야하죠 (없으면 만들면 되긴 하지만). 혹은 Payment Channel이 연결된 일련의 루트(Route)가 필요합니다. 즉, 다른 유저와 연결이 되기 위해서는 직접 연결이 되있거나, 그것이 불가능한 상황이라면 다른 누군가를 거쳐서 연결이 될 수 있어야합니다.

만약, 거래의 상대와 연결된 결제채널이 없기 때문에 새로운 채널을 만들어야만 한다면, 일반적인 비트코인의 거래처럼 비트코인 블록체인을 통해 거래를 해야하는 것이고, 이 부분에 있어서 라이트닝 네트워크의 의미가 크게 희석됩니다. 왜냐하면 결제채널을 생성하거나, 종료하는 경우 일반적인 거래와 마찬가지로 비트코인의 블록체인에 거래등록이 되어야하기 때문입니다.

유저의 입장에서 일련의 결제채널들을 활용하여 누군가와 연결된다면, 아래의 사진처럼 나무 형태의 구조를 갖게 될 것입니다.
스크린샷 2018-03-04 오후 5.52.48.png

라이트닝 네트워크의 목적이 수백만, 수천만의 유저들을 묶는 네트워크를 구성하는 것이라고 가정해보죠. 여러분께서 만약 10개의 가지(당신과 연결된 유저들과의 결제채널)를 갖고 있고, 그 10명의 유저들 역시 10개의 가지를 갖고 있다고 한다면, 여러분들은 10 X 10의 '잎사귀'에 도달할 수 있습니다. 이런식으로 6번의 가지를 친다고 하면, 10 x 10 x 10 x 10 x 10 x 10 혹은 간단하게 10⁶, 100만이 되겠죠. 즉, 10개의 채널들과 6개의 노드(Hop)가 생깁니다. 뭐가 문제가 될까요?

<비트코인은 동시에 두 곳에 존재할 수 없다>


우리가 만약 모든 네트워크에 6개 이하의 노드(Hop)을 통해 접근이 가능하고자 한다면, 최소 10개의 payment Channel이 필요합니다. 하지만 아마도 특정한 유저와 원하는 연결이 이루어 지기 위해서는 오직 한 가지의 채널로만 도달이 가능합니다. (위의 그림처럼 나무가지 형태로 만들어 져있다고 생각해보면, 맨 아래쪽의 특정한 유저에게 도달하는 길은 오직 1가지 방법밖에 없기 때문이죠). 즉, 이 말은 당신은 오직 당신이 가진 돈의 일부만 보낼 수 있다는 의미입니다. (예를 들어 10%) 만약 우리가 2채널로만, 20개의 노드(Hop)을 가진다면 어떻게 될까요?

<모든 사람은 모든 사람에게 돈을 빌려주어야 한다>


Alice가 Bob을 통해서 커피숍 사장님에게 2BTC를 보내고자 하는 상황을 가정해봅시다. 이 돈을 보내기 위해서는 Bob은 커피숍 사장님과의 채널에서 최소한 잔고로 2BTC를 가지고 있어야 합니다. Alice는 Bob에게 2BTC를 빌려서 커피숍 사장님에게 지불해달라고 하는 것과 같습니다. Bob이 2BTC를 커피숍 사장님에게 보내면, Alice는 2BTC를 Bob에게 보냅니다. Alice의 2BTC가 Bob을 통해서 전달되는 것이 아니라, Bob의 2BTC가 커피숍 사장님에게 전달되고 난 이후, Bob은 Alice의 2BTC를 받는 형태입니다. (이 부분이 이해가 안 가신다면, 라이트닝 네트워크 3부의 설명을 참고해주세요)

스크린샷 2018-03-03 오후 9.25.41.png

이것은 실제로 대출과 다름없죠. 왜냐하면 네트워크는 보관 리스크(Custodial Risk)를 없애기 위해 타임락 기능을 활용하기 때문인데요. 바로 이 기능때문에 Alice는 Bob에게 이중지불 할 수 없습니다. 왜냐하면 그녀는 Bob이 커피숍 사장님에게 지불했다는 것을 확인하고나서야 보내기 때문입니다. 그렇기 때문에 모든 노드(Hop)들은 각각의 거래를 위해 이용가능한 자금이 예치되어 있어야합니다.

즉, Hop들이 돈을 빌려주고 받고 하는 과정에서 비트코인을 대출에 대한 부담은 증폭될 수 밖에 없다. 특정한 거래를 위해 대출을 해준 상태일 때, 요청이 들어온 대출에 대해서 처리 할 수 없게 되고, 이러한 작용이 연쇄적으로 일어나 네트워크 자체의 문제를 발생시킬 수 있기 때문이죠.

<많은 수의 Hop들은 결국 중계자가 되는 것이다>


모든 사람들이 20개의 Hop을 통해서 매달 1,000달러를 사용한다고 해봅시다. 만약 모두가 이 결제 시스템을 가동하는 것을 돕는다면 각각의 유저들은 매달 20,000달러가 필요할 것입니다. 이것이 가능한 것이라고 생각하시나요? 이 시스템은 결국 계산할 수 없을 정도로 많은 요소들에 의존하게 됩니다. 거래량, 거래를 하는데 소요되는 시간, 거래의 길이 등..
모든 거래자들은 모든 거래자들을 위해 자신의 채널에 예치된 금액을 빌려주고, 받아야하는 중계자가 되는 것이며, 거래가 많아질 수록, 거래를 하기 위한 채널의 길이가 길어질 수록 그 부담은 더욱 커지게 되어, 네트워크의 전체적인 시스템이 사용불가능한 수준에 이르게 될 것입니다.

<더욱 심각한 문제점들>


최소 5가지 이상의 주요한 문제가 존재합니다.

  • 앞서 말했던 수학적 전제였던 10⁶=1,000,000는 사실상 적용이 불가능합니다. (위에서 보여드렸던 나무가지 형태의 모델은 최소의 노드로 최대의 연결을 만들어낼 수 있는 모델입니다.) 만약 당사자들이 랜덤하게 연결된다면, 연결이 성공적으로 이루어질 가능성이 얼마나 될까요? 100만번 시행된 실험에 의하면 성공확률은 63%에 불과합니다. 2만번으로 실험해보니 84%에 그쳤습니다.

  • 사람들이 자신의 돈을 사용하기 시작한다면, 이용가능한 결제채널은 줄어들 것입니다. 새로운 돈이 예치가 된다면 문제가 다소 완화될 수도 있겠지만요. 예를들어, 대부분이 월급을 통해 생활하는 샐러리맨인데, 샐러리맨을 가정해서 생각해보면 월초에 월급을 받고 나서는 payment channel에 예치된 돈이 늘어나겠죠. 그러다가 월말에 월급이 다 떨어져가면 네트워크의 자체 결제 성공률이 0%까지 떨어질 겁니다. 일반적으로 이러한 패턴은 라이트닝 네트워크의 연결 가능성을 대폭 줄이고, 이것을 예방하기 위해서는 결제채널을 2배정도 늘려야 한다는 수학적 연구 결과가 있었습니다.

  • 타인 거래를 위해서 자신의 자금이 활용된다면, 자금이 지속적으로 융통되고는 있지만, 사용가능한 채널을 감소시키는 요인이 됩니다.

  • 사람들간에는 부의 격차가 존재합니다. 그래서 누군지 알 수 없는 타인을 위해 자금을 융통할 수 있는 사람들은 소수일 것입니다. (라이트닝 네트워크상에 존재하는 대형 중개인은 많지 않을 것입니다.) 그리고 이 문제는 노드가 늘어남에 따라 기하급수적으로 심각하게 대두될 것입니다.

  • 네트워크상에 존재하는 채널들이 무응답이 될 가능성이 항상 존재합니다. 의도적이든 의도하지 않았든간에 말이죠. 이 문제 역시 Hop의 수가 증가함에 따라 기하급수적으로 커져갈 것입니다.

<요약>


누군가와 거대한 네트워크에 존재하는 일련의 채널을 통해 연결되기 위해서는, 엄청나게 많은 수의 채널과 Hop들이 필요할 것입니다.
이것 또한 큰 문제가 아닐 수 없죠. 엄청나게 많은 수의 채널은 유저들이 자신의 자금을 묶어두고, 타인을 위해 자금을 융통하고, 그 이외에 사용가능한 적은 돈으로만 무엇인가를 할 수 있다는 것을 의미하기 때문입니다. 또, 많은 수의 Hop이 필요하다는 것은 모든 사람들의 돈이 모든 사람들에 의해 묶이게 될 수 있다는 것과 다름없습니다.

<결론 : 완전하게 사용 불가능한 시스템>


백만명에 이르는 사용자를 가진 네트워크로서, 위의 문제점들을 피할 수 없을 것이라 생각합니다. 돈을 많은 채널들로 나누고, 끊임없이 빌려주는 것은 네트워크 자체를 사용할 수 없게 만들 것입니다.

그나마 가능한 비젼이 있다고 한다면,

  1. 모든 사람들이 엄청나게 많은 돈을 라이트닝 네트워크에 묻어 둔다거나,
  2. 라이트닝 네트워크상에 존재하는 거대한 중개인이 존재하여 그들을 통해서 거래를 하는 방법이 있을 것 같습니다.

그렇지만 사실 위의 두가지 솔루션은 탈중앙화 스케일링 솔루션이 아니죠. 명백하게도 둘 다 아닙니다.

이상 라이트닝 네트워크의 한계점에 대해서 살펴보았습니다. 여러가지 문제점이 존재하는 것은 사실입니다.
하지만, 컴퓨터 공학에서 Byzantium General Problem는 수십년간 해결이 불가능한 문제였지만, 비트코인의 블록체인은 이를 실용적으로 해결했습니다.

라이트닝 네트워크에서 발생하는 문제도 마찬가지가 아닐까요? 반드시 실용적인 해결책은 있을 것입니다. 마치 비트코인의 시스템이 POW라는 합의알고리즘을 통해 비잔티움 장군의 문제를 훌륭하게 해결을 했던 것 처럼 말이죠.
앞으로 라이트닝 네트워크가 어떻게 발전해갈지, 암호화폐 시장에 어떤 성장을 가져올지, 정말 가슴이 벅찹니다.

라이트닝 네트워크는 비트코인의 스케일링 솔루션이 될 수 없다 : 수학적 이론을 통한 반박
https://medium.com/@jonaldfyookball/mathematical-proof-that-the-lightning-network-cannot-be-a-decentralized-bitcoin-scaling-solution-1b8147650800

라이트닝 네트워크 이해(1부)
https://bitcoinmagazine.com/articles/understanding-the-lightning-network-part-building-a-bidirectional-payment-channel-1464710791/

라이트닝 네트워크 이해(2부)
https://bitcoinmagazine.com/articles/understanding-the-lightning-network-part-creating-the-network-1465326903/

라이트닝 네트워크 이해(3부)
https://bitcoinmagazine.com/articles/understanding-the-lightning-network-part-completing-the-puzzle-and-closing-the-channel-1466178980/

Coin Marketplace

STEEM 0.09
TRX 0.32
JST 0.033
BTC 109525.61
ETH 3934.19
USDT 1.00
SBD 0.60