라이트닝 네트워크 쉽게 이해하기

    라이트닝 네트워크(Lightning Network, LN) 처음에 이 개념을 이해하기가 참 어려웠습니다. 블록체인도 아무리 공부해도 매번 공부할 때마다 제 안의 정의가 바뀌는 것처럼 라이트닝 네트워크가 왜 효율적인지 잘 와닿지 않았거든요. 그러면서 블로그나 유튜브 영상들을 봐도 제 머리속에서는 "저 사람도 잘 모르는 것 같은데?" 라는 생각이 들었습니다. 


    저는 기본적으로 상당히 비판적인 사람이다보니 기술이 남들이 좋다 말해도 제 안에서 충분히 납득이 되고 좋다라는 생각이 들지 않으면 도저히 용납을 할 수 없었는데 아마도 이 이유 때문에 라이트닝 네트워크를 제대로 이해하기 힘들었던 것 같습니다.


    그러다보니 저도 처음에는 이해하기가 좀 어려워서(납득이 안되서) 대충 개념만 가지고 갔었는데 시간이 지나면서 라이트닝 네트워크에 관련된 포스팅도 점점 올라오게 되고 매번 이에 따라 제 안에서 확실히 내용들이 쌓이게 된 것 같습니다. 그래서 비개발자도 이해는 하되 기술들을 좀 더 많이 설명할 수 있게 개념 + 기술적인 부분과 라이트닝 네트워크의 제 견해 정도를 설명해보도록 하겠습니다.




    라이트닝 네트워크 기본 개념


    일반적으로 라이트닝 네트워크는 보통 이런식으로 설명을 합니다. 블록체인에 굳이 기록하지 않아도 되는 정보를 외부의 지불 채널로 기록하는 행위. 오프체인에서 거래 기록을 종합하여 결과만 블록에 쓸 수 있게 하여 비트코인이 초당 7건 처리하는 것을 수천건이나 처리할 수 있는 혁신적인 기술.



    과연 이 말이 100% 맞을까요? 결론은 반은 맞고, 반은 틀린 약간의 과대 광고가 섞인 말입니다. 그럼 뭐가 과대 광고인지 이렇게 좋은 기술은 왜 비트코인과 라이트코인은 당장 쓰고 있지 않는지 그리고 왜 다른 코인들은 라이트닝 네트워크를 안 쓰고 있는지 기술을 좀 더 자세하게 살펴보겠습니다.



    다중 서명 주소


    일단 라이트닝 네트워크는 오프체인 즉, 실제 블록에서 일어나는 행위가 아니기 때문에 여기서 프로그램으로 어떠한 행동이든 자유롭게 구현 할 수 있습니다. 마치 인간인 네오가 매트릭스에서는 하늘을 날라다니는 것처럼, 라이트닝 네트워크의 지불 채널 공간은 느려터진 현실의 블록체인이 아니라 매트릭스처럼 날라다닐 수 있는 것입니다. 

    현실에서는 개발자이지만, 매트릭스 상에서 네오는 신입니다


    라이트닝 네트워크의 핵심은 "지불 채널(마치 매트릭스 공간)에서 자유롭게 하되, 최종적으로 블록체인에는 줄어든 최종 기록을 던져라" 입니다. 그러다보니 이 미션을 제대로 수행하지 않으면, 즉 장부의 크기가 줄어들지 않으면 온체인에서 하든 오프체인에서 하든 별 차이가 없을 수도 있다는 것이죠. 결과적으로 지불 채널에서 기록된 최종 내용마저도 블록의 크기보다 더 많다면 사실상 무용지물이 될 수도 있습니다.

    일단 라이트닝 네트워크의 핵심은 바로 멀티 시그니처 주소라는 것에서부터 시작됩니다. 멀티시그니처라는 단어를 한국말로 직역하면 다중 서명입니다. 일반적으로 블록체인에서 제가 누군가에게 코인을 보내면 상대방의 의사 없이 보내는 것을 일단 받게 됩니다. 은행에서 제가 누군가에게 돈을 보내면 일단 가는 것처럼 말이죠.


    다중 서명으로 된 주소는 한마디로 공동으로 관리하는 주소 및 지갑같은 것입니다. 그래서 코인을 보내도 2명의 서명으로 관리를 한다는 규칙을 지정하면 2명이서 사인을 하지 않는 이상 상대방이 일방적으로 보내도 받지 않을 수도 있습니다. 코인을 보낸 것을 받을 수도 있고 보류 하거나 반려 할 수도 있습니다 마치 회사에서 결재를 하는 것과 비슷한 것이죠.


    이게 라이트닝 네트워크의 핵심입니다. 즉 외부에서 우리들끼리 블록체인에 기록하지 않고 지불 채널을 만들어서 공동 주소 등을 이용해서 송금을 하게 됩니다. 자 그럼 이해가 안되는 부분들이 있을 겁니다. 그러면 이 기록은 블록체인에 담겨지지 않는 것인가? 아닙니다 최종적으로 모든 송금 작업이 끝나면 채널을 닫게되고 그 내용들은 블록체인에 기록되게 됩니다.


    아직 뭐가 좋은지 잘 이해가 안되실 겁니다. 라이트닝 네트워크의 성능을 높일 수 있는 사례를 적어보도록 하죠.



    자 위와 같은 경우가 있다고 가정해보겠습니다. 사장은 직원의 근태를 보면서 정확하게 일하는 분을 체크하여 급여를 준다고 가정을 해보죠. 일단 1 BTC를 가져온 상황에서 0.0001 BTC를 직원들의 근무태도에 따라서 계속 보낸다고 가정해 봅시다. 


    이럴 경우 기존의 블록체인을 쓰면 재앙입니다. 그리고 사실 절대 쓸 수 없을 것입니다. 비트코인같은 경우는 수수료가 더 비싸질 수 있는 배보다 배꼽이 더 비싼 웃지 못한 상황이 발생할 것입니다. 자 여기까지 보면, 일단 이걸 왜 써야 되는지 모를 것입니다. 1:1로 채널을 만들어서 공동 주소 관리하여 보내는 것도 귀찮고 초당 몇천건 처리된다는 것이 이해가 안되실 겁니다.



    라이트닝 네트워크가 사실 제대로 빨라질려면 이렇게 1:1로 공동 주소를 만들어서 오프체인으로 거래를 하는것보다 제 3자가 끼는 것이 유리합니다.



    1:1로 공동 주소를 관리하는 것은 불편하기 때문에 사실상 직접 온체인에 기록하여 보내는 것이 더 유리할 수 있습니다. 그러나 이와 같은 개념이 들어가면 양상은 달라집니다. 바로 제 3자가 관여를 하는 것이죠. 어느 월급을 관리해주는 회사가 있다고 가정해 보겠습니다.


    이 월급 처리를 대행해주는 회사는 다른 사장과 그 밑에 일하는 전직원들이 모두 다 연결이 되어 있어서 사장과 월급 대행 회사, 그리고 월급 대행 회사와 직원이 연결이 되어 있다고 가정을 해보겠습니다. 라이트닝 네트워크는 이렇게 제 3자가 끼는 것이 가능해 집니다. 왜냐하면 사장이 보냈다는 것을 증명할 수 있는 "키"가 있기 때문입니다. 즉 제 3자가 직원에게 월급을 줄 때 사장님의 증명(키값)을 보여주면 직원은 이해할 수 있게 되는 것이죠.


    사실 이것이 가능한 이유는 "해시(Hash)"라는 단방향성 암호화 기술을 사용하기 때문에 가능합니다. 채굴이나 계좌 주소등을 만들때도 사용되는 이 해시는 원본을 알고 있으면 결과는 동일하나 결과를 가지고 원본을 역추적 할 수 없습니다.


    해시의 간단한 개념도

    직원은 사장의 키를 알고 있고, 사장의 키로 고래가 보낸 것의 암호를 풀면(해싱을 하면) 결국 사장이 보냈다는 것을 알 수 있으며 이로서, 3자가 보내는 것을 신뢰할 수 있게 됩니다. 혹시 이해가 안되나요? 우리가 사극같은 것을 보면 "어명이오." 하면서 왕의 도장이 찍힌 어명을 말하는 것을 알 수 있습니다.


    어명에서 쓰이는 도장은 왕이 찍은 도장이기 때문에 임금님의 말과 동일한 위력을 갖고 결국에는 어명을 받는 사람들은 모두 다 수긍하게 됩니다. 이처럼 사이버 상에서도 개인이 갖고 있는 키로 내가 보냈다는 것을 증명할 수 있습니다. 기술은 해싱(Hashing)을 쓴 것으로 다르지만 개인의 키로 대조해봐서 정말로 사장이 보냈다는 것을 알 수 있는 것이죠.



    신뢰 문제를 해결하는 방법


    오프체인(off-chain)은 온체인(on-chain)이 아니기 때문에 사실상 프로그램들의 집합체입니다. 자유롭게 무언가를 만들 수 있으며 안전한 시스템을 구현하기 쉽습니다. 게다가 속도도 매우 빠릅니다. 


    그래서 신뢰 문제를 해결하는 방법을 온체인 기법으로 쓸 필요는 없습니다. A 사람이 라이트닝 네트워크을 잘 사용하고 있다고 가정을 해 보겠습니다. A가 B에게 10만원의 돈을 보내야 하는데 모르고 100만원을 보냈습니다. 잘못 보냈다는 사실을 인지하고 다시 10만원을 보냈는데 B가 100만원을 덥썩 물어버렸습니다. 이럴 경우 전화를 해서 돌려달라고 말을 해야 할까요? 만약 상대방이 누군지 모를 경우 어찌해야 할까요?




    이럴 경우 신뢰를 무너뜨리는 행위를 했기 때문에 A는 B에게 패널티를 부과할 수 있습니다. 그래서 보낸 금액을 다시 취소하고, B에게 패널티(벌금)을 부과하는 것도 가능합니다. 왜냐하면 오프체인은 스마트 계약(Smart Contract)이 가능하기 때문입니다.


    결국 벌금을 받지 않기 위해서 잘못된 행동을 하지 않을 거라는 것이 라이트닝 네트워크에는 깔려 있기 때문에 오히려 잘못 보낼 수 있는 온체인보다 더 올바른 거래가 가능할지도 모르겠습니다.




    라이트닝 네트워크의 미래 모습


    아무튼 라이트닝 네트워크가 제대로 성장하려면 우리는 엄청나게 많은 주소를 가지고 있어야 합니다. 현재의 암호화폐는 소규모의 주소로 계속 전송을 수행하지만, 멀티 시그니처 주소를 엄청나게 만들어서 사용해야 할 것입니다. 예를 들면 스타벅스 지불 채널에 10만원어치 비트코인이나 라이트코인을 충전 시켜서, 필요할때마다 마십니다. 


    이런식으로 온갖 채널들이 만들어지고, 라이트코인 페이같은 중간에 하나의 은행같은 곳이 생겨서 식당마다 해당 라이트코인 페이와 가맹을 맺고 한다면 사실 엄청나게 빠른 결제가 가능할 것입니다. 이 모양은 마치 은행과 비슷합니다. 은행에서 내가 어느 곳에 사용을 하여도 은행에서 실제로 지폐를 빼지 않고 장부의 내용만으로 신뢰를 맺고 저는 사용할 수 있습니다.


    즉, 라이트닝 네트워크의 모습이 상당히 은행과 닮아 있습니다. 그리고 또 하나 닮아있는 것이 있는데 바로 거래소입니다.



    거래소에서 우리는 코인이나 원화를 입금하고, 암호화폐들을 매수하거나 매도를 합니다. 그러나 여기에 있는 모든 기록들을 블록체인에 기록을 하지 않습니다. 결과적으로 거래소에서 다른 거래소 혹은 다른 지갑으로 코인을 입출금 할 경우에만 블록체인에 기록이 됩니다.


    이렇게 거래소를 보면 라이트닝 네트워크의 모습을 어느 정도는 그릴 수 있을 것입니다. 그런데 여기서 뭔가 이상한점이 있을 것입니다. 바로 탈중앙화로 만들어진 암호화폐가 결국에는 중앙화가 되는 것인가? 라는 생각을 가지게 되는 것이죠.



    거물들의 대립


    이와같이 라이트닝 네트워크는 결과적으로 장부의 기록들을 최소화해서 실제 온체인에 기록을 하게 됩니다. 그렇다보니 탈중앙화가 아닌 모습이 나오며, 이를 노골적으로 싫어하는 집단들이 있습니다. 바로 비트코인 캐시 진영입니다. 


    이 암호화폐 문제아들은 채굴자 중심으로 이루어진 진영이다보니 자기들의 이득에 반하는 행동을 당연히 싫어할 것입니다. 라이트닝 네트워크를 도입하려는 암호화폐가 비트코인과 라이트코인 그리고 최근에는 퀀텀 등 점점 늘어나고 있는 중인데 비캐 진영은 라이트닝은 탈중앙화가 아니라 중앙화라고 비판을 합니다.


    그들이 과연 저 사상 때문에 비판을 할 지 우리는 주목을 가져볼 필요가 있습니다. 비캐가 왜 저런 말을 할까요? 제가 볼때는 블록에 되도록이면 많은 거래가 기록이 되어서, 수수료가 많이 있어야 블록 채굴 생산성이 늘어나게 되는데 블록의 거래를 줄이게 되면 그들 입장으로 좋지 못할 것입니다.


    로저버와 찰리리


    이와 관련해서 비캐와 라코의 수장격인 로저버와 찰리리가 대립을 하게 되었고 2020년도에 라이트닝 네트워크의 지점(위와 같이 제 3자의 채널이라고 보셔도 될 것 같습니다)이 1000개 이상 늘어나지 못한다면 상대방의 코인 유니폼을 입고 졌다라는 메세지를 작성해서 SNS에 올리는 소소한 내기도 하였습니다. 



    마치며...


    라이트닝 네트워크는 세그윗 + 아토믹 스왑과 함께 진정한 탈중앙화 암호화폐로 가는 지름길이라고 생각합니다. 물론 가격적인 부분에서 암호화폐를 투자로 보는 사람들은 싫어할 수도 있지만 실생활에 제대로 녹아들어갈 수 있다고 한다면, 그동안 맹목적으로 비판만 하던 사람들도 암호화폐를 재조명하지 않을까 생각합니다.


    그렇게 암호화폐 인구가 늘어나게 되면 자연스럽게 비트코인을 바라보는 입장이 바뀌면서 투자로서의 가치와 실생활에 쓰이는 가치, 즉 2마리의 토끼를 잡을 수 있는 계기가 되지 않을까 생각합니다. 다음 포스팅은 진정한 탈중앙화를 위한 미래인 아토믹 스왑에 대해서 포스팅 해보도록 하겠습니다.



    포스팅 내용과 유튜브 영상은 동일한 내용을 담고 있습니다. 내용이 좋으셨다면, 구독과 좋아요(제가 포스팅과 영상을 올리는 힘이 됩니다) 부탁드립니다 :)


    참고자료



    댓글

    Designed by JB FACTORY