• 대한전기학회
Mobile QR Code QR CODE : The Transactions of the Korean Institute of Electrical Engineers
  • COPE
  • kcse
  • 한국과학기술단체총연합회
  • 한국학술지인용색인
  • Scopus
  • crossref
  • orcid

  1. (Dept. of Computer Science Engineering, Kyonggi University, Korea.)



Self sovereign, Blockchain, IPFS, Contents management system

1. 서 론

WWW(World Wide Web)(1) 기술의 출현 이후 웹을 이용한 서비스들이 폭발적으로 증가했으며, 사용자는 서비스 제공자가 제공하는 콘텐츠를 수동적으로 소비하는 방식에서 벗어나 블로그, SNS 등 능동적으로 새로운 콘텐츠를 생성해 다른 사람들과 공유하는 콘텐츠 제공자의 역할도 함께 수행하고 있다. 이처럼 사용자의 콘텐츠와 데이터에 대한 중요성이 높아짐에 따라 주요 인터넷 서비스 기업들에 의한 데이터 집중화 및 독점 현상에 대한 우려가 커지고 있다(2). 데이터 독점의 주요 원인은 웹 서비스가 전형적인 client-server 구조를 취하기 때문이다. 서비스 제공자는 자신이 운영하는 웹 서버를 통해 중앙집중적 형태로 사용자들에게 서비스를 제공하며, 그 대신 사용자의 데이터와 창작 콘텐츠는 사용자 측이 아닌 서비스 제공자의 서버에 독점적으로 저장 및 관리된다. 그리고 각 서비스 제공자들은 서로 배타적이기 때문에, 서로 다른 서비스 제공자들을 통한 사용자 간 콘텐츠 공유가 어렵다.

최근에는 4차 산업혁명과 인공지능의 혁신이 진행됨에 따라 데이터의 중요성이 매우 커졌으며, 데이터 활용이 모든 산업 발전의 촉매 역할을 수행한다는 데이터 경제라는 개념도 등장했다. 이처럼 데이터의 중요성이 커짐에 따라 데이터에 대한 저장, 제어 및 관리를 할 수 있는 데이터 주권이 큰 이슈로 다뤄지고 있으며, 개인 뿐 아니라 기업, 국가의 관점에서 다양한 논쟁을 촉발하고 있다(3).

기존의 웹 서비스 구조에서는 사용자의 데이터와 콘텐츠가 사용자의 관리하에 있지 않고 서비스 제공자의 서버 측에 저장되고 관리되는 방식을 취하고 있다. 이러한 방식은 사용자 데이터에 대한 주권이 사용자에게 있는 것이 아니라 서비스 제공자에게 강제로 위임되는 형태이며, 사용자는 자신이 생성한 데이터임에도 불구하고 이에 대한 자신의 주권을 행사할 수 없다는 문제점을 가지고 있다.

본 논문에서는 블록체인 기술을 기반으로 사용자가 자신이 생성한 콘텐츠에 대한 주권을 행사할 수 있는 자기 주권 콘텐츠 관리 시스템을 제안한다. 최근에는 블록체인 기술의 탈중앙화된 특성을 활용해 사용자의 식별 체계 관점에서 사용자의 주권을 보장해 주려는 자기 주권 신원 연구들이 진행되고 있다. 대표적으로는 Sovrin(4), uPort(5)가 제안되었으며, 자기 주권 신원 기술이 기존 신원 관리 기술에 비해 가지는 장점과 발전 방향에 대한 연구도 진행되고 있다(6). 하지만 이들은 주로 사용자의 신원과 인증에 초점을 맞추고 있으며, 사용자가 생성한 데이터와 콘텐츠에 대한 주권을 보장하는 연구는 초기 단계에 머물고 있다. 또한, Steemit(7)은 블록체인에 기반한 SNS 서비스를 제공하고 있지만, 주로 STEEM 화폐를 이용한 창작자의 보상과 분산방식의 사용자 평판 및 콘텐츠 평가에 집중하고 있으며, 사용자의 풍부한 데이터 주권을 보장해주지는 못한다.

