디지털 쓰레기란 없다

현대에 개인 관점에서 어떤 데이터도 무의미하지 않으며 어떤 데이터도 함부로 삭제할 필요가 없습니다. 이들은 낮은 비용으로 유지할 수 있고 오랜 세월에 걸쳐 도움을 줄 겁니다. 이들은 쓰레기가 아닙니다.

디지털 쓰레기란 없다

오래 전 디지털 쓰레기는 과연 쓰레기로 정의해야 할까? 라는 주제를 생각해본 적이 있습니다. 저 때 저는 결국 권고사직으로 끝난 직장에서 일하고 있었습니다. 저 때 여러 온라인 게임들은 게임플레이로부터 생성된 재화를 게임 자신의 데이터베이스에 기록하는 대신 블록체인 데이터베이스에 기록했는데 이 시대까지도 블록체인에 기록된 어떤 데이터가 시간이 지남에 따라 가치를 가질지도 모른다는 믿음에 기반한 행동이었습니다. 거의 카고 컬트에 가까운 이런 행동이 어떻게 여러 사람들에게 퍼져 몬스터가 떨어뜨린 아이템을 인게임 데이터베이스에 기록하는 대신 훨씬 느리고 훨씬 복잡한 블록체인 데이터베이스에 기록하는 제품을 만들게 되었는지 생각해보면 그 시대의 경제적 특징을 유추할 수 있습니다.

시대는 한창 코비드가 유행하고 많은 사람들이 경제활동에 심각한 문제를 겪고 있었습니다. 저 자신은 다행스럽고 또 놀랍게도 제 노동이 인터넷을 통해 전송될 수 있다는 사실을 깨닫게 된 계기이기도 합니다. 그 이전 시대까지 제가 일하는 업계에서는 원격 근무가 불가능하다고 여겨 왔습니다. 하지만 마치 흑사병과 같이 전 세계적으로 창궐한 코비드는 그런 업계마저 원격 근무를 검토하게 만들었고 절대 그럴 리 없다고 생각하고 시작한 원격근무 1일차로부터 시작해 장기간에 걸친 원격 근무가 일어나게 만들었습니다. 하지만 이 세계의 수많은 다른 직업들은 직접 사람이 몸을 움직여 밖에서 수행할 수밖에 없었기에 사람들의 이동을 통제하자 경제활동에 심각한 문제가 생긴 사람들이 나타났고 이들을 경제적으로 살해하지 않기 위해서는 갖은 방법을 사용해 시중에 돈을 풀어 경기를 부양해야만 했습니다. 여러 나라 정부는 자국의 중앙은행을 통해 통화정책을 실행했고 시중에는 돈이 넘쳐났으며 이 돈들이 향할 곳은 하나 뿐이었고 그 다음은 아마 모든 사람들이 잘 알고 있을 겁니다. 참고로 이 때 가진 직업으로부터 생각해볼 만한 주제는 이전 메타버스와 NFT는 어쩌다 사기 키워드가 되었나웹3 게임과 코인 사기의 유사성을 통해 살펴본 바 있습니다.

