디센트럴랜드 오프체인 랜드렌탈
디센트럴랜드 렌탈 기능은 NFT 모양으로 된 랜드의 활용도를 올리기 위해 디센트럴랜드 파운데이션이 미친듯이 머리를 굴린 결과입니다. 애초에 블록체인은 처음부터 NFT 같은 것을 주고 받을 용도로 만들어지지도 않았고 또 NFT 자체는 대여를 위해 만들어지지도 않은 것 같아 보입니다. 블록체인을 통한 소유권 이전은 실제 세계에서 소유권과 저작권 사이에 여러 가지 문제를 일으키지만 실제 세계에 기반을 두지 않은 온전한 NFT라면 블록체인 상에 이 NFT가 내 지갑 주소로 이전 되었다는 기록이 남으면 내가 소유권을 가진 것으로 인정하기로 어느 정도 합의된 상태입니다.
블록체인을 통한 소유권 이전은 가능하지만 NFT는 자신의 활용도를 올려 줄 가능성이 있는 대여 개념에 기반해 설계되지는 않은 것 같아 보입니다. 그래서 NFT를 대여하려고 하면 블록체인에서 직접 지원하지 않는 복잡한 방법을 동원할 수밖에 없으며 이 과정에서 블록체인에 정보를 업데이트 하기 위해 가스비를 반복해서 지출해야 하는 사례도 있습니다. 디센트럴랜드의 랜드 렌탈은 기존 랜드 NFT를 임대할 수 있는 방법을 제공해 NFT의 활용도를 올리고 소유되어 있지만 사용되지는 않는 랜드의 가치를 올리는데 기여할 가능성이 있어 보입니다.
이 개념을 팀에 소개하려고 보니 불행하게도 현대 인터넷 보안의 거의 전부를 지탱하고 있는 비대칭 키 암호화를 최소한은 이해하고 있어야 할 것 같아 보였습니다. 비대칭 키 암호화라고 하면 뭔가 나와 상관 없을 것 같지만 인터넷에서 아무 웹사이트에나 접속했다면 이미 비대칭 키 암호화 기반의 암호화 및 인증 기능을 사용하고 있는 것입니다. 디센트럴랜드 렌탈은 위에서 잠깐 이야기한 NFT가 소유를 위해 설계되었을 뿐 대여를 위해 설계되지 않은 기술적인 한계를 오프체인을 통해 극복하되 오프체인에서도 디센트럴랜드 파운데이션을 신뢰하는 한 암호학적으로 유효한 소유권 일시 이전을 할 수 있어 비대칭 키 암호화의 개념만 이해하면 전체 그림을 이해할 수 있습니다.
팀에 암호화의 목적, 대칭 키 암호화의 역사, 한계, 역사의 전환으로 삼을 만 한 RSA 논문, 비대칭 키 암호화의 원리, 현대에 이 기술을 이용하는 사례, 가상자산과 연관성까지 설명한 다음 마지막으로 디센트럴랜드의 랜드 렌탈이 오프체인 상에서 비대칭 키 암호화를 기반으로 동작하는 과정을 브리핑 해봤습니다. 브리핑 과정에서 중요한 질문이 나왔고 이 질문은 전통적인 게임을 개발하던 사람 입장에서 한 번 쯤 생각해볼 만 하다 싶었습니다. 그래서 오늘은 어차피 검색해보면 다 나오는 비대칭 키 암호화와 현대의 활용에 대한 이야기는 생략하고 바로 디센트럴랜드 렌탈이 이런 방식으로 구현된 원인 추측과 이런 디자인이 전통적인 게임 개발자들에게 주는 교훈에 대해 이야기해보려고 합니다. 여기부터는 블록체인과 비대칭 키 암호화에 대해 아주 대강은 알고 있다는 가정 하에 진행하겠습니다. 개인적으로 블록체인과 비대칭 키 암호화 사이의 관계는 'But how does bitcoin actually work?' 영상이 지금까지는 인터넷 상에서 가장 흘륭하게 설명해 낸 영상이라고 생각하니 참고해 주세요.
디센트럴랜드 렌탈 설명을 맨 아래로 스크롤 해 보면 가장 중요한 'Smart Contract Wallets' 라는 부분이 나옵니다. 설명에는 대략 ‘오프체인 시그니처에 의존’, ‘스마트 컨트랙트에 의해 확인’, ‘사이닝에 프라이빗 키 필요’, ‘미리 인증된 스마트컨트랙트 월렛에 의해 사인됨’ 같은 표현들이 나오는데, 이 설명들만 이해하면 디센트럴랜드 렌탈의 동작을 이해할 수 있습니다.
먼저 블록체인 상에서 NFT를 소유하는 개념을 잠깐 짚고 넘어가면 블록체인 상에서 네이티브하게 주고 받을 수 있는 토큰은 한정 되어 있습니다. 가령 비트코인 블록체인에서는 비트코인만, 이더리움 블록체인에서는 이더리움만 주고 받을 수 있습니다. 이더리움 블록체인에서 NFT 같은 네이티브 토큰이 아닌 것을 주고 받으려면 먼저 스마트 컨트랙트에 의해 토큰이 정의 되어 있어야 합니다. 스마트 컨트랙트에 의해 정의된 토큰은 블록체인 상의 전송 기록에 의해 소유권을 해석하는데 간단히 블록체인 맨 끝에 ‘랜드 NFT가 지갑 A에서 지갑 B로 전송되었음’이라는 메시지가 적혀 있다면 이 NFT는 지갑 B에 들어 있다고 해석할 수 있습니다. 그리고 NFT가 들어 있는 지갑 B를 소유하고 있다는 말은 지갑 B의 ‘프라이빗 키’를 가지고 있다는 의미입니다.
같은 요령으로 디센트럴랜드에서 랜드를 렌탈하려면 먼저 랜드를 디센트럴랜드 지갑에 전송해야 합니다. 방금 설명과 똑같이 ‘랜드 NFT가 지갑 B에서 디센트럴랜드 파운데이션 지갑으로 전송되었음’이라고 작성한 다음 지갑 B의 오너가 지갑 B의 프라이빗 키로 사인해서 블록체인에 전송하고 이 메시지가 승인되어 블록체인에 기록되고 나면 렌탈이 가능해집니다. 디센트럴랜드는 디센트럴랜드 파운데이션 지갑에 전송된 랜드 NFT를 기준으로 마켓플레이스에 리스팅 하게 됩니다. 디센트럴랜드 파운데이션 지갑에 랜드 NFT가 전송되었다고 해서 바로 마켓플레이스에 리스팅 되는 것은 아닙니다. 랜드 오너가 렌탈 옵션을 설정하고 승인하면 마켓플레이스에 리스팅 됩니다.
이 상태에서 랜드를 렌탈하려면 먼저 디센트럴랜드 파운데이션 지갑이 ‘랜드 NFT를 지갑 C에게 30일 동안 임대하며 하루 당 임대료는 10마나'라는 메시지를 생성한 다음 자신의 프라이빗 키로 사이닝 합니다. 이어서 이 조건에 동의하는 지갑 C를 소유한 유저 C가 프라이빗 키로 위 메시지에 사이닝 하면 렌탈이 확정되고 디센트럴랜드 빌더에서 랜드에 씬을 배포할 수 있게 됩니다. 랜드가 대여되면 이더리움 블록체인에는 랜드 NFT가 디센트럴랜드 파운데이션 지갑이 소유했다고 표시되고 랜드 NFT에는 실제 소유자가 표시되며 디센트럴랜드 인증서 데이터베이스에는 디센트럴랜드 파운데이션 지갑과 랜드를 렌탈한 지갑 C에 의해 사인 된 인증서가 보관된 상태가 됩니다.
이런 프라이빗 키 기반 오프체인 임대는 임대에 의해 소유권이 변경되면서도 블록체인에 계속해서 가스비를 내지 않아도 됩니다. 맨 처음 랜드를 렌탈하기로 결정해 랜드 NFT를 디센트럴랜드 파운데이션 지갑에 전송할 때와 다시 돌려받을 때 총 두 번만 가스비를 지불하면 이후 임차인이 바뀌는데 따라서는 오프체인 인증서만 변경되므로 가스비를 지불하지 않아도 됩니다. 또한 이론상 오프체인 상의 인증서를 확인하면 랜드의 소유 관계를 파악하고 증명할 수 있습니다.
반면 거래에 블록체인을 사용하는 근본적인 이유인 거래 주체들을 신뢰할 수 없어 블록체인을 신뢰한다는 탈중앙화 원칙이 깨집니다. 이더리움 블록체인 상에는 랜드 NFT를 디센트럴랜드 파운데이션이 소유하고 있다고 표시되고 렌탈에 의한 소유권 관계는 디센트럴랜드 인증서 데이터베이스를 참고해야만 합니다. 또한 랜드 NFT의 기반인 스마트컨트랙트는 프라이빗 키가 없으므로 디센트럴랜드 파운데이션이 사전에 지정한 지갑의 프라이빗 키를 통해 사인되는데 이는 전적으로 디센트럴랜드 파운데이션을 신뢰해야만 동작합니다.
근본적으로 NFT의 소유권은 블록체인에 의해 정의됩니다. 임대 관계는 오프체인 상으로 동작해도 큰 문제는 없다고 생각합니다. 만약 디센트럴랜드에 문제가 생겨도 오프체인 상의 임대 관계에만 문제가 생길 겁니다. 하지만 임대 상태의 랜드는 블록체인 상에서 디센트럴랜드 파운데이션이 소유하고 있습니다. 블록체인과 디센트럴랜드 오프체인 상의 소유권이 일치하지 않는 상태가 되어 안전하지는 않다고 생각합니다.
이런 이야기를 하며 중요한 질문이 나왔습니다. 랜드 렌탈에 디센트럴랜드 파운데이션을 신뢰해야만 한다면 오프체인 프라이빗 키 사이닝이 다 무슨 의미인가 하는 것입니다. 전통적인 게임 관점에서 랜드가 NFT 형태라는 점에 신경 쓰지 않는다면 이런 렌탈 시스템은 복잡한 인증서에 기반하는 대신 게임 서버가 직접 사용자 각각을 인증하고 게임 데이터베이스를 신뢰하는 더 단순한 형태로 설계했을 겁니다. 디센트럴랜드 역시 디센트럴랜드 파운데이션을 신뢰해야만 동작하는 시스템을 만든 이상 복잡한 인증 시스템에 기반할 필요가 적어도 기술적으로는 별로 없었을 거라고 생각합니다. 그럼에도 불구하고 디센트럴랜드가 굳이 그럴 필요 없는 사이닝을 통한 인증 시스템을 구축해야만 하는 이유는 블록체인을 통한 소유권 이전을 당연하게 생각하는 사람들의 눈높이를 맞추기 위해서일 겁니다.
결론. 디센트럴랜드의 랜드 렌탈 시스템은 애초에 렌탈을 고려해 설계되지 않은 NFT에 렌탈 개념을 만들기 위해 오프체인 상에서 거래 참여자들의 인증서로 사인해 권리 관계를 증명하도록 했습니다. 하지만 근본적으로 이 시스템은 디센트럴랜드 파운데이션을 신뢰해야만 동작하며 이는 전통적인 게임이 유사한 시스템을 설계할 때 전적으로 게임 데이터베이스를 신뢰하는 것과 크게 다르지 않습니다. 여기서 디센트럴랜드가 굳이 그럴 필요가 없는 기술적 선택을 한 이유는 기존 블록체인 사용자들의 눈높이를 맞추기 위함일 거라고 추측합니다.