제안 시스템에서는 사용자의 콘텐츠를 서비스 제공자 측이 아닌 분산 저장소에 저장하며, 블록체인을 통해 사용자가 직접 자신의 콘텐츠에 대한 등록, 서비스 제공자의 접근 및 다른 사용자들의 콘텐츠 사용을 제어한다. 이 시스템을 통해 사용자들은 자신의 콘텐츠를 인터넷 서비스 기업들에게 넘기지 않고 콘텐츠에 대한 자기 주권을 행사할 수 있게 된다.

본 논문의 구성은 다음과 같다. 2장에서는 블록체인과 자기 주권 신원에 관련된 연구들을 살펴보고, 3장에서 제안 시스템의 구조와 동작 방식을 제안한다. 4장에서는 제안 시스템의 구현과 실증을 보여주고, 5장에서 결론을 맺는다.

2. 관련 연구

블록체인 기술은 참여자들이 동일한 정보를 공유하게 되는 분산 원장 기술(8)이라고 할 수 있으며, 참여자 간의 검증과 합의를 통해 새로운 블록이 생성되면 이 신규 블록이 기존 블록들의 뒤에 추가되는 방식으로 연결된다. 블록들은 암호학적 해쉬 함수를 이용해 연결되기 때문에 블록체인에 한 번 기록된 내용은 위변조가 거의 불가능하며, 이러한 특성으로 인해 블록체인은 비가역성을 보장한다. 또한, 블록체인은 기록된 정보의 무결성을 보장하고 정보의 높은 신뢰성을 제공한다. 그리고, 블록체인은 탈중앙화된 구조이며 별도의 중앙집중화된 신뢰 기관이나 중개 기관을 유지할 필요가 없다.

다양한 블록체인 플랫폼들이 개발되고 있으며, 이들은 크게 두 가지로 분류된다. 퍼블릭 블록체인은 누구나 쉽게 블록체인 네트워크에 참여해 정보에 접근할 수 있는 공개된 형태이며, 대표적으로는 Bitcoin(9)과 Ethereum(10)이 있다. 프라이빗 블록체인은 미리 신원이 확인되고 허가된 멤버들만이 참여해 블록체인 네트워크를 구성하는 폐쇄적은 형태이며, 대표적인 플랫폼으로는 Hyperledger Fabric(11)이 있다.

최근에는 블록체인 기반의 다양한 자기 주권 신원 모델들이 연구되고 있다(4,5,6). 자기 주권 신원(Self-Sovereign Identity, SSI)이란 정보제공자 자신이 본인 개인정보의 관리 및 제공의 주체가 되는 형태의 신원 관리 방법이다. SSI는 분산 환경에서 사용자 정보를 저장하고 관리하기 위해 준수해야 할 사항들(Decentralization, Portability, Simplicity)과 이용성에 대한 조건들을 충족해야 한다. 개인정보를 소유자가 관리한다는 점은 사용자가 직접 인증을 위한 환경을 구축하게 만들고, 이렇게 만들어진 환경에서의 개인정보는 쉽게 위조될 수 있었으므로 신뢰성을 보장하기 어려웠다. IdP(Identity Provider)의 도움을 받아 구축된 환경에서 자신의 Identity를 생성하는 방법도 있었으나 이는 온전한 Self-Sovereign Identity로써의 역할을 수행하기에 부족했다.

Self-Sovereign Identity에 블록체인의 분산 원장과 스마트 컨트랙트 기술을 적용할 경우 상술한 문제들을 해결할 수 있다. 스마트 컨트랙트는 블록체인 플랫폼 위에서 동작하는 일종의 프로그램으로 이더리움의 EVM(Ethereum Virtual Machine)에서 동작하는 솔리디티로 만든 컨트랙트가 대표적이다. 컨트랙트는 목적지 주소를 0으로 갖는 하나의 트랜잭션 형태로 블록체인에 배포되며 요청에 의해 한 컨트랙트가 실행되어 발생한 결과는 동일한 변수와 파라미터를 이용하여 노드들이 검증한 후 블록체인에 기록된다. 상기한 특징들로 인하여 컨트랙트 실행으로 인한 결과는 항상 투명하게 확인되며 블록체인에 기록되어 타인이 변조하기 어렵기 때문에 SSI에서 큰 이슈가 되는 무결성 문제를 해결할 수 있다.

