라이트닝 네트워크는 2015년 Thaddeus Dryja와 Joseph Poon에 의해 처음 제안된 결제 채널의 라우팅 네트워크로, Blockstream (CLN), Lightning Labs (LND), ACINQ (Eclair), Spiral (LDK)와 같은 주요 구현이 이루어졌습니다.
결제 채널은 비트코인에서 오래된 개념으로, 사용자가 2-of-2 멀티시그 주소에 자금을 예치하고, 지불자는 수신자에게 더 많은 자금을 할당하는 거래를 미리 서명할 수 있습니다. 원래의 결제 채널은 일방향이었으며, 수신자가 미리 서명된 환불 거래가 지불자가 결제 채널에 할당한 자금을 100% 회수할 수 있도록 하기 전에 채널을 닫아야 하는 만료 시간이 있었습니다.
라이트닝 네트워크의 두 가지 주요 혁신은 일방향으로 제한되지 않고 만료 날짜가 없는 결제 채널의 유형과, 여러 결제 채널을 통해 결제를 원자적으로 라우팅하기 위해 해시 타임락 계약(HTLC)을 사용하는 개념입니다.
라이트닝과 일반 결제 채널의 주요 단점은 그들 내재된 유동성 역학입니다. 돈을 받기 위해 사용자는 이미 자신에게 열려 있는 결제 채널이 있어야 하며, 그 채널에 충분한 자금이 할당되어 있어야 합니다. 결제가 네트워크를 통해 라우팅되기 위해서는 모든 채널이 해당 결제를 전달하기 위해 적절한 쪽에 적절한 양의 자금을 보유해야 합니다.
이러한 단점에도 불구하고, 라이트닝은 2018년 비트코인 네트워크에서 처음으로 가동된 이후로 사용과 성장에서 큰 성공을 거두었습니다.
Poon-Dryja 채널
시간 제한이 있는 일방향 결제 채널에서 시간 제한이 없고 양방향인 채널로 전환하는 핵심 문제는 하나의 문제로 귀결됩니다: 거래를 생성하고 서명한 후에는 이를 취소하거나 되돌릴 방법이 없다는 것입니다. 그 거래는 존재하며, 그 거래가 사용하는 동전이 다른 거래에 의해 사용될 때까지 유효하며 언제든지 사용할 수 있습니다.
이 문제에 대한 해결책은 Poon-Dryja 채널의 핵심에 있습니다. 미리 서명된 거래를 취소할 수는 없지만, 이전 거래를 절대 사용하지 않도록 강력한 인센티브를 만들 수 있으며, 누군가를 속이려는 당사자에게도 이익을 줄 수 있습니다. 이를 촉진하는 것은 취소 키의 개념입니다.
Poon-Dryja 채널에서는 채널의 각 상대방이 자신의 미러링된 세트의 미리 서명된 거래, 즉 약정 거래를 가지고 있습니다. 각 채널 업데이트 또는 잔액 변경은 단순히 각 채널 피어가 이러한 약정 거래의 새로운 세트를 서명하는 것입니다. 각 당사자의 약정 거래는 즉시 상대방의 자금을 반환하지만, 자금을 회수하기 위해서는 타임락이 만료될 때까지 기다려야 합니다. 이는 취소 키의 도입을 허용하기 위한 것입니다.
채널 상태 업데이트가 발생할 때마다, 최종화되기 전에 양 당사자는 가장 최근의 과거 약정 거래에 대한 취소 키를 교환해야 합니다. 만약 어느 당사자가 블록체인에 오래된 거래를 제출하여 현재 상태에서 상대방이 소유한 자금을 주장하려고 한다면, 피해자는 벌칙 키를 사용하여 부정 행위 당사자가 그 오래된 채널 상태에서 보유한 자금의 100%를 압수할 수 있습니다.
해시 타임락 계약 (HTLC)
네트워크의 여러 결제 채널을 통해 결제를 안전하고 보안적으로 라우팅하는 것은 HTLC 덕분에 가능합니다. 이는 단일 블록체인 또는 여러 블록체인에서 다양한 자산의 원자적 스왑을 촉진하는 데 사용되는 동일한 메커니즘입니다.
HTLC는 해시락을 생성하는 해시에 대한 프리이미지를 제공할 수 있는 수신자가 지출할 수 있는 출력 또는 타임락이 만료된 후 송신자가 지출할 수 있는 출력을 설정합니다. 이를 통해 네트워크를 통해 다른 사람에게 지불하려는 사람이 수신자가 생성한 동일한 해시락에 잠긴 HTLC 제안을 전달할 수 있습니다. 수신자의 채널 파트너가 HTLC를 전달하면, 그들은 프리이미지를 해제할 수 있습니다.
그런 다음 각 당사자는 송신자를 향해 거슬러 올라가면서 프리이미지를 공개합니다. 각 홉에서 채널이 업데이트되어 HTLC의 자금이 채널의 적절한 쪽으로 이동합니다. 수신자에서 송신자까지 환불 경로의 타임락은 각 홉마다 길어집니다. 이는 무언가 잘못되어 누군가 채널을 닫고 HTLC를 온체인으로 정산해야 할 경우, 이전 당사자들이 그곳에서 프리이미지를 감지하고 채널을 적절히 업데이트할 수 있도록 하기 위함입니다.
가십 프로토콜
네트워크를 통해 결제를 성공적으로 라우팅하기 위해 라이트닝 노드는 네트워크의 전반적인 모습에 대한 일반적인 아이디어를 가져야 합니다. 이것이 가십 프로토콜이 수행하는 작업입니다. 이는 다양한 라이트닝 노드와 그들이 열어둔 채널에 대한 정보를 방송하여 지갑이 네트워크의 모습을 파악하고 결제를 전달할 경로를 선택할 수 있도록 합니다.
이것은 채널 발표, 노드 발표 및 채널 업데이트라는 세 가지 메시지로 구성된 매우 간단한 프로토콜입니다. 각 메시지는 서로 특정한 의존성을 가지며, 각 메시지는 사용자가 결제 경로를 찾는 데 사용할 수 있는 결제 채널 네트워크에 대한 정보를 전파하는 역할을 합니다.
채널 발표 메시지는 라이트닝 채널이 실제로 존재함을 증명하는 데 필요한 정보를 전파합니다. 이를 자금 지원하는 UTXO, 이를 보유하는 멀티시그 주소에 관련된 두 키의 서명. 모든 라이트닝 노드가 가지고 있는 라이트닝 노드 신원 키의 서명, UTXO 증명 및 서명에 대한 것입니다. 이는 실제 비트코인으로 뒷받침되는 실제 라이트닝 채널임을 증명하기 위한 모든 것입니다.
채널 발표를 네트워크에 방송한 후에만 노드는 노드 발표 메시지를 전파할 수 있습니다. 이 발표에는 노드의 신원 키, 도달할 수 있는 네트워크 주소, 선택한 별명 및 몇 가지 다른 메타데이터가 포함됩니다.
채널 업데이트 메시지는 특정 채널이 결제 라우팅에 적용되는 수수료 및 조건에 대한 정보를 제공합니다. 여기에는 노드가 HTLC에 대해 수용할 최소 및 최대 전송 값, 부과되는 기본 및 비율 수수료(라이트닝 결제는 기본 절대 수수료를 지불해야 하며, 그 다음 결제 값의 비율로 계산된 두 번째 수수료를 지불해야 함), 그리고 HTLC에 대해 그들이 요구하는 결제의 이전 홉과의 시간 차이가 포함됩니다.
이를 통해 모든 라이트닝 노드는 결제를 네트워크를 통해 라우팅하기 위해 시도하는 결제 경로를 알리기 위해 사용할 수 있는 전체 네트워크의 뷰를 구성할 수 있습니다.
양파 라우팅
결제를 라우팅하는 것과 관련된 라이트닝 네트워크의 각 노드 간에 전달되는 모든 메시지는 양파 라우팅됩니다. 모든 메시지는 암호화의 한 층으로 포장되어 결제 경로의 각 참가자가 해당 메시지를 해독하고 읽을 수 있도록 합니다. 이 메시지는 결제를 다음으로 전달할 채널 피어에 대한 지침입니다.
그게 전부입니다.
이는 네트워크를 통한 결제에 대한 어느 정도의 프라이버시를 제공합니다. 라우팅에 관여하는 각 개별 당사자는 전체 경로에서 자신의 홉만 볼 수 있습니다. 그들은 어떤 파트너가 그것을 전달했는지, 그리고 어떤 파트너에게 전달했는지를 볼 수 있습니다. 그들은 궁극적인 목적지나 출처를 보지 못합니다.
이것이 가십 프로토콜이 존재하는 이유이며, 결제의 발신자가 시도하는 결제 경로를 구성하는 이유입니다. 발신자가 경로를 구성함으로써 결제는 어느 정도의 프라이버시를 보장받지만, 발신자가 경로를 구성하기 위해서는 대략적으로 네트워크의 모습을 알아야 하므로, 어떤 경로를 선택하는지 누군가에게 누설하지 않고 경로를 선택할 수 있습니다.
유동성 역학
누군가가 라이트닝 네트워크를 통해 결제를 받으려면 다른 누군가가 그들에게 라이트닝 채널을 열고 그 특정 경로와 사람에게 실제 비트코인을 할당해야 합니다. 채널 피어는 본질적으로 그 사람이 정기적으로 물건에 대해 지불할 의사가 있는 사람들을 가질 것이라는 내기를 해야 합니다. 그리고 그 피어가 수수료를 부과하고 만족스러운 금액을 벌기 위해서는 충분한 양을 가져야 합니다.
이는 병목 현상을 생성하고, 참여자들이 서로의 신뢰를 얻어야 할 필요성을 만들어냅니다. 네트워크에서 다른 사람에게 “수신 유동성”을 제공할 의사가 있는 사람들은 누군가가 실제로 돈을 벌 수 있는 기회를 제공할 수 있는지 평가할 방법이 필요합니다.
이로 인해 사람들이 “라이트닝 서비스 제공자”(LSP)라고 부르는 필요성이 생겼습니다. 최종 사용자를 대상으로 인프라를 운영하고 그들이 결제를 받을 수 있도록 필요한 유동성을 제공하는 서비스 제공자입니다. 이러한 중앙 집중식 솔루션 외에도, 유동성이 있는 사람들에게 채널을 여는 제안과 수수료를 방송하는 가십 프로토콜 확장과 같은 프로토콜 수준의 솔루션이 존재합니다.
마무리
라이트닝은 분명히 한계가 있으며, 사용자가 결제를 받기 위해 자금을 미리 할당해야 하는 진입 장벽이 있습니다. 그러나 이러한 장벽에도 불구하고 큰 성공을 거두었습니다.
완전히 자가 관리 결제 솔루션으로 작동하지는 않았지만, 자가 관리 방식으로 작동하도록 만들어졌습니다. 비록 힘들게 이루어졌더라도 말입니다. 그 외에도, 산업 규모 또는 중앙 집중식 사용을 위한 일반적인 정산 레이어로서의 유용성을 확실히 입증했습니다.
라이트닝은 완전히 기능하는 최종 사용자 결제 시스템이 되든 아니든, 그 복잡성을 처리할 수 있는 사람들에게는 부인할 수 없는 효과적인 정산 솔루션입니다. 이는 비트코인 생태계에서 장기적으로 어떤 기능을 보장합니다. 그것이 의도된 목적이었는지 여부와 관계없이 말입니다.