Lightning Network란 무엇인가? - 라이트닝 네트워크 (3부)
안녕하세요, 암호화폐가 가져올 새로운 미래를 꿈구는 @cryptodreamers 입니다.
<Ultimate technology, lightning network>
오늘은 라이트닝 네트워크 3부를 마무리해보려고 합니다.
3부를 마지막으로 라이트닝 네트워크에 대한 개념적인 이해가 가능하실 것으로 판단됩니다.
들어가기에 앞서, 라이트닝 네트워크의 개념이나 일대일 당사자간의 거래의 작동원리에 대해 궁금하신 분들께서는 기 포스팅 되었던 1부, 2부를 참고해보시면 많은 도움이 되실 것 같습니다.
https://steemit.com/lightningnetwork/@cryptodreamers/lightning-network-1
라이트닝 네트워크란 무엇인가? : 라이트닝 네트워크의 개념(1부)
https://steemit.com/lightningnetwork/@cryptodreamers/lightning-network-2
라이트닝 네트워크란 무엇인가? : 일대일 당사자간의 거래(2부)
3부에서 다루게 될 내용은 일대일 당사자간의 거래를 위한 단일채널의 작동원리가 아니라,
다자간의 거래에서 발생하는 라이트닝 네트워크의 작동원리 또는 채널이 형성되어 있지 않은 상태에서 발생하는 다자간의 거래의 작동원리라고 보시면 됩니다.
라이트닝 네트워크 백서를 통해 제시된 이 개념은 HTLC(Hashed Timelock Contract : 해쉬알고리즘화된 시간지연 계약)라고 명명됩니다. 직역을 해버리면 정말 이해가 어려워지는 부분이니, 풀어서 쉽게 설명을 드려본다면 다음과 같습니다.
"SHA-256 해쉬 암호화 알고리즘"과 비트코인의 "타임락 기능"을 활용해서 다자간의 신뢰할 수 있는 거래를 가능하게 만드는 프로토콜이라고 할 수 있습니다.
쉽게 예를 들어서 설명을 해보겠습니다.
Bob이 매일 아침 커피숍에 들려 비트코인으로 커피를 사서 마시고 있습니다. Bob의 직장동료인 Alice는 Bob이 비트코인으로 커피를 손쉽게 사는 것을 목격하고, 자신도 비트코인으로 커피를 사서 마시고 싶어합니다. 하지만 Alice는 Bob과 거래를 한 적이 있기 때문에 Bob과의 Payment Channel은 만들어져 있지만, 커피숍과는 채널이 없는 상황입니다.
이런 경우에 Alice는 커피숍에 라이트닝 네트워크로 비트코인을 지불할 수 있을까요?
정답은 놀랍게도 '가능하다' 입니다.
Alice는 가장 먼저 Bob에게 비트코인을 주고, Bob은 이미 커피숍과 만들어져 있는 Payment Channel을 통해 비트코인을 전달하면 되는 것이죠. 이런 방식으로 거래를 하더라도 "신뢰할 수 있는" , "거짓없는" 거래가 될 수 있습니다. 결국 Payment Channel에서 발생하는 모든 거래는 블록체인이라는 상위의 개념, 대법원 (High Court)이라고 할 수 있는데요,
2부에서 살펴보았듯 부적절한 의도를 갖고 거래를 시도한다면 Channel상에 예치된 모든 금액을 몰수당하는 페널티를 받을 수 있도록 설계되어 있기 때문입니다.
Alice가 Bob을 통해 커피숍에 돈을 전달할 수 있다는 것은 굉장한 사실입니다. 그렇지만 어떻게 이 모든 과정을 통제할 수 있는지 한 번 더 들여다 볼 필요가 있을 것 같습니다. 이 과정에도 라이트닝 네트워크의 거스를 수 없는 "룰"이 존재하기 때문이죠.
커피숍의 사장님은 Pre-image라는 자신만의 영수증 암호를 작성합니다.
이 영수증 암호는 Alice도, Bob도 아무도 모르고, 오로지 커피숍 사장님만 아시는 상황입니다.
Pre-image는 해쉬 알고리즘을 통해서 H라는 값으로 바뀝니다. 정확하게 말씀을 드리면, SHA-256 해쉬 알고리즘을 통해 암호화 되는 것이죠. (SHA-256알고리즘은 비트코인의 블록체인에서 활용되는 암호화 알고리즘입니다.)
사장님께서 만드신 H값이 왜 영수증이 되는지는 조금있다 다시 설명을 드려보겠습니다.
어쨋든 사장님께서는 H값을 Alice에게 전달합니다.
사장님께 Alice는 H값을 받았고, 이제 Alice는 Bob에게 2BTC를 전달합니다.
여기서 그냥 2BTC를 Bob에게 주는 것이 아니라, Contract가 걸려있는 조건부 전송을 합니다.
Bob은 사장님만이 알고 있는 pre-image : R값을 Alice에게 제시해야만, Alice에게 2BTC를 받을 수 있게 됩니다.
사장님의 R값이 없다면 이 거래는 자동적으로 이틀내에 취소됩니다. 그렇기에 R값을 획득할 수 없는 거래외 당사자들이 개입할 여지가 사라지게 되는 것이죠. 이러한 시스템을 통해 Alice는 2BTC을 잃어버릴 염려도 없어집니다.
사장님 역시 Bob에게 2BTC를 받기 위해서는 본인의 R 값을 Bob에게 제시해야만 합니다. (조건부) 본인의 R값을 제시하지 못할 경우, 2BTC를 받을 수 없으며, 이런 일방향적 암호화 방식을 통해 안전한 거래가 가능해집니다. 만약, 사장님이 아닌 사람이 Bob에게 2BTC를 받으려고 시도한다면, R값이 없기 때문에 이 시도는 불가능해질 것입니다.
사장님은 Bob에게 R값을 제공하고, 2BTC를 Bob에게 받았습니다.
Bob이 사장님께 송금한 2BTC는 Bob의 비트코인입니다. (아직 Alice의 비트코인을 받지 않았으므로)
Bob인 Alice에게 R을 제시하고, Alice에게 2BTC를 받습니다.
결국, Alice는 사장님의 영수증 암호인 R값을 받게 되었습니다. Alice가 R값을 갖지 못한다면, 정상적인 거래가 완료되지 않았음을 의미하고, 각각의 노드로 넘어가는 과정에서 일정 시간이상의 시간이 소요된다면 자동적으로 이 일련의 거래가 모두 취소될 수 있습니다. (각 조건부 거래는 시간의 제한이 있음)
만약 사장님이 Bob에게 R값을 제시하지 않는다면, 혹은 할 수 없다면 이 거래는 자동적으로 1일 뒤에 취소될 것입니다.
또한, Bob이 Alice에게 R값을 제시하지 않는다면, 혹은 할 수 없다면 이 거래는 자동적으로 2일(다음 거래의 잔여일 + 1일) 뒤에 취소됩니다. 이런 과정에서 비트코인의 시간가치, 유동성 등이 중요한 이슈로 발생하게 됩니다.
(본인의 유동성을 잃는 것에 대한 기회비용, 시간이 흐름에 따른 비트코인의 현재가치의 변화)
라이트닝 네트워크는 모든 채널이 모든 노드와 연결되도록 만드는데 목적이 있지 않습니다.
특정한 노드들이 다른 노드와 연결될 수도 있고, 되지 않을 수도 있지만 결국엔 다양한 루트를 통해 접근할 수 있음을 목적으로 합니다. 이러한 단일채널들이 만들어질 수록 라이트닝 네트워크가 가지는 접근성은 기하급수적으로 늘어나게 되며, 시간이 흘러 네트워킹 효과가 발생하며 모든 당사자들이 손쉽게 거래를 진행할 수 있게 될 것입니다.
Payment Channel들이 누적되며, 네트워크를 이룬다면 모든 사람들이 비트코인의 라이트닝 네트워크를 통해 손쉽게 수수료 없이, 빠른 속도로 트랜잭션을 진행 할 수 있을 것입니다. 이것이야 말로 라이트닝 채널이 아니라 라이트닝 "네트워크"인 이유이며, 라이트닝 네트워크가 가진 잠재력이라고 할 수 있습니다.
아직 라이트닝 네트워크는 기술적으로 모든 것을 완벽하게 구현할 수는 없습니다. 또, 라이트닝 네트워크의 구조상 발생하고 있는 해결해야할 여러가지 문제점들이 남아있습니다. 하지만 Blockstream을 비롯하여, 세계의 많은 공학자들이 라이트닝 네트워크에 목메고 하루가 다르게 기술력을 향상시키고 있습니다. 테스트넷이 가동되어 그 가능성을 실제로 보여주고 있으며, 암호화폐 전문가들은 머지않아 라이트닝 네트워크가 상용화될 수 있다는 믿음을 갖고 있습니다.
라이트닝 네트워크가 가져올 비트코인의 진화.
가슴벅차고 기대되는 미래가 아닐 수 없습니다.
Lightning Network 백서
https://lightning.network/lightning-network-paper.pdf
Hashed Timelock Contract 위키피디아 백과
https://en.bitcoin.it/wiki/Hashed_Timelock_Contracts
Lightning network의 작동원리
https://bitcoinmagazine.com/articles/understanding-the-lightning-network-part-building-a-bidirectional-payment-channel-1464710791/
좋은글 감사합니다.