대표적 SSI 모델 중 하나인 Sovrin은 온라인 환경에서 상당량의 ID가 중복되고 반복해서 만들어지고 있다는 점을 해결하기 위해 시작된 프로젝트로 Decentralized Identifier를 제공한다. Sovrin은 자체적인 블록체인 네트워크를 가지며 PBFT (Practical Byzantine Fault Tolerance)의 변형인 Plenum 알고리즘을 사용하여 빠른 합의를 이뤄내는 대신 블록체인의 운영 권한을 상당수가 Guardian과 Admin이 나눠 갖는다. Sovrin에서는 ID가 가지는 정보의 중요성에 따라 Public claim과 Private claim에 나눠 저장하며 claim과 identifier는 직접적으로 연관되어 표현되지 않는다는 특징을 갖는다. Private claim의 경우 Off-chain에 저장되어 실질적인 정보가 블록체인상에 기록되지 않기 때문에 자체적인 클라이언트로 접근해야 하는 접근성 문제를 갖는다(4).

uPort는 탈중앙화 신원 증명 모델이며, Ethereum을 기반으로 해서 서비스 제공자가 개인 데이터의 접근 권한을 요청하면 사용자는 uPort 기기에서 접근 허용 프로세스를 진행한다. 사용자가 데이터에 대한 접근을 허용하면 서비스 제공자는 사용자의 신원정보를 가지고 올 수 있으며 이를 통해 서비스를 제공한다. 하지만 uPort는 신원에 초점이 맞춰진 플랫폼이기 때문에 사용자 데이터의 주권을 주장할 수 없다.

Blockstack(12)은 사용자의 신원뿐만 아니라 데이터의 주권 또한 일부 보장하는 플랫폼이다. 사용자는 자신의 개인 정보 및 데이터를 기존의 클라우드 플랫폼에 암호화하여 저장할 수 있으며 Blockstack의 블록체인 네트워크에 저장된 메타데이터를 통해 데이터에 접근할 수 있다. 비대칭 키 암호화 기반의 인증 프로세스를 가지고 있으며, 서비스 제공자는 서비스를 구축함에 있어 사용자에 대한 정보를 자신의 DB에 저장하고 읽는 것이 아닌 Blockstack 네트워크를 통해 가져와 저장하는 방식을 취한다. 하지만 이 플랫폼은 사용자 개인의 독립적인 데이터에 대한 제어를 주 목표로 하며, 서비스 제공자와 사용자의 연결과 콘텐츠 제공 방법에 대한 고려가 부족하다.

3. 자기 주권 콘텐츠 관리 시스템

이번 절에서는 제안하는 자기 주권 콘텐츠 관리 시스템의 구조와 동작 방식에 대해 서술한다.

그림 1 자기 주권 콘텐츠 관리 시스템 구조

Fig. 1 The Architecture of Self Sovereign Content Management System

../../Resources/kiee/KIEE.2021.70.5.784/fig1.png

제안 시스템은 자기 주권 콘텐츠 관리 기능을 제공하며, 이는 사용자가 생성한 콘텐츠가 특정 서버나 서비스에 종속되지 않고 사용자가 원하면 언제든지 콘텐츠의 등록, 제공, 접근제어 및 삭제가 가능하게 한다. 기존의 중앙집중화된 콘텐츠 관리 방식에서는 관리 주체가 사용자가 아닌 중앙의 특정 서버가 되며, 이로 인해 사용자가 원하더라도 장애 혹은 내부 정책에 따라 콘텐츠를 관리하기 어려운 문제가 발생한다. 또한, 중앙 서버를 거쳐야만 콘텐츠가 공유될 수 있다는 문제가 있고, 특히 서로 다른 서버들 간에 콘텐츠의 공유와 상호호환성에 어려움을 겪고 있다.

