티스토리 뷰

테크

p2p(Peer-to-peer)와 자유주의

이명헌 2020. 6. 30. 16:01

통제의 유혹과 분권적 기술의 대결 

2001-3-13

 

이 글은  New Scientist 誌에 실린 글을 번역한 것입니다.

 

모든 사람들이 자유롭게 음악을 즐길 수 있게 해주겠다는 냅스터(Napster)의 비젼이 결국 실패로 돌아갔는지 어땠는지 모르겠지만 냅스터의 그 정신만은 계속 살아 남을 것입니다. 음악 파일을 교환하는 여러가지 냅스터 유사 써비쓰들의 출현을 얘기하는 것은 아닙니다. 냅스터는 음악 불법복제를 가능케 한 써비쓰로서 뿐만 아니라 인터넷이 돌아가는 방식에 일대 변화를 일으킨 주인공으로도 기억될 것이라는 얘길 하려는 것이죠.

 

냅스터는 피어-투-피어(peer-to-peer) 네트웍킹이라고 알려진 테크널러지를 선도했던 개척자입니다. "peer-to-peer networking"은 줄여서 P2P라고도 하죠. P2P의 핵심 아이디어는 인터넷상에서 개별 컴퓨터끼리 자유롭게 의사소통 할 수 있는 길을 터주자는 것입니다. 즉 중앙에서 통제하는 써버(들)을 우회(bypassing)함으로써 P2P는 사람들이 인터넷을 이용하는 방식을 전혀 다른 형태로 변환시켰습니다. 그런 과정을 통해 P2P는 대기업이나 정부, 그 어떤 존재를 불문하고 가상공간 내에서 일어나는 일들을 통제하고 검열하려는 세력을 무력화합니다.

 

"현재의 인터넷이 그나마 어느정도 규제가 없는 상태로 존재할 수 있었던 것은 인터넷을 규제하려는 세력들이 검열의 필요성을 그다지 많이 느끼지 못하고 있기 때문입니다"

프리넷(Freenet) 이라는 P2P 시스템을 만들어 낸 이안 클락(Ian Clarke)가 한 말입니다. 이안 클락, 그리고 그와 생각을 같이 하고 있는 일군의 프로그래머들은 완벽하게 분권화(decentralised)되어 있고, 그 어느 누구도 절대 검열을 할 수 없는 완전한 익명의 네트웍을 구축하려하고 있습니다. 싸이버-무정부주의 라고나 할 수 있을까요.

피어-투-피어 네트웍과 냅스터

테크니컬한 관점에서 P2P 네트웍은 사실 전혀 새로울 것이 없는 기술입니다. 인터넷 자체가 태생부터 하나의 피어-투-피어 시스템 형태였기 때문입니다. 대학이나 정부의 메인프레임 컴퓨터들은 서로 동등한 자격에서 정보를 공유하고 교환(swap)했습니다. 그러한 P2P적 정서가 허물어진 것은 많은 일반 대중들이 인터넷 접근을 희망하기 시작하면서부터입니다. 대형 컴퓨터들을 연결해서 일반 피씨에게 인터넷으로의 접속(connectivity)과 온라인 써비쓰를 판매하는 일반 회사들이 출현하기 시작했던 때부터입니다. 그 때부터 클라이언트-써버 모델(client-server model)이 나타나기 시작합니다. 많은 양의 메모리에 풍부한 정보를 담고 있고 고속으로 인터넷에 연결되어 있는 대형 써버에 여러 대의 소형 컴퓨터들이 접속하게 된 것입니다.

 

냅스터의 혁명성은 그러한 P2P를 일반 대중에게까지 가능케 해 줬다는 데 있습니다. 사실 냅스터 자신은 모든 것을 저장하고 있을 필요가 없었습니다. 결혼정보 회사처럼 많은 음악 팬들을 한 데 모아서 각자가 갖고 있던 mp3 파일을 교환하게 해 주기만 하면 되었습니다. 냅스터는 냅스터에 속한 다른 멤버의 컴퓨터에 어떤 음악 파일이 저장되어 있는지 그 목록을 제공한 것입니다. 그리고 서로 상대방의 하드 드라이브와 연결되는 길을 소프트웨어적으로 터주었던 것이죠. 그 결과 냅스터 멤버들은 냅스터의 직접적인 개입 없이도 음악 파일을 교환할 수 있었습니다.

 