한편 저 역시 이와 비슷한 제품을 설계하면서 비슷한 고민에 빠집니다. 이미 국내에 가장 발 빠르게 움직인 MMO를 기반 장르로 하는 게임이 재빨리 인게임 재화를 블록체인 데이터베이스에 기록되는 데이터 모양으로 바꿔 주는 기능을 추가하면서 순식간에 소위 블록체인 게임의 총아로 떠오릅니다. 이후 세계적으로 블록체인 데이터베이스에 인게임 재화를 기록한 여러 시도가 나타났는데 게임에 따라서는 주요 재화 뿐 아니라 아예 게임플레이를 통해 획득한 거의 모든 보상을 직접 블록체인 데이터베이스에 기록하는 형태로 동작하는 사례도 나타납니다. 이 게임은 게임에 접근할 수 있는 권한을 NFT 모양으로 만들어 판매했는데 사실 이는 여느 디지털 게임을 구매하는 것과 별로 다르지 않습니다. 참고로 2024년 가을 현재 미국에서는 디지털 게임의 라이선스 획득에 ‘구매’라는 표현을 사용하지 못하는 법안이 통과되어 장기적으로 DRM을 포함한 디지털 제품의 라이선스를 획득하는 행동을 구매라고 표현해서는 안될 가능성이 높으므로 이 블로그 전체에서 이번 문단 다음부터는 디지털 제품에 구매라는 표현을 사용하지 않을 예정입니다. NFT 역시 블록체인 데이터베이스에 기록된 데이터 모양으로 이에 대한 소유권 증명에 따라 게임 서버에 접속을 허용하는 방식으로 접근을 통제합니다. 이런 시장의 여러 플레이어들을 살펴보며 당시 제가 했던 고민은 인게임으로부터 획득한 재화에 기반해 어떤 교환 과정을 거친 결과를 블록체인 데이터베이스에 기록하도록 한다면 미래에 게임 스스로가 고객들에게 게임의 일부에 대한 사용 권한을 부여하는 방법으로써 사용되도록 해 가치를 부여할 수 있을 가능성이 있었습니다. 하지만 그 때 등장했던 어떤 게임처럼 사실상 몬스터들이 드랍하는 온갖 잡템마저 블록체인 데이터베이스에 기록하는 행위가 과연 올바른지, 또 이런 데이터에 가치를 부여할 여지가 있는지 자신 있게 말할 수가 없었습니다.

일단 블록체인 데이터베이스에 기록된 이른바 잡템은 게임 서비스에 독립적으로 이들의 소유권을 증명할 수 있었지만 게임 입장에서, 그리고 고객 입장에서 이는 게임 서비스 없이는 아무런 가치도 없습니다. 이전 블록체인 관련 글에서 여러 차례 설명한 바와 같이 어떤 제품으로부터 획득한 아이템 혹은 데이터는 그 서비스에 적용될 때 가장 높은 가치를 가집니다. 가령 몬스터가 드랍한 쓸모 없는 나뭇가지는 이 데이터가 인게임 데이터베이스에 있거나 블록체인 데이터베이스에 있거나에 관계 없이 이 데이터가 생성된 바로 그 게임에서 상인이 이를 매입해 금화로 바꿔 주는 기능이 있는 이상 바로 이 게임에서 가장 높은 가치를 가질 수밖에 없습니다. 아무리 이 나뭇가지가 블록체인 데이터베이스에 기록되어 게임 서비스에 독립적으로 소유권을 증명할 수 있다 하더라도 소유권을 증명할 수 있을 뿐 게임 서비스 없이는 이 데이터가 어떤 가치를 가지고 있다고 말하기는 거의 불가능합니다. 게임 경제를 설계하는 입장에서도 이전 게임 경제를 외부에 공개할 이유가 무엇인가를 통해 고민해본 대로 인게임 데이터베이스에 기록된 데이터는 우리가 의도한 규칙에 따라 게임 전체의 경제 시스템을 망가뜨리지 않는 모양으로 동작하도록 유도할 수 있지만 일단 게임 서비스를 벗어나 블록체인 데이터베이스에 기록되는 순간 블록체인 데이터베이스 상에서 일어나는 거래를 통제할 수 없으므로 사실상 고장 나지 않는 경제 시스템을 설계하기는 불가능해집니다. 이런 맥락에서 과연 우리들도 당시 다른 게임처럼 게임 플레이를 통해 발생하는 온갖 데이터를 바로 블록체인 데이터베이스에 기록하는 것이 올바른지 고민할 수밖에 없었습니다. 이 때 고민 중 개발팀으로부터 나왔던 의견 중 하나는 우리들이 블록체인 데이터베이스에 이론 상 반영구적으로 삭제할 수 없는 데이터를 만들어 이른바 디지털 쓰레기를 생산하는데 일조하는 행동이 과연 올바른지에 대한 것이었습니다. 다른 게임이 그렇게 하고 있고 또 고객들이 그런 동작에 열광하고 있었던 것은 사실이지만 그 결과 특정 블록체인 네트워크를 구동하는 노드들은 게임으로부터 쏟아져 나오는 온갖 잡템 데이터를 기록하는데 사용되어야만 했고 우리들 뿐 아니라 블록체인 네트워크 운영에 관여하는 사람들 역시 이 현상을 어떻게 처리해야 할 지 고민하고 있었습니다.

