DID, Besu, Web3

MONA·2025년 5월 21일

나혼공

목록 보기
68/92

ID 기초 개념

DID(Decentralized Identifier, 분산 ID)

  • 탈중앙화된 신원 정보
  • 자기 주권 신원(SSI, Self-Sovereign Identify)
  • DPKI (분산 PKI) 기반, DID로 엔티티 식별, 증명으로 인식 가능
  • DID Document = did + public key

VC(Verifiable Claim, Verifiable Credentials)

  • 검증 가능한 자격증명
  • ID 데이터 or 클레임들과 발급자를 암호학적으로 검증할 수 있는 메타데이터 집합
  • ISSUER가 발급한 사용자에 대한 설명, 암호학적 검증
  • 해당 자격의 위변조 및 발급기관 발행 여부 등을 블록체인을 통해 검증 가능하도록 만든 형태
  • 공개키 인증서를 이용해 자격 증명 검증을 수행

VP(Verifiable Presentation)

  • 검증 가능한 제출 정보
  • 신분 또는 자격을 설명하는 정보에 대한 일부분의 조합
  • 검증자가 VP를 생성한 소유자(holder)를 검증할 수 있는 방식으로 구성
  • VC 그대로 제출 또는 VC의 일부 제출
  • VC = did + information

eWallet & Trust Repository

eWAllet

  • 정의
    - 디지털 방식으로 개인의 자산, 신원 정보, 인증서, 키 등을 저장하고 사용할 수 있게 해주는 디지털 지갑 시스템
    • 구성 요소
      • 개인 키(Private Key): 서명 및 거래 승인에 사용
      • 공개 키(Public Key): 신원 확인, 수신 주소
      • 디지털 인증서: 본인 인증에 활용되는 디지털 증명
      • 자산 정보: 코인, NFT, 포인트 등
    • 예시
      • 블록체인 기반: MetaMask, Phantom, Ledger
      • 신원 기반: Microsoft Authenticator, DID Wallet (e.g. Evernym, DID 앱)

Trust Repository(신뢰 저장소)

  • 정의
    - 시스템이 신뢰할 수 있는 루트 인증서, 인증기관(CA), 정책, 신뢰 기준 등을 저장하는 중앙 또는 분산 저장소
    • 주요 역할
      • 신뢰 체인 관리, 디지털 서명 검증, 정책 준수 확인
    • 사용 예시
      • 인증 인프라(PKI): X.509 인증서 체인 검증, 인증기관 목록
      • DID(탈중앙 신원): DID Document 검증, Verifiable Credential 발행자의 신뢰 여부 확인
      • 보안 메일(S/MIME): 서명자 공개키 검증
      • 서드파티 서명 검증: 전자계약, 디지털 서명 문서 검증
    • 블록체인과의 관계
      • DID 시스템에서 Trust Registry 또는 Trust Repository는 ‘어떤 발행자(Issuer)를 신뢰할 수 있는가’를 정의
      • 블록체인에 신뢰 가능한 기관(DID, VC 발행자)을 등록해, 탈중앙 신뢰 체계 구축에 기여
항목eWalletTrust Repository
목적개인 자산/신원 보관신뢰체계 및 루트 관리
사용자최종 사용자(개인)검증자, 시스템, 플랫폼
저장내용키, 인증서, VC루트 인증서, 신뢰 목록, 정책
예시MetaMask, DID Wallet루트 CA 저장소, DID Trust Registry

