개요
블록체인 ID 관련 막연한 궁금증이 있었음.
Q: 블록체인 위에 ID 정보를 저장해도 좋은가 (그러면 모든 개인 정보가 공개될텐데)?
조사를 통해 얻은 답은 다음과 같음.
A: public 데이터(on-chain data)와 private 데이터(off-chain data)를 구분해서 관리한다.
ID 관련 개념 3가지
- claim: identity 정보. ex) "내 이름은 OO이고, 생일은 OO이다."
- proof: claim의 진위 증빙. ex) 실세계에서는 여권, ...
- attestation: 제3자에 의한 claim 진위 증빙. ex) 대학교의 학위증명, 회사의 재직증명, ...
Sovrin 사례 연구
배경 (문제인식)
- 온라인 세계의 ID/PSWD 체계가 서비스별로 Silo 되어 있음
- ID 데이터가 많은 Silo에 복제되어 있음 (유출 위험 증가)
- 블록체인이 Self-Sovereign ID 실현의 돌파구가 됨 (Center Authority의 도움 없이 ID와 Key 생성)
비전: Identity for All (사람/조직/사물을 위한 ID)
- ID 데이터가 유출되지 않는 방식 (Security)
- ID owner가 ID 데이터를 누가/왜 사용하는지 통제할 수 있는 방식 (Control)
- ID 사용이 특정 서비스 사업자에 구속되지 않는 방식 (Portability)
개발팀
- Sovrin 재단 (비영리 재단)
- 오픈소스 프로젝트 (Contributor 20명 안쪽)
Sovrin의 ID 데이터 운영 방식
- public claim 데이터
. on-ledger 데이터 (Sovrin Ledger에 기록/공개)
. 개인 식별이 가능한 데이터는 저장하지 않음 - prviate claim 데이터
. off-ledger 데이터
- Identity Graph: 이름, 주소 등의 개인 정보
- Relationship Graph: 주소록, SNS 등의 네트워크 정보
- Reputation Graph: ID owner에 대한 평판 정보
- Data Graph: 사진, 파일 등 기타 정보
. 사용자 SW (Sovrin Client)에 원본 데이터 저장/관리
. 사업자 SW (Sovrin Agent)에 사본 데이터 저장/관리 (private container)
Sovrin 소프트웨어 구성
- Sovrin Ledger (블록체인)
- Plenum 합의 알고리즘 (PBFT의 변형) 사용
- public permissioned ledger (누구나 이용할 수 있지만, 권한이 부여된 관리자들만 운영에 참여)
- Sovrin Agent (사업자 SW, 메일 서버에 해당)
- Sovrin Ledger의 Client로 동작
- Sovrin Client (사용자 SW)에게 안정적인 p2p end-point 제공
- ID owner의 private claim을 저장 (하지만, 데이터에 대한 통제권은 ID owner에게 있음)
- Sovrin Client (사업자 SW, 메일 클라이언트에 해당)
- 사용자 기기(PC/Mobile) 위에서 동작 (한 사용자가 여러개의 Client 운용 가능)
- ID owner의 keychain 저장
- ID owner의 private claim 데이터 저장
- Sovrin Agent의 도움으로 여러개 Client들의 data sync 수행
Ref.
- "ID is the new money" / David Birch
- A gentle introduction to self-sovereign identity
- How blockchain makes self-sovereign identities possible
- Self Sovereign Identity — a guide to privacy for your digital identity with Blockchain
- The Inevitable Rise of Self-Sovereign Identity
- The Technical Foundations of Sovrin
(이상)