데이터 브라우저를 이용해 솔리드 팟에 자신의 개인정보를 저장한 예. 인럽트(Inrupt) 제공
‘월드와이드웹의 아버지’로 불리는 팀 버너스 리 미국 매사추세츠공대(MIT) 교수는 지난달 28일(미국 현지시각) “디지털 거대기업에 개인 데이터를 넘겨야지만 서비스를 받을 수 있는” 지금의 웹 구조를 전복시키겠다며 ‘솔리드 프로젝트’를 본격화하겠다고 밝혔다. 웹의 아버지가 웹을 바꾸겠다는 선언은 흥미롭지만, 개인정보를 제공하고 인터넷 서비스를 이용하는 게 지극히 당연한 현실을 한 사람이 어떻게 바꾸겠다는 것인지 쉽사리 와 닿지 않는다. 확인하기 위해 직접 솔리드에 가입하고 설계 계획이 담긴 문서와 개발자 커뮤니티를 살폈다. 이를 바탕으로 작동 원리를 정리했다. 아직은 떡잎 단계지만, 솔리드는 큰 나무로 성장할 가능성을 지니고 있다. 솔리드에 대한 설명에 앞서, 현재 우리가 인터넷 서비스를 사용하는 통상적인 방식을 대표적인 소셜네트워크서비스(SNS)인 페이스북을 예로 떠올려 보자. 시작은 보통 서비스 가입이다. 가입 땐 통상 개인정보를 요구하는데 페이스북의 경우 이름, 전화번호, 비밀번호, 생일, 성별 등을 넣어야 한다. 가입이 끝나면 업체가 제공하는 각종 서비스를 이용할 수 있다. 예컨대 사진을 올리고, 댓글을 달고, 관심있는 커뮤니티에 가입한다. 그런데 이 모든 과정에서 데이터가 생성된다. 이름, 생일 같은 개인정보뿐 아니라 친구에게 보낸 메시지, 올린 동영상 등이 모두 데이터다. 로그아웃을 하더라도 데이터들은 그대로 남는다. 이 데이터들은 어디에 있을까? 저 멀리 어딘가에 있는 페이스북 데이터 센터의 고성능 서버에 저장돼 있다.
내 얼굴이나 생각이 담긴 정보가 페이스북의 손아귀에 안에 있다는 얘기다. 기업은 ‘더 좋은 서비스를 제공하기 위한’ 명목으로 이 데이터로 여러가지 실험과 분석을 한다. 한 때는 내 정보지만 내 마음대로 삭제도 불가능했다. 오스트리아의 법대생이었던 막스 슈렘스가 2011년 이 문제를 처음 인지했을 때만 해도 페이스북은 서비스를 탈퇴한 사람의 정보까지 계속 보유했던 것으로 나타났다. 개인정보의 부정 사용 문제가 불거지고 사회적 경각심이 높아진 뒤에야 비로소 삭제 기능이 정비됐다.
솔리드의 핵심 철학은 단순하다. ‘내 데이터가 어디에 저장될지 내가 결정한다’는 것이다. 솔리드 플랫폼에선 생각을 적은 일기, 친구 주소록, 오늘 걸은 걸음 수 등의 모든 데이터가 각각 ‘솔리드 팟’(Solid Pod)이란 데이터 저장소에 담긴다. 이 저장소란 실체가 있는 어떤 기기가 아니라 디지털 데이터를 담는 무형의 저장소로, 컴퓨터 안 일종의 폴더와 같다고 보면 된다. 그리고 이 솔리드 팟을 가정의 컴퓨터에 저장할지, 업무용 노트북에 저장할지, 아니면 솔리드 서비스를 제공하는 기업의 서버에 저장할지 개인이 결정할 수 있다. 그리고 원하는 대로 옮길 수 있다.
솔리드란 이런 데이터 저장 규칙을 정리한 일종의 ‘약속’이자 프로그램 ‘코드’인 셈이다. 솔리드는 월드와이드웹(WWW)을 개발한 버너스 리가 설계에 참여한 만큼, 지금 웹의 규칙 위에서 문제없이 돌아간다. 다시 말해 ‘인터넷 익스플로러’ 같은 기존 웹 브라우저로도 사용할 수 있다는 말이다. 그 실제 모습은 어떨까? 현재 솔리드 플랫폼은 누구나 가입할 수 있다. 다만 개발자가 아닌 일반인이 쓰기에는 부적절한 ‘시제품’ 단계다. 운영진도 블로그에 “누구나 쓰긴 힘든 초창기”라고 인정한다. 각종 오류도 많다. 일단 솔리드 홈페이지를 통해 아이디와 전자우편 주소 등을 넣고 가입하면 자신의 개인 공간을 받는다. 과거 인기 있던 ‘싸이월드’ 홈피 같은 것을 하나 받는다고 생각하면 쉽다. 여기에 다양한 자신의 정보를 올려 각각 솔리드 팟으로 저장할 수 있다. 지금은 사진, 글, 일정, 채팅 등의 메뉴가 마련돼 있다. 이 초기 메뉴를 솔리드 운영진은 ‘데이터 브라우저’라고 부른다. 한 발 더 나가 ‘솔리드 서버’ 프로그램을 자신의 컴퓨터에 설치하면 서버가 아니라 자기 컴퓨터에 데이터를 저장·관리할 수 있다.
각자 데이터를 저장하는 구조라면 다른 이들의 데이터와 상호작용은 어떻게 일어나는 것일까? 예를 들어 친구의 고양이 사진에 내가 코멘트를 남기면 그 데이터는 어디에 저장되고 누가 관리하는 것일까? 고양이 사진은 친구의 팟에, 거기 남긴 코멘트는 내 팟에 저장되는 것이 솔리드의 구조다. 이것이 가능한 이유는 솔리드 플랫폼의 모든 데이터 조각이 각각 고유한 주소를 갖기 때문이다. 아무리 작은 데이터일지라도 이를 지칭하는 고유 주소가 있기 때문에 어디에 저장되어 있든 정확하게 지목해 웹 브라우저 등으로 불러오는 것이 가능하다. 이 원리는 솔리드의 핵심이기도 하다. 솔리드(SOLID)란 이름 자체가 ‘사회적으로 연결된 데이터’(SOcial Linked Data)의 줄임말이다. 이 덕분에 한 기업의 서버에 데이터를 모아 구조화하지 않고 각자 컴퓨터에 분산해 저장해도 다채로운 서비스와 표현이 가능한 셈이다.
월드와이드웹(WWW)의 창시자 팀 버너스 리. 위키미디어 코먼스
이런 솔리드 플랫폼의 구조는 단지 토양에 불과하다. 땅이 아무리 비옥해도 꽃이 피고 열매를 맺으려면 농부가 씨를 뿌려야 한다. 솔리드의 농부란 개발자인 셈이다. 솔리드의 규칙과 원리는 모두 오픈 소스로 무료로 공개돼 있다. 누구나 참여해서 새 프로그램을 만들 수 있다. 예를 들어 누군가 솔리드 플랫폼에서 이용자에게 맞는 운동을 추천하는 건강 앱을 만든다고 치자. 이 앱은 분석을 위해 사용자의 스케줄, 운동량, 복용 약 등의 정보가 필요할 수 있다. 이 앱을 쓰고 싶은 이용자는 이 앱이 자신의 팟에 있는 해당 데이터에 접근할 수 있게 하고 해당 앱을 쓸 수 있는 것이다. 업체가 개인정보를 수집하는 게 아니라 흩어져 있는 정보에 접근한다는 원리만 바뀌어서, 현재 있는 다양한 서비스의 ‘솔리드 버전’이 가능한 셈이다. 이런 구조는 개발자와 이용자 모두에게 매력적일 수 있다. 우선 개발자 입장에선 보유 데이터가 없는 후발 주자라도 좋은 아이디어만 있으면 선두를 앞지를 기회가 생긴다. 예컨대 현재 웹 구조에선 아무리 좋은 검색 엔진을 만들어도 구글을 이길 수 없다. 이미 막대한 검색 데이터를 보유하고 있기 때문이다. 하지만 솔리드 플랫폼에선 개인이 데이터를 보유하고 있기 때문에 이들로부터 검색 데이터만 받을 수 있으면(쉽진 않겠지만) 후발 주자도 경쟁 엔진을 만들 수 있는 셈이다.
한편 이용자는 매번 새 서비스에 가입할 때마다 일일이 똑같은 이름, 주소, 전화번호 따위를 입력해야 하는 번거로움으로부터 해방된다. 내 솔리드 팟만 최신 정보로 업데이트해두면 허가 받은 업체들이 알아서 필요 정보를 가져가기 때문이다. 또한 서비스 이용 과정에서 생성한 정보도 내 데이터로 축적되기 때문에 재사용이 가능하다. 예컨대 ‘솔리드 싸이월드’에 올린 내 사진과 글은 그대로 ‘솔리드 페이스북’에 옮길 수 있다. 이런 장점과 더불어 소수 기업이 빅데이터를 보유하면서 시민 감시, 개인의 선호 조작, 대량 개인정보 유출 등의 위험이 갈수록 커지고 있다는 세계적인 경각심이 솔리드 출범에 순풍이 되고 있다.
권오성 기자
sage5th@hani.co.kr