이 기사의 버전은 BC1984에 처음 게시되었습니다..
“Citadel Dispatch” 에피소드 70, “Tony와 @FuturePaul과 함께하는 Lightning 개인 사용”:
Tony Giorgio:
“교육과 비관주의 사이에는 미세한 경계가 있습니다. 사람들은 Lightning 프라이버시와 비트코인 프라이버시에도 많은 구멍이 있다는 것을 인식해야 합니다. 이는 잃어버린 원인이 아닙니다. 저는 프라이버시를 깨뜨리고 프라이버시를 개선하는 경계에서 균형을 잡고 싶습니다. 사람들이 그것이 어느 정도 깨져 있다는 것을 교육하기 위해 프라이버시를 깨뜨리는 것이고, 동시에 교육하고 개선하려고 노력하는 것입니다. 제가 이렇게 하는 이유는 프라이버시를 더 나아지게 하기 위해서입니다.”
Matt:
“문제를 해결하려면 먼저 문제를 인식해야 합니다.”
pLN은 Tony Giorgio와 @futurepaul이 작업 중인 새로운 지갑 프로젝트로, 사용자가 Lightning Network에서 개인적으로 결제를 쉽게 할 수 있도록 하는 것을 목표로 합니다.
프로젝트는 아직 초기 단계이지만, 비트코인을 프라이버시를 유지하며 Lightning을 통해 지출하려고 할 때의 모든 함정을 고려할 때 사용 사례는 매우 명확합니다.
pLN의 최소 실행 가능 제품(MVP) 출시를 위한 주요 목표는 사용자가 다음을 가능하게 하는 것입니다:
- 온체인 예금을 통해 Lightning 채널 열기
- Lightning을 통한 결제하기
그리고, 중요하게도, 초기 버전에서는:
- Lightning 결제 수신이 비활성화됩니다
- 각 채널은 별도의 노드에서 열립니다
결제 수신이 처음에 비활성화되는 이유를 이해하기 위해서는 현재 Lightning의 주요 함정 몇 가지를 이해하는 것이 중요합니다:
- 모든 송장은 수신자의 채널 ID를 포함합니다
- 채널 ID는 노드/소유자에 대한 결정론적 정보를 유출합니다
하지만 아직 널리 지원되지 않는 “짧은 채널 ID”를 사용하면, 이는 체인 상태, 노드 소유자 또는 채널 자금을 조달하는 데 사용된 원래 UTXO와 연결되지 않습니다.
pLN 앱 자체는 Flutter를 사용하여 작성되고 있으며, 이는 데스크톱 및 모바일(안드로이드 및 iOS 모두) 버전이 제공될 것임을 의미합니다.
내부 구조
앱의 내부 구조는 “루트 노드”와 각 채널에 대한 여러 “채널 노드”를 사용합니다. 이 앱은 LDK를 기반으로 하는 John Cantrell의 Sensei 프로젝트에서 많은 부분을 차용하고 있습니다.
루트 노드는 중요한 작업을 처리합니다: 가십 메시지를 듣고, 네트워크 그래프를 구축하고, 경로를 계산하는 등의 작업을 수행합니다. 개별 채널 노드는 자신의 채널 상태만 추적하고 그 외에는 아무것도 추적하지 않습니다.
비트코인 백엔드는 bitcoind에 대한 연결 또는 개인 Electrum 서버가 될 수 있습니다. 모바일의 경우, Electrum이 안전한 원격 연결을 위해 설계되었기 때문에 가장 좋은 선택일 것입니다.
pLN을 사용하는 친구에게 결제하고 싶다면?
채널 파트너에게 직접 결제하는 것은 귀하의 노드에 대한 정보를 유출하므로, 이러한 결제를 신중하게 진행해야 하며, 가능하면 드물게 하는 것이 좋습니다.
그렇다면, 최종 수신자와의 사이에 더 많은 홉이 있을수록 그럴듯한 부인 가능성이 생깁니다. 경로를 따라 더 많은 홉을 만들수록 익명성 집합이 커집니다.
앱은 궁극적으로 내장된 보호 기능을 무시하고 피어에게 결제를 할 수 있도록 허용할 것이지만, 이로 인해 발생할 수 있는 정보 유출에 대한 명확한 경고가 있을 것입니다.
예를 들어, pLN을 실행하는 친구에게 직접 결제를 하기로 선택할 수 있습니다. (그들과 대면하여 결제하고 그들을 신뢰하기 때문에 어떤 채널이 열려 있는지 알게 되는 것이 중요하지 않다고 상상해 보세요.)
그러나 앱은 가능한 경우 여러 홉을 통해 결제하도록 권장할 것입니다. (기본값은 최소한 몇 개의 홉을 선택할 가능성이 높다고 생각합니다.)
또한 주요 공개 허브(예: ACINQ 또는 Breez의 노드)와 채널을 열려고 하면 경고할 것입니다. 이상적으로는 가능한 경우 알려지지 않은/작은 노드와 채널을 여는 것이 좋습니다.
대규모 결제는 어떻게 하나요?
대규모 결제는 부분적으로 완료된 원자 다중 경로 결제(AMP)처럼 보이도록 할 수 있으며, 필요에 따라 여러 개의 개별 채널 노드에서 유동성이 흐릅니다. 모든 사츠는 결국 최종 목적지로 수렴합니다. 꽤 멋지네요!
앱의 미래 아이디어 (추후 결정)
- LDK에서 사용 가능해지면 블라인드 경로 활성화
- 루트 노드의 지갑에 온체인 UTXO와 함께 지속적인 CoinJoin
- 채널의 사츠와 함께 지속적인 스플라이스 아웃/스플라이스 인 및 CoinJoin
- 타임아웃 UX 옵션: 결제가 라우팅되는 데 너무 오랜 시간이 걸리면, 앱이 더 적은 홉으로 다른 경로를 시도할 것인지 물어볼 수 있습니다
마무리 생각
- 프라이버시는 스펙트럼입니다
- 사용성과 사용자 경험을 익명성 집합(anonsets) 및 프라이버시와 균형을 맞추어야 하며, 사용자가 스스로 발목을 잡지 않도록 도와야 합니다
저는 이것이 사용자에게 프라이버시에 대해 교육하고 Lightning을 간단하게 사용할 수 있도록 도와줄 흥미로운 새로운 지갑 및 프로젝트라고 생각합니다.
이 글은 Adam Anderson의 게스트 포스트입니다. 표현된 의견은 전적으로 그들의 것이며 BTC Inc 또는 Bitcoin Magazine의 의견을 반드시 반영하지는 않습니다.