그렇게 해서 냅스터는 자기 자신은 음악을 손톱만큼도 저장하지 않으면서 냅스터 회원들에게 엄청난 양의 음악으로의 접근을 가능케 해줬습니다. 그 결과는?

 

폭발적 인기로 이어집니다. 물경 6천백만 명이라는 사용자를 확보하게 됩니다. 이런 엄청난 사용자 숫자는 법정에서 상당한 이점으로 작용하기도 했습니다. 냅스터를 통해 저작권법을 어기는 형태로 음악이 배포되고 있다는 것은 너무도 명백했습니다. 하지만 냅스터는 자신의 싸이트에 불법적인 음악을 하나도 갖고 있지 않았습니다. 조금이라도 갖고 있었다면 며칠 안에 문을 닫을 수밖에 없었을 것입니다. 이렇게 냅스터가 여러 가지 화제를 불러 일으키며 재판을 계속 끌어올 수 있었던 것도, 냅스터 자신은 순수한 의미에서의 중개인(intermediary)이라는 사실을 상당한 설득력을 갖고 주장할 수 있었기 때문입니다. 냅스터를 이용해서 불법적인 음악 파일 교환이 일어난다는 사실 만으로 냅스터를 걸고 넘어 간다면, 불법 복제된 비디오 테잎이 우편물의 형태로 교환되고 있으므로 우체국을 걸고 넘어가야 하는 것 역시 논리적으로는 성립하기 때문입니다.

 

냅스터는 단순히 저작권 관련 변호사들에게 하나의 건수를 제공했던 존재가 아니었습니다. 냅스터는 많은 대규모 네트웍에서 늘상 일어나고 있던 문제 하나를 해결합니다. 대규모 네트웍 구축에 사용된 클라이언트-써버 모델은 일종의 계층구조(hierarchy)입니다. 대부분의 계층 구조가 그렇듯 상위로 올라갈 수록 많은 힘을 갖습니다. 대다수 소규모 유져들은 계층구조의 하부에 위치하고, 이는 곳 인터넷써비스공급자(ISP)의 한계 또는 그들이 규정한 여러가지 제약에 갖힌다는 것을 의미합니다.

 

가장 너저분한 검열의 대표적인 예로 써드파티에 의한 압력이 있습니다. 이들 대부분이 소송을 통한 법적 강제력의 힘을 업고 있기도 한데요. 예를 들어, Church of Scientology가 온라인 비평가들과 분쟁을 벌였던 것을 한 번 생각해 보세요. 이들의 전략은 자신들이 저작권을 갖고 있던 자료를 호스팅하고 있던 ISP를 고소하는 것이었습니다. 그런 식으로 Scientology 측은 ISP를 법정으로 불러냈고 그 결과 자신들에게 비판적인 많은 웹 싸이트를 문닫게 할 수 있었습니다.

냅스터의 아킬레스건은 그러한 클라이언트-써버 모델의 자취를 여전히 어느 정도 갖고 있다는 점입니다. 냅스터 회원들은 냅스터가 제공한 소프트웨어, 그리고 냅스터에 존재하는 색인(index)에 의존하고 있기 때문에 레코드 회사로서는 확실한 공격 목표가 있는 것과 다름 없습니다. 실제 그랬습니다. 1999년 12월. EMI, BMG, SONY, Warner, Universal, 그리고 미국 레코딩 산업 협회는(RIAA; Recording Industry Association of America) 냅스터를 저작권 저촉 혐의로 고소합니다. 물론 이번 소송이 완전히 종결지어진건 아니지만, 지난 달 미 항소법원에서 냅스터 측에 내린 명령, 즉 저작권이 있는 자료들을 교환하게 해서는 안 된다는 명령은 냅스터에게 최후의 일격과도 같은 것이었습니다. 냅스터는 사실상 두 손을 들어 버린 상태이고, 현재는 어떤 방식으로 자신들의 써비쓰에 요금을 부과해서 레코드 회사에게 로열티를 지불할 것인가를 찾는 데 고심하고 있는 상태입니다.

 