제안 시스템은 저장되는 콘텐츠 자체의 종속성을 해결하기 위해 분산 저장소를 이용하며, 콘텐츠에 대한 등록과 사용자들 간의 요청에 대한 접근제어, 콘텐츠의 삭제 및 사용 이력 검증 기능을 돕는 주체도 특정 서비스에 종속적이지 않고 탈중앙화된 형태로 구성하기 위해 블록체인을 활용한다. 블록체인은 높은 가용성을 보장하고 중앙집중형 방식의 SPoF(Single Point of Failure)문제를 해결한다. 그리고 사용자는 자신이 직접 스마트 컨트랙트를 생성해 배포하고 실행함으로써 특정 서버나 별도의 신뢰기관(TTP)이 없어도 시스템의 신뢰성을 확보하게 된다. 그리고, 블록체인이 제공하는 무결성을 기반으로 사용자의 콘텐츠 소유권에 대한 인증과 접근제어, 사용 이력 무결성을 제공할 수 있다.

제안 시스템에서는 그림 1과 같이 신규 콘텐츠를 제작하고 이에 대한 주권을 행사하고 싶어 하는 콘텐츠 제공자인 CP(Content Publisher), 여러 CP들의 콘텐츠를 수집, 가공해서 다른 사용자들에게 제공하는 서비스를 제공하는 SP(Service Provider), 그리고 콘텐츠를 소비하고 이용하고 싶어 하는 사용자인 CS(Content Subscriber)가 참여한다. 일반 사용자는 때로는 CP의 역할로 시스템에 참여하기도 하고, 때로는 CS의 역할로 참여하기도 한다.

제안 시스템은 기존의 중앙집중화된 형태가 아닌 탈중앙화된 형태로 사용자에게 자신의 콘텐츠에 대한 주권을 제공하기 위해 블록체인을 활용한다. 구체적으로는 Ethereum을 사용하며, Solidity로 작성된 스마트 컨트랙트를 이용해 사용자가 자신의 콘텐츠에 대한 등록, 관리 및 접근제어를 수행할 수 있도록 돕는다. 그리고, 생성된 콘텐츠는 특정 SP에 종속되어 SP 내부에 저장되는 것이 아니라 분산 저장소인 IPFS(Inter Planetary File System)(13)를 이용해 저장하며, 이를 통해 다양한 사용자들이 콘텐츠에 쉽게 접근해 이용할 수 있다.

제안 시스템에서 SP는 기존의 웹 서비스와 유사하게 CP의 콘텐츠를 CS에게 제공함으로써 자신 서비스의 이익을 여전히 추구할 수 있다. 하지만, SP는 이 콘텐츠를 자신의 서버에서 직접 저장해 제공할 수 없으며 CS가 블록체인과 IPFS를 통해 CP의 콘텐츠를 직접 가져올 수 있도록 연계하는 역할을 수행한다. 그리고, CP는 여러 형태의 콘텐츠를 생성하고 공유할 수 있지만, 본 논문에서는 편의를 위해 콘텐츠가 문서의 형태라고 가정한다. CP가 생성하는 문서 콘텐츠는 Markdown 형식으로 작성되며, 이 형식의 문서는 HTML 문서 등으로 쉽게 변환될 수 있어서 SP가 이 콘텐츠를 자신 서비스의 스타일에 맞춰 변환해서 CS에게 제공해 줄 수 있다.

제안 시스템의 전반적인 동작 흐름은 다음과 같다. CP는 자신의 신규 콘텐츠를 IPFS에 저장하고, Ethereum 내의 스마트 컨트랙트를 통해 이 콘텐츠의 메타데이터를 블록체인에 등록한다. 이후 CP는 SP에게 콘텐츠의 스마트 컨트랙트 주소를 제출함으로써 신규 콘텐츠의 발행을 요청한다. SP는 이 주소를 통해 콘텐츠의 메타데이터를 획득하게 된다. 이후 한 CS가 SP에게 이 콘텐츠를 요청하며, 이는 기존 웹 서비스 요청과 동일한 방식을 사용한다. SP는 CS에게 콘텐츠를 획득할 수 있는 코드가 포함된 자신의 서비스 템플릿을 제공하며, CS는 이를 이용해 블록체인으로부터 콘텐츠의 메타데이터를 획득한 후에 다시 IPFS에 접근해 CP의 콘텐츠를 얻게 된다. 위 흐름의 각 단계별 세부 동작방식은 아래에 서술되어 있다.