고민 끝에 우리는 크게 두 가지 방침을 확정하고 실행합니다. 먼저 게임 플레이에 의해 발생하는 모든 소위 잡템마저 블록체인 데이터베이스에 기록하지 않기로 했습니다. 사실 이는 물리적으로 별다른 여지가 없었습니다. 당시 세계에는 지금도 사실상 실존하는 자산으로 간주되는 비트코인 네트워크가 있었지만 이는 다른 애플리케이션이나 서비스에 열려 있는 모양이 아니었습니다. 이와는 달리 자기 자신도 블록체인에 기록되어 동작하는 스크립트 모양으로 외부 애플리케이션이나 서비스에 연동되어 동작하도록 만들 수 있었던 이더리움 네트워크에는 원하는 데이터를 기록할 수 있었습니다. 그래서 여러 ‘토큰’들이 이더리움 네트워크를 사용했습니다. 하지만 이더리움 네트워크는 당시 기록 수수료가 매우 높고 수수료를 낮춰 지불할 경우 기록 딜레이가 너무 길어 경제적으로 현실성이 없었습니다. 대신 이런 특징을 파고들어 자신들이 개발한 블록체인 네트워크를 홍보하는 이들도 나타났는데 이 시점에 이더리움 네트워크와 비슷하게 동작하지만 기록 수수료나 딜레이가 현저히 적은 폴리곤 네트워크가 대표적인 사례입니다. 사실 기록 수수료가 낮고 기록 딜레이 역시 짧은 편이라는 의미는 이를 실행하는 분산되어 있을 거라고 예상하는 노드 수가 더 적고 이들 사이에 통신이 훨씬 덜 일어나며 이에 따른 보안 문제나 네트워크의 장기적 유지 가능성 등에 문제가 있음을 의미하기도 했지만 다른 방법이 없었습니다. 특히 이들은 마치 자신들이 이더리움 네트워크인 것 마냥 이더리움 주소를 똑같이 호환 시켜 사용할 수 있도록 만들어 다른 주소를 만들 필요가 없었고 시스템 상당 부분이 이더리움 네트워크와 비슷한 모양으로 동작하게 만들어 블록체인 데이터베이스를 사용하려는 여러 프로젝트에 매력적이었습니다.

그리고 일단 게임 데이터베이스 밖, 그러니까 블록체인 데이터베이스에 기록된 데이터는 사실상 게임에서 나간 것으로 간주하고 데이터가 게임 밖으로 나갈 때, 그리고 데이터가 다시 게임으로 돌아올 때 이 흐름을 통제하는 시스템을 설계해 게임 밖에서 일어나는 경제활동을 통제할 수는 없지만 이들이 게임 밖에서 어떤 상황을 만들어냈을 때 이 상황이 인게임에 즉시 전파되지 않도록 합니다. 말이 복잡하지만 실제 세계의 환율시장과 비슷한 동작이라고 보면 됩니다. 두 나라 사이에 외환 거래는 시장의 규칙에 따라 대체로 자유롭게 일어나지만 어떤 이유로 국가가 이 흐름을 통제하기로 마음 먹으면 적어도 공식 외환시장에서는 외환 거래를 일시적으로 중단할 수 있습니다. 우리도 마찬가지인데 어떤 이유로든 블록체인 데이터베이스에 우리 서비스로부터 데이터가 더 많이 기록되기를 원하지 않는다면 인게임 데이터가 게임 밖으로 나갈 때 더 높은 수수료율을 적용해 미리 가치를 감소 시켰고 그 반대도 마찬가지입니다. 특히 반대의 경우 블록체인 네트워크에 일어나는 여러 가지 사건사고로 인해 인게임으로 즉시 전파되기를 원하지 않는 상태가 일어날 수 있습니다. 결코 그렇게 동작하도록 만들지 않을 작정이지만 어떤 이유에 의해 블록체인 네트워크 상에서 우리 게임으로부터 나간 데이터의 가치가 폭락해 광범위한 사람들이 이를 소유하고 이들이 게임 서비스에 진입해 갑작스레 인게임에 게임 시스템이 감당할 수 없을 정도로 많은 재화가 나타날 수 있습니다. 그러면 게임 밖에서 그랬던 것처럼 인게임에서도 순식간에 여러 경제 시스템이 걸쳐 재화의 가치 폭락이 일어나 게임 규칙 자체가 더 이상 동작하지 않게 될 수 있습니다. 대표적으로 이전에는 사람들이 재화를 획득하기 위해 던전을 도는데 시간을 썼다면 더 이상 이런 플레이가 의미를 가지지 못할 수 있습니다. 이 순간 게임은 경제적으로 붕괴됩니다. 때문에 블록체인 네트워크로부터 데이터가 게임으로 돌아오려고 할 때 역시 관문을 두고 거래 가능 여부, 수수료율 따위를 제어할 수 있게 설계합니다.