하지만 P2P를 이용한 불법 복제는 전혀 사라질 기미가 보이지 않습니다. 아니 오히려 냅스터의 성공은 다른 유사 써비쓰가 등장하도록 북돋아 줍니다. 이들은 처음부터 냅스터의 실수를 똑같이 되풀이 하지 않겠다는 생각을 갖고 시작합니다.

누텔라(Gnutella)의 출현

대표적인 예가 누텔라(Gnutella)입니다.

 

https://ssaroiu.azurewebsites.net/publications/mmcn/2002/mmcn.html

 

 

원래는 Nullsoft라는 회사에서 개발된 이 소프트웨어는 2000년 3월, 출시된 당 일 바로 거둬 들여집니다. Nullsoft의 모회사인 아메리카 온라인(AOL)이 당시 타임 워너와 합병하려던 차였기 때문입니다. 타임워너 (Time Warner)는 음악/미디어 쪽의 거인이기 때문입니다.

 

하지만 이미 비밀은 누출되어 버린 후였습니다. 일군의 해커들이 Nullsoft가 올렸다가 지운 그 코드를 낚아 채서 이를 바탕으로 자신들만의 새로운 소프트웨어로 만들었습니다. 그 결과 불과 몇 주일 만에 웹 상에는 수 종의 상호호환적인 누텔라 유사품이 등장합니다. '누텔라 연방'이 등장하게 된 것입니다.

 

누텔라는 냅스터와 달리 중앙에서 개입하는 부분이 전혀 없었습니다. 아무도 사용자를 추적할 수 없을 뿐만 아니라 사용자들이 교환하는 파일의 목록을 만들 수도 없습니다. 아무나 그 네트웍에 접속할 수 있는 소프트웨어를 만들 수 있고 대부분이 오픈 소스 형태로 씌였기 때문에 누구나 새로운 기능을 덧붙이거나 개선할 수 있습니다. 때문에 현재 약 10여 종 이상의 누텔라들이 무료로 배포되고 있습니다. Gnotella, Newtella, Gnut, LimeWire, ToadNode 같은 것이 대표적입니다.

 

누텔라 네트웍에 참여하는 것은 간단합니다. 누텔라 소프트웨어 패키지 중 하나를 웹을 통해 다운로드한 다음, 여러분의 컴퓨터를 "servent"(= server + client)로 바꾸면 됩니다. 그렇게 해서 누텔라 네트웍 상의 또 다른 'servent'를 찾아서 서로 접촉합니다. 이들 servent의 주소는 여러 웹 싸이트, 채팅 룸에서 쉽게 찾아볼 수 있습니다. 누텔라를 이용한 접속은 분명히 인터넷 상에서 이뤄지고 있고 모든 컴퓨터는 IP 주소를 통해 각각을 구분합니다. 하지만 누텔라는 WWW이 아닙니다. 여러분의 컴퓨터는 또 다른 여러 대의 servents와 커뮤니케이션하고 이들 servents는 또 각자 파악하고 있는 또 다른 servents에게 여러분의 메씨지를 보내고 받습니다. 이런 식으로 계속 확산되어 나가는 네트웍이 되는 것입니다.

 

파일을 찾기 위해서 키워드를 치면, 그 요청은 여러분 컴퓨터와 가장 가까운 이웃 컴퓨터로 보내집니다. 이 메씨지를 받은 컴퓨터는 우선 자신의 하드 디스크 드라이브를 뒤진 다음 맞는 것이 있으면 그 사실을 여러분 컴퓨터에 알려주고 여러분의 요청을 또 다른 servents로 재전송합니다. 이걸 받은 servents는 또 똑같은 과정을 반복합니다. 그 결과, 단 한 번의 요청이 순식간에 수천 대의 컴퓨터로 퍼져나갈 수 있습니다.

 

누텔라는 여러 형태의 파일을 공유할 수 있도록 디자인되었습니다. 이미지, 텍스트, 소프트웨어, 그리고 물론 mp3 까지. 각 사용자는 어떤 파일들을 공유할 것인지 결정할 수 있습니다. 그 결과, 많은 불법 복제 자료들이 누텔라 네트웍을 타고 교환되고 있습니다만 네트웍 자체가 완전히 분권화되어 있기 때문에 법적으로 공격할 '목표'가 없습니다.

 