3.1 사용자 등록

제안 시스템을 사용하기 위해 CP는 먼저 자신의 콘텐츠를 관리하기 위한 새로운 User Contract를 생성해야 한다. 이 스마트 컨트랙트는 CP의 여러 콘텐츠를 사용자가 직접 관리하고 제어할 수 있게 해주며 그림 2와 같은 인터페이스를 제공한다. 이 User Contract는 CP별로 하나씩 생성되며, 이후에 CP가 자신의 콘텐츠를 등록, 관리 및 삭제할 때 활용된다.

그림 2 User Contract의 인터페이스

Fig. 2 Interface of User Contract

../../Resources/kiee/KIEE.2021.70.5.784/fig2.png

3.2 콘텐츠 생성과 등록

기존의 시스템에서 CP는 자신의 콘텐츠를 생성하고 SP에 자신의 콘텐츠를 업로드하여 SP를 통해 사람들과 콘텐츠를 공유하였다. CP는 콘텐츠를 생성할 때 SP가 제공하는 전용의 에디터를 사용하거나 HTML, javascript, css와 같은 언어를 이용했다. 하지만 제안 시스템에서는 CP가 특정 SP에 종속되지 않고 독립적으로 콘텐츠를 생성할 수 있으며, Markdown 형식을 사용해 단일 형태의 문서 콘텐츠를 생성한다.

콘텐츠를 생성한 CP는 다음 단계로 그림 3과 같이 제안 시스템에 신규 콘텐츠를 등록한다. 이때, 블록체인에 직접 콘텐츠 내용을 저장해 등록하기보다는, IPFS 분산 저장소에 콘텐츠를 저장한 후 여기에 접근할 수 있는 CID(Content Identifier)를 블록체인에 등록하는 방식을 사용한다. 이는 블록체인에 크기가 큰 콘텐츠를 직접 등록할 때 발생하는 비용과 네트워크 부하를 줄이기 위해서이다.

그림 3 신규 콘텐츠 등록 과정

Fig. 3 Registration Flow for a new Content

../../Resources/kiee/KIEE.2021.70.5.784/fig3.png

IPFS에 콘텐츠를 저장한 후, CP는 우선 신규 콘텐츠의 메타데이터를 생성하며 그 형식은 다음과 같다:

<: subject, abstract, CID, hash>

여기서 subject는 신규 콘텐츠의 제목을 의미하며, abstract는 콘텐츠 내용의 요약이다. CID는 IPFS를 통해 콘텐츠에 접근할 수 있는 고유값이며, hash는 콘텐츠 내용을 해쉬한 값으로 checksum의 용도로 사용된다.

이후 CP는 신규 콘텐츠를 블록체인에 등록하는 과정을 수행하며, 앞서 3.1절에서 생성한 자신의 User Contract를 이용한다. CP는 setData() 메소드를 통해 메타데이터를 전달하며 신규 콘텐츠 등록을 요청한다. CP의 User Contract는 신규 콘텐츠를 위한 새로운 Content Contract를 동적으로 생성하고 subject를 키로 해서 새 컨트랙트의 주소를 저장한다. 이런 방식으로 CP의 User Contract에는 그동안 생성되었던 모든 콘텐츠의 메타데이터를 가지고 있는 Content Contract들의 주소 집합이 저장/관리된다.

그림 4 Content Contract의 인터페이스

Fig. 4 Interface of Content Contract

../../Resources/kiee/KIEE.2021.70.5.784/fig4.png

새로 생성되는 Content Contract는 CP의 특정 콘텐츠를 관리하는 스마트 컨트랙트이며, 그림 4와 같은 인터페이스를 제공한다. 이 컨트랙트는 콘텐츠의 메타데이터를 포함하고 있으며, 이 정보에 대한 읽기 권한을 허가함으로써 차후에 SP나 CS가 콘텐츠에 접근할 수 있는 수단을 제공한다.

3.3 콘텐츠 발행