저는 이 모든 계획이 실제 동작하는 빌드 모양으로 완성되기 전에 권고사직을 통해 프로젝트를 떠났기 때문에 이 계획이 실행되었는지는 알 수 없습니다. 정확히는 알 수 있지만 딱히 알아본 적은 없습니다. 하지만 이와는 별개로 당시 우리들이 고민하던 디지털 쓰레기란 실존하는지, 만약 이들을 디지털 쓰레기로 정의한다면 우리들 스스로도 디지털 쓰레기를 양산하는 행동을 하는 것이 올바른지 따위의 고민을 계속해 보고 이를 확장해 우리들이 일상적으로 생성하고 사용하는 데이터에 대해서도 고민을 이어갈 수는 있었습니다. 먼저 우리들이 게임플레이를 통해 생성된 재화를 즉시 블록체인 데이터베이스에 기록하는 행동은 확실이 디지털 쓰레기를 양산하는 행동이라고 결론 내립니다. 앞서 설명한 대로 이 데이터는 이 데이터를 처음 생성한 바로 그 서비스에 의해 처리될 때 가장 높은 가치를 가집니다. 인게임 데이터베이스에 기록된 몬스터가 드랍한 나뭇가지 아이템은 인게임에서 상인이 매입하고 골드로 바꿔 줍니다. 하지만 이 게임을 제외한 그 어떤 곳에서도 이 데이터를 인게임에서 매입해 주지 않으며 심지어 인게임에 그 데이터가 적용되지도 않습니다. 이전에 메타버스를 개발하려는 당신. 남이 싼 똥을 주워 먹을 준비가 되어 있나요?에서 다들 데이터를 만들며 이 데이터가 장차 여러 서비스에 걸쳐 이른바 상호운용성을 가질 거라고 주장했지만 이를 실행할 시장의 여러 플레이어들에 걸친 경제적 동기가 없기에 결국 상호운용성은 거짓말이라는 결론에 다다를 수밖에 없었습니다. 이런 상황에서 우리가 게임플레이를 통해 생성된 데이터를 인게임 데이터베이스에 기록하는 대신 당시 고객들이 열광하는 방식으로 블록체인 데이터베이스에 바로 기록하면 당장은 고객들의 열광적인 지지를 얻을 수 있을지도 모르지만 장기적으로 온갖 문제에 직면할 거라고 봅니다. 때문에 인게임 데이터가 게임 서비스의 지원과 제한을 받지 않는 영역으로 옮겨지는 순간 이는 의미 없는 디지털 쓰레기에 불과합니다.

