라이트닝 네트워크(Lightning Network) 이해하기 Tech Info

비트코인의 scaling 문제를 해결해줄 대안으로 제시되어왔던 라이트닝 네트워크가 드디어 가시권에 들어왔다. 3년전에 이론적으로만 제시되었던 것이 과연 제대로 구현될 수 있을까 다들 반신반의 했던것 같은데 3년만에 모습을 드러낸 것이다. 도대체 개발이 왜 이리 더딘거야 라며 불신을 가지고 있었는데 개발이 된 내용을 보니 언제 이 많은 내용을 구현했나 싶다.

라이트닝 네트워크는 비트코인 2.0 이라 부를만한 것이다. 비트코인과 연동되는 별도의 layer 이고, 비트코인이 아파치라면 라이트닝 네트워크는 톰캣인 셈이다. 라이트닝 네트워크 덕분에 이제 비트코인 결제는 10분 혹은 그 이상의 delay가 필요없이 실시간으로 가능해지고, 1MB라는 block size 제한 때문에 초당 서너개의 transaction만 가능했던 이슈도 사라진다. 뿐만 아니라 거래 내역의 추적도 불가능해진다. 물론 이 시스템이 기대한 대로 안착할 수 있을지는 좀더 지켜봐야 한다. 아직 wallet들의 지원도 필요하고 사용성 면에서 쓸만할지도 두고볼 일이다.

이제 라이트닝 네트워크에 대해 알아보자.
라이트닝 네트워크는 어렵다. 일단 비트코인에 대해 잘 알아야 하고, transaction의 검증이 어떻게 이루어지는지, multi sig가 어떤건지 알아야 시작할 수 있다. 비트코인에 대해 잘 모르겠다면 이 글을 참고하고, 어느 정도 이해하고 있다면 다음 글들을 참고하자.
위 글들을 읽어보면 왜 라이트닝 네트워크가 어렵다는지 알것이다. 이해를 돕기 위해 비유를 들어보자. 아래 비유를 읽어보고 다시 위 내용을 한번더 읽어보면 도움이 될 것이다.

편의점에서 일하는 알바생과 점주가 비트코인으로 거래하길 원한다. 주급을 비트코인으로 지불하고, 알바생은 편의점 도시락으로 점심을 해결하거나 음료수를 사먹을때 비트코인으로 지불하길 원한다. 문제는 이제 비트코인 수수료가 만원이 넘는데다가 비트코인이 처리할 수 있는 트랜젝션 수는 우리나라 편의점 알바생과 점주간의 거래를 처리하기에도 버겁다.

이 문제를 해결할 좋은 방법이 하나 있다. 바로 외상 장부다. 알바생이 편의점 물건을 구입할때마다 외상 장부에 기록해둔다. 주말에 점주는 주급에서 외상거래 총합을 제외하고 급여를 지불한다. 비트코인으로. 주급 얼마 안되는데 비트코인 수수료가 만원이나 되는게 부담스러운가? 그럼 월급으로 바꾸고 외상 장부를 한달치 사용한다. 그런데 알바생이 한달 후에 돈을 받아야 하는게 문제다. 옆집 당구장에서 당구비 낼 돈도 없다. 편의점 외상 장부를 들고 가서 보여주고 자신이 받을 주급에서 도시락 구입내역을 빼면 지난주 잔액이 30만원도 넘는걸 확인시켜준다. 그걸 근거로 당구장 외상 장부를 만든다.

이 외상 장부는 허술한 점이 많다. 편의점 점주가 한달 후에 돈을 안준다거나 일부만 줄지도 모른다. 알바생이 월급보다 훨씬 많은 물품을 집으로 가져가고 월말에 월급을 초과한 부분을 지불하겠다고 해놓고 잠적할지도 모른다. 이걸 막기 위해서 이들은 하루 단위로 정산을 해서 비트코인 거래를 매일 작성한다. 단, 이 거래를 비트코인 네트워크에 broadcast 하지 않고 서로 가지고만 있는다. 언제라도 이 거래를 네트워크에 broadcast만 하면 이들은 하루치 금액을 비트코인으로 지불받을 수 있다. 다음날 둘은 외상장부를 참고해서 새로운 비트코인 거래를 작성하고 어제 작성한 거래는 폐기처분한다. 이제 이틀치 거래를 지불하는 거래를 양쪽이 가지고 있고 둘 중 누구라도 네트워크에 broadcast만 하면 된다. 이걸 한달동안 반복하면 된다. 그리고 월말에 최종적인 거래를 네트워크에 broadcast 해서 비트코인으로 지불한다. 월말에 정산을 해봤더니 서로 주고 받을게 없어졌거나 몇 만원 안되면 broadcast 할것 없이 그냥 들고서 다음달 정산을 시작해도 될 것이다.

