본문 바로가기
  • think normal
기획 노트/제품에 대한 소고

Web3.0 지대넓얕 - Solid Project( feat.WebID)

by 청춘만화 2023. 11. 2.

문과 입장에서 Web3.0에 대한 개념과 이러한 서비스가 있다면 이들을 사용하는 참여자들은 어디서 시작하고 끝나는지, 그리고 참여자들은 서로 어떤 이해관계와 어떤 조건으로 흐름을 형성하는지에 대한 부분이 궁금했다. 아직 많이 부정확하고 지극히 문과-스러운 사고와 편향을 지니고 있음을 잘 알고 있지만, 스스럼없는 틀림과 용감한 지적과 성숙한 수용을 통해 한번 더 성장할 수 있길 바라는 마음으로 정리해본다.

 

 

 

 

Web 3.0의 배경

우리가 사용하고 있는 많은 애플리케이션들은 사용자들의 유입과 광고 노출, 클릭 수 등을 바탕으로 시장을 형성하고 있다. 내가 원하는 비용이 부가되지 않는 무료가 익숙한 많은 유용한? 서비스들은 이미 내가 원하지 않아도 앞의 서비스들에 의해 물건 대신 사람(사용자의 정보)을 상품처럼 거래되고 있다. 

 

If you're pay for the product, then you're the product

제품에 대한 비용을 지불하지 않는다면, 당신이 바로 그 제품입니다.라는 Netflix 다큐멘터리 The Social Dilemma에서 가장 많이 반복되는 인용문이 있다. 

 

 

인공지능이 급격히 발전하고 있는 최근의 시대에는, 무료 유료할 것 없이 사용자들의 데이터들이 우리가 알게 모르게 반강재 - 반 자율 - 수동적으로 거래되고 있다. 하지만 인터넷 www를 처음 발명한 팀 버너스 리 는 본인은 이런 방향으로 흐르지 않길 바랬고 오랫동안 주장했지만. 세상은 그의 바람처럼 흘러가지 않았다. 그래서 결국 그는 새로운 프로젝트인 Solid를 시작했다. 

 

 

 

 

프로젝트, SOLID( Social Linked Data)

솔리드의 개념은 단순하다. '사용자는 자신의 데이터를 완전히 제어할 수 있다' 이다. 애플리케이션은 자신들이 사용자의 데이터를 다루지 않는다. 기업은 자신들의 데이터와 사용자가 허락하는 정보를 결합하여 사용자가 원하는 서비스를 제공하는 하나의 에이전트일 뿐이다. 이를 통해 개인은 자신의 데이터 손실 없이 애플리케이션을 이용할 수 있다.

 

하지만 현실적으로 쉽지않은 부분이다. 이미 보유한 사용자 데이터와 이를 유지하고 있는 구조를 누가 스스로 포기하겠는가.. 제도나 캠페인으로는 불 보듯 불가능한 일이다. 하지만 애플리케이션 측면에서 접근하면 충분이 가능하지 않을까 생각된다. 아이튠즈 처럼, 앱스토어의 시작처럼 말이다. 모바일 시장은 이제 고작 10년이다. 초기 1년은 부정적으로 폄하당했었고 이후 4년은 압도적이었다. 이후 5년부터는 그냥 너무 당연한 것이 되어버렸던 것 처럼 말이다. 

 

이런 아이디어를 실현하기 위해 설계된 기본적인, 인프라 구조(개념)가 있는데 바로 Solid pod 솔리드 포드이다. 앞서 말한바 있는 사용자가 어떻게 '자신의 데이터를 완전히 제어할 수 있다'를 현실화 시키는 중요한 구조(개념)이다. 

