개요

블록체인 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 데이터 운영 방식

  1. public claim 데이터
    . on-ledger 데이터 (Sovrin Ledger에 기록/공개)
    . 개인 식별이 가능한 데이터는 저장하지 않음
  2. prviate claim 데이터
    . off-ledger 데이터
      - Identity Graph: 이름, 주소 등의 개인 정보
      - Relationship Graph: 주소록, SNS 등의 네트워크 정보
      - Reputation Graph: ID owner에 대한 평판 정보
      - Data Graph: 사진, 파일 등 기타 정보
    . 사용자 SW (Sovrin Client)에 원본 데이터 저장/관리
    . 사업자 SW (Sovrin Agent)에 사본 데이터 저장/관리 (private container)

Sovrin 소프트웨어 구성

  1. Sovrin Ledger (블록체인)
    • Plenum 합의 알고리즘 (PBFT의 변형) 사용
    • public permissioned ledger (누구나 이용할 수 있지만, 권한이 부여된 관리자들만 운영에 참여)
  2. Sovrin Agent (사업자 SW, 메일 서버에 해당)
    • Sovrin Ledger의 Client로 동작
    • Sovrin Client (사용자 SW)에게 안정적인 p2p end-point 제공
    • ID owner의 private claim을 저장 (하지만, 데이터에 대한 통제권은 ID owner에게 있음)
  3. Sovrin Client (사업자 SW, 메일 클라이언트에 해당)
    • 사용자 기기(PC/Mobile) 위에서 동작 (한 사용자가 여러개의 Client 운용 가능)
    • ID owner의 keychain 저장
    • ID owner의 private claim 데이터 저장
    • Sovrin Agent의 도움으로 여러개 Client들의 data sync 수행

Ref.

(이상)


Posted by ingee

댓글을 달아 주세요

  1. 먹튀검증 2018.07.18 23:41 신고  댓글주소  수정/삭제  댓글쓰기

    잘보고갑니다

개요


Sidechain 기술이 해결하려는 문제

  • 비트코인의 기술적 한계 (느린 처리 속도, 스마트컨트랙트 미지원 등) 해소 필요
  • 하지만 문제 해소를 위해 별도의 블록체인을 새로 만들 경우, 다음과 같은 문제가 있음
    • 작업/노력의 중복 문제 : 비트코인과 비슷한 코드를 중복 작성/관리해야 함
    • 코인의 유동성 확보 문제 : 신규 블록체인의 참여자 부족으로 인해 신규 코인의 가치가 안정되지 않음

Sidechain의 문제 해결 방식: Pegged Sidechain을 제안

  • 비트코인과 asset 교환이 가능한 블록체인 (pegged sidechain)을 제안함 (관련 기술 규격을 백서에 제시함)
  • 효과
    • 비트코인과 연동함으로써 충분한 코인 유동성을 확보할 수 있음
    • 사이드체인의 기술적/경제적 결함이 해당 사이드체인 내부로 격리/제한됨 (혁신적 시도가 가능)

관련 용어

  • two-way peg : Sidechain들 사이에서 고정/유동 비율에 따라 코인을 교환하는 메커니즘
  • pegged sidechain : asset을 (two-way peg 메카니즘에 따라) 교환할 수 있는 블록체인


관련 솔루션

Posted by ingee

댓글을 달아 주세요

Oracle 이란?

  • Oracle은 블록체인 내부세계가 외부세계와 소통할 수 있게 중재하는 "Smart Contract"
    • 이더리움 Smart Contract는 원칙적으로 EVM 외부세계의 데이터를 참조할 수 없음 (EVM이 API를 제공하지 않음)
    • Smart Contract가 블록체인 외부세계와 연동하기 위해서는 Oracle이 필요
  • 예를 들어, 비행기 연착 보험을 Smart Contract로 구현할 경우, 비행기가 연착되었다는 정보를 외부세계(Web)로 부터 가져올 필요가 있음. 이때 Oracle이 필요함


Oraclize 란?

  • Oracle을 맨바닥부터 새로 만들 필요 없음
  • 이미 존재하는 Oracle 서비스를 이용할 수 있음. Oraclize는 그런 서비스들 중 하나 (Oralize ltd. 회사가 만듬)
  • Oraclize가 제공하는 외부세계 데이터 종류
    Datasource 설명
    URL
    임의의 URL을 HTTP Get 또는 HTTP Post 호출 (Web과 연동)
    WolframAlpha 울프럼알파 검색 엔진을 쿼리
    * 울프럼알파: http://www.wolframalpha.com/
    IPFS IPFS에 저장된 파일 내용을 쿼리
    * IPFS: Inter-Planet File System (행성간 분산 파일 시스템)
    random 추후 정리 (어느 용사가 한줄로 정리해서 알려주기를 희망...)
    computation 임의의 어플리케이션 실행 결과를 쿼리
    * 어플리케이션은 Dockerfile로 컨테이너화 되어야 함
    * 어플리케이션은 stdout에 실행결과를 출력해야 함

  • Oraclize는 정보를 Query할 때마다 수수료를 징수
    Datasource Base price Proof type
    None TLSNotary Android Ledger
    URL 0.01$ +0.0$ +0.04$ +0.04$ N/A
    WolframAlpha 0.03$ +0.0$ N/A N/A N/A
    IPFS 0.01$ +0.0$ N/A N/A N/A
    random 0.05$ +0.0$ N/A N/A +0.0$
    computation 0.50$ +0.0$ +0.04$ +0.04$ N/A


Ref


Posted by ingee

댓글을 달아 주세요