다음으로 그런 쓰레기를 양산하는 행동이 여러 가지 측면에서 올바른지 생각해봤습니다. 일단 각 데이터는 우리 서비스를 떠나는 순간 쓰레기로 변합니다. 그런데 블록체인 네트워크의 특징 때문에 쓰레기를 블록체인 네트워크에 마구 기록하는 행동은 여러 가지 문제를 일으킵니다. 블록체인 네트워크는 우선 이론적으로 여러 노드를 운영하는 인프라 제공자들 사이에 분산 되어 동작하고 있습니다. 한 노드에 기록이 일어난 다음 이 기록이 다수의 노드에 걸쳐 승인된 다음 모든 노드에 걸쳐 분산 기록되는 과정은 그저 인게임 데이터베이스에 기반해 특정 인벤토리에 아이템의 추가를 기록하는 것과는 비교할 수 없을 만큼 많은 자원과 시간이 필요합니다. 이런 행위가 한 두 명이 아니라 게임을 사용하는 고객 수 천, 수 만 명에 의해 연속해서 일어난다면 아무리 수수료율이 낮고 기록 속도가 빠르다는 결함을 장점으로 내세우는 블록체인 네트워크라 할지라도 순식간에 그 한계에 도달하게 만들 수 있습니다. 사실 이미 여러 프로젝트들이 낮은 기록 수수료에 이끌려 특정 블록체인을 온갖 쓰레기를 기록하는데 사용했는데 그 덕분에 이 블록체인 노드는 겉잡을 수 없을 정도로 거대해져 어지간히 거대한 인프라를 제공할 여력이 없는 소규모 노드들이 나가 떨어지게 만들었습니다. 이에 따라 노드 간 기록 전파 속도는 더 빨라지고 수수료율은 의미 있게 높아지지 않았는데 앞서 설명한 대로 이런 특징은 분산된 모양으로 동작하는 블록체인 네트워크의 특성 상 비용이 낮고 속도가 빠를 수는 있지만 이에 따른 노드 수 감소에 의한 낮은 보안성 문제를 피할 수 없습니다. 이는 이 블록체인 네트워크에 의존하는 프로젝트가 늘어날수록, 또한 각 프로젝트가 시장의 다른 플레이어들의 제품처럼 게임플레이에 의해 생성된 재화를 모두 블록체인 네트워크에 직접 기록하는 행동을 하는 이상 점점 더 악화될 수밖에 없어 이 행동은 지속 가능하지 않습니다. 언젠가는 특정 블록체인 네트워크의 노드가 하나만 남을 때까지 감소하거나 기록 수수료가 의미 있는 수준으로 상승해 사실상 재화 기록이 불가능해져 게임이 붕괴하는 희한한 결말을 맞이할 겁니다.

여기까지 따라오신 분들이라면 지금까지 제가 한 이야기가 이 글의 제목인 ‘디지털 쓰레기란 없다’와는 완전히 다른 내용이라는 점을 눈치 채셨을 수 있습니다. 사실 지금까지 해 온 이야기는 디지털 쓰레기에 대한 생각을 처음으로 시작하게 된 프로젝트에서 결국 그 때 블록체인 네트워크에 생산하기로 결정했던 모든 데이터는 블록체인 네트워크 관점에서 디지털 쓰레기일 수밖에 없습니다. 이 데이터는 이미 게임을 떠나는 순간부터 쓰레기 이상의 위상을 가지지 못하며 이론적으로 기록을 삭제하거나 변경할 방법이 없는 블록체인 네트워크의 기술적인 특성 상 영원히 네트워크 전체의 동작에 영향을 미칩니다. 때문에 이렇게 생성된 디지털 쓰레기는 말 그대로 디지털 쓰레기가 맞으며 지구의 자원을 가치 없는 기록을 만드는데 낭비하게 만들고 있습니다. 아무리 동작 속도가 빠르고 또 기록 수수료가 낮아 전 지구적으로 블록체인 네트워크에 쓰레기를 버리려는 프로젝트들이 이 블록체인 네트워크를 대상으로 삼았다 할지라도 이들 모두가 쓰레기를 만들고 쓰레기를 유지하는데 자원을 낭비하고 있다는 사실이 변하지는 않습니다.