Solid 솔리드에서 참여자를 Agent 에이전트이라 부른다. 그리고 개인 뿐만아니라 조직이나 기관 또한 Agent가 되어 각각의 포드를 할당받을 수 있다. Agent의 데이터( 솔리드에서는 Resource 리소스라 표현한다) 저장 방식은 개인의 온라인 데이터 저장소로 할당된 "pod 포드"에 구성된다. 참고로 개인의 온라인 데이터 저장소인 포드와 포드 서버를 운영하는 서드 파티는 여러 업체가 있다. 그리고 각 포드 서버들은 서로 연결되어 있다. 

 

기본적으로 포드 모듈식(, decentralized Network)으로 구성되어있다. 때문에 한 카테고리에 종속되지 않아도 된다. 때문에 데이터 한 서버에 같이 있을 필요가 없다. 때문에 뒤에 7)번 이미지 처럼 어떤 애플리케이션에 직접 방문하지 않아도 pod을 통해 직접 다양한 애플리케이션을 검색하거나, 각각 어떤 액세스 권한을 부여할지 쉽게 설정할 수 있다!

그리고 한번 더,

이런 아이디어를 실현하기 위해 설계된 기본적인, 인프라 구조(개념)가 있는데 바로 WebID 웹아이디( 유일한, 유니크한, 단일 로그인)이다. 이를 통해 하나의 서버에 등록된 데이터가 서로 다른 포드 또는 포드 서버에 저장되어 있는 각 각의 데이터에 접근하거나 권한을 설정할 수 있다. 

 

물론 데이터가 애플리케이션으로부터 독립적이 되려면 동일한 정보를 모든 앱에서 일관되게 이해할 수 있어야 한다. 따라서 데이터를 재사용할 수 있게 하려면 널리 사용되고 알려진 어휘(표준어 또는 ?규격)로 데이터를 설명할 수 있어야 한다.

때문에 포드에 담기는 데이터가 담기는 Document라는 서식으로 관리된다. 여기서 프로필과 온톨로지라는 개념이 들어가는데.. 온톨로지는 1부에서 다루기엔 애매한 것 같아 생략하기로 하고 프로필은 뒤에 다시 언급될 예정인데.. 대략적으로 데이터를 여기 저기서 잘 재사용될 수 있도록 구성된 문서의 형태(너와- 나의- 연결 고리, 여기서 고리는 형태 또는 정량적으로는 webID, 의미 또는 정성적으로는 서식에 맞춰 작성된 내용)를 띄고 있다. 

 

자, 여기서 앞의 Web 3.0가 적용된 사례를 하나 들어보면.. 

1. 홍길동은 건강이 양호하다. 하지만 대출이 필요하다. 홍길동은 앱(솔리드가 적용된)을 통해, 자신의 포드에 거주 지역 근처에 있는 은행과 의료분야 몇몇 Agent들에게 개인 신용등급과 건강정보 접근 권한을 제공한다. 

2. 은행은 대출 상품의 활성화가 필요하다. 은행 직원은 앱(솔리드가 적용된)을 통해 권한이 허용된 기대 고객 Agent들의 목록을 검토한다. 비교적 위험부담이 없는 건강하고 신용정보가 높은 고객들을 추리고 각 고객에 맞는 개별 금리 상품 정보를 추천한다.  

3. 홍길동은 앱(솔리드가 적용된)의 알림을 듣고 앱의 InBox(단순히 메일함보다 채널? 정도로 해석하는 것이 더 정확한 것 같다. 이를테면 앱은 메일이 아닌 채팅 형태로 UI를 제공할 수도 있다.)를 열어본다. 그리고 여러  은행 Agent 에서 제공하는 금융 상품을 비교해보고 대출을 진행한다. 

 

저마다의 개인이 나만의 고유함이 있는 그대로 존중(대접이 아닌,)받는 세상은 과거 어느 시절에서는 홍익인간 이라 불렀다 들었는데.. 파란눈 하얀이들을 통해 전해들으니 참 아쉽지만 또한 이렇게나마 하도 기대가 크다. 물론, 난 N형 인간이다. 그래서 이런 시나리오 뒤에 늘 '의자앉기 게임'을 한번 더 상상해본다. 아홉 사람 그리고 의자도 아홉 개라 해도 결코 모두 의자에 앉을 수 있는 건 아니다. 왓 더 사피엔스..

 

 

 