어쨌든, 현 시점에서 누텔라가 봉착한 어려움은 법적인 것이라기보다 오히려 테크니컬한 부분입니다. 냅스터 소송의 파장으로 많은 사람들이 누텔라 네트웍으로 몰려들었고 갑자기 접속자 수가 폭증했기 때문입니다. 일평균 50000명 이상입니다. 이러한 트래픽의 급속한 증가는 네트웍 전체를 먹통으로 만들었습니다. 누텔라 네트웍은 확장성이 그다지 좋지 않다는 것이 밝혀진 것입니다. 각각의 요청은 문자 그대로 기하급수적으로 증가하기 때문에 결국은 56K 모뎀으로 취급할 수 없는 수준까지 금새 도달합니다. 갑자기 수천 대의 servents가 막다른 골목길이 되는 것입니다. 네트웍은 수십 개의 소규모 네트웍으로 쪼개지며(물론 이들은 서로 연결되어 있지 않습니다.) 각 네트웍은 1200대 이하의 컴퓨터만 연결된 형태가 됩니다.

 

누텔라는 그러한 분권화된 방식에서 나타나는 문제점들을 해결해 나가고 있습니다. 각각의 프로그래머들은 각자의 해결책을 통해 해결해 나가고 있는데요. 어떤 사람들은 가장 느린 servents를 네트웍의 가장자리로 밀어 내는 방식을 택합니다. 또 다른 쪽에서는 순순한 의미에서의 분권화를 포기하고 일정 정도 클라이언트-써버 모델을 부활시키기도 합니다. 느린 servents는 빠른 노드를 통해 접속되도록 하는 것입니다.

 

하지만 누텔라 역시 서서히 법적인 문제가 드리워지고 있습니다. 냅스터보다 덜 중앙집중식인 것은 분명하지만 추적해서 공격할 대상이 전혀 없는 것은 아닙니다. 모든 누텔라 파일의 반 정도가 겨우 1퍼센트의 사용자들에 의해 공급되고 있습니다. 이들 1퍼센트는 저작권법으로 걸고 넘어가기에 좋은 타겟이 됩니다.

누텔라를 대상으로 소송을 제기할 가능성이 가장 높은 측이 RIAA입니다.

"현재까지로는 누텔라에 대해서 아무런 조치를 취하고 있지 않습니다만, 이 상태로 오래 두지는 않을 겁니다."

RIAA에서 반-불법복제 분위기를 주도 하고 있는 Frank Creighton의 얘기입니다. 그가 말하기를, 일단 RIAA에서 움직이면, 위에서 얘기한 그 1퍼센트의 유져들을 타겟으로 할 것이라고 합니다. 그들 적극적인 1퍼센트를 찾아내는 건 전혀 어렵지 않습니다. 누텔라 servents는 서로 소통하고 있는 다른 컴퓨터의 IP 주소를 알고 있기 때문입니다. 그렇게 파악된 IP 주소가 어떤 ISP를 통해서 제공되고 있는지를 알아내서 이들에게 경고서한을 띄우거나 공문을 발송하는 방식으로 ISP가 이들을 탈퇴시키도록 또는 법정으로 불러낼 수 있도록 실명을 공개하게 하는 것입니다.

하지만 법적인 문제를 충분히 피해갈 수 있을 것으로 보이는 또하나의 P2P 네트웍이 있습니다.

프리넷 (Freenet). 도발적이고도 놀라운..

그건 바로 프리넷(Freenet)입니다.

 


프리넷은 바닥부터 완전히 익명성을 담보하게, 절대 검열이 되지 않도록 설계된 상당히 급진적인 시스템입니다. 프리넷을 만든 이안 클락(Ian Clarke)은 표현의 자유에 절대적으로 집착하는 사람으로, 오늘날의 인터넷이 겉으로 보기엔 자유로운 것 같지만 사실은 매우 쉽게 규제될 수 있다는 주장을 합니다. 그리고 그건 위험하다는 겁니다. 그의 얘길 들어 봅시다.

"과거의 역사를 되돌아 보세요. 검열이나 주의주장 따위가 결국 사람들을 가장 끔찍스런 형태의 야만적 행동으로 내몰았던 사례를 어렵쟎게 찾아볼 수 있습니다."