Content Contract를 생성한 CP는 SP에게 자신의 신규 콘텐츠의 게시를 요청할 수 있다. 이때 CP는 SP에게 콘텐츠의 내용을 제출하는 것이 아닌, 앞서서 자신이 생성한 Content Con- tract의 address를 제출한다. 이 address를 받은 SP는 해당 스마트 컨트랙트를 통해 CP가 발행하려는 콘텐츠에 대한 메타데이터를 얻을 수 있고, 그 안에 포함된 CID를 이용해 콘텐츠 내용을 읽고 CS들에게 콘텐츠를 제공할 준비작업을 할 수 있다. CP가 생성한 콘텐츠의 내용과 관리 권한을 SP에게 넘겨주는 기존 시스템들과 달리, 제안 시스템은 여전히 CP가 자신의 콘텐츠에 대한 소유권과 관리 권한을 행사하게 되며 이를 통해 콘텐츠에 대한 자기 주권을 보장받게 된다.

3.4 콘텐츠 사용

CS는 SP를 통해 특정 콘텐츠를 요청할 수 있으며, 이는 기존 시스템과 동일하게 HTTP request를 사용한다. 콘텐츠 요청을 받은 SP는 기존 시스템과 같이 자신에게 저장된 CP의 콘텐츠 내용을 바로 전달하는 대신에, CS에게 다음의 내용이 포함된 서비스 템플릿을 전송한다.

SP는 콘텐츠를 직접 CS에게 전달하지 않으며, CS가 직접 시스템에 등록된 콘텐츠를 얻어올 수 있도록 해당 Content Contract의 address와 함께 web3.js(14)를 사용하는 javascript 코드를 제공한다.

CS가 얻어낸 Markdown 형식의 콘텐츠를 SP 서비스의 스타일과 구조에 맞게 변환하는 코드를 제공한다.

템플릿을 전달받은 CS는 web3 코드를 통해 블록체인에 접근해 원하는 콘텐츠의 메타데이터를 받아오고, 그 안에 포함된 CID를 이용해 IPFS로부터 Markdown 형식의 콘텐츠 내용을 받아올 수 있다. 이후에 SP가 제공한 코드를 통해 이 콘텐츠를 변환해 사용하게 된다. 이 과정은 CS가 사용하는 브라우저 내에서 자동으로 실행되기 때문에, CS의 입장에서는 기존의 웹 서비스를 사용할 때와 UX적인 측면에서 차이를 느끼지 않는다.

4. 구현 및 실증

이번 절에서는 제안된 시스템의 동작을 확인하고 적합성을 실증하게 위해 프로토타입을 구현하고 실험한 내용을 서술한다. 프로토타입의 구현 환경은 다음과 같다.

표 1 프로토타입 실험 환경

Table 1 Experiment Environment for Prototype

컴포넌트

세부정보

블록체인

Ethereum 1.2 Metropolis

분산 저장소

IPFS 0.7.0

SP 서버

Node.js on Windows 10

스마트 컨트랙트

Solidity 0.6.12

그림 5는 CP가 새로 생성한 콘텐츠인 Markdown 문서를 등록하는 화면을 보여주고 있다. CP의 화면에는 나타나지 않지만, 브라우저와 web3를 통해 내부적으로 문서를 IPFS에 업로드하고 이를 통해 받아온 CID와 메타데이터를 Ethereum에 전송해 등록에 성공한 것을 볼 수 있다.

그림 5 CP의 신규 콘텐츠 등록 화면

Fig. 5 Screenshot of a new Content Registration by CP

../../Resources/kiee/KIEE.2021.70.5.784/fig5.png

그림 6은 앞서 등록한 콘텐츠가 IPFS에 정상적으로 저장되었음을 보여주고 있다. ipfs refs local 명령어를 통해 ipfs gateway에 저장된 파일목록을 확인하였으며, 그 중 CP가 업로드한 파일이 있는 것을 확인하였다.

그림 6 IPFS에 저장된 콘텐츠 파일 확인 화면

Fig. 6 Screenshot of the Content File Stored in IPFS

../../Resources/kiee/KIEE.2021.70.5.784/fig6.png