WebID

특정 agent가 특정 agent에게 리소스에 대한 내용을 부여 방식은 웹주소 방식으로 권한 부여
*권한 : read, write( 단, del을 추가할 수도 있음..), append, control( 모든 권한)

           심볼에 대한 해석은 문맥에 따라 달라질 수 있다.

 

 

WebID 구성 요소

1. agent( as a uri)
- user
- application
- group

2. resource( as a url)
- data.. : 권한이 부여하는 부분
         앱과 데이터 분리(솔리드의 의도) → 그러다보니, auth는 app 밖에 둘 수 밖에 없다
- pod = (data)resource server
- webID의 auth = 내가 그 uri를 가지고 있는지만* 판단
         ‘서비스.com/사용자’를 가지고 있는지 단순 인증을 위한 uri 또는 url
         → 프로토콜(OAuth2.0 > Open ID Connect)을 통해 인증: 뭔가가 나오는 url을 지향( discovery* 보장 - 공유)

3. (프로필)document( as a url)
- private docs, public docs
- agent에 대한 resource에 대한 document

discovery 필수 필드**
- inbox
- root container
- …
- abc-d

ontology 목록
- 각각의 주소를 보유 xml.rog/…/foaf/v1.0
- 단어와 단어의 뜻을 표현
- (height → abc-d)웹과 웹의 커뮤니케이션( ?..시멘틱)을 위한 용도



 

 

 

 

 

예시

1) 아래는 앱을 설치하고 WebID를 발급 받는 과정이다. 사용자는 inrupt.net  solidcommunity.net  와 같은 공급자가 (플레이 또는)앱스토어에 올린 앱( Solid Project 스펙으로 구현된)을 설치하고 이를 통해 pod포드를 할당 받는다.

pod포드 할당

 


 2) 하나의 팟 말고 여러 개의 팟을 통해 생성한 프로필도 함께 사용할 수 있다
팟은 팀 버나드 리가 직접 만든 ‘인터럽트’ 외에도 솔리드 스펙으로 제작되고 운영중인 다수가 존재한다. 그리고 각 팟은 (마치 블록체인과 비슷한 형태로)서로 연결되어있다.

모듈로 구성된 pod포드와 (decentralized 한)서버

 


 3) WebID의 구성 요소인 agent( uri)의 종류는 user뿐만아니라 application 또는 group도 포함된다.

일반 개인 뿐만아니라 조직이나 기관 또한 참여자가 되어 각각의 포드 를 할당받을 수 있다.

 


4) 아래는 간략히 표현한 인증 절차이다. 우리가 알고 있는 싱글 싸인-온과 동일한 프로세스와 인증방식을 갖고 있다. 다른 점은 사용자와 관련된 데이터를 서비스(구글, 네이버 또는 카카오톡)가 아닌 pod과 pod server가 관리한다는 점이다.

애플리케이션에 가입(권한을 설정)하는 과정

 


 5) user agent는 여러개의 프로필(WebID)을 생성할 수 있고 각각의 프로필로 각각의 서비스에 가입(조금 더 정확히 표현하면.. 서비스에게 내 프로필 정보 중 일부에 대한 접근 권한을 부여)할 수 있다.

멀티프로필에 대한 지극히 얕은 표현

 


6) user agent는 여러개의 프로필(WebID)을 생성할 수 있고 각각의 프로필 중 여러개를 하나의 서비스에 가입할 수 있다. 적용된다면 유튜브나 OTT서비스 이용에 유용할 것으로 기대된다.