DID 시스템에서 eWallet과 Trust Repository의 상호작용

  • 개념

    • DID: 블록체인에 등록된 분산 식별자. 고유 ID로 사용됨
    • VC: DID 소유자에게 발행되는 디지털 증명서
    • eWallet: DID, VC, 개인키 등을 보관하고 제시하는 사용자 앱
    • Trust Repository: 어떤 DID 발행자(issuer)를 신뢰할 수 있는지 판단하는 기준 저장소(ex: 목록, 정책, 루트 DID)
  • 구조 다이어그램

  [Issuer] ──(VC 발행)──▶ [User's eWallet] ──(VC 제시)──▶ [Verifier]
     │                                           │
     ▼                                           │
  [Trust Repository] ◀─────(신뢰 확인)─────────────┘
     ▲
     │
  [Blockchain] ──(DID 문서 등록 / 해시 anchoring)

역할 및 상호작용 흐름

  1. DID 발행 및 등록
    1. 기관(학교, 은행, 정부 등)이 자신의 DID를 생성하고, 블록체인에 DID Document를 등록
    2. DID Document에는 공개키, 서비스 엔드포인트, 인증 방법 등 정보 포함
    3. 이 과정에서 Trust Repository는 ‘이 DID가 어떤 기관 소속인지’, ‘신뢰할 수 있는 발행자인지’를 평가하거나 목록으로 등록
  2. VC 발급
    1. 발행자(issuer)는 사용자(holder)의 DID를 대상으로 VC(Verifiable Credential)를 발급(ex: 졸업증명서, 자격증, 신분증)
    2. VC는 사용자의 eWallet에 저장됨(서명된 JSON 형식, JWT/LD 형태 등)
  3. VC 제시 및 검증
    1. 사용자는 특정 서비스를 이용하거나 본인 확인 시 VC를 제시(presentation)
    2. 검증자(Verifier)는 다음을 검증함
      1. VC의 서명 유효성 → DID Document의 공개키 필요
      2. DID Document 신뢰성 확인 → Trust Repository 참고
        1. 발행자 DID가 등록되어 있는지
        2. 해시값이 블록체인에 존재하는지 확인

블록체인 기반 eWallet의 작동 방식

  • eWallet의 역할
    • DID 생성: 자체적으로 키 쌍을 생성하고, 블록체인에 DID 등록
    • VC 저장: 발행자에게 받은 VC를 안전하게 저장(암호화)
    • VC 제시: 서비스 이용 시 선택적으로 VC 제출
    • 서명/검증: 자신이 소유자임을 입증하기 위한 서명 처리 수행
  • eWallet은 보통 블록체인에 직접 연결되거나, 중간 DID Resolver API를 사용하여 DID Document를 조회함

Trust Repository의 위치

  • 형태
    • 중앙형: 정부, 기업, 연합에서 운영하는 신뢰 목록 DB
    • 탈중앙형: 블록체인에 루트 DID 목록 또는 정책을 스마트컨트랙트로 배포
    • 하이브리드: 기본은 블록체인, 조회는 API 캐시로 구성(속도 향상)

실 예시 흐름

  1. 사용자가 eWallet으로 본인의 DID 생성
  2. 대학(발행자)이 DID 발행 VC(졸업증명서) 발급
  3. 사용자는 취업 지원 시 VC를 eWallet에서 제출
  4. 채용 담당자(Verifier)는 Trust Repository에서 발행자의 DID가 신뢰 목록에 있는지 확인
  5. 이후 DID 문서 조회 → 서명 검증 → VC 유효성 판단

모바일 신분증

개요

모바일 디지털지갑에 국가 ID 신분증(VC)를 암호화하여 저장하며, 이용처 제출 시 정부 DID 블록체인을 통해 신원증명이 가능한 자기주권 신원증명체계

  • 정부 구축 국가 디지털 신분증 플랫폼
  • 국가 신분증을 개인 스마트폰에 암호화하여 저장, 실물 신분증과 같은 효력, 신뢰할 수 있는 서비스 보장

특징

  • 1인 1단말 1디지털지갑: 사용자별 1개의 DID만 발급, 1VC 정책으로 모바일 디바이스별 1개의 모바일 신분증만 발급, 유효
  • DID, VC, BC(Block-Chain)으로 구성

기술별 특징

DID

  • 발급: 발급기관으로부터 개인정보를 개인 스마트폰에 저장
  • 활용: CID와 달리 중앙서버 접근 없이 스마트폰에서 정보제공하여 개인 신원 확인
  • CID(Centralized ID, 중앙집중식 신원증명): 온라인 상에서 중앙서버에 연결하여 신원을 확인

VC

  • 발급: 데이터를 옮기는 컨테이너(VC)에 자격정보를 담아 스마트폰에 저장
  • 활용: VC의 필수 자격 정보만 컨테이너(VP)에 담아 SP(서비스 제공자)에 제출

BC

  • 발급: 발급이력 등 최소 정보(개인정보 제외)를 여러 대의 쓰기 노드(서버)에 기록
  • 활용: 여러 대의 노드(서버)를 제공, SP(서비스 제공자)가 원하는 노드 선택
  • 모바일 신분증 블록체인 노드: 블록체인에 개인식별정보를 저장하지 않고 공개키가 포함된 DID Doc, 발급기관별 VC 스키마 및 VC 정의, 발급증명 및 상태관리를 위한 VC 메타데이터만 저장함
[       모바일 신분증 서비스 플랫폼(DID/BC)       ]
	▲                                ▲
	│                                │
	▼                                ▼
[SSI Server]◀─▶[CA Server]◀─▶[SP Provider]
  ▲                                ▲
  │                                │
  ㄴ────────────▶[CA App]◀──────────┘
                    ▲
                    │
                    ▼
             [전용지갑/안전지갑]

*SSI Server: 모바일 신분증 서버
*CA: 모바일 신분증을 발급, 사용하기 위한 앱, 서버를 제공하는 민간 기관
		평가 기준을 통과하여 인가 받은 App 사업자
*SP: VC를 검증하고 서비스를 제공하는 서비스 제공자 

OmniOne CX

개요

  • 라온시큐어가 개발한 통합 인증 서비스. 다양한 인증 수단을 하나의 플랫폼에서 제공하여 사용자 편의성과 보안성을 제공
  • 공인인증서 폐지 이후 등장한 다양한 민간 인증 앱들과 모바일 신분증 등을 하나의 통합 창에서 제공하는 국내 최초의 통합 인증 서비스
  • 카카오, 네이버, 패스, 토스, 신한 등 다양한 인증수단 제공

OpenDID

탈중앙 신원 시스템의 개방형 확장판으로, 특정 기업이나 블록체인에 종속되지 않고 DID를 생성, 관리, 검증할 수 있게 해주는 개념
표준 기반 상호 운용성, 개방성, 사용자 주권 신원을 지향함
다양한 DID 네트워크를 연결하는 인터페이스 역할

BESU 메인넷

Besu

Hyperledger Besu가 이더리움 메인넷과 호환되는 방식으로 운영될 때를 의미함
Hyperledger Besu를 통해 이더리움 메인넷에 노드로 참여하거나 스마트 컨트랙트를 배포하는 구조

Hyperledger Besu

  • Hyperledger Besu는 Java로 개발된 오픈소스 이더리움 클라이언트이며, 퍼블릭 블록체인(Ethereum Mainnet) 및 프라이빗 네트워크 모두를 지원함
  • Enterprise-grade 기능: 성능 모니터링, 권한 제어, 프라이버시 기능

BESU 메인넷

  • Hyperledger Besu 클라이언트를 사용하여 이더리움 퍼블릭 네트워크(메인넷)에 참여하거나 상호작용하는 것을 의미함
  • ex)
    • Besu로 이더리움 메인넷 노드를 운영(→전체 노드, 아카이브 노드 등)
    • Besu에서 메인넷과 연결된 DApp, 스마트 컨트랙트 배포
    • 메인넷 상의 트랜젝션, 블록, 상태 조회

