라이트닝 네트워크의 이해 (하)

in #coinkorea7 years ago (edited)

지난 글 라이트닝 네트워크의 이해 (상) 에서 기초 지식을 다뤘고 이번엔 본격적으로 라이트닝 네트워크에 대해 이야기해보겠습니다.

monument-valley-1593318_640.jpg

결제 채널(Payment Channel)

채널 열기(Opening Channel)

나와 상대방이 공유하는 멀티시그 주소에 충분한 양의 비트코인을 우선 보내놓는 것이 채널을 오픈하는 것입니다. 수수료가 드는 온체인 트랜잭션이며 그만큼의 비트코인을 준비해놓고 채널을 닫을 때 까지 묶어둬야 한다는 부담이 있습니다.

오프체인 트랜잭션(Off-chain Transactions)

멀티시그 주소에 들어가 있는 코인은 한 사람의 서명만으로는 트랜잭션이 완료되지 않습니다. 이것을 이용해서 블록체인을 거치지 않는 오프체인 트랜잭션을 하는 겁니다.
예를 들어 채널을 열 때 2 BTC 를 멀티시그 주소에 보내놓은 상태에서
내가 0.1 BTC를 상대방에게 보내겠다는 신호를 서명해서 보내면 상대방의 서명이 없기 때문에 그 트랜잭션은 온체인에서 완료되지 않습니다. 그대신 라이트닝 네트워크 프로토콜이 그 신호를 감지해서 트랜잭션이 완료된 것으로 처리해 줍니다. 라이트닝 네트워크 사용자들 끼리는 이것만 가지고 전송이 완료된것으로 간주하자는 약속인 셈입니다.
블록체인에는 각각의 오프체인 트랜잭션이 기록에 남지 않으며 전송수수료는 무료가 되고 컨펌을 기다릴 필요가 없이 즉시 완료됩니다.
이렇게 되면 심지어 1사토시도 부담없이 보내줄 수가 있게 됩니다. 마이크로 트랜잭션이 실질적으로 가능해지는 것이죠.

채널 닫기(Closing Channel)

채널 오픈할 때 멀티시그에 보내둔 비트코인 중에서
그동안 오프체인으로 주고받은거 다 합산한 각자의 잔액을
나와 상대방 둘 다 자기자신의 개인 주소로 전송하면 그것이 채널을 닫는 것이 됩니다.
이때 블록체인에 기록이 되는 온체인 트랜잭션이 발생합니다.
블록체인 기록만 보면 멀티시그에 보낼때의 기록과
그것을 다시 개인주소로 보내는 기록만 남게 됩니다.

확장성

A와 B 사이에 채널이 있고
B와 C 사이에 채널이 있으면
A와 C 사이에도 서로 오프체인 트랜잭션을 주고받을 수 있습니다.
채널을 열고 닫는 것이 부담이라면 이런식으로 라이트닝 네트워크 끼리 확장해서 너무 자주 채널을 열고 닫지 않아도 됩니다.

Trustless

멀티시그에 들어있는 비트코인은 상대방이 먹튀할 수 없습니다. 양쪽이 서명해야 전송이 완료되니까요.
단지, 악의적으로 서명을 해주지 않아서 내가 나의 몫을 가져가는 것을 막을 수 있지 않을까 하는 걱정은 해볼 수 있습니다.
라이트닝 네트워크는 이런 경우에 대비해서 일정 시간이 지나도 상대방의 호응이 없으면 내가 내 몫을 자동으로 되찾아올 수 있는 기능이 기본 탑재 됩니다. (CheckLockTimeVerify)

Sort:  

좋은 글 감사합니다.
매번 도움을 받습니다.

라이트닝 네트워크도 채널을 열어야 이용할 수 있다고 이해했습니다.
글 내용에서 채널을 오픈 할 때 수수료가 발생한다고 하셨는데, 그렇다면 라이트닝 네트워크이용시에도 수수료가 발생하는 것 아닌가요?
I understood that lightning network is also used after opening channel.
You wrote opening channel make fees. then, does lightning network make fees?

채널이 열려져 있으면 이용할 때 수수료 없이 곧바로 처리됩니다.

글 잘읽었습니다. 꽤나 어려운 내용이네요..ㅎㅎ몇가지 궁금한 점이 있는데요

  1. 라이트닝네트워크 보안성: 블록체인의 최대 강점이 보안성인데 오프체인으로 거래가 이루어 진다면 해킹의 위험성이 높아질까요?
  2. 라이트닝 네트워크 개발 주체: 라이트닝 네트워크는 비트코인 개발자측에서 맡는건가요? 아님 세그윗 이후 다른 시장참여자들에 의해 '서비스'도입 개념으로 라이트닝 네트워크가 이뤄지는 것인가요?

이상 두가지 질문입니다. 이해가 될듯말듯하면서 어렵네요 ㅎㅎ

  1. 라이트닝에 있는 비트코인은 핫월렛에 속합니다. 아무래도 콜드월렛 보다는 불안하겠죠. 그리고 아직 초기단계다 보니까 기존의 온체인 트랜잭션보다는 보안상 불안한 면이 있습니다. 사용해 나가면서 점점 보완되어야할 부분입니다.
  2. 코어 개발팀과 코어개발팀 아닌 사람을 구분짓기가 좀 애매합니다만, 대체로 코어 개발팀이 내세우는 비전에 동의하는 사람들이 공개된 라이트닝 스펙에 맞게 개발을 하고 있습니다. 동일한 스펙을 가지고 여러 팀이 나름대로 LND 등의 라이트닝 네트워크 노드 구현을 하고 있으며 , UI나 블록익스플로러 등 제반 서비스 개발은 또 다른 여러 주체가 개발하고 있는 상황입니다.

아 그렇군요 ㅎㅎ 답변 갑사합니다!

좋은 글 정말 감사합니다.

상하편을 잘 읽었습니다 오프체인상태에서 계속 거래를 하고 결국 온체인으로 채널크로저를 할때는 당연히 지금처럼 채굴자에 대한 수수료와 함께 마스트노드에대한 수수료도 함께 합쳐서 나가겠네요. 그럼 오프체인을 열어놓는 기간이 존재합니까 아니면 10회거래시에 자동으로 닫히게된다던지 하는 회수제한이 존재하나요 예를 들어 내가 한달내내 오프체인으로만 마이크로페이먼를 하고 채널을 계속 열어놓을 수도 있잖아요 또 다른 질문은 거래의 리시버가 호응이 없어서 페이백되는 경우인데 나는 이 결제 한건을 반드시 성사시키고 싶은데 호응이 없는 경우는 어떻게 되나요 극단적으로 푸드코트 이용권을 구입합니다 그리고 그걸 어느 매점에서도 사용을 안하고 한달동안 가지고만 있고 싶습니다 그럴경우 상대는 호응을 안하니 내가 카드구입이 불가능한거죠 그냥 실제 거래시에 일어나는 일들이 생각나서 적어봅니다

채널을 열어놓았다면 회수제한과 기간제한이 없습니다.
채널을 열어놓았다면 상대방의 호응이 필요 없습니다. 내가 전자서명해서 보낸 액수는 그 멀티시그 주소 안에서 상대방의 소유가 되어버린 것입니다. 상대방은 인터넷에 접속해있을 필요도 없고 지갑을 켜둘 필요도 없습니다.

Coin Marketplace

STEEM 0.29
TRX 0.12
JST 0.034
BTC 63687.39
ETH 3309.68
USDT 1.00
SBD 3.93