프리넷 역시 누텔라처럼 정보를 주고 받는 기반으로 인터넷을 사용하고 있습니다. 각 컴퓨터를 확인하는 것도 IP 주소를 이용하고 있습니다. 하지만 프리넷은, 정보가 이동하면서 그 흔적 역시 가려진다는 점에서 누텔라와 다릅니다.

 

프리넷에 여러분의 컴퓨터를 연결하는 것은 누텔라의 경우와 매우 비슷합니다. 우선 웹을 통해 소프트웨어를 다운로드한 다음 프리넷에 연결된 또 다른 컴퓨터와 접속합니다. 여러분의 컴퓨터는 프리넷 상의 하나의 노드가 됩니다. 프리넷은 이러한 수천 개의 노드로 이뤄져 있고 이들 각각은 자신이 갖고 있는 파일을 다른 사람들도 이용할 수 있게 합니다. 여러분이 만약 mp3 파일 같은 것을 프리넷에 '끼워넣으면', 그 파일은 암호화되어서 여러 개의 다른 노드로 카피되어 나갑니다. 각각의 노드는 자신이 갖고 있는 문서가 무엇인지를 알고 있으면서 또한 몇 개의 다른 노드에 저장된 문서에 관한 정보도 갖고 있습니다. 이러한 인접된 노드들은 정기적으로 서로 커뮤니케이션하면서 네트웍 상에서 서로 업데이트를 합니다. 하지만 그 어떤 단일 노드도 전체 네트웍의 일부분 이상을 알 수는 없게 되어 있습니다.

 

이러한 형태의 시스템에서 정보를 어떤 방식으로 끄집어 낼 수 있을까요? 클라크씨가 설명한 바에 따르면 사람들이 지도를 보며 길을 찾아나가는 방식과 매우 유사하다고 합니다. 어떤 여행객들이 일단 북쪽으로 가야 한다는 사실만 알고 있다고 합시다. 이들은 목적지에 가까와지면 가까와질수록 더욱 더 자세한 정보를 알게 됩니다. 근처 사람들에게 보다 구체적인 위치를 물어볼 수 있기 때문입니다. 그런 방식으로 계속 물어 나가면 최종적으로 찾는 목적지를 정확하게 얘기하는 사람을 만날 수 있습니다. 이런 방식으로 프리넷이 운용됩니다.

 

프리넷 검색을 시작하기 전 최소한 찾는 문서의 제목 정도는 알고 있어야 합니다. 그건 또 어떻게 가능할 것인가. 아직은 미정입니다. 가장 가능성이 큰 방식은 프리넷 자체에 하나의 목록을 만들어 올려놓자는 것입니다. 물론 이것은 최초 그 목록은 어떻게 찾을 것이냐라는 문제를 불러 일으킵니다. 또 하나의 아이디어는 웹에 그것을 게시하자는 것입니다. 그건 또 법적으로 걸고 넘어가기에 좋은 타겟이 된다는 문제가 있습니다. 각각의 문서들은 문서 제목에 암호환된 형태로 연결되어 있는 숫자키를 갖습니다. 실제 프리넷 검색을 통해 찾아나서는 건 이 숫자키입니다.

 

여러분이 찾는 키가 123이라고 합시다.(물론 실제 키는 매우 복잡한 형태입니다만.) 각각의 노드는 -여러분 컴퓨터를 포함해서- 자신이 갖고 있는 문서가 무엇인지, 자신과 인접한 다른 노드에는 어떤 문서가 있는지를 담고 있는 목록을 갖고 있습니다. 여러분의 컴퓨터는 우선 자기자신이 문서 123을 갖고 있는지 알아 볼 것입니다. 없다면, 인접 노드 중에 문서 123을 갖고 있는 컴퓨터가 있는지를 찾습니다. 그래도 없다면 그 문서와 가장 가까운 문서(예를 들면 문서 135)를 갖고 있는 노드와 접촉합니다. 그 노드는 어쩌면 문서 123이 어디있는지를 알고 있을 겁니다. 그런데 그 노드가 문서 119의 위치만을 안다면 문서 119를 갖고 있는 노드로 여러분의 요청을 다시 발송합니다. 이런 형태로 계속해서 여러분이 요청한 문서에 점점 더 가까이 접근합니다. 그러다가 요청한 문서가 발견되면 요청이 전달된 경로를 거슬러서 그 문서가 전달됩니다. 일단 문서가 도착하면 그 경로상에 있었던 모든 노드들은 그 문서의 복사본을 만들어서 저장합니다.

 