멀티프로필의 활용 예

 
 
 7) 앞의 2)번, 여러 pod이 pod서버와 연결되어있어 user Agent는 다른 Agent를 검색할 수 있고 Agent에게 접근 권한을 설정할 수 있다. 이를테면 카카오(WebID가 반영되어 있다면)를 검색하고 카카오를 가입(권한설정)하거나 탈퇴할 수 있다. 같은 구조는 아니지만 시나리오 상으로 현실에서의 비슷한 예로는 정부에서 진행 중인 주민등록번호만 입력하면 내가 그동안 가입했던 서비스 목록이 나오고 일부 서비스는 그 자리에서 바로 탈퇴할 수 있는 기능의 현대 버전 정도로 볼 수 도 있을 것 같다.  

decentralized 스러운 pod 서버와  pod  모듈을 통해 가능한 것들 중 하나..

개인적으로 7)번은 마치, 과거 www가 페이지에 담긴 데이터(와 에이전트 정보)와를 연결하기 위한 링크였다면, 솔리드의 제안안은 페이지에 담긴 에이전트(데이터와 권한) 간 연결을 위한 링크로 해석된다. 

때문에, 이미 있을지 모르겠지만 또는 알잘딱깔센 하시겠지만.. W3C에 정식으로 반영될때, 에이전트(user)와 에이전트(application, group)가 권한을 주고 받을 때 또는 처음 에이전트(application, group)가 등록되는 과정에서 유형에 대한 파악과 검증절차를 거쳐 권한 설정에 대한 defualt에 대한 추가 이행 과정이 추가되었으면 한다. 편향적이거나 습관적인 사용자의 행동에 넛지를 주지않으면 매우 편리한 기능이 매우 위험한 기능이 될 수도 있다는 생각이 든다.  

 

 

 

 

실습 01 

https://normalstory.tistory.com/entry/cursor-IDE-coding-test02

 

cursor IDE_coding test 02 - Solid 프로토콜

프롬프트 @https://solidproject.org/TR/protocol HTML과 JavaScript를 사용하여 1) 로그인 버튼 클릭하면 Solid 프로토콜을 사용하여 로그인 기능을 구현해줘 2) 단, 로그인 팝업창과 메인 윈도우간 통시 에러를

normalstory.tistory.com

 

 

 


2절..

생각해보면 홍익인간까지 올라가지 않아도 조선스러운?(두레 품앗이와 같이 공통체-풀뿌리 문화를 갖고 있는)것들은 web 3.0 사실 웹의 본래 취지와 가장 잘 맏닿아 있는 것은 아닌가 하는 생각이 든다. 어쩌면 웹 2.0은 모든 행위와 가치를 나누고 쪼개서 현금화 또는 교환가치를 삼고 이를 통해 마르지않는 현금 (금융) 흐름으로 만들어 내는 것이 최선이라 생각하던 신자유주의에 의한 왜곡이었다는 생각을 해본다.

자세히 보면 인프라만 web2.0인, 현재 서비스 중에도 이와 유사한 구조를 갖고 있는 서비스가 있다. 그 서비는 사실 국민 앱이지만 수익모델을 찾기 위해 본래의 기능보다 다른 용도로 더 확장하고 성장하고 있다. 본래 기능에 대한 불편함을 느끼기도 전에 익숙해졌고 범용적으로 되어 버렸다. 

 

개인의 편향 뒤섞여 만들어지는 집단 편향은 참 무섭다. 

https://normalstory.tistory.com/entry/%EC%82%AC%EB%AC%BC%EC%9D%98-%EC%86%8C%EB%A9%B8-%EC%9A%B0%EB%A6%AC%EB%8A%94-%EC%96%B4%EB%96%A4-%EC%84%B8%EA%B3%84%EC%97%90-%EC%82%B4%EA%B3%A0-%EC%9E%88%EB%82%98

 

책 | 사물의 소멸. 우리는 어떤 세계에 살고 있나

개인적으로 최애 작가? 철학자인 한병철 님의 신간이 나왔음을 도서관에서 우연히 알게 되어 바로 책을 빌려 읽으며 잠깐 잠깐 들었던 몇 줄의 문장과 몇몇의 생각을 기록해본다. 서문. 소설 에

normalstory.tistory.com

 

 

 

댓글