그런데 주제를 바꿔 디지털 쓰레기일지 판단할 대상을 예전 이 고민을 처음 하게 만든 게임플레이에 의해 생성된 데이터가 아니라 제가 여러 가지 디지털 기계들을 사용하며 남기는 데이터를 대상으로 생각해 보면 관점이 상당히 달라집니다. 사실 예전에는 여러 가지 이유로 오래된 데이터를 남겨두지 않을 때가 있었습니다. 한때 오랫동안 블로그를 작성했지만 어느 순간 그렇게 쌓은 모든 글이 아무런 의미가 없다는 생각이 든 순간이 있었고 그 때 그 모든 글을 날린 적이 있습니다. 또 오랫동안 모아둔 음악을 스토리지가 부족하다는 이유로 모두 삭제한 적이 있는데 이들은 현대에 거의 대부분 유튜브를 통해 찾을 수 있었지만 이들 중 일부는 유튜브 뿐 아니라 거의 모든 음악 서비스로부터 찾을 수 없어 영원히 잃어버렸습니다. 또 컴퓨터를 재설정하다가 실수로 잘못된 스토리지를 초기화 하는 바람에 데이터를 유실하기도 하고 또 스토리지 기계가 고장을 일으키는 바람에 백업이 없는 모든 데이터를 유실하기도 합니다. 그럴 때마다 데이터를 잃어버렸다는 것과 이를 되돌릴 방법이 없다는 사실을 깨달은 그 순간에는 표현하기 어려운 고통을 느꼈지만 이런 정신 상태는 시간이 지나면서 금방 줄어들었고 또 다른 하루를 시작하며 또 다른 디지털 데이터를 만들어내기를 반복할 뿐이었습니다. 다만 시간이 흐름에 따라 이전에 비해 더 중요한 데이터가 늘어나 이전과 같이 스토리지 고장이나 실수, 심경의 변화, 스토리지 부족 같은 어처구니 없는 이유 때문에 데이터를 유실하는 경험을 해서는 안되겠다는 쪽으로 생각이 바뀌었고 그 즈음부터 백업에 큰 관심을 가지기 시작합니다. 그 동안 여러 가지 방법을 사용해 왔는데 꽤 오랫동안 드랍박스나 원드라이브 같은 동기화 프로그램에 의존하며 데이터를 유지해 왔는데 근본적으로 이들은 백업 솔루션이 아니기에 한 기계에서 발생한 결함이 같은 서비스를 사용하는 모든 기계로 겉잡을 수 없이 번질 수 있었고 이를 회복하기는 아주 어렵다는 위험성이 있었습니다.

고민 끝에 돌고 돌아 퍼포스에 소개한 주로 기업을 대상의 형상관리도구로 사용되곤 하는 퍼포스를 개인적으로 사용하기 시작합니다. 한동안 라이트세일에 구축한 퍼포스 서버 사용기에 설명한 대로 VPS 서비스를 사용했지만 이내 스토리지 사용량이 늘어나 개인이 비용을 감당할 수 없는 수준이 되어 갔고 결국 장기적으로 비용을 낮추기 위한 온프레미스 전환을 통해 지금은 모든 서비스가 집 안에 있습니다. 이 결정은 이전보다 훨씬 낮은 비용으로 이전에 비해 훨씬 강력한 성능과 훨씬 거대한 스토리지를 마음 놓고 사용할 수 있게 해 주었지만 다른 한편으로는 모든 기계가 집 안에 있으므로 이전에 겪던 여러 가지 데이터 유실 문제를 똑같이 겪을 수 있는 가능성이 훨씬 높아진 것도 사실입니다. 몇 가지 검토 끝에 백업 서비스 크래시플랜 사용기에 소개한 크래시플랜이라는 오프사이트 백업 서비스를 사용하기 시작하면서 온프레미스 환경에서 퍼포스를 통해 파일을 비교적 안전하게 관리하면서도 온프레미스 환경이기 때문에 생길 수 있는 문제를 오프사이트 백업 서비스를 통해 어느 정도 완화하고 있습니다. 지금 사용하고 있는 이 환경은 앞으로도 꽤 오랜 기간에 걸쳐 안정적으로 유지할 수 있으리라 보는데 일단 모든 소프트웨어가 매우 안정적으로 동작하고 있고 이 모든 기록과 버전을 관리하는 핵심 소프트웨어인 퍼포스 자체가 이미 처음 만들어지고 나서 거의 30년이 되어 가는 역사 깊은 소프트웨어여서 어느 날 갑자기 대규모로 기능이 변경되어 기존 사용자를 바보로 만들곤 하는 여느 소프트웨어와 서비스에 비해 훨씬 장기간에 걸쳐 운영할 수 있을 것으로 보입니다.