이것은 어떤 결과를 가져 오게 될까요? 흥미롭게도, 어떤 정보에 대한 요청이 많으면 많을수록 그 정보의 복사본 역시 더욱 많아집니다. 즉, 요청이 많은 정보일수록 더욱 찾기가 쉬워집니다. 뒤집어서 얘기하면, 최초 그 문서가 어디서 부터 비롯되었는지를 찾는 것이 더욱 어려워진다는 얘기도 됩니다. 여러분이 알 수 있는 것은, 여러분의 컴퓨터가 인접한 노드와 얘기를 나눠서 어딘가로부터 요청한 문서를 가져다 준다는 사실뿐입니다. 거꾸로, 만약 어떤 파일에 대한 요청을 받은 경우에도 누가 그 요청을 했는지를 알 수가 없습니다.

 

그 결과 검열이 불가능한 네트웍이 만들어집니다. 규제하는 측에서 어떤 노드에게 어떤 파일을 요청하면, 그 파일의 카피본을 받습니다. 그 노드를 잡아 낸다고 해도 찾아낼 수 있는 건 복사본뿐입니다. 그리고 그 복사본 역시 규제하는 측에서 요청하기 전에도 존재했었는지를 증명할 수 없습니다. 움직일수록 더욱 조여오는 덫과 같습니다. 게다가 문서는 암호화된 형태로 존재하기 때문에, 노드의 소유자는 무슨 문서가 자신의 컴퓨터에 있는지 모른다는 얘기를 아주 당연하게 할 수 있습니다. 더욱 놀라운 건, 어떤 문서에 대한 요청이 많아질수록 더욱 많은 복사본을 만들어 내기 때문에, 검열 자체가 스스로 자충수를 두게 되는 형태가 된다는 것입니다.

 

프리넷 개발자들은 자신들의 네트웍이 누텔라와 같은 확장성 문제 역시 피해갈 수 있다고 주장합니다. 그들 자신도 얼마나 많은 사용자들이 연결되어 있는지 모릅니다. 사실은 네트웍 자체가 너무 많이 퍼져나가는 것을 제한하는 형태로 디자인되어 있습니다. 현재 약 20000명이 소프트웨어를 다운로드했다고 합니다. 시뮬레이션해 본 결과 프리넷은 지금보다 훨씬 더 커지더라도 먹통이 되지는 않는 것으로 밝혀졌습니다.

 

하지만 모든 사람이 다 클락 얘기처럼 프리넷이 검열로 부터 안전한 네트웍이라고 믿는 건 아닙니다. RIAA의 Creighton은, 각각의 노드에서 IP 주소를 얻어내서 그 IP 주소를 제공한 ISP 에 공문을 띄운 다음 그걸 바탕으로 몇몇 유져들을 법정으로 불러낼 수 있다고 생각합니다. 누텔라처럼 말이죠.

 

만약 클락의 얘기가 옳은 것으로 판명된다면 프리넷은 전혀 다른 세계로의 안내자가 될 겁니다. 아무도 인터넷을 통해 공짜로 음악 파일을 다운로드하는 것을 막을 수가 없게 됩니다. 부유한 자들이나 권력을 쥔 자들을 아무 두려움 없이 씹어댈 수도 있습니다. 정부에서 은밀하게 보관하고 있던 첩보 문서 같은 것도 자유롭게 들여다 볼 수 있게 될 지도 모릅니다.

 

같은 방식으로 여러분은 자신이 저작권을 갖는 자료나 또는 자신에 대한 음해성 얘기들이 마구 복제되어 나가는 것을 차단할 길이 없습니다. 변태적 포르노그래피나 핵무기 관련 극비문서들이 도난되는 것을 차단할 길도 없게 됩니다.

냅스터는 결국 우리들에게 음악을 자유롭게 들을 수 있는 기회를 제공했을 뿐만 아니라 절대적인 표현의 자유(freedom of speech)로의 길을 열어주기도 한 것입니다. 사실이 그렇다면, 진짜 문제점은 아직 시작도 안 된 것입니다.

댓글
댓글쓰기 폼