Decentralized Identity의 줄임말로 개인의 신원을된 시스템을 거치지 않고 증명할 수 있는 기술을 말한다.
기존의 DID에서 해결하기 어려웠던 부분은 중앙화되지 않은 저장소에 개인의 신원을 증명할 수 있는 데이터를 보관하면서, 데이터의 무결성과 보안성을 확보하는 것이었다. 이후 블록체인 기술이 등장하며 이를 통해 해결할 수 있는 방안을 모색하기 시작했다. 2016년 *W3C에서도 블록체인 워크샵에서 블록체인 기반의 ID를 표준화하자는 의견이 개진되고, 2019년 DID 워킹그룹이 공식적으로 결성되며 DID관련 문서 표준화가 시작되었다.
W3C(World Wide Web Consotium) : 월드 와이드 웹을 위한 표준을 개발하고 장려하는 조직으로 1994년에 설립되었다.
DIDs는 검증가능하고 탈중앙화된 디지털 신원을 위한 새로운 형식의 식별자이다. 마스터키를 활용하여 DID 메소드를 통해 만들 수 있으며 우리가 일반적으로 사용하는 ID와 Password와 같은 역할을 한다.
개인 혹은 단체를 구별할 수 있는 고유의 식별자
해당 DID를 어떻게 사용할 수 있는지에 대해 설명해 놓은 문서로 식별자와 주체가 상호 작용을 하기 위한 서비스 엔드포인트를 포함한다. ID의 제어권과 소유권등을 증명할 수 있는 공개키와 인증정보 또한 포함되어 있다.
특정 분산 원장이나 네트워크에서 DID와 관련된 DID 문서들을 관리하는 메커니즘
DID는 세 부분으로 구성된 간단한 문자열이다.
did : 문자열이 did임을 나타내며, 이 주소가 did스키마에 따른 것임을 명시한다. 항상 did로 시작
example : did 메소드의 이름이고, did는 메소드별로 다르게 처리
0x12a0e...... : DID 메소드 안에서 사용되는 고유 아이디
//DID 문서 예시 { "@context": "https://w3id.org/did/v1", "id": "did:example:123456789abcdefghi", "publicKey": [{ ...}], "authentication": [{ "id": "did:example:123456789abcdefghi#keys-1", "type": "RsaVerificationKey2018", "controller": "did:example:123456789abcdefghi", "publicKeyBase58": "H3C2AVvLMv6gmMNam3uVAjZpfkcJCwDwnZn6z3wXmqPV" }], "service": [{ "id":"did:example:123456789abcdefghi#vcs", "type": "VerifiableCredentialService", "serviceEndpoint": "https://example.com/vc/" }] }
id : 해당 did문서를 설명하고 있는 ID
공개키 : ID와 관련된 공개키 리스트
인증 정보 : ID의 소유권을 증명하기 위한 정보
서비스 : ID와 상호작용하기 위한 서비스들의 리스트
DID 문서에는 어떤 개인정보도 저장되지 않는다.
만약 저마다 다른 블록체인 플랫폼에서 서로 다른 DID메소드를 사용하고 각자의 DID 문서를 가져온다면 굉장히 복잡한 상황을 맞이하게 된다. 따라서 이러한 문제를 해결하고자 하는 방법이 W3C 공식문서인 DID Registry에 담겨 있다.
출처 : 심재훈 이더리움 연구회 발표 자료 중
DIF(Decentralized Identity Foundation)는 전 세계의 사용자들이 DID를 보다 쉽게 사용할 수 있도록 지원하기 위해 만든 글로벌 조직이다. DID 소유자가 Agent일 때, DID로 *Universal Resolver에서 DID Document를 뽑아낼 수 있다. 사용자 편의성을 돕고 DID 표준을 만들며 활용한 소프트웨어를 만드는 중요한 역할을 하고 있다.
DIF 유니버셜 리졸버 : DID 드라이버 컬렉션을 사용하여 구현 및 분산 된 시스템에서 DID에 대한 조회 및 해결의 표준 방법을 제공
출처 : 심재훈 이더리움 연구회 발표 자료 중