그런데 이런 파일 관리 정책 변경과 완전한 정책 과정에도 과연 제가 쌓는 여러 가지 데이터는 결국 디지털 쓰레기일 뿐이지 않을까 하는 고민이 있었고 저는 현재 파일 보관 체계를 통해 보관하고 있는 파일들이 차지하고 있는 모든 비트와 이 모든 데이터를 최대한 안전하게 유지하기 위한 여러 장치들이 항상 모든 데이터가 유효하고 또 유용한 형태를 유지해주지는 않는다고 생각합니다. 하지만 결국 시간이 흐르며 어떤 데이터는 점점 접근 빈도가 낮아져 결국 전혀 접근하지 않게 되는 일종의 라이프사이클을 겪지만 이런 생각에 근거해 라이프사이클이 끝난 데이터를 삭제하는 것은 긴 기간에 걸친 경험으로 볼 때 올바른 아이디어가 아닙니다. 분명 대부분의 파일은 묵시적으로 일종의 라이프사이클이 있습니다. 아주 오래된 사진은 분명 언제든 그 사진에 접근할 수 있다는 사실을 알고 있지만 좀처럼 접근하지 않습니다. 이 사진 파일은 스토리지의 일부를 차지한 채 유지되고 또 이 파일의 존재는 퍼포스 소프트웨어 데이터베이스에 기록되어 있을 뿐 아니라 오프사이트 백업을 통해 미국 어딘가의 제가 모르는 위치에 있는 데이터센터에도 복사 되어 지속적으로 에너지를 사용하고 있습니다. 분명 접근 빈도에 근거한 라이프사이클, 그리고 이들이 소모하는 에너지를 고려하면 이 파일은 어느 시점에는 이 지구상으로부터 제거되는 것이 올바를 것입니다. 하지만 개인적인 관점에서는 그렇지 않습니다. 어떤 파일은 아주 오랫동안 접근하지 않아 왔더라도 오랜 세월이 지난 다음 갑자기 파일이 필요해질 일이 생깁니다. 드랍박스는 기본 요금제 기준으로 삭제된 파일을 최대 30일까지 보관해 이를 다시 복원할 수 있게 해 주는데 30일은 활발하게 사용되는 파일을 기준으로 보면 나쁘지 않은 기간처럼 보이지만 아주 긴 기간에 걸쳐 파일을 쌓다가 어느 날 오래 전에 사용했던 파일이 필요해진 순간이 왔을 때 과연 이 파일이 드랍박스 상에 온전히 남아 있을지 아니면 과거에 자신의 어떤 부주의한 행동에 의해 삭제된 다음 30일 이상이 경과해 더 이상 찾을 수 있을지는 확실하지 않습니다.