그림 7은 CP의 User Contract를 이용해 신규 콘텐츠의 메타데이터를 가지고 있는 Content Contract의 address를 획득하는 화면을 보여주고 있다. Remix를 geth에 연결하여 확인했으며, “test_data”라는 이름의 콘텐츠에 대한 address가 반환되는 것을 확인할 수 있다.

그림 7 User Contract를 이용한 Content Contract 주소 획득

Fig. 7 Obtaining the address of Content Contract with the help of User Contract

../../Resources/kiee/KIEE.2021.70.5.784/fig7.png

그림 8은 앞서서 얻은 Content Contract를 통해 실제 콘텐츠가 저장된 IPFS의 CID를 획득하는 화면을 보여주고 있다. 웹 브라우저는 이 CID를 이용해 IPFS에 접근해 Markdown 문서를 다운로드할 수 있다.

그림 8 Content Contract를 이용한 IPFS CID 획득

Fig. 8 Obtaining IPFS CID with the help of Content Contract

../../Resources/kiee/KIEE.2021.70.5.784/fig8.png

그림 9 CS의 브라우저를 통한 콘텐츠 사용 화면

Fig. 9 Screenshot of Using a new Content by CS via browser

../../Resources/kiee/KIEE.2021.70.5.784/fig9.png

그림 9는 CS가 SP에게 신규 콘텐츠의 사용을 요청해서 자신의 브라우저에서 보여지는 화면을 나타낸다. 그림에서 보이듯이, CS는 HTML 형식으로 변환된 CP의 신규 콘텐츠를 사용할 수 있게 된다. SP의 웹 서버는 node.js로 구축했으며, 웹 서버는 CS에게 web3.js 코드와 IPFS로부터 콘텐츠를 다운로드 받을 수 있게 하는 코드가 포함된 서비스 템플릿만을 전송했다. 그리고 CS는 전송된 코드를 사용해 블록체인과 IPFS에 접근해 신규 콘텐츠인 Markdown 형식 문서를 다운로드하고 이를 HTML 형식으로 변환했다. 이 방식을 통해 웹 서버에서 사용자의 콘텐츠를 저장하지 않고 CS에게 서비스를 제공해 줄 수 있으며, CP의 콘텐츠에 대한 자기 주권을 보장할 수 있게 된다.

5. 결 론

본 논문에서는 콘텐츠를 제작하는 일반 사용자가 특정 인터넷 기업에 종속되지 않고 자신의 콘텐츠를 주도적으로 관리할 수 있는 자기 주권을 보장하는 콘텐츠 관리 시스템을 제안했다. 제안 시스템은 분산 저장소에 콘텐츠를 저장하고 블록체인을 통해 사용자가 자신의 콘텐츠를 직접 제어하는 방식을 사용하며, 서비스 제공자는 콘텐츠를 직접 저장하고 배포하는 것이 아니라 사용자의 게시 요청을 받아 참조하는 방식으로 서비스를 제공하게 된다. 제안 시스템을 통해 사용자는 자신이 생성한 콘텐츠에 대한 주권을 자신이 행사할 수 있게 되었으며, 콘텐츠가 특정 서비스에 의존적이지 않기 때문에 다양한 서비스와 사용자들에게 공유될 수 있다.

제안 시스템은 최근에 주목받고 있는 데이터 주권과 관련된 이슈들을 해결할 수 있는 하나의 수단이 될 수 있다. 대중의 데이터에 대한 인식 변화, 즉 자신의 데이터는 자신이 주인이 되고 관리해야 한다는 인식과 중앙집중형 혹은 종속형 방식의 폐해를 해소할 주 있는 탈중앙화에 대한 관심이 높아질수록 제안 시스템의 장점이 강조되고 활용도가 높아질 것으로 기대된다. 또한, 제안 시스템은 기존의 전형적인 서버-클라이언트 구조인 웹 서비스를 탈중앙화된 형태로 개선했으며, 다양한 서비스들과 사용자들간에 연결, 공유 및 협력이 가능해질 것으로 예상된다.

