2 분 소요

라이트닝 네트워크


라이트닝 네트워크란 기존의 비트코인의 트랜잭션 처리 속도를 개선하기 위한 레이어 2 솔루션이다. 해당 네트워크는 트랜잭션 내용은 블록체인 외부에 저장하고, 트랜잭션의 최종 결과를 올림으로써 트랜잭션 처리 속도를 단축한다.

라이트닝 네트워크 동작 원리

다중서명 주소(Multi - Sig)


다중서명 주소에서는 다수의 개인 키를 사용할 수 있다. 다중 서명 주소를 생성할 때, n개의 개인키를 사용할 수 있고, 트랜잭션 서명의 m개의 필요한지를 지정할 수 있다.

라이트닝 채널을 시작하기 위해 참여자는 ‘2-of-2’방식(다중서명 주소)에 자금을 동결시켜야 하고, 다중서명 주소를 사용하기 때문에 참여자 2명의 동의가 없다면 트랜잭션은 유효할 수 없다.

그러나 이러한 방식만 사용할 경우, 둘 중 한명이 채널을 닫고 자금을 동결 해제하는 트랜잭션을 거부할 경우와 같이(이렇게 되면 둘의 자금이 계속 동결 상태) 비협조적인 행동을 할 경우를 방지할 수 없다.

해시 타임락 컨트랙트(HTLC)


해시 타임락 컨트랙트는 조건부 지불을 생성하는데 사용하는 거래 계약으로, 해시 타임락 컨트랙트를 사용하면 거래의 수신자는 지정된 블록 내에 암호화 증명을 제출하여 지불을 확인해야 한다. 이때 수신자가 지불을 상실하거나 청구할 능력이 없는 경우 자금은 거래의 송신자에게 반환된다.

이 기술은 해시락과 타임락의 결합으로 구성된다.

해시락

  • 비밀을 알고 있음을 증명하여 자금을 사용할 수만 있음을 지시하는 트랜잭션의 조건
    • 거래 제안자는 데이터 조각을 해시화하고, 해시를 수신자의 트랜잭션에 포함시킨다.
    • 수신자가 이를 사용하려면 해시와 일치하는 원본 데이터를 제공한다.
    • 이를 만족하려면 전송자가 수신자에게 원본 데이터(비밀)를 제공해야 한다.

타임락

  • 특정 시간 이전에 자금을 사용하지 못하게 하는 것
    • 실제 시간 또는 특정 블록 높이로 지정된다.

-> 따라서 해시 타임락 콘트랙트는 실제로 수신자가 특정 시간 이전에 비밀을 제공하고, 그렇지 못하면 전송자가 자금을 회수하는 조건부 지불을 생성하는 데 사용할 수 있다.

-> 이를 활용한다면 비협조적인 행동 또한, 방지할 수 있다.

트랜잭션(e.g., 채널 열고 닫기)


1) 트랜잭션을 발생시킬 각 참여자들은 각자의 비밀을 가지고 비밀을 해시한 값을 서로 공유한다.

1

2) 참여자들은 다중서명 주소에 Commitment Transactions(트랜잭션에 대한 기록, 실제로 블록에 올라가는 트랜잭션은 아님)를 생성한다.

  • 여기서 트랜잭션에는 자신의 주소에 지불하는 값과 새로운 다중서명 주소에 고정되어 있는 값이 포함된다.

2

3) 각 참여자들은 생성한 Commitment Transactions를 상대방에게 전달한다.

3

4) 아래 조건 하에Commitment Transactions이 서명될 수 있다.

  • 참여자 간의 협조적인 서명
  • 타임락으로 인한 서명
  • 상대방의 비밀을 알 경우(그러나, 해시만 교환했기 때문에 알 수 없음)

5) Commitment Transactions 서명이 완료되면 이 기록은 블록체인에 직접 기록되는 내용인 Funding Transaction에 기록될 수 있는 상태가 된다.

6) 생성된 Funding Transaction에 Commitment Transaction이 기록되고 Funding Transaction 또한 같은 과정으로 서명이 완료되어 승인되면 트랜잭션을 발생시킬 수 있다.

라우팅 지불


앨리스 <-> 밥 채널과 밥 <-> 캐롤 채널이 있다면 밥은 앨리스와 캐롤의 중개자 역할을 함으로써 라우팅을 진행할 수 있다.

라이트닝 네트워크 장점 및 한계

장점


확장성

  • 채널을 개설하고 종료하는 두 번의 수수료만 내면 된다.
  • 트랜잭션 결과만 저장하기 때문에 블록 공간에 있어 효율적이다.
  • 지불 채널을 통해 빈번한 전송에 유리하다.

소액결제

  • 라이트닝 네트워크는 소액 결제에 대한 실용적인 수수료 해결 방안이다.

개인 정보 보호

  • 지불 채널 당사자들이 자신의 채널을 비공개로 지정한 경우, 채널 안의 트랜잭션은 당사자들만 알 수 있다.

한계


사용성

  • 일반적으로 라이트닝 노드를 완전히 사용하려면 비트코인 노드에 접근해야 한다.
  • 클라이언트는 세팅을 마친 후, 지불 채널을 개설해야 한다.

유동성

  • 채널에 동결된 것 이상의 자금을 사용할 수 없어 트랜잭션 능력이 제한적이다.
  • 라우팅은 채널의 총 한도를 따라 제한될 수도 있다.
    • 채널의 한도 이상 전달할 수 없기 때문이다.

중앙화된 허브

  • 라우팅 지불로 인한 네트워크 내의 중개자들의 중앙화, 즉 대규모 허브를 생성할 수 있다.