제 경험을 기준으로 삼아 생각해보면 대략 1년에 한 번 정도는 이전에 부주의하게 삭제했거나 아주 오래된 파일에 접근할 필요가 생기곤 합니다. 지금처럼 퍼포스를 사용해 파일을 관리하기 전에는 어떤 이유에서든 파일을 삭제하면 이로부터 시간이 경과한 다음에는 복구할 방법이 없었기에 거의 일어나지는 않지만 어쩌다 한 번 일어나는 존재하지 않는 파일이 절실해지는 순간에 아무 조치도 취할 수 없곤 했습니다. 하지만 퍼포스와 온프레미스 서버, 그리고 오프사이트 백업의 조합을 사용하기 시작한 다음부터는 제가 어지간한 실수를 하더라도 그 어떤 파일도 사라지지 않기 때문에 어떤 이유로 오래된 파일에 접근할 필요가 생길 때 항상 그 파일에 접근할 수 있게 됐습니다. 여기서 잠깐 퍼포스라는 형상관리도구가 파일을 관리하는 방식을 설명하면 퍼포스는 일단 파일을 서버에 전송하고 나면 적어도 비주얼 클라이언트를 사용해서는 그 파일을 절대 삭제할 수 없습니다. 커맨드라인을 통해 실제 파일을 삭제하는 명령어가 있긴 하지만 이 명령어를 사용해야 할 이유가 거의 없습니다. 만약 스토리지가 부족하면 그냥 더 큰 스토리지를 구입해 바꿔버리면 그만이고 이 과정에 드는 비용만 부담하면 됩니다. 괜히 복잡하게 스토리지 부족을 추가 비용 투입 없이 회피하기 위해 불필요한 파일을 골라내 이들을 삭제하는 복잡한 관리 비용을 들일 필요가 없습니다. 클라이언트에서 파일을 삭제하면 파일은 클라이언트 기계에서 제거되지만 서버는 파일이 제거되었다고 표시할 뿐 실제 파일을 삭제하지 않습니다. 덕분에 오래 전 갑작스런 심경의 변화로 블로그 백업 파일을 삭제해 버렸을 때 만약 퍼포스를 사용하고 있었다면 먼 훗날 그 행동을 후회할 때 다시 오래 전 삭제 기록으로 돌아가 이를 되돌리면 서버는 그저 삭제했다고 표시했던 파일을 다시 삭제되지 않았다고 표시한 다음 클라이언트로 보내주고 저는 어떤 아쉬움도 느낄 필요가 없습니다.

앞서 그 무엇도 삭제하지 않고 또 삭제할 수도 없는 블록체인 데이터베이스에 디지털 쓰레기를 투척하는 행동은 이 블록체인 데이터베이스를 운영하는 노드 인프라, 그리고 이 데이터베이스를 사용하는 여러 사람들에게 피해를 주고 데이터의 근거가 되는 서비스가 사라지고 나면 이들이 데이터베이스에 남긴 데이터는 반영구적으로 이들을 지탱하는데 자원을 소모하므로 이들을 디지털 쓰레기로 정의했습니다. 이와 달리 저 자신이 여러 디지털 기계를 사용하며 만들어낸 온갖 파일 모양의 데이터는 묵시적인 라이프사이클이 있어 어느 정도 시간이 지나면 오랜 시간에 걸쳐 더 이상 접근할 필요가 없는, 사실상 삭제해도 무방한 상태가 됩니다. 하지만 더 오랜 기간이 지난 다음 생각이 바뀌어 다시 파일에 접근하기를 원할 때 그 파일에 다시 접근할 수 있다는 사실과 제가 할 수 있는 어지간한 실수, 기계 고장 따위의 원인으로 데이터가 사라지지 않으리라는 신뢰에 기반할 때 이들을 디지털 쓰레기로 보기는 어렵다는 결론에 도달했습니다.

저는 오늘도 이 글을 작성해 블로그에 보낸 다음 블로그 백업을 만들어 퍼포스에 올릴 겁니다. 매번 꽤 큰 백업 파일을 만들고 있지만 형상관리도구인 퍼포스와 오프사이트 백업 프로그램인 크래시플랜은 둘 다 똑똑하게도 어지간한 파일의 변경된 부분만 새로 기록해 최소한의 스토리지만 사용하고 또 최소한의 네트워크 대역폭만 사용해 제 파일을 오랜 기간에 걸쳐 유지해줄 겁니다. 한때 이들 역시 디지털 쓰레기가 아닐지 의심한 적이 있지만 저는 이 모든 데이터를 끝까지 안고 가기로 했습니다. 미래의 저 자신이 어떤 생각을 하고 또 무엇을 필요로 할 지 예측할 수 없는 이상 이 모든 데이터를 안전하게 유지하는 것 역시 의미 있다고 생각하기로 합니다. 그런 의미에서 디지털 쓰레기는 존재하지 않습니다.