BESU를 메인넷에서 사용하는 이유

  • 엔터프라이즈 환경에서도 메인넷 연동 가능
  • 오픈소스 + Hyperledger 지원으로 투명성과 확장성 확보
  • Java 기반 → JVM 언어와의 통합성(Spring, Kafka etc)

요약

  • 정의: Besu 클라이언트로 이더리움 퍼블릭 메인넷에 참여
  • 목적: 퍼블릭 네트워크 연동, DApp 배포, 데이터 조회 등
  • 장점: 오픈소스, Java 기반
  • 사용: 이더리움 노드 운영, 온체인 데이터 분석, 스마트컨트랙트 테스트 등

Web3

  • 블록체인을 기술을 기반으로 하는 탈중앙화된 인터넷 패러다임

  • 특징

    • 탈중앙화
    • 자기 주권형 신원(DID, SSI)
    • 스마트 컨트랙트
    • 디지털 자산(NFT, 토큰)
    • DApp(탈중앙 앱)
    • 퍼블릭 블록체인(Ethereum 등)

Web3에서 Besu의 역할

  • 이더리움 메인넷 노드: Besu는 이더리움 메인넷에 연결되어 Web3 애플리케이션이 퍼블릭 블록체인과 통신할 수 있는 게이트웨이 역할
  • JSON-RPC 서버: Web3.js, Ethers.js 같은 클라이언트 라이브러리가 Besu에 JSON-RPC 요청을 보냄
  • 스마트 컨트랙트 배포 및 호출: Web3 앱에서 작성한 컨트랙트를 메인넷에 배포하고, Besu 노드를 통해 트랜잭션을 전파
  • Web3 백엔드 노드: Web3 서비스가 온체인 데이터를 읽고, 쓰고, 모니터링할 수 있도록 지원

구조

[User's Web3 App (Browser + MetaMask)]
        │
        ▼
[Web3.js / Ethers.js]
        │
        ▼
[JSON-RPC 요청]
        │
        ▼
[Besu Node on Mainnet]  ←→  Ethereum Mainnet

Besu를 Web3 인프라에 사용할 때의 장점

  • 퍼블릭 호환: Web3 생태계에서 가장 널리 사용되는 Ethereum과 완벽 호환됨
  • Java 기반: 엔터프라이즈 시스템과 통합이 쉬움
  • 프라이버시 기능: Web3에서도 민감한 데이터를 프라이버시 그룹으로 처리 가능
  • 확장성: 모니터링, 플러그인, 메트릭 등 엔터프라이즈 기능 보유
profile
고민고민고민

0개의 댓글