제안 시스템은 사용자가 자신의 콘텐츠에 대해 주권을 확보하고 다른 사용자와 공유할 수 있게 도우는 데 목적이 있으며, 이러한 콘텐츠가 불법이거나 부적절한 내용을 담았을 때 해결하는 방안을 향후 연구로 진행할 계획이다. 블록체인에 기반해서 콘텐츠의 저작권 확인과 양도를 투명하게 제공하는 기법을 연구할 계획이며, 또한 참여자들의 투표를 통해 콘텐츠의 적합성을 판별하는 기법도 연구할 계획이다.

Acknowledgements

This work was supported by Kyonggi University Research Grant 2018.

References

1 
S. H. Jung, D. G. Kim, S. B. Choi, D. I. Lee, J. W. Kang, B. M. Kwak, E. G. Tark, H. H. Yoon, J. S. Kim, J. H. Park, H. S. Kim, 2001, Development of the Permissible Current- Carrying Capability Calculation Program of Transmission Power Cables Installed in Ducts, in Proc. of KIEE Conference, pp. 340-342Google Search
2 
T. Berners-Lee, R. Cailliau, A. Luotonen, H. Frystyk Nielsen, A. Secret, 1994, The World-Wide Web, Communications of the ACM, Vol. 37, No. 8, pp. 76-82DOI
3 
E. Asen, June 22, 2020, What European OECD countries are doing about Digital Services TaxesGoogle Search
4 
K. Irion, Dec 2012, Government Cloud Computing and National Data Sovereignty, Policy & Internet, Vol. 4, No. 3, pp. 40-71DOI
5 
Sovrin-Protocol-and-Token-White-Paper. Available online: https://sovrin.org/wp-content/uploads/2018/03/Sovrin-Protocol-and-Token-White-Paper.pdf (accessed on 01 July 2020), Google Search
6 
uPort: A Platform for Self-Sovereign Identity. Available online: https://blockchainlab.com/pdf/uPort_whitepaper_DRAFT2016- 1020.pdf (accessed on 1 July 2020)., Google Search
7 
P. Dunphy, F. Petitcolas, 2018, A First Look at Identity Management Schemes on the Blockchain, IEEE Security & Privacy, Vol. 16, No. 4, pp. 20-29DOI
8 
STEEM Whitepaper: An incentivized, blockchain-based, public content platform. Available online: https://steem.com/SteemWhitePaper.pdf (accessed on 25 April 2021)., Google Search
9 
H. Kim, 2018, Analysis of Security Threats and Countermeasures on Blockchain Platforms, The Journal of Korean Institute of Information Technology, Vol. 16, No. 5, pp. 103-112Google Search
10 
S. Nakamoto, Bitcoin: A peer-to-peer electronic cash system, www.bitcoin.org/bitcoin.pdf, released on November 1st 2008 on the USENET Cryptography Mailing List “Bitcoin P2P e-cash paper”Google Search
11 
G. Wood, 2014, Ethereum: A secure decentralised generalised transaction ledger, Ethereum Project Yellow PaperGoogle Search
12 
Elli Androulaki, 2018, Hyperledger fabric: A distributed operating system for permissioned blockchains, EUROSYS Conference, pp. 30Google Search
13 
Blockstack Technical Whitepaper v 2.0, https://blockstack.org/whitepaper.pdfGoogle Search
14 
J. Benet, 2014, IPFS-Content Addressed, Versioned, P2P File System. http://static.benet.ai/t/ipfs.pdfGoogle Search
15 
web3.js - Ethereum JavaScript API, https://web3js.readthedocs.io/en/v1.3.4/Google Search

저자소개

Minsung Son
../../Resources/kiee/KIEE.2021.70.5.784/au1.png

He received his B.S. and M.S. degree in Computer Science from Kyonggi University in 2019 and 2021, respectively.

His major research interests include blockchain and information security.

Heeyoul Kim
../../Resources/kiee/KIEE.2021.70.5.784/au2.png

He received his B.S., M.S., and Ph.D. degree in Computer Science from KAIST in 2000, 2002, and 2007, respectively.

He worked at Samsung Electronics as a senior engineer from 2007 to 2009.

Since 2009 he has been a faculty member of Department of Computer Science at Kyonggi University.

His major re- search interests include cryptography, security and blockchain.