이 외상장부 시스템을 만드는데 몇 가지 이슈가 있다. 우선 거래를 작성만 하고 broadcast 하지 않겠다고 했는데 작성된 거래가 유효하려면 비트코인 상에 해당하는 금액만큼 코인이 있다는게 증명이 되야 하고, 이 코인을 미리 다른 곳에 써버리지 않는다는게 보장이 되야한다. 이를 위해서 양쪽은 일정 금액의 코인을 다른 곳에 맡겨두고 한달동안 사용하지 못하게 하는 거래를 먼저 작성한다. 이 "다른 곳"은 두 사람의 서명을 모두 필요로 하는 multi sig 주소다. 이 주소로 들어간 코인은 양쪽이 모두 서명해야만 빼내올 수 있으니 그 사이에 다른 곳에 사용하지 못한다는 보장이 된다. 이후에 두 사람은 broadcast 하지 않은 임시 거래만으로 거래를 이어가면 된다. 둘째날 새로운 거래를 작성하고 전날 작성한 거래를 폐기처분 한다고 했는데, 이건 어떻게 보장할까? 전날 작성한 거래 데이타를 하드디스크에서 완전히 지웠다고 거짓말하고 실제로는 다른 곳에 복사해둔다음 필요할때 몰래 broadcast 할지도 모른다. 라이트닝 네트워크에서는 이걸 방지할 수 있는 smart 하지만 복잡한 형태로 거래를 작성해둔다. 이게 위 글에서 말하고 있는 revocable transaction 이라는 것이다. 이를 통해 편의점 외상 장부가 완벽해졌다. 한달 후 정산해보니 점주가 알바생에게 10만원만 주면 된다. multi sig 주소에 양쪽이 50만원씩을 넣어둬서 100만원이 들어있었다면 알바생에게는 60만원을, 점주에게는 40만원을 지급하는 거래를 작성해서 양쪽이 서명하면 된다.

남아있는건 당구장 이용 문제인데 이걸 비유로 설명하기는 너무 번거롭다. 대략적으로 그림만 그린다면 이렇다. 당구장 주인과 편의점 점주는 건물 임대료 때문에 미리 만들어둔 비트코인 외상장부가 있다. 알바생은 당구장 이용을 위해 당구장 주인과 50만원씩 펀딩해서 새로운 외상장부를 따로 만들지 않고 알바생이 편의점 점주에게 1만원을 지불하고(편의점 외상장부를 이용해서), 편의점 점주가 당구장 주인에게 1만원을 지불하는(건물임대로 외상장부를 이용해서) 2개의 거래를 작성한다. 이게 HTLC(Hashed Time Lock Contracts) 거래라 불리는 것이다. 당구장 주인이 중국집 주인과 외상장부를 가지고 있다면 이제 알바생은 HTLC 거래를 통해 중국집과도 외상거래를 할수 있다.

라이트닝 네트워크의 이름엔 왜 네트워크가 들어있는걸까? 위에서 비유한 외상장부들은 이제 P2P 네트워크를 형성한다. 알바생은 어떤 라우팅 경로를 거쳐서 누구의 장부들을 통해 자신이 지급한 돈이 중국집으로 들어가는지 알 필요도 없다. 알바생은 편의점 점주와 월말 정산을 마치면 그만이고 그 돈중 일부는 당구장으로 일부는 중국집으로 갈 것이다. 그렇다면 사람들은 왜 자신의 외상장부를 P2P 네트워크에 참여시켜서 다른 사람들의 거래를 중계해줄까? 수수료를 얻을 수 있어서 그렇다. 물론 이 수수료는 비트코인 수수료에 비해 훨씬 저렴해야 할 것이다.

핑백

  • conan's lazy blogging : Segregated Witness에 관한 몇 가지 2018-02-21 15:24:48 #

    ... 기능중 가장 중요한 기능으로 이야기되고 있다. 그동안 이 난해한 이름 때문에(우리말로 옮겨보자면 "격리된 증거" 정도가 되겠다) 이것에 대해 자세히 알아볼 엄두가 나지 않았는데 라이트닝 네트워크에서도 계속 언급이 되고 있어서 좀더 찾아봤다.Segregated Witness spec(BIP-141)Segregated Witness Upgrade Guide스펙문서는 ... more

  • conan's lazy blogging : 라이트닝 네트워크의 전망 2018-05-22 16:48:36 #

    ... 라이트닝 네트워크(Lightning Network)는 여러 가지 측면에서 흥미롭다. 비트코인의 느린(?) 처리속도와 처리 용량의 한계를 한번에 해결해주는 요술방망이로 데뷰해서 오랜 기간의 ... more

덧글

  • 나인테일 2018/02/04 03:21 # 답글

    "거래 내역의 추적도 불가능해진다"

    다크코인이 되어버리는거네요? 코인 규제에서 가장 먼저 두들겨맞고 범죄화 될 가능성이 높은게 바로 대쉬 모네로 등의 다크코인입니다. 제 버릇 개 못준다고 비트코인이 실크로드 시절의 범죄의 길로 스스로 되돌아가버리겠다고 한다면야 그 앞엔 오로지 어둠만이 보이겠군요. 오로지 검은 돈 모셔오겠다는 꼼수 밖에 안 보이는 다크코인은 절대로 주류 결제수단이 될 수 없습니다.
댓글 입력 영역



통계정보