대서양 상공을 비행하고 있다고 상상해 보세요. 기내에 인터넷이 없고, 옆 좌석 승객이 10만 사토시를 빌려달라고 부탁합니다. 휴대폰을 꺼내 가장 좋아하는 라이트닝 지갑을 열었더니… "서버에 연결하지 못했습니다"라는 오류 메시지가 뜹니다. 키는 주머니에 있고, 시드 문구는 집에 안전하게 적혀 있지만 돈을 보낼 수 없습니다.
그것이 바로 소유와 제어의 차이입니다.
이 기사의 파트 I에서 저는 신뢰 계층이 어떻게 "자기 관리"라는 라벨 아래에도 숨어 있을 수 있는지 살펴보았습니다. 하지만 지갑 서버는 이 인형의 집에 또 다른 숨겨진 종속성 세트를 추가합니다. 그리고 이것은 비트코인에도 적용됩니다. 아니, 오히려 특히 비트코인에 적용됩니다. 따라서 개인 키가 휴대폰에 바로 저장되어 있더라도 정확히 무엇이 즉시 sats를 사용하는 것을 방해하는지 분석해 보겠습니다.
잘 알려진 바와 같이, 비트코인 블록체인에는 공간이 많지 않습니다. 지구상의 모든 사람이 비트코인을 사용하기 시작하면 각 사람은 평생 동안 약 2개의 트랜잭션만 수행할 수 있습니다. 비트코인 블록에 80억 개의 트랜잭션을 기록하는 데 36년이 걸리기 때문입니다! 그렇기 때문에 대규모 채택의 경우 비트코인을 보내는 유일한 실용적인 방법은 두 번째 레이어 솔루션을 사용하는 것입니다.
오늘날 비트코인에서 가장 잘 알려진 두 번째 레이어는 라이트닝 네트워크입니다. 저는 여기에서 자세히 다루었습니다. 아직 읽지 않으셨다면 한번 살펴보세요.
간단히 말해서, 라이트닝 네트워크는 결제 채널 시스템입니다. 각 채널은 채널로 연결된 두 사람이 공동으로 소유한 sats(사토시)를 보유합니다. Sats는 앞뒤로 이동할 수 있으며, 각 이동 후에는 두 참가자 모두 당사자들이 서명한 트랜잭션을 받아, 둘 중 한 명이 단독으로 자신의 자금 몫을 자신의 온체인 주소로 인출할 수 있습니다.
이 메커니즘은 각 참가자가 항상 자신의 sats에 대한 완전한 통제력을 유지하도록 설계되었습니다. 그러나 이 제어는 두 가지 주요 구성 요소에 의존합니다.
Muun 지갑의 제작자는 이 뉘앙스를 설명할 때 가장 잘 표현했습니다.
그리고 라이트닝의 경우 이것은 정말 중요합니다. 키는 있지만 어떤 이유로든 최신 채널 종료 트랜잭션에 액세스할 수 없는 경우(예: 저장하는 서버가 실패한 경우), 채널에서 상대방의 선의에 의존하여 sats를 검색해야 합니다.
전체 라이트닝 노드를 실행하는 경우 종료 트랜잭션이 해당 위치에 저장됩니다. 하지만 오늘날 실제로 풀 노드를 실행하는 사람은 얼마나 됩니까?
저는 대부분의 라이트닝 네트워크 사용자가 빠르고 쉽게 sats를 보내고 받을 수 있는 모바일 지갑을 선택한다고 생각합니다. 결국 이것이 라이트닝의 요점이지 않습니까?
특히 이러한 지갑 제조업체가 만장일치로 자가 관리로 광고한다는 점을 고려하면요.
위에 표시된 스크린샷의 모든 지갑은 사용자에게 시드 문구를 제공했으며, 많은 사람들에게 이것은 비커스터디알 스토리지의 증거로 사용됩니다. 하지만 실제로 이러한 지갑 중 어느 것도 채널을 닫기 위한 버튼조차 포함하지 않았습니다. 사용자가 단독으로 채널을 닫을 수 있도록 하는 트랜잭션에 대한 액세스는 말할 것도 없습니다. sats를 인출하려면 지갑의 백엔드 서버가 트랜잭션을 승인해야 했습니다. 해당 서버가 오프라인 상태가 되거나 요청 처리를 거부하면 귀하의 sats는 더 이상 귀하의 것이 아닙니다.
스크린샷에 표시된 지갑 중에서 가장 많은 것을 보여주는 사례는 Bitmask였습니다. 업데이트 중 하나 이후에 개발자는 실수로 인터페이스에서 Lightning Network 자산에 대한 모든 참조를 제거했습니다. 이는 사용자가 Lightning Network에서 자금에 대한 액세스를 완전히 잃었음을 의미합니다. 이전 버전의 지갑은 작동을 멈췄고, 새 버전은 Lightning sats를 전혀 표시하지 않았습니다.
Lightning에만 독점적으로 지갑을 사용했다면 이제 잔액이 0으로 표시됩니다.
그리고 시드 문구는 도움이 되지 않습니다. 이를 다른 지갑으로 가져오면 비트코인 기본 레이어에 저장된 자산(있는 경우)을 볼 수 있지만 Lightning 결제 채널의 자금은 여전히 액세스할 수 없습니다.
Breez SDK / Greenlight 아키텍처를 사용하는 지갑(예: Green, Relai, Blitz 및 기타 여러 지갑)으로 인해 상황이 더욱 복잡해집니다. 이러한 지갑은 Greenlight 서버를 통해서만 라이트닝 네트워크와 상호 작용합니다. 한편으로는 이 설정을 사용하면 동일한 시스템을 사용하여 시드 문구를 다른 지갑으로 가져와 라이트닝 펀드에 액세스할 수 있습니다. 반면에 Greenlight의 서버에 크게 의존하게 됩니다. 기술적인 오류가 발생하고 채널이 닫히면 자산이 서버에 남아 있고 귀하에게는 남아 있지 않습니다.
Green 지갑의 GitHub 문제 추적기는 사용자가 개발 팀이 문제를 해결하고 sats를 반환할 때까지 몇 달을 기다리는 경우가 있다는 것을 보여줍니다. 이것이 정말로 자체 관리의 모습이어야 합니까?
Green 지갑의 출금 오류입니다. 출처: Blockstream의 GitHub
노골적인 기만의 경우도 있습니다. 현재는 폐기된 Mutiny 지갑도 자체 관리를 제공한다고 주장했습니다. 당연히 사용자에게 시드 문구를 제공했으며, 이는 사용자가 자금에 대한 완전한 통제권을 가지고 있음을 의미해야 했습니다.
하지만 어느 날, 지갑 개발자는 수신 트랜잭션에 대한 수수료를 도입하기로 결정했습니다. 언제든지 sats를 받으면 지갑은 금액에서 정확히 1 사토시를 자동으로 공제합니다. 사소한 수수료처럼 보일 수도 있고 사용자가 사용할 수 있는 수수료일 수도 있지만 심각한 질문이 제기되었습니다.
놀랄 것도 없이, 이 지갑은 비트코인 커뮤니티에서 인기를 얻지 못했고 결국 문을 닫아야 했습니다. 그리고 문을 닫았을 때 사용자 자금의 일부를 보관했습니다. 왜냐하면 실제로 지갑이 당신의 동의 없이 1 sats를 가져갈 수 있다면 더 많은 것을 가져가는 것을 막을 수 있는 것은 무엇일까요? 특히 프로젝트가 종료되고 명성이 더 이상 중요하지 않은 경우에는 더욱 그렇습니다.
우리는 종종 자가 관리라는 단어를 보고 "이것이 바로 내가 필요한 것입니다."라고 생각합니다. 지갑 개발자는 이것을 너무나 잘 알고 있으며 있어야 할 자리에 없더라도 그 단어를 제품에 붙입니다.
따라서 자체 관리한다고 주장하는 지갑을 보면 다음과 같은 몇 가지 질문을 스스로에게 해보십시오.
그리고 묻기만 하지 말고 테스트해 보세요. 지갑이 아직 자산이 없는 새로운 네트워크용인 경우 교환 서비스를 통해 소액을 보내보십시오. Rabbit.io는 매우 적은 금액을 지원하므로 지갑에 문제가 발생하더라도 많은 위험을 감수하지 않습니다.
저희 사이트에 표시되는 금액과 지갑에 표시되는 금액을 비교해 보십시오. 수신 트랜잭션이 수수료로 인해 "잘리면" 해당 지갑 개발자가 귀하로부터 돈을 뺏을 수 있음을 의미합니다.
마지막으로, 지갑을 백업하고, 장치에서 앱을 삭제하고, 장치를 다시 시작하고, 지갑을 다시 설치하고, 자금에 대한 액세스를 복원해 보십시오. 이 테스트를 거친 후에야 지갑을 실제 사용할 준비가 되었다고 생각할 수 있습니다.
도구를 현명하게 선택하십시오. 진정한 자유는 드물고 종종 잘못 표현됩니다.