์ด ๋ฌธ์„œ๋Š” W3C Decentralized Identifiers (DIDs) v1.0์˜ ํ•œ๊ตญ์–ด ๋ฒˆ์—ญ๋ณธ์ž…๋‹ˆ๋‹ค.

์ด ๋ฌธ์„œ์— ์˜ค์—ญ ๋ฐ ์˜คํƒ€๋ฅผ ํฌํ•จํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜์–ด ์›๋ฌธ๋งŒ์ด ๊ณต์‹์ ์ด๊ณ  ๊ทœ๋ฒ”์ ์ธ ํšจ๋ ฅ์„ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฌธ์˜๋‚˜ ๊ฐœ์„ ์‚ฌํ•ญ์€ ๊นƒํ—™ ๋งํฌ๋‚˜ [email protected]๋กœ ์—ฐ๋ฝ์ฃผ์‹œ๊ธฐ ๋ฐ”๋ž๋‹ˆ๋‹ค.

์›๋ฌธ์ž‘์„ฑ์ผ: 2024-03-17
์ตœ์ดˆ๋ฒˆ์—ญ์ผ: 2024-03-17
์ตœ์ข…์ˆ˜์ •์ผ: 2024-04-25

ํŽธ์ง‘์ž (๊ฐ€๋‚˜๋‹ค์ˆœ):
ํ•œ์ข…ํ˜ธ (Hopae Inc.)

์š”์•ฝ

ํƒˆ์ค‘์•™ ์‹๋ณ„์ž (DID)๋Š” ๊ฒ€์ฆ๊ฐ€๋Šฅํ•˜๊ณ  ํƒˆ์ค‘์•™ํ™”๋œ ๋””์ง€ํ„ธ ์‹ ์›์„ ์œ„ํ•œ ์ƒˆ๋กœ์šด ํ˜•์‹์˜ ์‹๋ณ„์ž์ด๋‹ค. DID๋Š” DID์˜ ์ปจํŠธ๋กค๋Ÿฌ๊ฐ€ ๊ฒฐ์ •ํ•œ ๋ชจ๋“  ์ฃผ์ฒด(์˜ˆ: ์‚ฌ๋žŒ, ์กฐ์ง, ์‚ฌ๋ฌผ, ๋ฐ์ดํ„ฐ ๋ชจ๋ธ, ์ถ”์ƒ ๊ฐœ์ฒด ๋“ฑ)๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค. ์ „ํ˜•์ ์ธ ์ค‘์•™ ์‹๋ณ„์ž์™€ ๋‹ค๋ฅด๊ฒŒ, DID๋Š” ์ค‘์•™ํ™”๋œ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ, ID ์ œ๊ณต์—…์ฒด, ์ธ์ฆ ๊ธฐ๊ด€๊ณผ ๋ถ„๋ฆฌ๋  ์ˆ˜ ์žˆ๋„๋ก ์„ค๊ณ„๋˜์—ˆ๋‹ค. ๋‹ค๋ฅธ ๋‹น์‚ฌ์ž๋“ค์ด DID์™€ ๊ด€๋ จ๋œ ์ •๋ณด๋ฅผ ์ฐพ๋Š” ๋ฐ ๋„์›€์„ ์ค„ ์ˆ˜ ์žˆ์ง€๋งŒ, ์ด ์„ค๊ณ„๋Š” DID์˜ ์ปจํŠธ๋กค๋Ÿฌ๊ฐ€ ๋‹ค๋ฅธ ๋‹น์‚ฌ์ž์˜ ํ—ˆ๊ฐ€ ์—†์ด๋„ ๊ทธ๊ฒƒ์„ ํ†ต์ œํ•˜๋Š” ๊ฒƒ์„ ์ฆ๋ช…ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•œ๋‹ค. DID๋Š” DID ์ฃผ์ฒด๋ฅผ DID ๋ฌธ์„œ์™€ ์—ฐ๊ฒฐํ•˜์—ฌ ํ•ด๋‹น ์ฃผ์ œ์™€ ๊ด€๋ จ๋œ ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š” ์ƒํ˜ธ ์ž‘์šฉ์„ ํ—ˆ์šฉํ•˜๋Š” URI์ด๋‹ค.

๊ฐ DID ๋ฌธ์„œ๋Š” DID ์ปจํŠธ๋กค๋Ÿฌ๊ฐ€ DID๋ฅผ ํ†ต์ œํ•˜๋Š” ๊ฒƒ์„ ์ฆ๋ช…ํ•˜๋Š” ๋ฐ ํ•„์š”ํ•œ ๋ฉ”์ปค๋‹ˆ์ฆ˜์˜ ์ง‘ํ•ฉ์„ ์ œ๊ณตํ•˜๋Š”๋ฐ ํ•„์š”ํ•œ ์•”ํ˜ธํ™” ์ž๋ฃŒ, ๊ฒ€์ฆ ๋ฐฉ๋ฒ•, ๋˜๋Š” ์„œ๋น„์Šค๋ฅผ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค. ์„œ๋น„์Šค๋Š” DID ์ฃผ์ฒด์™€ ๊ด€๋ จ๋œ ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š” ์ƒํ˜ธ ์ž‘์šฉ์„ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•œ๋‹ค. DID๋Š” ๋ฐ์ดํ„ฐ ๋ชจ๋ธ๊ณผ DID ์ฃผ์ฒด๊ฐ€ ๊ฐ™์€ ์ •๋ณด ๋ฆฌ์†Œ์Šค์ธ ๊ฒฝ์šฐ DID ์ฃผ์ฒด ์ž์ฒด๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋Š” ์ˆ˜๋‹จ์„ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ๋‹ค.

์ด ๋ฌธ์„œ๋Š” DID ๊ตฌ๋ฌธ, ๊ณตํ†ต ๋ฐ์ดํ„ฐ ๋ชจ๋ธ, ํ•ต์‹ฌ ์†์„ฑ, ์ง๋ ฌํ™”๋œ ํ‘œํ˜„, DID ์ž‘์—… ๋ฐ DID๊ฐ€ ๋‚˜ํƒ€๋‚ด๋Š” ๋ฆฌ์†Œ์Šค๋ฅผ ํ™•์ธํ•˜๋Š” ํ”„๋กœ์„ธ์Šค์— ๋Œ€ํ•œ ์„ค๋ช…์„ ๋ช…์‹œํ•œ๋‹ค.

ํ˜„์žฌ ๋ฌธ์„œ์˜ ์ƒํƒœ

The W3C Decentralized Identifier Working Group์€ ์ด ๋ฌธ์„œ๋ฅผ W3C ์ œ์•ˆ ๊ถŒ์žฅ ์‚ฌํ•ญ์œผ๋กœ ๊ฒŒ์‹œํ–ˆ์œผ๋ฉฐ ์ดํ•ด ๊ด€๊ณ„์ž๊ฐ€ 2021๋…„ 8์›” 26์ผ๊นŒ์ง€ ์ด ๋ช…์„ธ๋ฅผ ๊ฒ€ํ† ํ•˜๋ก ์š”์ฒญํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

๋ฌธ์„œ ๋ฐœํ–‰ ์‹œ์ ์—, ์‹คํ—˜์ ์ธ DID ๋ฐฉ๋ฒ• ๋ช…์„ธ๊ฐ€ 103๊ฐœ๊ฐ€ ์žˆ์—ˆ์œผ๋ฉฐ, ์‹คํ—˜์ ์ธ DID ๋ฐฉ๋ฒ• ๋“œ๋ผ์ด๋ฒ„ ๊ตฌํ˜„์ด 32๊ฐœ ์žˆ์—ˆ๊ณ , ์ด ๋ช…์„ธ์™€ ์ผ์น˜ํ•˜๋Š”์ง€ ์—ฌ๋ถ€๋ฅผ ๊ฒฐ์ •ํ•˜๋Š” ํ…Œ์ŠคํŠธ ๋ชจ์Œ ๋ฐ ์ด ๋ช…์„ธ์— ์ค€ํ•˜๋Š” 46๊ฐœ์˜ ๊ตฌํ˜„์ด ์ œ์ถœ๋˜์—ˆ๋‹ค. ๋…์ž๋“ค์€ DID Core ์ด์Šˆ์™€ DID Core ํ…Œ์ŠคํŠธ ์Šค์œ„ํŠธ ์ด์Šˆ์— ์ฃผ์˜๋ฅผ ๊ธฐ์šธ์ด๋Š” ๊ฒƒ์ด ๊ถŒ์žฅ๋˜๋ฉฐ, ๊ฐ ์ด์Šˆ์—๋Š” ์ด ๋ช…์„ธ์— ๋ณ€๊ฒฝ์„ ์ผ์œผํ‚ฌ ์ˆ˜ ์žˆ๋Š” ์ตœ์‹  ๊ณ ๋ ค ์‚ฌํ•ญ ๋ฐ ์ œ์•ˆ๋œ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด ํฌํ•จ๋˜์–ด ์žˆ๋‹ค. ๋ฌธ์„œ ์ž‘์„ฑ ์‹œ์ ์—์„œ๋Š” ์ถ”๊ฐ€์ ์ธ ์‹ค์งˆ์ ์ธ ์ด์Šˆ, ๋ณ€๊ฒฝ ๋˜๋Š” ์ˆ˜์ •์ด ์˜ˆ์ƒ๋˜์ง€ ์•Š๋Š”๋‹ค.

์ด ๋ฌธ์„œ์— ๋Œ€ํ•œ ์˜๊ฒฌ์€ ํ™˜์˜ํ•ฉ๋‹ˆ๋‹ค. ์˜๊ฒฌ์€ ์ง์ ‘ GitHub์— ์ œ์ถœํ•˜๊ฑฐ๋‚˜, [email protected]๋กœ ๋ณด๋‚ด์ฃผ์„ธ์š” ( ๊ตฌ๋…, ์•„์นด์ด๋ธŒ).

์„œ๋ก 

๊ฐœ์ธ ๋ฐ ์กฐ์ง์œผ๋กœ์„œ ์šฐ๋ฆฌ ์ค‘ ๋งŽ์€ ์‚ฌ๋žŒ๋“ค์€ ๋‹ค์–‘ํ•œ ๋งฅ๋ฝ ์†์—์„œ ์ „์„ธ๊ณ„์ ์œผ๋กœ ๊ณ ์œ ํ•œ ์‹๋ณ„์ž๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. ๊ทธ๋“ค์€ ํ†ต์‹ ์ฃผ์†Œ (์ „ํ™”๋ฒˆํ˜ธ, ์ด๋ฉ”์ผ ์ฃผ์†Œ, ์†Œ์…œ ๋ฏธ๋””์–ด์˜ ์‚ฌ์šฉ์ž ์ด๋ฆ„), ID ๋ฒˆํ˜ธ (์—ฌ๊ถŒ, ์šด์ „๋ฉดํ—ˆ์ฆ, ์„ธ๊ธˆ ID, ๊ฑด๊ฐ•๋ณดํ—˜์„ ์œ„ํ•œ) ๊ทธ๋ฆฌ๊ณ  ์ƒํ’ˆ ์‹๋ณ„์ž (์‹œ๋ฆฌ์–ผ ๋ฒˆํ˜ธ, ๋ฐ”์ฝ”๋“œ, RFID)์˜ ์—ญํ• ์„ ํ•œ๋‹ค. URI (Uniform Resource Identifier)๋Š” ์›น ์ƒ์˜ ๋ฆฌ์†Œ์Šค๋ฅผ ์œ„ํ•ด ์‚ฌ์šฉ๋˜๋ฉฐ, ๋ธŒ๋ผ์šฐ์ €์—์„œ ๋ณด๋Š” ๊ฐ ์›น ํŽ˜์ด์ง€๋Š” ์ „์„ธ๊ณ„์ ์œผ๋กœ ๊ณ ์œ ํ•œ URL (Uniform Resource Locator)์„ ๊ฐ€์ง„๋‹ค.

์ด๋Ÿฌํ•œ ์ „์„ธ๊ณ„์ ์œผ๋กœ ๊ณ ์œ ํ•œ ์‹๋ณ„์ž๋“ค ์ค‘ ๋Œ€๋ถ€๋ถ„์€ ์šฐ๋ฆฌ์˜ ํ†ต์ œ์•ˆ์— ์žˆ์ง€ ์•Š๋Š”๋‹ค. ๊ทธ๋“ค์€ ๋ˆ„๊ตฌ ๋˜๋Š” ๋ฌด์—‡์„ ์ฐธ์กฐํ•˜๋Š”์ง€, ์–ธ์ œ ์ฒ ํšŒํ•  ์ˆ˜ ์žˆ๋Š”์ง€๋ฅผ ๊ฒฐ์ •ํ•˜๋Š” ์™ธ๋ถ€์˜ ๊ธฐ๊ด€์— ์˜ํ•ด ๋ฐœํ–‰๋œ๋‹ค. ๊ทธ๊ฒƒ๋“ค์€ ํŠน์ • ์ƒํ™ฉ์—์„œ๋งŒ ์œ ์šฉํ•˜๋ฉฐ ์šฐ๋ฆฌ๊ฐ€ ์„ ํƒํ•˜์ง€ ์•Š์€ ํŠน์ • ๊ธฐ๊ด€์—์„œ๋งŒ ์ธ์‹๋œ๋‹ค. ๊ทธ๊ฒƒ๋“ค์€ ๊ธฐ๊ด€์ด ์กด์†ํ•˜๋Š”๋ฐ ์‹คํŒจํ•˜๋ฉด ์‚ฌ๋ผ์ง€๊ฑฐ๋‚˜ ์œ ํšจํ•˜์ง€ ์•Š๊ฒŒ ๋  ์ˆ˜ ์žˆ๋‹ค. ๊ทธ๋“ค์€ ๋ถˆํ•„์š”ํ•˜๊ฒŒ ๊ฐœ์ธ ์ •๋ณด๋ฅผ ๊ณต๊ฐœํ•  ์ˆ˜๋„ ์žˆ๋‹ค. ๋Œ€๋ถ€๋ถ„์˜ ๊ฒฝ์šฐ ์•…์˜์ ์ธ ์ œ3์ž์— ์˜ํ•ด ์‚ฌ๊ธฐ์ ์œผ๋กœ ๋ณต์ œ๋˜๊ณ  ์ฃผ์žฅ๋  ์ˆ˜ ์žˆ๋‹ค. ์ด๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ "์‹ ์›๋„์šฉ"์œผ๋กœ ์•Œ๋ ค์ ธ ์žˆ๋‹ค.

์ด ๋ช…์„ธ์— ์ •์˜๋œ The Decentralized Identifiers (DID)๋Š” ์ƒˆ๋กœ์šด ์œ ํ˜•์˜ ์ „์„ธ๊ณ„์ ์œผ๋กœ ๊ณ ์œ ํ•œ ์‹๋ณ„์ž์ด๋‹ค. ๊ทธ๋“ค์€ ๊ฐœ์ธ๊ณผ ๊ธฐ๊ด€์ด ์‹ ๋ขฐํ•˜๋Š” ์‹œ์Šคํ…œ์„ ์‚ฌ์šฉํ•˜์—ฌ ์ž์‹ ์˜ ์‹๋ณ„์ž๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋„๋ก ์„ค๊ณ„๋˜์—ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์ƒˆ๋กœ์šด ์‹๋ณ„์ž๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋””์ง€ํ„ธ ์„œ๋ช…๊ณผ ๊ฐ™์€ ์•”ํ˜ธํ™” ์ฆ๋ช…์„ ์‚ฌ์šฉํ•˜์—ฌ ์ธ์ฆํ•จ์œผ๋กœ์จ ์‹๋ณ„์ž์— ๋Œ€ํ•œ ์ œ์–ด๋ฅผ ์ฆ๋ช…ํ•  ์ˆ˜ ์žˆ๋‹ค.

Decentralized Identifiers์˜ ์ƒ์„ฑ ๋ฐ ์ฃผ์žฅ์€ ์—”ํ‹ฐํ‹ฐ์— ์˜ํ•ด ์ œ์–ด๋˜๋ฏ€๋กœ ๊ฐ ์—”ํ‹ฐํ‹ฐ๋Š” ์›ํ•˜๋Š” ID, ํŽ˜๋ฅด์†Œ๋‚˜ ๋ฐ ์ƒํ˜ธ ์ž‘์šฉ์˜ ๋ถ„๋ฆฌ๋ฅผ ์œ ์ง€ํ•˜๋Š”๋ฐ ํ•„์š”ํ•œ ๋งŒํผ์˜ DID๋ฅผ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋‹ค. ์ด๋Ÿฌํ•œ ์‹๋ณ„์ž์˜ ์‚ฌ์šฉ์€ ๋‹ค๋ฅธ ๋งฅ๋ฝ์— ์ ์ ˆํ•˜๊ฒŒ ๋ฒ”์œ„๊ฐ€ ์ง€์ •๋  ์ˆ˜ ์žˆ๋‹ค. ์ด๋“ค์€ ๊ฐœ์ฒด๊ฐ€ ์ž์‹ ์ด๋‚˜ ์ž์‹ ์ด ํ†ต์ œํ•˜๋Š” ์‚ฌ๋ฌผ์„ ์‹๋ณ„ํ•˜๋„๋ก ์š”๊ตฌํ•˜๋Š” ๋‹ค๋ฅธ ์‚ฌ๋žŒ, ๊ธฐ๊ด€ ๋˜๋Š” ์‹œ์Šคํ…œ๊ณผ์˜ ์ƒํ˜ธ ์ž‘์šฉ์„ ์ง€์›ํ•˜๋Š” ๋™์‹œ์— ๊ฐœ์ธ ๋˜๋Š” ๊ฐœ์ธ ๋ฐ์ดํ„ฐ์˜ ์ง€์†์ ์ธ ์กด์žฌ๋ฅผ ๋ณด์žฅํ•˜๊ธฐ ์œ„ํ•ด ์ค‘์•™ ๊ธฐ๊ด€์— ์˜์กดํ•˜์ง€ ์•Š๊ณ  ์–ผ๋งˆ๋‚˜ ๋งŽ์€ ๊ฐœ์ธ ๋˜๋Š” ๊ฐœ์ธ ๋ฐ์ดํ„ฐ๊ฐ€ ๊ณต๊ฐœ๋˜์–ด์•ผ ํ•˜๋Š”์ง€์— ๋Œ€ํ•œ ์ œ์–ด๋ฅผ ์ œ๊ณตํ•œ๋‹ค. ์ด๋Ÿฌํ•œ ์•„์ด๋””์–ด๋Š” DID ์‚ฌ์šฉ ์‚ฌ๋ก€ ๋ฌธ์„œ [[DID-USE-CASES]]์—์„œ ์‚ดํŽด๋ณธ๋‹ค.

์ด ๋ช…์„ธ๋Š” DID์˜ ์ƒ์„ฑ, ์ง€์†์„ฑ, ํ•ด๊ฒฐ ๋˜๋Š” ํ•ด์„์„ ๋’ท๋ฐ›์นจํ•˜๋Š” ํŠน์ • ๊ธฐ์ˆ ์ด๋‚˜ ์•”ํ˜ธํ™”๋ฅผ ์ „์ œ๋กœ ํ•˜์ง€ ์•Š๋Š”๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ๊ตฌํ˜„์ž๋Š” ์—ฐํ•ฉ ๋˜๋Š” ์ค‘์•™ ์ง‘์ค‘์‹ ID ๊ด€๋ฆฌ ์‹œ์Šคํ…œ์— ๋“ฑ๋ก๋œ ์‹๋ณ„์ž๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ DID๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค. ์‹ค์ œ๋กœ ๊ฑฐ์˜ ๋ชจ๋“  ์œ ํ˜•์˜ ์‹๋ณ„์ž ์‹œ์Šคํ…œ์€ DID๋ฅผ ์ง€์›ํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด๋Š” ์ค‘์•™ ์ง‘์ค‘์‹, ์—ฐํ•ฉ, ํƒˆ์ค‘์•™์‹ ์‹๋ณ„์ž์˜ ์„ธ๊ณ„๋ฅผ ์—ฐ๊ฒฐํ•˜๋Š” ์ƒํ˜ธ ์šด์šฉ์„ฑ์˜ ๋‹ค๋ฆฌ๋ฅผ ๋งŒ๋“ ๋‹ค. ์ด๋Š” ๊ตฌํ˜„์ž๊ฐ€ ์‹ ๋ขฐํ•˜๋Š” ์ปดํ“จํŒ… ์ธํ”„๋ผ์™€ ํ•จ๊ป˜ ์ž‘๋™ํ•˜๋Š” ํŠน์ • ์œ ํ˜•์˜ DID๋ฅผ ์„ค๊ณ„ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•œ๋‹ค. ์˜ˆ๋ฅผ๋“ค์–ด, ๋ถ„์‚ฐ ์›์žฅ, ํƒˆ์ค‘์•™ํ™” ํŒŒ์ผ ์‹œ์Šคํ…œ, ๋ถ„์‚ฐ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋ฐ P2P ๋„คํŠธ์›Œํฌ์™€ ๊ฐ™๋‹ค.

๋ณธ ๋ช…์„ธ์„œ๋Š” ๋‹ค์Œ์„ ์œ„ํ•œ ๊ฒƒ์ด๋‹ค:

์ด ์‚ฌ์–‘ ์™ธ์—๋„, ๋…์ž๋“ค์€ ํƒˆ์ค‘์•™ ์‹๋ณ„์ž์— ๋Œ€ํ•œ ์‚ฌ์šฉ ์‚ฌ๋ก€ ๋ฐ ์š”๊ตฌ ์‚ฌํ•ญ [[DID-USE-CASES]] ๋ฌธ์„œ๋ฅผ ์œ ์šฉํ•˜๊ฒŒ ์ฐพ์„ ์ˆ˜ ์žˆ์„ ๊ฒƒ์ด๋‹ค.

A Simple Example

DID๋Š” ์„ธ ๋ถ€๋ถ„์œผ๋กœ ๊ตฌ์„ฑ๋œ ๊ฐ„๋‹จํ•œ ํ…์ŠคํŠธ ๋ฌธ์ž์—ด์ด๋‹ค: 1) did URI ์ฒด๊ณ„ ์‹๋ณ„์ž, 2) DID ๋ฉ”์†Œ๋“œ์— ๋Œ€ํ•œ ์‹๋ณ„์ž, ๊ทธ๋ฆฌ๊ณ  3) DID ๋ฉ”์†Œ๋“œ๋ณ„ ํŠน์ • ์‹๋ณ„์ž.


A diagram showing the parts of a DID. The left-most letters spell 'did' in blue,
are enclosed in a horizontal bracket from above and a label that reads 'scheme'
above the bracket. A gray colon follows the 'did' letters. The middle letters
spell 'example' in magenta, are enclosed in a horizontal bracket from below and
a label that reads 'DID Method' below the bracket. A gray colon follows the
DID Method. Finally, the letters at the end read '123456789abcdefghi' in
green, are enclosed in a horizontal bracket from below and a label that
reads 'DID Method Specific String' below the bracket.
A simple example of a decentralized identifier (DID)

์œ„์˜ ์˜ˆ์‹œ DID๋Š” DID ๋ฌธ์„œ๋กœ ํ•ด์„๋œ๋‹ค. DID ๋ฌธ์„œ๋Š” DID์™€ ๊ด€๋ จ๋œ ์ •๋ณด๋ฅผ ํฌํ•จํ•˜๋ฉฐ, ์˜ˆ๋ฅผ ๋“ค์–ด DID ์ปจํŠธ๋กค๋Ÿฌ๋ฅผ ์•”ํ˜ธํ•™์ ์œผ๋กœ ์ธ์ฆํ•˜๋Š” ๋ฐฉ๋ฒ•๊ณผ ๊ฐ™์€ ๋‚ด์šฉ์ด ํฌํ•จ๋œ๋‹ค.

{
  "@context": [
    "https://www.w3.org/ns/did/v1",
    "https://w3id.org/security/suites/ed25519-2020/v1"
  ]
  "id": "did:example:123456789abcdefghi",
  "authentication": [{
    // used to authenticate as did:...fghi
    "id": "did:example:123456789abcdefghi#keys-1",
    "type": "Ed25519VerificationKey2020",
    "controller": "did:example:123456789abcdefghi",
    "publicKeyMultibase": "zH3C2AVvLMv6gmMNam3uVAjZpfkcJCwDwnZn6z3wXmqPV"
  }]
}
      

Design Goals

ํƒˆ์ค‘์•™ ์‹๋ณ„์ž๋Š” ๊ฒ€์ฆ ๊ฐ€๋Šฅํ•œ ํฌ๋ฆฌ๋ด์…œ ์ƒํƒœ๊ณ„ [[VC-DATA-MODEL]]์™€ ๊ฐ™์€ ๋” ํฐ ์‹œ์Šคํ…œ์˜ ๊ตฌ์„ฑ ์š”์†Œ๋กœ, ์ด ์‚ฌ์–‘์˜ ์„ค๊ณ„ ๋ชฉํ‘œ์— ์˜ํ–ฅ์„ ๋ฏธ์ณค๋‹ค. ํƒˆ์ค‘์•™ ์‹๋ณ„์ž์— ๋Œ€ํ•œ ์„ค๊ณ„ ๋ชฉํ‘œ๋Š” ์—ฌ๊ธฐ์— ์š”์•ฝ๋˜์–ด ์žˆ๋‹ค.

Goal Description
๋ถ„์‚ฐํ™” ์‹๋ณ„์ž ๊ด€๋ฆฌ์—์„œ ์ค‘์•™ ์ง‘์ค‘์‹ ๊ถŒํ•œ ๋˜๋Š” ๋‹จ์ผ ์‹คํŒจ ์ง€์ ์˜ ์š”๊ตฌ ์‚ฌํ•ญ์„ ์ œ๊ฑฐํ•˜๋ฉฐ, ์ด๋Š” ์ „ ์„ธ๊ณ„์ ์œผ๋กœ ๊ณ ์œ ํ•œ ์‹๋ณ„์ž, ๊ณต๊ฐœ ๊ฒ€์ฆ ํ‚ค, ์„œ๋น„์Šค, ๊ทธ๋ฆฌ๊ณ  ๊ธฐํƒ€ ์ •๋ณด์˜ ๋“ฑ๋ก์„ ํฌํ•จํ•œ๋‹ค.
์ œ์–ด ์™ธ๋ถ€ ๊ถŒํ•œ์— ์˜์กดํ•  ํ•„์š” ์—†์ด ์ธ๊ฐ„ ๋ฐ ๋น„์ธ๊ฐ„ ๊ฐœ์ฒด์—๊ฒŒ ๊ทธ๋“ค์˜ ๋””์ง€ํ„ธ ์‹๋ณ„์ž๋ฅผ ์ง์ ‘ ์ œ์–ดํ•  ์ˆ˜ ์žˆ๋Š” ๊ถŒํ•œ์„ ๋ถ€์—ฌํ•œ๋‹ค.
ํ”„๋ผ์ด๋ฒ„์‹œ ๊ฐœ์ฒด๊ฐ€ ์ •๋ณด์˜ ํ”„๋ผ์ด๋ฒ„์‹œ๋ฅผ ์ œ์–ดํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋ฉฐ, ์ด๋Š” ์ตœ์†Œํ•œ, ์„ ํƒ์  ๋ฐ ๋‹จ๊ณ„์ ์ธ ์†์„ฑ ๋˜๋Š” ๊ธฐํƒ€ ๋ฐ์ดํ„ฐ์˜ ๊ณต๊ฐœ๋ฅผ ํฌํ•จํ•œ๋‹ค.
๋ณด์•ˆ ์š”์ฒญํ•˜๋Š” ๋‹น์‚ฌ์ž๊ฐ€ ํ•„์š”ํ•œ ์ˆ˜์ค€์˜ ๋ณด์ฆ์— ๋Œ€ํ•ด DID ๋ฌธ์„œ์— ์˜์กดํ•  ์ˆ˜ ์žˆ์„ ๋งŒํผ ์ถฉ๋ถ„ํ•œ ๋ณด์•ˆ์„ ์ œ๊ณตํ•œ๋‹ค.
์ฆ๋ช… ๊ธฐ๋ฐ˜ DID ์ปจํŠธ๋กค๋Ÿฌ๊ฐ€ ๋‹ค๋ฅธ ๊ฐœ์ฒด์™€ ์ƒํ˜ธ ์ž‘์šฉํ•  ๋•Œ ์•”ํ˜ธํ•™์  ์ฆ๋ช…์„ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•œ๋‹ค.
๋ฐœ๊ฒฌ ๊ฐ€๋Šฅ์„ฑ ๊ฐœ์ฒด๊ฐ€ ๋‹ค๋ฅธ ๊ฐœ์ฒด์˜ DID๋ฅผ ๋ฐœ๊ฒฌํ•˜์—ฌ ๊ทธ ๊ฐœ์ฒด์— ๋Œ€ํ•ด ๋” ๋งŽ์ด ์•Œ์•„๋ณด๊ฑฐ๋‚˜ ์ƒํ˜ธ ์ž‘์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•œ๋‹ค.
์ƒํ˜ธ ์šด์šฉ์„ฑ ์ƒํ˜ธ ์šด์šฉ ๊ฐ€๋Šฅํ•œ ํ‘œ์ค€์„ ์‚ฌ์šฉํ•˜์—ฌ DID ์ธํ”„๋ผ๊ฐ€ ์ƒํ˜ธ ์šด์šฉ์„ฑ์„ ์œ„ํ•ด ์„ค๊ณ„๋œ ๊ธฐ์กด ๋„๊ตฌ ๋ฐ ์†Œํ”„ํŠธ์›จ์–ด ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•œ๋‹ค.
ํœด๋Œ€์„ฑ ์‹œ์Šคํ…œ ๋ฐ ๋„คํŠธ์›Œํฌ์— ๋…๋ฆฝ์ ์ด๋ฉฐ DID ๋ฐ DID ๋ฉ”์†Œ๋“œ๋ฅผ ์ง€์›ํ•˜๋Š” ๋ชจ๋“  ์‹œ์Šคํ…œ์—์„œ ๋””์ง€ํ„ธ ์‹๋ณ„์ž๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•œ๋‹ค.
๋‹จ์ˆœ์„ฑ ๊ธฐ์ˆ ์„ ๋” ์‰ฝ๊ฒŒ ์ดํ•ดํ•˜๊ณ  ๊ตฌํ˜„ํ•˜๋ฉฐ ๋ฐฐํฌํ•  ์ˆ˜ ์žˆ๋„๋ก ๊ฐ„๋‹จํ•œ ๊ธฐ๋Šฅ ์„ธํŠธ๋ฅผ ์„ ํ˜ธํ•œ๋‹ค.
ํ™•์žฅ์„ฑ ๊ฐ€๋Šฅํ•œ ๊ฒฝ์šฐ, ์ƒํ˜ธ ์šด์šฉ์„ฑ, ํœด๋Œ€์„ฑ ๋˜๋Š” ๋‹จ์ˆœ์„ฑ์„ ํฌ๊ฒŒ ๋ฐฉํ•ดํ•˜์ง€ ์•Š๋Š” ํ•œ ํ™•์žฅ์„ฑ์„ ์ œ๊ณตํ•œ๋‹ค.

Architecture Overview

์ด ์„น์…˜์€ ํƒˆ์ค‘์•™ ์‹๋ณ„์ž ๊ตฌ์กฐ์˜ ์ฃผ์š” ๊ตฌ์„ฑ ์š”์†Œ์— ๋Œ€ํ•œ ๊ธฐ๋ณธ ๊ฐœ์š”๋ฅผ ์ œ๊ณตํ•œ๋‹ค.


DIDs and DID documents are recorded on a Verifiable Data Registry; DIDs resolve
to DID documents; DIDs refer to DID subjects; a DID controller controls a DID
document; DID URLs contains a DID; DID URLs dereferenced to DID document
fragments or external resources.
Overview of DID architecture and the relationship of the basic components. See also: narrative description.

๋‹ค์ด์–ด๊ทธ๋žจ์—๋Š” ๋‚ด๋ถ€์ ์œผ๋กœ ๋ ˆ์ด๋ธ”์ด ๋ถ™์€ ์—ฌ์„ฏ ๊ฐœ์˜ ๋„ํ˜•์ด ์žˆ์œผ๋ฉฐ, ์ด๋“ค ์‚ฌ์ด์—๋Š” ๋ ˆ์ด๋ธ”์ด ๋ถ™์€ ํ™”์‚ดํ‘œ๊ฐ€ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ํ‘œ์‹œ๋˜์–ด ์žˆ๋‹ค. ๋‹ค์ด์–ด๊ทธ๋žจ์˜ ์ค‘์•™์—๋Š” "DID URL"์ด๋ผ๊ณ  ๋ ˆ์ด๋ธ”์ด ๋ถ™์€ ์‚ฌ๊ฐํ˜•์ด ์žˆ์œผ๋ฉฐ, ๊ทธ ์•ˆ์—๋Š” "did:example:123/path/to/rsrc"๋ผ๊ณ  ์ž‘์€ ํƒ€์ž๊ธฐ ๊ธ€์”จ๊ฐ€ ์ ํ˜€ ์žˆ๋‹ค. ๋‹ค์ด์–ด๊ทธ๋žจ์˜ ์ƒ๋‹จ ์ค‘์•™์—๋Š” "did:example:123"์ด๋ผ๊ณ  ์ž‘์€ ํƒ€์ž๊ธฐ ๊ธ€์”จ๊ฐ€ ์ ํžŒ "DID"๋ผ๊ณ  ๋ ˆ์ด๋ธ”์ด ๋ถ™์€ ์‚ฌ๊ฐํ˜•์ด ์žˆ๋‹ค. ๋‹ค์ด์–ด๊ทธ๋žจ์˜ ์™ผ์ชฝ ์ƒ๋‹จ์—๋Š” "DID ์ฃผ์ฒด"๋ผ๊ณ  ๋ ˆ์ด๋ธ”์ด ๋ถ™์€ ํƒ€์›ํ˜•์ด ์žˆ๋‹ค. ๋‹ค์ด์–ด๊ทธ๋žจ์˜ ํ•˜๋‹จ ์ค‘์•™์—๋Š” "DID ๋ฌธ์„œ"๋ผ๊ณ  ๋ ˆ์ด๋ธ”์ด ๋ถ™์€ ์‚ฌ๊ฐํ˜•์ด ์žˆ๋‹ค. ์™ผ์ชฝ ํ•˜๋‹จ์—๋Š” "DID ์ปจํŠธ๋กค๋Ÿฌ"๋ผ๊ณ  ๋ ˆ์ด๋ธ”์ด ๋ถ™์€ ํƒ€์›ํ˜•์ด ์žˆ๋‹ค. ๋‹ค์ด์–ด๊ทธ๋žจ์˜ ์˜ค๋ฅธ์ชฝ ์ค‘์•™์—๋Š” "๊ฒ€์ฆ ๊ฐ€๋Šฅํ•œ ๋ฐ์ดํ„ฐ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ"๋ผ๊ณ  ๋ ˆ์ด๋ธ”์ด ๋ถ™์€ ์›ํ†ตํ˜•์˜ ์ž…์ฒด์ ์ธ ๋ Œ๋”๋ง์ด ์žˆ๋‹ค.

"DID URL" ์‚ฌ๊ฐํ˜•์˜ ์ƒ๋‹จ์—์„œ "ํฌํ•จํ•จ"์ด๋ผ๊ณ  ๋ ˆ์ด๋ธ”์ด ๋ถ™์€ ํ™”์‚ดํ‘œ๊ฐ€ ์œ„๋กœ ํ–ฅํ•˜๋ฉฐ "DID" ์‚ฌ๊ฐํ˜•์„ ๊ฐ€๋ฆฌํ‚จ๋‹ค. "DID URL" ์‚ฌ๊ฐํ˜•์˜ ํ•˜๋‹จ์—์„œ "์ฐธ์กฐํ•˜๋ฉฐ, ์—ญ์ฐธ์กฐํ•จ"์ด๋ผ๊ณ  ๋ ˆ์ด๋ธ”์ด ๋ถ™์€ ํ™”์‚ดํ‘œ๊ฐ€ ์•„๋ž˜๋กœ ํ–ฅํ•˜๋ฉฐ "DID ๋ฌธ์„œ" ์‚ฌ๊ฐํ˜•์„ ๊ฐ€๋ฆฌํ‚จ๋‹ค. "DID" ์‚ฌ๊ฐํ˜•์—์„œ "ํ•ด์„๋จ์œผ๋กœ" ๋ ˆ์ด๋ธ”์ด ๋ถ™์€ ํ™”์‚ดํ‘œ๊ฐ€ ์•„๋ž˜๋กœ ํ–ฅํ•ด "DID ๋ฌธ์„œ" ์‚ฌ๊ฐํ˜•์„ ๊ฐ€๋ฆฌํ‚จ๋‹ค. "DID" ์‚ฌ๊ฐํ˜•์—์„œ "์ฐธ์กฐํ•จ์œผ๋กœ" ๋ ˆ์ด๋ธ”์ด ๋ถ™์€ ํ™”์‚ดํ‘œ๊ฐ€ ์™ผ์ชฝ์œผ๋กœ ํ–ฅํ•ด "DID ์ฃผ์ฒด" ํƒ€์›์„ ๊ฐ€๋ฆฌํ‚จ๋‹ค. "DID ์ปจํŠธ๋กค๋Ÿฌ" ํƒ€์›์—์„œ "์ œ์–ดํ•จ"์ด๋ผ๊ณ  ๋ ˆ์ด๋ธ”์ด ๋ถ™์€ ํ™”์‚ดํ‘œ๊ฐ€ ์˜ค๋ฅธ์ชฝ์œผ๋กœ ํ–ฅํ•ด "DID ๋ฌธ์„œ" ์‚ฌ๊ฐํ˜•์„ ๊ฐ€๋ฆฌํ‚ต๋‹ˆ๋‹ค. "DID" ์‚ฌ๊ฐํ˜•์—์„œ "๊ธฐ๋ก๋จ์œผ๋กœ" ๋ ˆ์ด๋ธ”์ด ๋ถ™์€ ํ™”์‚ดํ‘œ๊ฐ€ ์˜ค๋ฅธ์ชฝ ์•„๋ž˜๋กœ ํ–ฅํ•ด "๊ฒ€์ฆ ๊ฐ€๋Šฅํ•œ ๋ฐ์ดํ„ฐ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ" ์›ํ†ต์„ ๊ฐ€๋ฆฌํ‚จ๋‹ค. "DID ๋ฌธ์„œ" ์‚ฌ๊ฐํ˜•์—์„œ "๊ธฐ๋ก๋จ์œผ๋กœ" ๋ ˆ์ด๋ธ”์ด ๋ถ™์€ ํ™”์‚ดํ‘œ๊ฐ€ ์˜ค๋ฅธ์ชฝ ์œ„๋กœ ํ–ฅํ•ด "๊ฒ€์ฆ ๊ฐ€๋Šฅํ•œ ๋ฐ์ดํ„ฐ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ" ์›ํ†ต์„ ๊ฐ€๋ฆฌํ‚จ๋‹ค.

DID ๋ฐ DID URL
ํƒˆ์ค‘์•™ํ™” ์‹๋ณ„์ž ๋˜๋Š” DID๋Š” ์„ธ ๋ถ€๋ถ„์œผ๋กœ ๊ตฌ์„ฑ๋œ URI์ด๋‹ค: ์ฒด๊ณ„ did:, ๋ฉ”์†Œ๋“œ ์‹๋ณ„์ž, ๊ทธ๋ฆฌ๊ณ  DID ๋ฉ”์†Œ๋“œ์— ์˜ํ•ด ์ง€์ •๋œ ๋…ํŠนํ•œ ๋ฉ”์†Œ๋“œ๋ณ„ ์‹๋ณ„์ž. DID๋Š” DID ๋ฌธ์„œ๋กœ ํ•ด์„๋œ๋‹ค. DID URL์€ ๊ธฐ๋ณธ DID์˜ ๊ตฌ๋ฌธ์„ ํ™•์žฅํ•˜์—ฌ ๊ฒฝ๋กœ, ์ฟผ๋ฆฌ, ํ”„๋ž˜๊ทธ๋จผํŠธ์™€ ๊ฐ™์€ ๋‹ค๋ฅธ ํ‘œ์ค€ URI ๊ตฌ์„ฑ ์š”์†Œ๋ฅผ ํฌํ•จํ•˜์—ฌ ํŠน์ • ๋ฆฌ์†Œ์Šค๋ฅผ ์ฐพ๋Š”๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, DID ๋ฌธ์„œ ๋‚ด์˜ ์•”ํ˜ธํ™”๋œ ๊ณต๊ฐœ ํ‚ค ๋˜๋Š” DID ๋ฌธ์„œ ์™ธ๋ถ€์˜ ๋ฆฌ์†Œ์Šค. ์ด ๊ฐœ๋…๋“ค์€ ๋ฐ ์—์„œ ์ž์„ธํžˆ ์„ค๋ช…๋œ๋‹ค.
DID ์ฃผ์ฒด
DID์˜ ์ฃผ์ฒด๋Š” ์ •์˜์— ๋”ฐ๋ผ DID์— ์˜ํ•ด ์‹๋ณ„๋˜๋Š” ๊ฐœ์ฒด์ด๋‹ค. DID ์ฃผ์ฒด๋Š” ๋˜ํ•œ DID ์ปจํŠธ๋กค๋Ÿฌ์ผ ์ˆ˜ ์žˆ๋‹ค. ๋ฌด์—‡์ด๋“  DID์˜ ์ฃผ์ฒด๊ฐ€ ๋  ์ˆ˜ ์žˆ๋‹ค: ๊ฐœ์ธ, ๊ทธ๋ฃน, ์กฐ์ง, ์‚ฌ๋ฌผ ๋˜๋Š” ๊ฐœ๋…. ์ด๋Š” ์—์„œ ๋” ์ž์„ธํžˆ ์ •์˜๋œ๋‹ค.
DID ์ปจํŠธ๋กค๋Ÿฌ
DID ์ปจํŠธ๋กค๋Ÿฌ๋Š” DID ๋ฉ”์†Œ๋“œ์— ์˜ํ•ด ์ •์˜๋œ ๊ธฐ๋Šฅ์œผ๋กœ DID ๋ฌธ์„œ์— ๋ณ€๊ฒฝ์„ ๊ฐ€ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐœ์ฒด(์‚ฌ๋žŒ, ์กฐ์ง ๋˜๋Š” ์ž์œจ ์†Œํ”„ํŠธ์›จ์–ด)์ด๋‹ค. ์ด ๊ธฐ๋Šฅ์€ ์ผ๋ฐ˜์ ์œผ๋กœ ์ปจํŠธ๋กค๋Ÿฌ๋ฅผ ๋Œ€์‹ ํ•˜์—ฌ ์ž‘๋™ํ•˜๋Š” ์†Œํ”„ํŠธ์›จ์–ด์— ์˜ํ•ด ์‚ฌ์šฉ๋˜๋Š” ์•”ํ˜ธํ™” ํ‚ค ์„ธํŠธ์˜ ์ œ์–ด๋ฅผ ํ†ตํ•ด ์ฃผ์žฅ๋˜์ง€๋งŒ, ๋‹ค๋ฅธ ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ํ†ตํ•ด์„œ๋„ ์ฃผ์žฅ๋  ์ˆ˜ ์žˆ๋‹ค. ์ฃผ์˜ํ•  ์ ์€ DID์— ์—ฌ๋Ÿฌ ์ปจํŠธ๋กค๋Ÿฌ๊ฐ€ ์žˆ์„ ์ˆ˜ ์žˆ์œผ๋ฉฐ, DID ์ฃผ์ฒด๊ฐ€ DID ์ปจํŠธ๋กค๋Ÿฌ์ผ ์ˆ˜๋„ ์žˆ๋‹ค. ์ด ๊ฐœ๋…์€ ์—์„œ ๋ฌธ์„œํ™”๋˜์–ด ์žˆ๋‹ค.
๊ฒ€์ฆ ๊ฐ€๋Šฅํ•œ ๋ฐ์ดํ„ฐ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ
DID๊ฐ€ DID ๋ฌธ์„œ๋กœ ํ•ด์„๋˜๊ธฐ ์œ„ํ•ด ์ผ๋ฐ˜์ ์œผ๋กœ ์–ด๋–ค ์ข…๋ฅ˜์˜ ๊ธฐ๋ฐ˜ ์‹œ์Šคํ…œ ๋˜๋Š” ๋„คํŠธ์›Œํฌ์— ๊ธฐ๋ก๋œ๋‹ค. ํŠน์ • ๊ธฐ์ˆ ์— ๊ด€๊ณ„์—†์ด DID๋ฅผ ๊ธฐ๋กํ•˜๊ณ  DID ๋ฌธ์„œ๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๋ฐ ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋Š” ๋ชจ๋“  ์‹œ์Šคํ…œ์€ ๊ฒ€์ฆ ๊ฐ€๋Šฅํ•œ ๋ฐ์ดํ„ฐ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ๋ผ๊ณ  ํ•œ๋‹ค. ์˜ˆ์‹œ๋กœ๋Š” ๋ถ„์‚ฐ ์›์žฅ, ๋ถ„์‚ฐ ํŒŒ์ผ ์‹œ์Šคํ…œ, ๋ชจ๋“  ์ข…๋ฅ˜์˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค, P2P ๋„คํŠธ์›Œํฌ ๋ฐ ๊ธฐํƒ€ ํ˜•ํƒœ์˜ ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐ์ดํ„ฐ ์ €์žฅ์†Œ๊ฐ€ ์žˆ๋‹ค. ์ด ๊ฐœ๋…์€ ์—์„œ ๋” ์ž์„ธํžˆ ๋‹ค๋ฃจ์–ด์ง„๋‹ค.
DID ๋ฌธ์„œ
DID ๋ฌธ์„œ๋Š” DID์™€ ๊ด€๋ จ๋œ ์ •๋ณด๋ฅผ ํฌํ•จํ•œ๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ ์•”ํ˜ธํ™”๋œ ๊ณต๊ฐœ ํ‚ค์™€ ๊ฐ™์€ ๊ฒ€์ฆ ๋ฐฉ๋ฒ•๊ณผ DID ์ฃผ์ฒด์™€์˜ ์ƒํ˜ธ์ž‘์šฉ๊ณผ ๊ด€๋ จ๋œ ์„œ๋น„์Šค๋ฅผ ํ‘œํ˜„ํ•œ๋‹ค. DID ๋ฌธ์„œ์—์„œ ์ง€์›๋˜๋Š” ์ผ๋ฐ˜์ ์ธ ์†์„ฑ๋“ค์€ ์— ๋ช…์‹œ๋˜์–ด ์žˆ๋‹ค. DID ๋ฌธ์„œ๋Š” ๋ฐ”์ดํŠธ ์ŠคํŠธ๋ฆผ์œผ๋กœ ์ง๋ ฌํ™”๋  ์ˆ˜ ์žˆ๋‹ค(์ฐธ์กฐ ). DID ๋ฌธ์„œ์— ์กด์žฌํ•˜๋Š” ์†์„ฑ์€ ์— ๊ฐœ์š”๋œ ํ•ด๋‹น ์ž‘์—…์— ๋”ฐ๋ผ ์—…๋ฐ์ดํŠธ๋  ์ˆ˜ ์žˆ๋‹ค.
DID ๋ฉ”์†Œ๋“œ
DID ๋ฉ”์†Œ๋“œ๋Š” ํŠน์ • ์œ ํ˜•์˜ DID ๋ฐ ๊ทธ์™€ ๊ด€๋ จ๋œ DID ๋ฌธ์„œ๊ฐ€ ์ƒ์„ฑ๋˜๊ณ , ํ•ด์„๋˜๊ณ , ์—…๋ฐ์ดํŠธ๋˜๋ฉฐ, ๋น„ํ™œ์„ฑํ™”๋˜๋Š” ๋ฉ”์ปค๋‹ˆ์ฆ˜์ด๋‹ค. DID ๋ฉ”์†Œ๋“œ๋Š” ์— ์ •์˜๋œ ๋ณ„๋„์˜ DID ๋ฉ”์†Œ๋“œ ์‚ฌ์–‘์„ ์‚ฌ์šฉํ•˜์—ฌ ์ •์˜๋œ๋‹ค.
DID ๋ณ€ํ™˜๊ธฐ ๋ฐ DID ํ•ด์„
DID ๋ณ€ํ™˜๊ธฐ๋Š” DID๋ฅผ ์ž…๋ ฅ์œผ๋กœ ๋ฐ›์•„ ๊ทœ๋ฒ”์„ ์ค€์ˆ˜ํ•˜๋Š” DID ๋ฌธ์„œ๋ฅผ ์ถœ๋ ฅ์œผ๋กœ ์ƒ์„ฑํ•˜๋Š” ์‹œ์Šคํ…œ ๊ตฌ์„ฑ์š”์†Œ์ด๋‹ค. ์ด ๊ณผ์ •์„ DID ํ•ด์„์ด๋ผ๊ณ  ํ•œ๋‹ค. ํŠน์ • ์œ ํ˜•์˜ DID๋ฅผ ํ•ด์„ํ•˜๋Š” ๋‹จ๊ณ„๋Š” ๊ด€๋ จ DID ๋ฉ”์†Œ๋“œ ์‚ฌ์–‘์— ์˜ํ•ด ์ •์˜๋œ๋‹ค. DID ํ•ด์„ ๊ณผ์ •์€ ์—์„œ ์ž์„ธํžˆ ์„ค๋ช…๋œ๋‹ค.
DID URL ์—ญ์ฐธ์กฐ์ž ๋ฐ DID URL ์—ญ์ฐธ์กฐ
DID URL ์—ญ์ฐธ์กฐ์ž๋Š” DID URL์„ ์ž…๋ ฅ์œผ๋กœ ๋ฐ›์•„ ๋ฆฌ์†Œ์Šค๋ฅผ ์ถœ๋ ฅ์œผ๋กœ ์ƒ์„ฑํ•˜๋Š” ์‹œ์Šคํ…œ ๊ตฌ์„ฑ์š”์†Œ์ด๋‹ค. ์ด ๊ณผ์ •์„ DID URL ์—ญ์ฐธ์กฐ๋ผ๊ณ  ํ•œ๋‹ค. DID URL ์—ญ์ฐธ์กฐ ๊ณผ์ •์€ ์—์„œ ์ž์„ธํžˆ ์„ค๋ช…๋œ๋‹ค.

Conformance

์ด ๋ฌธ์„œ์—๋Š” JSON ๋ฐ JSON-LD ์ฝ˜ํ…์ธ ๊ฐ€ ํฌํ•จ๋œ ์˜ˆ์‹œ๊ฐ€ ์žˆ๋‹ค. ์ด๋Ÿฌํ•œ ์˜ˆ์‹œ ์ค‘ ์ผ๋ถ€์—๋Š” ์ž˜๋ชป๋œ ๋ฌธ์ž๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์œผ๋ฉฐ, ์ด์—๋Š” ์ธ๋ผ์ธ ์ฃผ์„(//)๊ณผ ์˜ˆ์‹œ์— ํฐ ๊ฐ€์น˜๋ฅผ ๋”ํ•˜์ง€ ์•Š๋Š” ์ •๋ณด๋ฅผ ๋‚˜ํƒ€๋‚ด๊ธฐ ์œ„ํ•œ ์ค„์ž„ํ‘œ(...)๊ฐ€ ํฌํ•จ๋œ๋‹ค. ๊ตฌํ˜„์ž๋“ค์€ ์œ ํšจํ•œ JSON ๋˜๋Š” JSON-LD๋กœ ์ •๋ณด๋ฅผ ์‚ฌ์šฉํ•˜๊ณ ์ž ํ•  ๊ฒฝ์šฐ ์ด ์ฝ˜ํ…์ธ ๋ฅผ ์ œ๊ฑฐํ•ด์•ผ ํ•œ๋‹ค๋Š” ์ ์— ์œ ์˜ํ•ด์•ผ ํ•œ๋‹ค.

์ผ๋ถ€ ์˜ˆ์‹œ์—๋Š” ์ด ์‚ฌ์–‘์— ์ •์˜๋˜์ง€ ์•Š์€ ์šฉ์–ด๋“ค์ด ํฌํ•จ๋˜์–ด ์žˆ์œผ๋ฉฐ, ์ด๋“ค์€ ์†์„ฑ ์ด๋ฆ„๊ณผ ๊ฐ’ ๋ชจ๋‘์— ํ•ด๋‹นํ•œ๋‹ค. ์ด๋Ÿฌํ•œ ์šฉ์–ด๋“ค์€ ์ฃผ์„(// external (property name|value))์œผ๋กœ ํ‘œ์‹œ๋œ๋‹ค. DID ๋ฌธ์„œ์—์„œ ์‚ฌ์šฉ๋  ๋•Œ ์ด๋Ÿฌํ•œ ์šฉ์–ด๋“ค์€ DID ์‚ฌ์–‘ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ [[?DID-SPEC-REGISTRIES]]์— ๊ณต์‹ ์ •์˜ ๋ฐ JSON-LD ์ปจํ…์ŠคํŠธ์™€ ํ•จ๊ป˜ ๋“ฑ๋ก๋˜์–ด ์žˆ์„ ๊ฒƒ์œผ๋กœ ์˜ˆ์ƒ๋œ๋‹ค.

DID ๋ฐ DID ๋ฌธ์„œ์— ๋Œ€ํ•œ ๊ตฌํ˜„์˜ ์ƒํ˜ธ ์šด์šฉ์„ฑ์€ ์ด ์‚ฌ์–‘์— ๋ถ€ํ•ฉํ•˜๋Š” DID ๋ฐ DID ๋ฌธ์„œ๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ๊ตฌ๋ฌธ ๋ถ„์„ํ•˜๋Š” ๊ตฌํ˜„์˜ ๋Šฅ๋ ฅ์„ ํ‰๊ฐ€ํ•จ์œผ๋กœ์จ ํ…Œ์ŠคํŠธ๋œ๋‹ค. DID ๋ฐ DID ๋ฌธ์„œ์˜ ์ƒ์‚ฐ์ž์™€ ์†Œ๋น„์ž์— ๋Œ€ํ•œ ์ƒํ˜ธ ์šด์šฉ์„ฑ์€ DID์™€ DID ๋ฌธ์„œ๊ฐ€ ๊ทœ๋ฒ”์— ๋ถ€ํ•ฉํ•˜๋„๋ก ๋ณด์žฅํ•จ์œผ๋กœ์จ ์ œ๊ณต๋œ๋‹ค. DID ๋ฉ”์†Œ๋“œ ์‚ฌ์–‘์— ๋Œ€ํ•œ ์ƒํ˜ธ ์šด์šฉ์„ฑ์€ ๊ฐ DID ๋ฉ”์†Œ๋“œ ์‚ฌ์–‘์˜ ์„ธ๋ถ€ ์‚ฌํ•ญ์— ์˜ํ•ด ์ œ๊ณต๋œ๋‹ค. ์›น ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ๋ชจ๋“  ์•Œ๋ ค์ง„ URI ์ฒด๊ณ„๋ฅผ ๊ตฌํ˜„ํ•  ํ•„์š”๊ฐ€ ์—†๋Š” ๊ฒƒ๊ณผ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ, DID์™€ ์ž‘๋™ํ•˜๋Š” ๊ทœ๋ฒ”์— ๋ถ€ํ•ฉํ•˜๋Š” ์†Œํ”„ํŠธ์›จ์–ด๊ฐ€ ๋ชจ๋“  ์•Œ๋ ค์ง„ DID ๋ฉ”์†Œ๋“œ๋ฅผ ๊ตฌํ˜„ํ•  ํ•„์š”๋Š” ์—†๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ํŠน์ • DID ๋ฉ”์†Œ๋“œ์˜ ๋ชจ๋“  ๊ตฌํ˜„์€ ํ•ด๋‹น ๋ฉ”์†Œ๋“œ์— ๋Œ€ํ•ด ์ƒํ˜ธ ์šด์šฉ ๊ฐ€๋Šฅํ•  ๊ฒƒ์œผ๋กœ ์˜ˆ์ƒ๋œ๋‹ค.

๊ทœ๋ฒ”์— ๋ถ€ํ•ฉํ•˜๋Š” DID๋Š” ์—์„œ ๋ช…์‹œ๋œ ๊ทœ์น™์˜ ๊ตฌ์ฒด์ ์ธ ํ‘œํ˜„์œผ๋กœ, ํ•ด๋‹น ์„น์…˜์˜ ๊ด€๋ จ ๊ทœ๋ฒ”์  ์ง„์ˆ ์— ๋ถ€ํ•ฉํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

๊ทœ๋ฒ”์— ๋ถ€ํ•ฉํ•˜๋Š” DID ๋ฌธ์„œ๋Š” ์ด ์‚ฌ์–‘์—์„œ ์„ค๋ช…๋œ ๋ฐ์ดํ„ฐ ๋ชจ๋ธ์˜ ๊ตฌ์ฒด์ ์ธ ํ‘œํ˜„์œผ๋กœ, ๋ฐ ์˜ ๊ด€๋ จ ๊ทœ๋ฒ”์  ์ง„์ˆ ์— ๋ถ€ํ•ฉํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ๊ทœ๋ฒ”์— ๋ถ€ํ•ฉํ•˜๋Š” ๋ฌธ์„œ์˜ ์ง๋ ฌํ™” ํ˜•์‹์€ ์— ์„ค๋ช…๋œ ๋Œ€๋กœ ๊ฒฐ์ •์ ์ด๊ณ , ์–‘๋ฐฉํ–ฅ์ด๋ฉฐ, ์†์‹ค์ด ์—†๋‹ค.

๊ทœ๋ฒ”์— ๋ถ€ํ•ฉํ•˜๋Š” ์ƒ์‚ฐ์ž๋Š” ๊ทœ๋ฒ”์— ๋ถ€ํ•ฉํ•˜๋Š” DID ๋˜๋Š” ๊ทœ๋ฒ”์— ๋ถ€ํ•ฉํ•˜๋Š” DID ๋ฌธ์„œ๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ์˜ ๊ด€๋ จ ๊ทœ๋ฒ”์  ์ง„์ˆ ์— ๋ถ€ํ•ฉํ•˜๋Š” ์†Œํ”„ํŠธ์›จ์–ด ๋ฐ/๋˜๋Š” ํ•˜๋“œ์›จ์–ด๋กœ ๊ตฌํ˜„๋œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋‹ค.

๊ทœ๋ฒ”์— ๋ถ€ํ•ฉํ•˜๋Š” ์†Œ๋น„์ž๋Š” ๊ทœ๋ฒ”์— ๋ถ€ํ•ฉํ•˜๋Š” DID ๋˜๋Š” ๊ทœ๋ฒ”์— ๋ถ€ํ•ฉํ•˜๋Š” DID ๋ฌธ์„œ๋ฅผ ์†Œ๋น„ํ•˜๊ณ  ์˜ ๊ด€๋ จ ๊ทœ๋ฒ”์  ์ง„์ˆ ์— ๋ถ€ํ•ฉํ•˜๋Š” ์†Œํ”„ํŠธ์›จ์–ด ๋ฐ/๋˜๋Š” ํ•˜๋“œ์›จ์–ด๋กœ ๊ตฌํ˜„๋œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋‹ค.

๊ทœ๋ฒ”์— ๋ถ€ํ•ฉํ•˜๋Š” DID ๋ณ€ํ™˜๊ธฐ๋Š” ์˜ ๊ด€๋ จ ๊ทœ๋ฒ”์  ์ง„์ˆ ์— ๋ถ€ํ•ฉํ•˜๋Š” ์†Œํ”„ํŠธ์›จ์–ด ๋ฐ/๋˜๋Š” ํ•˜๋“œ์›จ์–ด๋กœ ๊ตฌํ˜„๋œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋‹ค.

๊ทœ๋ฒ”์— ๋ถ€ํ•ฉํ•˜๋Š” DID URL ์—ญ์ฐธ์กฐ์ž๋Š” ์˜ ๊ด€๋ จ ๊ทœ๋ฒ”์  ์ง„์ˆ ์— ๋ถ€ํ•ฉํ•˜๋Š” ์†Œํ”„ํŠธ์›จ์–ด ๋ฐ/๋˜๋Š” ํ•˜๋“œ์›จ์–ด๋กœ ๊ตฌํ˜„๋œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋‹ค.

๊ทœ๋ฒ”์— ๋ถ€ํ•ฉํ•˜๋Š” DID ๋ฉ”์†Œ๋“œ๋Š” ์˜ ๊ด€๋ จ ๊ทœ๋ฒ”์  ์ง„์ˆ ์— ๋ถ€ํ•ฉํ•˜๋Š” ๋ชจ๋“  ์‚ฌ์–‘์ด๋‹ค.

์šฉ์–ด

์ด ๊ทœ๊ฒฉ์€ ์œ„์˜ ์šฉ์–ด๋ฟ๋งŒ ์•„๋‹ˆ๋ผ, ๋ฐ์ดํ„ฐ ๋ชจ๋ธ์„ ๊ณต์‹์ ์œผ๋กœ ์ •์˜ํ•˜๊ธฐ ์œ„ํ•ด [[INFRA]] ๊ทœ๊ฒฉ์˜ ์šฉ์–ด๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. [[INFRA]] ์šฉ์–ด๊ฐ€ ์‚ฌ์šฉ๋  ๋•Œ, ์˜ˆ๋ฅผ ๋“ค์–ด ๋ฌธ์ž์—ด(string), ์ง‘ํ•ฉ(set), ๋งต(map)๊ณผ ๊ฐ™์€ ๊ฒฝ์šฐ, ๊ทธ๊ฒƒ์€ ํ•ด๋‹น ๊ทœ๊ฒฉ์— ์ง์ ‘ ์—ฐ๊ฒฐ๋œ๋‹ค.

์‹๋ณ„์ž

์ด ์„น์…˜์—์„œ๋Š” DID ๋ฐ DID URL์˜ ๊ณต์‹ ๊ตฌ๋ฌธ์„ ์„ค๋ช…ํ•œ๋‹ค. "์ผ๋ฐ˜"์ด๋ผ๋Š” ์šฉ์–ด๋Š” ์—ฌ๊ธฐ์— ์ •์˜๋œ ๊ตฌ๋ฌธ์„ ํ•ด๋‹น ์‚ฌ์–‘์˜ ํŠน์ • DID ๋ฉ”์†Œ๋“œ์— ์˜ํ•ด ์ •์˜๋œ ๊ตฌ๋ฌธ๊ณผ ๊ตฌ๋ณ„ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋œ๋‹ค. DID ๋ฐ DID URL์˜ ์ƒ์„ฑ ํ”„๋กœ์„ธ์Šค์™€ ํƒ€์ด๋ฐ์€ ๋ฐ ์— ์„ค๋ช…๋˜์–ด ์žˆ๋‹ค.

DID ๊ตฌ๋ฌธ

์ผ๋ฐ˜ DID ์ฒด๊ณ„๋Š” [RFC3986]์„ ์ค€์ˆ˜ํ•˜๋Š” URI ์ฒด๊ณ„์ด๋‹ค. ABNF ์ •์˜๋Š” [RFC5234]์˜ ๊ตฌ๋ฌธ๊ณผ ALPHA ๋ฐ DIGIT์— ๋Œ€ํ•œ ํ•ด๋‹น ์ •์˜๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์•„๋ž˜์—์„œ ์ฐพ์„ ์ˆ˜ ์žˆ๋‹ค. ์•„๋ž˜ ABNF์— ์ •์˜๋˜์ง€ ์•Š์€ ๋‹ค๋ฅธ ๋ชจ๋“  ๊ทœ์น™ ์ด๋ฆ„์€ [RFC3986]์— ์ •์˜๋˜์–ด ์žˆ๋‹ค. ๋ชจ๋“  DID๋Š” DID ๊ตฌ๋ฌธ ABNF ๊ทœ์น™์„ ์ค€์ˆ˜ํ•ด์•ผ ํ•œ๋‹ค.

DID ๊ตฌ๋ฌธ ABNF ๊ทœ์น™
did                = "did:" method-name ":" method-specific-id
method-name        = 1*method-char
method-char        = %x61-7A / DIGIT
method-specific-id = *( *idchar ":" ) 1*idchar
idchar             = ALPHA / DIGIT / "." / "-" / "_" / pct-encoded
pct-encoded        = "%" HEXDIG HEXDIG
              

DID ๊ตฌ๋ฌธ๊ณผ ๊ด€๋ จ๋œ DID ๋ฉ”์†Œ๋“œ ์š”๊ตฌ ์‚ฌํ•ญ์€ ์„น์…˜ ์„ ์ฐธ์กฐํ•˜์„ธ์š”.

DID URL ๊ตฌ๋ฌธ

DID URL์€ ํŠน์ • ๋ฆฌ์†Œ์Šค์— ๋Œ€ํ•œ ๋„คํŠธ์›Œํฌ ์œ„์น˜ ์‹๋ณ„์ž์ด๋‹ค. ์ด๋Š” DID ์ฃผ์ฒด, ๊ฒ€์ฆ ๋ฐฉ๋ฒ•, ์„œ๋น„์Šค, DID ๋ฌธ์„œ์˜ ํŠน์ • ๋ถ€๋ถ„ ๋˜๋Š” ๊ธฐํƒ€ ๋ฆฌ์†Œ์Šค์™€ ๊ฐ™์€ ํ•ญ๋ชฉ์„ ๊ฒ€์ƒ‰ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ๋‹ค.

๋‹ค์Œ์€ [[!RFC5234]]์˜ ๋ฌธ๋ฒ•์„ ์‚ฌ์šฉํ•˜๋Š” ABNF ์ •์˜์ด๋‹ค. ์ด๊ฒƒ์€ ์— ์ •์˜๋œ did ์ฒด๊ณ„์— ๊ธฐ๋ฐ˜์„ ๋‘๊ณ  ์žˆ๋‹ค. path-abempty, query, ๊ทธ๋ฆฌ๊ณ  fragment ๊ตฌ์„ฑ ์š”์†Œ๋“ค์€ [[!RFC3986]]์— ์ •์˜๋˜์–ด ์žˆ๋‹ค. ๋ชจ๋“  DID URL์€ DID URL ๋ฌธ๋ฒ• ABNF ๊ทœ์น™์„ ์ค€์ˆ˜ํ•ด์•ผ ํ•œ๋‹ค. DID ๋ฉ”์†Œ๋“œ๋Š” ์— ์„ค๋ช…๋œ ๋Œ€๋กœ ์ด ๊ทœ์น™๋“ค์„ ์ถ”๊ฐ€๋กœ ์ œํ•œํ•  ์ˆ˜ ์žˆ๋‹ค.

DID URL ๊ตฌ๋ฌธ ABNF ๊ทœ์น™
did-url = did path-abempty [ "?" query ] [ "#" fragment ]
              

์„ธ๋ฏธ์ฝœ๋ก (;) ๋ฌธ์ž๋Š” DID URL ๋ฌธ๋ฒ•์˜ ๊ทœ์น™์— ๋”ฐ๋ผ ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ์ง€๋งŒ, ์ด ๊ทœ๊ฒฉ์˜ ๋ฏธ๋ž˜ ๋ฒ„์ „์—์„œ๋Š” [[?MATRIX-URIS]]์— ์„ค๋ช…๋œ ๋Œ€๋กœ ๋งค๊ฐœ๋ณ€์ˆ˜์˜ ํ•˜์œ„ ๊ตฌ๋ถ„์ž๋กœ ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ๋‹ค. ๋ฏธ๋ž˜์˜ ์ถฉ๋Œ์„ ํ”ผํ•˜๊ธฐ ์œ„ํ•ด ๊ฐœ๋ฐœ์ž๋“ค์€ ์ด๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๊ฒƒ์ด ์ข‹๋‹ค.

Path

DID ๊ฒฝ๋กœ๋Š” ์ผ๋ฐ˜ URI ๊ฒฝ๋กœ์™€ ๋™์ผํ•˜๋ฉฐ RFC 3986, ์„น์…˜ 3.3์˜ path-abempty ABNF ๊ทœ์น™์„ ์ค€์ˆ˜ํ•œ๋‹ค. URI์™€ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ, ๊ฒฝ๋กœ ์˜๋ฏธ๋ก ์€ DID ๋ฉ”์†Œ๋“œ์— ์˜ํ•ด ์ง€์ •๋  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ด๋Š” ๋‹ค์‹œ DID ์ปจํŠธ๋กค๋Ÿฌ๊ฐ€ ํ•ด๋‹น ์˜๋ฏธ๋ก ์„ ๋”์šฑ ํŠนํ™”ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•  ์ˆ˜ ์žˆ๋‹ค.

did:example:123456/path
        

Query

DID ์ฟผ๋ฆฌ๋Š” ์ผ๋ฐ˜ URI ์ฟผ๋ฆฌ์™€ ๋™์ผํ•˜๋ฉฐ RFC 3986, ์„น์…˜ 3.4์˜ query ABNF ๊ทœ์น™์„ ์ค€์ˆ˜ํ•œ๋‹ค. ์ด ๋ฌธ๋ฒ• ๊ธฐ๋Šฅ์€ ์—์„œ ์ž์„ธํžˆ ์„ค๋ช…๋˜์–ด ์žˆ๋‹ค.

did:example:123456?versionId=1
        

Fragment

DID ํ”„๋ ˆ๊ทธ๋จผํŠธ์˜ ๋ฌธ๋ฒ•๊ณผ ์˜๋ฏธ๋ก ์€ ์ผ๋ฐ˜ URI ํ”„๋ ˆ๊ทธ๋จผํŠธ์™€ ๋™์ผํ•˜๋ฉฐ RFC 3986, ์„น์…˜ 3.5์˜ fragment ABNF ๊ทœ์น™์„ ์ค€์ˆ˜ํ•œ๋‹ค.

DID ํ”„๋ ˆ๊ทธ๋จผํŠธ๋Š” DID ๋ฌธ์„œ๋‚˜ ์™ธ๋ถ€ ๋ฆฌ์†Œ์Šค๋กœ์˜ ๋ฐฉ๋ฒ•์— ๋…๋ฆฝ์ ์ธ ์ฐธ์กฐ๋กœ ์‚ฌ์šฉํ•œ๋‹ค. ์•„๋ž˜์—๋Š” DID ํ”„๋ ˆ๊ทธ๋จผํŠธ ์‹๋ณ„์ž์˜ ๋ช‡ ๊ฐ€์ง€ ์˜ˆ์‹œ๊ฐ€ ๋‚˜์™€ ์žˆ๋‹ค.

did:example:123#public-key-0
        
did:example:123#agent
        
did:example:123?service=agent&relativeRef=/credentials#degree
        

์ƒํ˜ธ ์šด์šฉ์„ฑ์„ ๊ทน๋Œ€ํ™”ํ•˜๊ธฐ ์œ„ํ•ด, ๊ตฌํ˜„์ž๋“ค์€ DID ํ”„๋ ˆ๊ทธ๋จผํŠธ๊ฐ€ ํ‘œํ˜„๊ฐ„์— ๋™์ผํ•˜๊ฒŒ ํ•ด์„๋˜๋„๋ก ๋ณด์žฅํ•˜๋Š” ๋ฐ ์ฃผ์˜๋ฅผ ๊ธฐ์šธ์—ฌ์•ผ ํ•œ๋‹ค(์ฐธ์กฐ ). ์˜ˆ๋ฅผ ๋“ค์–ด, JSON Pointer [[?RFC6901]]๊ฐ€ DID ํ”„๋ ˆ๊ทธ๋จผํŠธ์—์„œ ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ์ง€๋งŒ, ๋น„-JSON ํ‘œํ˜„์—์„œ๋Š” ๋™์ผํ•œ ๋ฐฉ์‹์œผ๋กœ ํ•ด์„๋˜์ง€ ์•Š์„ ๊ฒƒ์ด๋‹ค.

์ด ์„น์…˜์˜ ์˜๋ฏธ๋ก ๊ณผ ํ˜ธํ™˜๋˜๋ฉฐ ๊ทธ ์œ„์— ๋ง๋ถ™์—ฌ์ง„ ํ”„๋ ˆ๊ทธ๋จผํŠธ ์‹๋ณ„์ž์— ๋Œ€ํ•œ ์ถ”๊ฐ€์ ์ธ ์˜๋ฏธ๋ก ์€ ์—์„œ JSON-LD ํ‘œํ˜„์— ๋Œ€ํ•ด ์„ค๋ช…๋˜์–ด ์žˆ๋‹ค. DID ํ”„๋ ˆ๊ทธ๋จผํŠธ๋ฅผ ์–ด๋–ป๊ฒŒ ์—ญ์ฐธ์กฐํ•˜๋Š”์ง€์— ๋Œ€ํ•œ ์ •๋ณด๋Š” ์—์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

DID Parameters

DID URL ๋ฌธ๋ฒ•์€ ์—์„œ ์„ค๋ช…๋œ query ๊ตฌ์„ฑ ์š”์†Œ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•œ ๋งค๊ฐœ๋ณ€์ˆ˜์— ๋Œ€ํ•œ ๊ฐ„๋‹จํ•œ ํ˜•์‹์„ ์ง€์›ํ•œ๋‹ค. DID URL์— DID ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ์ถ”๊ฐ€ํ•˜๋Š” ๊ฒƒ์€ ๊ทธ ๋งค๊ฐœ๋ณ€์ˆ˜๊ฐ€ ๋ฆฌ์†Œ์Šค์— ๋Œ€ํ•œ ์‹๋ณ„์ž์˜ ์ผ๋ถ€๊ฐ€ ๋œ๋‹ค๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค.

did:example:123?versionTime=2021-05-10T17:00:00Z
        
did:example:123?service=files&relativeRef=/resume.pdf
        

์ผ๋ถ€ DID ๋งค๊ฐœ๋ณ€์ˆ˜๋Š” ํŠน์ • DID ๋ฉ”์†Œ๋“œ์™€ ์™„์ „ํžˆ ๋…๋ฆฝ์ ์ด๋ฉฐ, ๋ชจ๋“  DID์— ๋Œ€ํ•ด ๋™์ผํ•˜๊ฒŒ ์ž‘๋™ํ•œ๋‹ค. ๋‹ค๋ฅธ DID ๋งค๊ฐœ๋ณ€์ˆ˜๋Š” ๋ชจ๋“  DID ๋ฉ”์†Œ๋“œ์—์„œ ์ง€์›๋˜์ง€ ์•Š๋‹ค. ์„ ํƒ์  ๋งค๊ฐœ๋ณ€์ˆ˜๊ฐ€ ์ง€์›๋˜๋Š” ๊ฒฝ์šฐ, ์ง€์›ํ•˜๋Š” DID ๋ฉ”์†Œ๋“œ ์ „๋ฐ˜์— ๊ฑธ์ณ ๊ท ์ผํ•˜๊ฒŒ ์ž‘๋™ํ•  ๊ฒƒ์œผ๋กœ ์˜ˆ์ƒ๋œ๋‹ค. ๋‹ค์Œ ํ‘œ๋Š” ๋ชจ๋“  DID ๋ฉ”์†Œ๋“œ์—์„œ ๋™์ผํ•˜๊ฒŒ ์ž‘๋™ํ•˜๋Š” ์ผ๋ฐ˜์ ์ธ DID ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ์ œ๊ณตํ•œ๋‹ค. ๋ชจ๋“  DID ๋งค๊ฐœ๋ณ€์ˆ˜์— ๋Œ€ํ•œ ์ง€์›์€ ์„ ํƒ์ ์ด๋‹ค.

์ผ๋ฐ˜์ ์œผ๋กœ DID URL ์—ญ์ฐธ์กฐ ๊ตฌํ˜„์ฒด๋Š” ์ถ”๊ฐ€ ๊ตฌํ˜„ ์„ธ๋ถ€์‚ฌํ•ญ์— ๋Œ€ํ•ด [[?DID-RESOLUTION]]์„ ์ฐธ์กฐํ•  ๊ฒƒ์œผ๋กœ ์˜ˆ์ƒ๋œ๋‹ค. ์ด ์‚ฌ์–‘์˜ ๋ฒ”์œ„๋Š” ๊ฐ€์žฅ ์ผ๋ฐ˜์ ์ธ ์ฟผ๋ฆฌ ๋งค๊ฐœ๋ณ€์ˆ˜์˜ ๊ณ„์•ฝ๋งŒ์„ ์ •์˜ํ•œ๋‹ค.

Parameter Name Description
service ์„œ๋น„์Šค ID๋ฅผ ํ†ตํ•ด DID ๋ฌธ์„œ์—์„œ ์„œ๋น„์Šค๋ฅผ ์‹๋ณ„ํ•œ๋‹ค. ์กด์žฌํ•˜๋Š” ๊ฒฝ์šฐ, ๊ด€๋ จ ๊ฐ’์€ ๋ฐ˜๋“œ์‹œ ASCII ๋ฌธ์ž์—ด์ด์–ด์•ผ ํ•œ๋‹ค.
relativeRef RFC3986 ์„น์…˜ 4.2์— ๋”ฐ๋ฅธ ์ƒ๋Œ€์ ์ธ URI ์ฐธ์กฐ๋กœ, service ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ DID ๋ฌธ์„œ์—์„œ ์„ ํƒ๋œ ์„œ๋น„์Šค ์—”๋“œํฌ์ธํŠธ์— ์œ„์น˜ํ•œ ๋ฆฌ์†Œ์Šค๋ฅผ ์‹๋ณ„ํ•œ๋‹ค. ์กด์žฌํ•˜๋Š” ๊ฒฝ์šฐ, ๊ด€๋ จ ๊ฐ’์€ ๋ฐ˜๋“œ์‹œ ASCII ๋ฌธ์ž์—ด์ด์–ด์•ผ ํ•˜๋ฉฐ RFC3986 ์„น์…˜ 2.1์— ๋ช…์‹œ๋œ ๋Œ€๋กœ ํŠน์ • ๋ฌธ์ž์— ๋Œ€ํ•ด ํผ์„ผํŠธ ์ธ์ฝ”๋”ฉ์„ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค.
versionId ํ•ด์„๋  DID ๋ฌธ์„œ์˜ ํŠน์ • ๋ฒ„์ „์„ ์‹๋ณ„ํ•œ๋‹ค(๋ฒ„์ „ ID๋Š” ์ˆœ์ฐจ์ ์ด๊ฑฐ๋‚˜, UUID์ด๊ฑฐ๋‚˜, ๋ฉ”์†Œ๋“œ๋ณ„ ํŠน์„ฑ์„ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋‹ค). ์กด์žฌํ•˜๋Š” ๊ฒฝ์šฐ, ๊ด€๋ จ ๊ฐ’์€ ๋ฐ˜๋“œ์‹œ ASCII ๋ฌธ์ž์—ด์ด์–ด์•ผ ํ•œ๋‹ค.
versionTime ํ•ด์„๋  DID ๋ฌธ์„œ์˜ ํŠน์ • ๋ฒ„์ „ ํƒ€์ž„์Šคํƒฌํ”„๋ฅผ ์‹๋ณ„ํ•œ๋‹ค. ์ฆ‰, ํŠน์ • ์‹œ๊ฐ„์— DID์— ์œ ํšจํ–ˆ๋˜ DID ๋ฌธ์„œ์ด๋‹ค. ์กด์žฌํ•˜๋Š” ๊ฒฝ์šฐ, ๊ด€๋ จ ๊ฐ’์€ W3C XML ์Šคํ‚ค๋งˆ ์ •์˜ ์–ธ์–ด (XSD) 1.1 ํŒŒํŠธ 2: ๋ฐ์ดํ„ฐ ํƒ€์ž… [[XMLSCHEMA11-2]]์˜ ์„น์…˜ 3.3.7์— ์ •์˜๋œ ์œ ํšจํ•œ XML ๋‚ ์งœ/์‹œ๊ฐ„ ๊ฐ’์ธ ASCII ๋ฌธ์ž์—ด์ด์–ด์•ผ ํ•œ๋‹ค. ์ด ๋‚ ์งœ/์‹œ๊ฐ„ ๊ฐ’์€ UTC 00:00:00์œผ๋กœ ์ •๊ทœํ™”๋˜์–ด์•ผ ํ•˜๋ฉฐ, ์ดˆ ๋‹จ์œ„์˜ ์†Œ์ˆ˜์  ์ดํ•˜ ์ •๋ฐ€๋„๋Š” ํฌํ•จํ•˜์ง€ ์•Š์•„์•ผ ํ•œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด: 2020-12-20T19:17:47Z.
hl [[?HASHLINK]]์— ๋ช…์‹œ๋œ ๋Œ€๋กœ ๋ฌด๊ฒฐ์„ฑ ๋ณดํ˜ธ๋ฅผ ์ถ”๊ฐ€ํ•˜๊ธฐ ์œ„ํ•œ DID ๋ฌธ์„œ์˜ ๋ฆฌ์†Œ์Šค ํ•ด์‹œ์ด๋‹ค. ์ด ๋งค๊ฐœ๋ณ€์ˆ˜๋Š” ๊ทœ๋ฒ”์ ์ด์ง€ ์•Š๋‹ค. ์กด์žฌํ•˜๋Š” ๊ฒฝ์šฐ, ๊ด€๋ จ ๊ฐ’์€ ๋ฐ˜๋“œ์‹œ ASCII ๋ฌธ์ž์—ด์ด์–ด์•ผ ํ•œ๋‹ค.

๊ตฌํ˜„์ž๋“ค๊ณผ DID ๋ฉ”์†Œ๋“œ ์‚ฌ์–‘ ์ €์ž๋“ค์€ ์—ฌ๊ธฐ์— ๋‚˜์—ด๋˜์ง€ ์•Š์€ ์ถ”๊ฐ€์ ์ธ DID ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. ์ตœ๋Œ€ํ•œ์˜ ์ƒํ˜ธ ์šด์šฉ์„ฑ์„ ์œ„ํ•ด, DID ๋งค๊ฐœ๋ณ€์ˆ˜๊ฐ€ ๋‹ค๋ฅธ ์˜๋ฏธ๋ฅผ ๊ฐ€์ง„ ๋™์ผํ•œ DID ๋งค๊ฐœ๋ณ€์ˆ˜์™€์˜ ์ถฉ๋Œ์„ ํ”ผํ•˜๊ธฐ ์œ„ํ•ด DID ์‚ฌ์–‘ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ ๋ฉ”์ปค๋‹ˆ์ฆ˜ [[?DID-SPEC-REGISTRIES]]์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ๊ถŒ์žฅ๋œ๋‹ค.

DID ๋งค๊ฐœ๋ณ€์ˆ˜๋Š” URL์ด DID๋งŒ์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ๋ณด๋‹ค ๋” ์ •๋ฐ€ํ•˜๊ฒŒ ๋ฆฌ์†Œ์Šค๋ฅผ ์ฐธ์กฐํ•  ํ•„์š”๊ฐ€ ์žˆ๋Š” ๋ช…ํ™•ํ•œ ์‚ฌ์šฉ ์‚ฌ๋ก€๊ฐ€ ์žˆ์„ ๋•Œ ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ๋‹ค. DID ๋งค๊ฐœ๋ณ€์ˆ˜๋Š” ๋™์ผํ•œ ๊ธฐ๋Šฅ์ด DID ๋ณ€ํ™˜๊ธฐ์— ์ž…๋ ฅ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋ฅผ ์ „๋‹ฌํ•จ์œผ๋กœ์จ ํ‘œํ˜„๋  ์ˆ˜ ์žˆ์„ ๋•Œ ์‚ฌ์šฉ๋˜์ง€ ์•Š์„ ๊ฒƒ์œผ๋กœ ์˜ˆ์ƒ๋œ๋‹ค. ์ด๋Ÿฌํ•œ ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ์ถ”๊ฐ€์ ์ธ ๊ณ ๋ ค์‚ฌํ•ญ์€ [[?DID-RESOLUTION]]์—์„œ ๋…ผ์˜๋œ๋‹ค.

DID ํ•ด์„ ๋ฐ DID URL ์—ญ์ฐธ์กฐ ๊ธฐ๋Šฅ์€ DID URL์˜ ์ผ๋ถ€๊ฐ€ ์•„๋‹Œ ์ž…๋ ฅ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋ฅผ DID ๋ณ€ํ™˜๊ธฐ์— ์ „๋‹ฌํ•จ์œผ๋กœ์จ ์˜ํ–ฅ์„ ๋ฐ›์„ ์ˆ˜ ์žˆ๋‹ค(์ฐธ์กฐ ). ์ด๋Š” HTTP์™€ ๋น„์Šทํ•œ๋ฐ, ํŠน์ • ๋งค๊ฐœ๋ณ€์ˆ˜๊ฐ€ HTTP URL์— ํฌํ•จ๋˜๊ฑฐ๋‚˜, ๋˜๋Š” ์—ญ์ฐธ์กฐ ๊ณผ์ • ์ค‘์— HTTP ํ—ค๋”๋กœ ์ „๋‹ฌ๋  ์ˆ˜ ์žˆ๋‹ค. ์ค‘์š”ํ•œ ๊ตฌ๋ณ„์ ์€ DID URL์˜ ์ผ๋ถ€์ธ DID ๋งค๊ฐœ๋ณ€์ˆ˜๋Š” ์–ด๋–ค ๋ฆฌ์†Œ์Šค๊ฐ€ ์‹๋ณ„๋˜๋Š”์ง€๋ฅผ ๋ช…์‹œํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜์–ด์•ผ ํ•˜๋ฉฐ, DID URL์˜ ์ผ๋ถ€๊ฐ€ ์•„๋‹Œ ์ž…๋ ฅ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋Š” ๊ทธ ๋ฆฌ์†Œ์Šค๊ฐ€ ์–ด๋–ป๊ฒŒ ํ•ด์„๋˜๊ฑฐ๋‚˜ ์—ญ์ฐธ์กฐ๋˜๋Š”์ง€๋ฅผ ์ œ์–ดํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜์–ด์•ผ ํ•œ๋‹ค.

Relative DID URLs

์ƒ๋Œ€์ ์ธ DID URL์€ DID ๋ฌธ์„œ ๋‚ด์—์„œ did:<method-name>:<method-specific-id>๋กœ ์‹œ์ž‘ํ•˜์ง€ ์•Š๋Š” ๋ชจ๋“  URL ๊ฐ’์„ ์˜๋ฏธํ•œ๋‹ค. ๋ณด๋‹ค ๊ตฌ์ฒด์ ์œผ๋กœ, ์—์„œ ์ •์˜๋œ ABNF๋กœ ์‹œ์ž‘ํ•˜์ง€ ์•Š๋Š” ๋ชจ๋“  URL ๊ฐ’์„ ๋งํ•œ๋‹ค. ์ด URL์€ ๋™์ผํ•œ DID ๋ฌธ์„œ ๋‚ด์˜ ๋ฆฌ์†Œ์Šค๋ฅผ ์ฐธ์กฐํ•  ๊ฒƒ์œผ๋กœ ์˜ˆ์ƒ๋œ๋‹ค. ์ƒ๋Œ€์ ์ธ DID URL์€ ์ƒ๋Œ€ ๊ฒฝ๋กœ ๊ตฌ์„ฑ ์š”์†Œ, ์ฟผ๋ฆฌ ๋งค๊ฐœ๋ณ€์ˆ˜ ๋ฐ ํ”„๋ž˜๊ทธ๋จผํŠธ ์‹๋ณ„์ž๋ฅผ ํฌํ•จํ•  ์ˆ˜ ์žˆ๋‹ค.

์ƒ๋Œ€์ ์ธ DID URL ์ฐธ์กฐ๋ฅผ ํ•ด๊ฒฐํ•  ๋•Œ, RFC3986 ์„น์…˜ 5: ์ฐธ์กฐ ํ•ด๊ฒฐ์— ๋ช…์‹œ๋œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค. ๊ธฐ๋ณธ URI ๊ฐ’์€ DID ์ฃผ์ฒด์™€ ์—ฐ๊ด€๋œ DID์ด๋ฉฐ, ์ฐธ์กฐ . ์Šคํ‚ค๋งˆ๋Š” did์ด๊ณ , ๊ถŒํ•œ์€ <method-name>:<method-specific-id>์˜ ์กฐํ•ฉ์ด๋ฉฐ, ๊ฒฝ๋กœ, ์ฟผ๋ฆฌ ๋ฐ ํ”„๋ž˜๊ทธ๋จผํŠธ ๊ฐ’์€ ๊ฐ๊ฐ , ๋ฐ ์—์„œ ์ •์˜๋œ ๊ฒƒ์ด๋‹ค.

์ƒ๋Œ€์ ์ธ DID URL์€ ์ ˆ๋Œ€ URL์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ  DID ๋ฌธ์„œ์—์„œ ๊ฒ€์ฆ ๋ฐฉ๋ฒ• ๋ฐ ์„œ๋น„์Šค๋ฅผ ์ฐธ์กฐํ•˜๋Š” ๋ฐ ์ข…์ข… ์‚ฌ์šฉ๋œ๋‹ค. ์ €์žฅ ๊ณต๊ฐ„ ํฌ๊ธฐ๊ฐ€ ๊ณ ๋ ค ์‚ฌํ•ญ์ธ DID ๋ฉ”์†Œ๋“œ๋Š” DID ๋ฌธ์„œ์˜ ์ €์žฅ ํฌ๊ธฐ๋ฅผ ์ค„์ด๊ธฐ ์œ„ํ•ด ์ƒ๋Œ€ URL์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

{
  "@context": [
    "https://www.w3.org/ns/did/v1",
    "https://w3id.org/security/suites/ed25519-2020/v1"
  ]
  "id": "did:example:123456789abcdefghi",
  "verificationMethod": [{
    "id": "did:example:123456789abcdefghi#key-1",
    "type": "Ed25519VerificationKey2020", // external (property value)
    "controller": "did:example:123456789abcdefghi",
    "publicKeyMultibase": "zH3C2AVvLMv6gmMNam3uVAjZpfkcJCwDwnZn6z3wXmqPV"
  }, ...],
  "authentication": [
    // a relative DID URL used to reference a verification method above
    "#key-1"
  ]
}
        

In the example above, the relative DID URL value will be transformed to an absolute DID URL value of did:example:123456789abcdefghi#key-1.

๋ฐ์ดํ„ฐ ๋ชจ๋ธ

์ด ์‚ฌ์–‘์€ DID ๋ฌธ์„œ์™€ DID ๋ฌธ์„œ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ๋ฅผ ํ‘œํ˜„ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ๋Š” ๋ฐ์ดํ„ฐ ๋ชจ๋ธ์„ ์ •์˜ํ•œ๋‹ค. ์ด ๋ฐ์ดํ„ฐ ๋ชจ๋ธ์€ ์—ฌ๋Ÿฌ ๊ตฌ์ฒด์ ์ธ ํ‘œํ˜„์œผ๋กœ ์ง๋ ฌํ™”๋  ์ˆ˜ ์žˆ๋‹ค. ์ด ์„น์…˜์€ ๋ฐ์ดํ„ฐ ๋ชจ๋ธ์˜ ๊ณ ์ˆ˜์ค€ ์„ค๋ช…, ๋ฐ์ดํ„ฐ ๋ชจ๋ธ์—์„œ ๋‹ค์–‘ํ•œ ์œ ํ˜•์˜ ์†์„ฑ์ด ํ‘œํ˜„๋˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ์„ค๋ช…, ๊ทธ๋ฆฌ๊ณ  ๋ฐ์ดํ„ฐ ๋ชจ๋ธ ํ™•์žฅ ์ง€์นจ์„ ์ œ๊ณตํ•œ๋‹ค.

DID ๋ฌธ์„œ๋Š” map์˜ ์—”ํŠธ๋ฆฌ๋“ค๋กœ ๊ตฌ์„ฑ๋˜๋ฉฐ, ๊ฐ ์—”ํŠธ๋ฆฌ๋Š” ํ‚ค/๊ฐ’ ์Œ์œผ๋กœ ๊ตฌ์„ฑ๋œ๋‹ค. DID ๋ฌธ์„œ ๋ฐ์ดํ„ฐ ๋ชจ๋ธ์€ ์ ์–ด๋„ ๋‘ ๊ฐ€์ง€ ๋‹ค๋ฅธ ํด๋ž˜์Šค์˜ ์—”ํŠธ๋ฆฌ๋ฅผ ํฌํ•จํ•œ๋‹ค. ์ฒซ ๋ฒˆ์งธ ํด๋ž˜์Šค์˜ ์—”ํŠธ๋ฆฌ๋Š” ์†์„ฑ์ด๋ผ๊ณ  ํ•˜๋ฉฐ, ์„น์…˜์—์„œ ๋ช…์‹œ๋œ๋‹ค. ๋‘ ๋ฒˆ์งธ ํด๋ž˜์Šค๋Š” ํ‘œํ˜„๋ณ„ ํ•ญ๋ชฉ์œผ๋กœ ๊ตฌ์„ฑ๋˜๋ฉฐ, ์„น์…˜์—์„œ ๋ช…์‹œ๋œ๋‹ค.


Diagram illustrating the entries in the DID document, including properties
and representation-specific entries; some entries are defined by this
specification; others are defined by registered or unregistered extensions.
The entries in a DID document. See also: narrative description.
๋‹ค์ด์–ด๊ทธ๋žจ์˜ ์ œ๋ชฉ์€ "DID ๋ฌธ์„œ map์˜ ์—”ํŠธ๋ฆฌ๋“ค"์ด๋‹ค. ๋‹ค์ด์–ด๊ทธ๋žจ ์ค‘์•™์„ ๊ฐ€๋กœ์ง€๋ฅด๋Š” ์ ์„  ํšŒ์ƒ‰ ์„ ์ด ์žˆ๋‹ค. ์ด ์„  ์œ„์˜ ๊ณต๊ฐ„์€ "์†์„ฑ(Properties)"์œผ๋กœ ๋ ˆ์ด๋ธ”์ด ๋ถ™๊ณ , ์•„๋ž˜์ชฝ ๊ณต๊ฐ„์€ "ํ‘œํ˜„๋ณ„ ํ•ญ๋ชฉ(Representation-specific entries)"์œผ๋กœ ๋ ˆ์ด๋ธ”์ด ๋ถ™๋Š”๋‹ค. ๋‹ค์ด์–ด๊ทธ๋žจ์—๋Š” ์—ฌ์„ฏ ๊ฐœ์˜ ๋ ˆ์ด๋ธ”์ด ๋ถ™์€ ์‚ฌ๊ฐํ˜•์ด ์žˆ์œผ๋ฉฐ, ์„ธ ๊ฐœ๋Š” ์ ์„  ํšŒ์ƒ‰ ์„  ์œ„์—, ๋‚˜๋จธ์ง€ ์„ธ ๊ฐœ๋Š” ์•„๋ž˜์— ์œ„์น˜ํ•œ๋‹ค. ๋„ค ๊ฐœ์˜ ์‚ฌ๊ฐํ˜•(์™ผ์ชฝ ์ƒ๋‹จ, ๊ฐ€์šด๋ฐ ์ƒ๋‹จ, ์™ผ์ชฝ ํ•˜๋‹จ, ๊ฐ€์šด๋ฐ ํ•˜๋‹จ)์„ ํฌํ•จํ•˜๋Š” ํฐ ๋…น์ƒ‰ ์‚ฌ๊ฐํ˜•์€ "DID ์‚ฌ์–‘ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ(DID Specification Registries)"๋กœ ๋ ˆ์ด๋ธ”์ด ๋ถ™๋Š”๋‹ค. ๊ฐ€์žฅ ์™ผ์ชฝ์— ์žˆ๋Š” ๋‘ ์‚ฌ๊ฐํ˜•(์™ผ์ชฝ ์ƒ๋‹จ๊ณผ ์™ผ์ชฝ ํ•˜๋‹จ)์€ ํŒŒ๋ž€์ƒ‰์œผ๋กœ ์œค๊ณฝ์ด ๊ทธ๋ ค์ง€๊ณ  ๋ ˆ์ด๋ธ”์ด ๋ถ™์œผ๋ฉฐ, ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. ์™ผ์ชฝ ์ƒ๋‹จ ์‚ฌ๊ฐํ˜•์€ "ํ•ต์‹ฌ ์†์„ฑ(Core Properties)"์ด๋ผ๊ณ  ๋ ˆ์ด๋ธ”์ด ๋ถ™๊ณ , "id, alsoKnownAs, controller, authentication, verificationMethod, service, serviceEndpoint, ..."๋ผ๋Š” ํ…์ŠคํŠธ๊ฐ€ ํฌํ•จ๋œ๋‹ค. ์™ผ์ชฝ ํ•˜๋‹จ ์‚ฌ๊ฐํ˜•์€ "ํ•ต์‹ฌ ํ‘œํ˜„๋ณ„ ํ•ญ๋ชฉ(Core Representation-specific Entries)"์ด๋ผ๊ณ  ๋ ˆ์ด๋ธ”์ด ๋ถ™๊ณ , "@context"๋ผ๋Š” ํ…์ŠคํŠธ๊ฐ€ ํฌํ•จ๋œ๋‹ค. ๋„ค ๊ฐœ์˜ ์˜ค๋ฅธ์ชฝ ์‚ฌ๊ฐํ˜•(๊ฐ€์šด๋ฐ ์ƒ๋‹จ, ์˜ค๋ฅธ์ชฝ ์ƒ๋‹จ, ๊ฐ€์šด๋ฐ ํ•˜๋‹จ, ์˜ค๋ฅธ์ชฝ ํ•˜๋‹จ)์€ ํšŒ์ƒ‰์œผ๋กœ ์œค๊ณฝ์ด ๊ทธ๋ ค์ง€๊ณ  ๊ฒ€์€์ƒ‰์œผ๋กœ ๋ ˆ์ด๋ธ”์ด ๋ถ™์œผ๋ฉฐ, ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. ๊ฐ€์šด๋ฐ ์ƒ๋‹จ ์‚ฌ๊ฐํ˜•์€ "์†์„ฑ ํ™•์žฅ(Property Extensions)"์ด๋ผ๊ณ  ๋ ˆ์ด๋ธ”์ด ๋ถ™๊ณ , "ethereumAddress"๋ผ๋Š” ํ…์ŠคํŠธ๊ฐ€ ํฌํ•จ๋œ๋‹ค. ๊ฐ€์šด๋ฐ ํ•˜๋‹จ ์‚ฌ๊ฐํ˜•์€ "ํ‘œํ˜„๋ณ„ ํ•ญ๋ชฉ ํ™•์žฅ(Representation-specific Entry Extensions)"์ด๋ผ๊ณ  ๋ ˆ์ด๋ธ”์ด ๋ถ™๊ณ , ๋‹ค๋ฅธ ํ…์ŠคํŠธ๋Š” ํฌํ•จ๋˜์ง€ ์•Š๋Š”๋‹ค. ์˜ค๋ฅธ์ชฝ ์ƒ๋‹จ ์‚ฌ๊ฐํ˜•์€ "๋“ฑ๋ก๋˜์ง€ ์•Š์€ ์†์„ฑ ํ™•์žฅ(Unregistered Property Extensions)"์ด๋ผ๊ณ  ๋ ˆ์ด๋ธ”์ด ๋ถ™๊ณ , "foo"๋ผ๋Š” ํ…์ŠคํŠธ๊ฐ€ ํฌํ•จ๋œ๋‹ค. ์˜ค๋ฅธ์ชฝ ํ•˜๋‹จ ์‚ฌ๊ฐํ˜•์€ "๋“ฑ๋ก๋˜์ง€ ์•Š์€ ํ‘œํ˜„๋ณ„ ํ•ญ๋ชฉ ํ™•์žฅ(Unregistered Representation-specific Entry Extensions)"์ด๋ผ๊ณ  ๋ ˆ์ด๋ธ”์ด ๋ถ™๊ณ , "%YAML, xmlns"๋ผ๋Š” ํ…์ŠคํŠธ๊ฐ€ ํฌํ•จ๋œ๋‹ค.

DID ๋ฌธ์„œ ๋ฐ์ดํ„ฐ ๋ชจ๋ธ์˜ ๋ชจ๋“  ์—”ํŠธ๋ฆฌ ํ‚ค๋Š” ๋ฌธ์ž์—ด์ด๋‹ค. ๋ชจ๋“  ์—”ํŠธ๋ฆฌ ๊ฐ’์€ ์•„๋ž˜ ํ‘œ์— ์žˆ๋Š” ์ถ”์ƒ ๋ฐ์ดํ„ฐ ํƒ€์ž… ์ค‘ ํ•˜๋‚˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ‘œํ˜„๋˜๋ฉฐ, ๊ฐ ํ‘œํ˜„์€ ๊ฐ ๋ฐ์ดํ„ฐ ํƒ€์ž…์˜ ๊ตฌ์ฒด์ ์ธ ์ง๋ ฌํ™” ํ˜•์‹์„ ๋ช…์‹œํ•œ๋‹ค.

Data Type Considerations
map ํ‚ค/๊ฐ’ ์Œ์˜ ์œ ํ•œํ•œ ์ˆœ์„œ ์žˆ๋Š” ์‹œํ€€์Šค๋กœ, [INFRA]์— ๋ช…์‹œ๋œ ๋Œ€๋กœ ๊ฐ™์€ ํ‚ค๊ฐ€ ๋‘ ๋ฒˆ ๋‚˜ํƒ€๋‚˜์ง€ ์•Š๋Š”๋‹ค. map์€ ๋•Œ๋•Œ๋กœ [INFRA]์—์„œ ordered map์œผ๋กœ ์–ธ๊ธ‰๋œ๋‹ค.
list [INFRA]์— ๋ช…์‹œ๋œ ๋Œ€๋กœ ํ•ญ๋ชฉ๋“ค์˜ ์œ ํ•œํ•œ ์ˆœ์„œ ์žˆ๋Š” ์‹œํ€€์Šค์ด๋‹ค.
set ๊ฐ™์€ ํ•ญ๋ชฉ์ด ๋‘ ๋ฒˆ ํฌํ•จ๋˜์ง€ ์•Š๋Š”, [INFRA]์— ๋ช…์‹œ๋œ ๋Œ€๋กœ ํ•ญ๋ชฉ๋“ค์˜ ์œ ํ•œํ•œ ์ˆœ์„œ ์žˆ๋Š” ์‹œํ€€์Šค์ด๋‹ค. ์„ธํŠธ๋Š” ๋•Œ๋•Œ๋กœ [INFRA]์—์„œ ordered set๋กœ ์–ธ๊ธ‰๋œ๋‹ค.
datetime [XMLSCHEMA11-2]์— ๋ช…์‹œ๋œ ๋Œ€๋กœ dateTime์— ์˜ํ•ด ํ‘œํ˜„๋  ์ˆ˜ ์žˆ๋Š” ๋ชจ๋“  ๊ฐ’์„ ์†์‹ค ์—†์ด ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋Š” ๋‚ ์งœ ๋ฐ ์‹œ๊ฐ„ ๊ฐ’์ด๋‹ค.
string [INFRA]์— ๋ช…์‹œ๋œ ๋Œ€๋กœ ์ฃผ๋กœ ์ธ๊ฐ„์ด ์ฝ์„ ์ˆ˜ ์žˆ๋Š” ์–ธ์–ด๋ฅผ ํ‘œํ˜„ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” ์ฝ”๋“œ ๋‹จ์œ„์˜ ์‹œํ€€์Šค์ด๋‹ค.
integer ๋ถ„์ˆ˜ ๊ตฌ์„ฑ ์š”์†Œ๊ฐ€ ์—†๋Š” ์‹ค์ˆ˜๋กœ [XMLSCHEMA11-2]์— ๋ช…์‹œ๋˜์–ด ์žˆ๋‹ค. ์ƒํ˜ธ ์šด์šฉ์„ฑ์„ ๊ทน๋Œ€ํ™”ํ•˜๊ธฐ ์œ„ํ•ด, ๊ตฌํ˜„์ž๋Š” RFC8259, Section 6: Numbers ์ˆซ์ž์— ๋Œ€ํ•œ ์ •์ˆ˜ ๊ด€๋ จ ์กฐ์–ธ์„ ์ฃผ์˜ ๊นŠ๊ฒŒ ๋”ฐ๋ฅผ ๊ฒƒ์„ ๊ถŒ์žฅํ•œ๋‹ค.
double [XMLSCHEMA11-2]์— ๋ช…์‹œ๋œ ๋Œ€๋กœ ์ž„์˜์˜ ์‹ค์ˆ˜๋ฅผ ๊ทผ์‚ฌํ•˜๋Š” ๋ฐ ์ข…์ข… ์‚ฌ์šฉ๋˜๋Š” ๊ฐ’์ด๋‹ค. ์ƒํ˜ธ ์šด์šฉ์„ฑ์„ ๊ทน๋Œ€ํ™”ํ•˜๊ธฐ ์œ„ํ•ด, ๊ตฌํ˜„์ž๋Š” RFC8259, Section 6: Numbers์— ๋Œ€ํ•œ ๋”๋ธ” ๊ด€๋ จ ์กฐ์–ธ์„ ์ฃผ์˜ ๊นŠ๊ฒŒ ๋”ฐ๋ฅผ ๊ฒƒ์„ ๊ถŒ์žฅํ•œ๋‹ค.
boolean [INFRA]์—์„œ ์ •์˜๋œ ๋Œ€๋กœ ์ฐธ ๋˜๋Š” ๊ฑฐ์ง“์ธ ๊ฐ’์ด๋‹ค.
null ๊ฐ’์ด ์—†์Œ์„ ๋‚˜ํƒ€๋‚ด๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” ๊ฐ’์œผ๋กœ [INFRA]์—์„œ ์ •์˜๋˜์–ด ์žˆ๋‹ค.

๋ฐ์ดํ„ฐ ๋ชจ๋ธ์ด [INFRA]์—์„œ ์‚ฌ์šฉํ•˜๋Š” ์šฉ์–ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ •์˜๋œ ๊ฒฐ๊ณผ๋กœ, ๋ฆฌ์ŠคํŠธ, maps and sets์™€ ๊ฐ™์ด ํ•˜๋‚˜ ์ด์ƒ์˜ ํ•ญ๋ชฉ์„ ํฌํ•จํ•  ์ˆ˜ ์žˆ๋Š” ์†์„ฑ ๊ฐ’์€ ๋ช…์‹œ์ ์œผ๋กœ ์ˆœ์„œ๊ฐ€ ์ง€์ •๋œ๋‹ค. [INFRA]์˜ ๋ชจ๋“  ๋ฆฌ์ŠคํŠธ์™€ ์œ ์‚ฌํ•œ ๊ฐ’ ๊ตฌ์กฐ๋Š” ์ˆœ์„œ๊ฐ€ ์žˆ์œผ๋ฉฐ, ๊ทธ ์ˆœ์„œ๊ฐ€ ์ค‘์š”ํ•œ์ง€ ์—ฌ๋ถ€์™€ ๊ด€๊ณ„์—†์ด ์ˆœ์„œ๊ฐ€ ์žˆ๋‹ค. ์ด ๊ทœ๊ฒฉ์˜ ๋ชฉ์ ์ƒ, ๋‹ค๋ฅด๊ฒŒ ๋ช…์‹œ๋˜์ง€ ์•Š๋Š” ํ•œ, map๊ณผ set์˜ ์ˆœ์„œ๋Š” ์ค‘์š”ํ•˜์ง€ ์•Š์œผ๋ฉฐ, ๊ตฌํ˜„์ด ๊ฒฐ์ •์ ์œผ๋กœ ์ˆœ์„œ ์žˆ๋Š” ๊ฐ’์„ ์ƒ์„ฑํ•˜๊ฑฐ๋‚˜ ์†Œ๋น„ํ•  ๊ฒƒ์œผ๋กœ ๊ธฐ๋Œ€๋˜์ง€ ์•Š๋Š”๋‹ค.

ํ™•์žฅ์„ฑ(Extensibility)

๋ฐ์ดํ„ฐ ๋ชจ๋ธ์€ ๋‘ ๊ฐ€์ง€ ์œ ํ˜•์˜ ํ™•์žฅ์„ฑ์„ ์ง€์›ํ•œ๋‹ค.

  1. ์ตœ๋Œ€ํ•œ์˜ ์ƒํ˜ธ ์šด์šฉ์„ฑ์„ ์œ„ํ•ด, ํ™•์žฅ ํ”„๋กœ๊ทธ๋žจ์€ W3C DID ๊ทœ๊ฒฉ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ ๋ฉ”์ปค๋‹ˆ์ฆ˜ [[?DID-SPEC-REGISTRIES]]์„ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค. ์ƒˆ๋กœ์šด ์†์„ฑ์ด๋‚˜ ๋‹ค๋ฅธ ํ™•์žฅ ํ”„๋กœ๊ทธ๋žจ์˜ ๊ฒฝ์šฐ, ์ด ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์€ ๋‘ ๊ฐ€์ง€ ๋‹ค๋ฅธ ํ‘œํ˜„์ด ํ•จ๊ป˜ ์ž‘๋™ํ•  ์ˆ˜ ์žˆ์Œ์„ ๋ณด์žฅํ•˜๋Š” ์œ ์ผํ•œ ์ง€์ •๋œ ๋ฉ”์ปค๋‹ˆ์ฆ˜์ด๋ฉฐ, ๋Œ€ํ‘œ๋Š” DID ๊ทœ๊ฒฉ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ์˜ ์‚ฌ์šฉ์„ ์š”๊ตฌํ•˜์ง€ ์•Š๋Š” ํฌํ•จํ•˜๋˜ ์ด์— ๊ตญํ•œ๋˜์ง€ ์•Š์€ ๋‹ค๋ฅธ ํ™•์žฅ์„ฑ ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ์ •์˜ํ•  ์ˆ˜ ์žˆ๋‹ค.
  2. ์ด๋Ÿฌํ•œ ํ™•์žฅ ๋ฉ”์ปค๋‹ˆ์ฆ˜์€ ๋‹ค๋ฅธ ๋ชจ๋“  ์ค€์ˆ˜ํ•˜๋Š” ํ‘œํ˜„์œผ๋กœ์˜ ์†์‹ค ์—†๋Š” ๋ณ€ํ™˜์„ ์ง€์›ํ•  ์ˆ˜๋„ ์žˆ๋‹ค. ํ‘œํ˜„์„ ์œ„ํ•œ ํ™•์žฅ ๋ฉ”์ปค๋‹ˆ์ฆ˜์€ ๋ชจ๋“  ์†์„ฑ๊ณผ ํ‘œํ˜„ ๋ฌธ๋ฒ•์„ ๋ฐ์ดํ„ฐ ๋ชจ๋ธ๊ณผ ๊ทธ ์œ ํ˜• ์‹œ์Šคํ…œ์œผ๋กœ์˜ ๋งคํ•‘์„ ์ •์˜ํ•ด์•ผ ํ•œ๋‹ค.

๋“ฑ๋ก๋˜์ง€ ์•Š์€ ํ™•์žฅ์€ ์‹ ๋ขฐ๋„๊ฐ€ ๋‚ฎ๋‹ค. ํ•ญ์ƒ DID ๊ทœ๊ฒฉ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ [[?DID-SPEC-REGISTRIES]]์— ๊ธฐ๋ก๋˜์ง€ ์•Š์€ ์ƒํ˜ธ ์ดํ•ดํ•˜๋Š” ํ™•์žฅ์ด๋‚˜ ํ‘œํ˜„์„ ์‚ฌ์šฉํ•˜๊ธฐ๋กœ ๋‘ ํŠน์ • ๊ตฌํ˜„์ด ์‚ฌ์ „์— ํ•ฉ์˜ํ•  ๊ฐ€๋Šฅ์„ฑ์ด ์žˆ์œผ๋ฉฐ, ์ด๋Ÿฌํ•œ ๊ตฌํ˜„๊ณผ ๋” ํฐ ์ƒํƒœ๊ณ„ ์‚ฌ์ด์˜ ์ƒํ˜ธ ์šด์šฉ์„ฑ์€ ์‹ ๋ขฐ๋„๊ฐ€ ๋‚ฎ๋‹ค.

ํ•ต์‹ฌ ์†์„ฑ(Core Properties)

DID๋Š” DID ๋ฌธ์„œ์™€ ์—ฐ๊ด€๋œ๋‹ค. DID ๋ฌธ์„œ๋Š” ๋ฐ์ดํ„ฐ ๋ชจ๋ธ์„ ์‚ฌ์šฉํ•˜์—ฌ ํ‘œํ˜„๋˜๋ฉฐ, ํ‘œํ˜„์œผ๋กœ ์ง๋ ฌํ™”๋  ์ˆ˜ ์žˆ๋‹ค. ๋‹ค์Œ ์„น์…˜์€ DID ๋ฌธ์„œ์˜ ์†์„ฑ์„ ์ •์˜ํ•˜๋ฉฐ, ์ด๋Ÿฌํ•œ ์†์„ฑ์ด ํ•„์ˆ˜์ธ์ง€ ์„ ํƒ์ ์ธ์ง€๋ฅผ ํฌํ•จํ•œ๋‹ค. ์ด๋Ÿฌํ•œ ์†์„ฑ์€ DID ์ฃผ์ฒด์™€ ์†์„ฑ์˜ ๊ฐ’ ์‚ฌ์ด์˜ ๊ด€๊ณ„๋ฅผ ์„ค๋ช…ํ•œ๋‹ค.

๋‹ค์Œ ํ‘œ์—๋Š” ์ด ๊ทœ๊ฒฉ์— ์˜ํ•ด ์ •์˜๋œ ํ•ต์‹ฌ ์†์„ฑ์— ๋Œ€ํ•œ ์ •๋ณด ์ฐธ์กฐ๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์œผ๋ฉฐ, ์˜ˆ์ƒ๋˜๋Š” ๊ฐ’๊ณผ ํ•„์ˆ˜ ์—ฌ๋ถ€๋ฅผ ํฌํ•จํ•œ๋‹ค. ํ‘œ์˜ ์†์„ฑ ์ด๋ฆ„์€ ๊ฐ ์†์„ฑ์˜ ๊ทœ๋ฒ”์  ์ •์˜์™€ ๋” ์ž์„ธํ•œ ์„ค๋ช…์œผ๋กœ ์—ฐ๊ฒฐ๋œ๋‹ค.

๋‹ค๋ฅธ ์œ ํ˜•์˜ map์—์„œ ์‚ฌ์šฉ๋˜๋Š” ์†์„ฑ ์ด๋ฆ„ id, type, ๋ฐ controller ์†์„ฑ ์ด๋ฆ„์€ ๊ฐ€๋Šฅํ•œ ์ œ์•ฝ ์‚ฌํ•ญ์—์„œ ์ฐจ์ด๊ฐ€ ์žˆ์„ ์ˆ˜ ์žˆ๋Š” ๋‹ค์–‘ํ•œ ์œ ํ˜•์˜ map์— ์กด์žฌํ•  ์ˆ˜ ์žˆ๋‹ค.

DID ๋ฌธ์„œ ์†์„ฑ

Property Required? Value constraints
id yes ์˜ ๊ทœ์น™์„ ์ค€์ˆ˜ํ•˜๋Š” ๋ฌธ์ž์—ด์ด๋‹ค.
alsoKnownAs no [[RFC3986]]์— ๋Œ€ํ•œ URIs์˜ ๊ทœ์น™์„ ์ค€์ˆ˜ํ•˜๋Š” ๋ฌธ์ž์—ด์˜ set์ด๋‹ค.
controller no ์˜ ๊ทœ์น™์„ ์ค€์ˆ˜ํ•˜๋Š” ๋ฌธ์ž์—ด ๋˜๋Š” ๋ฌธ์ž์—ด์˜ set์ด๋‹ค.
verificationMethod no ์„ ์ค€์ˆ˜ํ•˜๋Š” Verification Method maps์˜ set์ด๋‹ค.
authentication no ์„ ์ค€์ˆ˜ํ•˜๋Š” Verification Method maps์˜ set) ๋˜๋Š” ์˜ ๊ทœ์น™์„ ์ค€์ˆ˜ํ•˜๋Š” ๋ฌธ์ž์—ด์˜ set์ด๋‹ค.
assertionMethod no
keyAgreement no
capabilityInvocation no
capabilityDelegation no
service no ์˜ ๊ทœ์น™์„ ์ค€์ˆ˜ํ•˜๋Š” Service Endpoint maps์˜ set์ด๋‹ค.

Verification Method ์†์„ฑ

Property Required? Value constraints
id yes ์˜ ๊ทœ์น™์„ ์ค€์ˆ˜ํ•˜๋Š” ๋ฌธ์ž์—ด์ด๋‹ค.
controller yes ์˜ ๊ทœ์น™์„ ์ค€์ˆ˜ํ•˜๋Š” ๋ฌธ์ž์—ด์ด๋‹ค.
type yes ๋ฌธ์ž์—ด์ด๋‹ค.
publicKeyJwk no [[RFC7517]]์„ ์ค€์ˆ˜ํ•˜๋Š” JSON Web Key๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” map์ด๋‹ค. ์ถ”๊ฐ€ ์ œ์•ฝ์‚ฌํ•ญ์€ publicKeyJwk์˜ ์ •์˜๋ฅผ ์ฐธ์กฐ.
publicKeyMultibase no [[?MULTIBASE]]๋กœ ์ธ์ฝ”๋”ฉ๋œ ๊ณต๊ฐœํ‚ค๋ฅผ ์ค€์ˆ˜ํ•˜๋Š” ๋ฌธ์ž์—ด์ด๋‹ค.

Service ์†์„ฑ

Property Required? Value constraints
id yes [[RFC3986]]์— ๋Œ€ํ•œ URIs์˜ ๊ทœ์น™์„ ์ค€์ˆ˜ํ•˜๋Š” ๋ฌธ์ž์—ด์ด๋‹ค.
type yes ๋ฌธ์ž์—ด ๋˜๋Š” ๋ฌธ์ž์—ด์˜ set์ด๋‹ค.
serviceEndpoint yes [[RFC3986]]์— ๋Œ€ํ•œ URIs์˜ ๊ทœ์น™์„ ์ค€์ˆ˜ํ•˜๋Š” ๋ฌธ์ž์—ด, map, ๋˜๋Š” [[RFC3986]]์— ๋Œ€ํ•œ URIs์˜ ๊ทœ์น™์„ ์ค€์ˆ˜ํ•˜๋Š” ํ•˜๋‚˜ ์ด์ƒ์˜ ๋ฌธ์ž์—ด๊ณผ ๋˜๋Š” map์œผ๋กœ ๊ตฌ์„ฑ๋œ set์ด๋‹ค.

์‹๋ณ„์ž(Identifiers)

์ด ์„น์…˜์€ DID ๋ฌธ์„œ๊ฐ€ DID ์ฃผ์ฒด์™€ DID ์ปจํŠธ๋กค๋Ÿฌ๋ฅผ ์œ„ํ•œ ์‹๋ณ„์ž๋ฅผ ํฌํ•จํ•˜๋Š” ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ์„ค๋ช…ํ•œ๋‹ค.

DID ์ฃผ์ฒด(DID Subject)

ํŠน์ • DID ์ฃผ์ฒด์— ๋Œ€ํ•œ DID๋Š” DID ๋ฌธ์„œ์˜ id ์†์„ฑ์„ ์‚ฌ์šฉํ•˜์—ฌ ํ‘œํ˜„๋œ๋‹ค.

id
id์˜ ๊ฐ’์€ ์˜ ๊ทœ์น™์„ ์ค€์ˆ˜ํ•˜๋Š” ๋ฌธ์ž์—ด์ด์–ด์•ผ ํ•˜๋ฉฐ DID ๋ฌธ์„œ์˜ ๋ฐ์ดํ„ฐ ๋ชจ๋ธ์˜ ๋ฃจํŠธ map์— ๋ฐ˜๋“œ์‹œ ์กด์žฌํ•ด์•ผ ํ•œ๋‹ค.
{
  "id": "did:example:123456789abcdefghijk"
}
        

id ์†์„ฑ์€ DID ๋ฌธ์„œ์˜ ์ตœ์ƒ์œ„ map์— ์กด์žฌํ•  ๋•Œ๋งŒ DID ์ฃผ์ฒด์˜ DID๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค.

DID ๋ฉ”์†Œ๋“œ ๊ทœ๊ฒฉ์€ DID ๋ฌธ์„œ์˜ id ์†์„ฑ์ด ํฌํ•จ๋˜์ง€ ์•Š๋Š” ์ค‘๊ฐ„ ํ‘œํ˜„์„ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด DID ๋ณ€ํ™˜๊ธฐ๊ฐ€ DID ํ•ด์„์„ ์ˆ˜ํ–‰ํ•  ๋•Œ์™€ ๊ฐ™์€ ๊ฒฝ์šฐ์ด๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์™„์ „ํžˆ ํ•ด์„๋œ DID ๋ฌธ์„œ๋Š” ํ•ญ์ƒ ์œ ํšจํ•œ id ์†์„ฑ์„ ํฌํ•จํ•œ๋‹ค.

DID ์ปจํŠธ๋กค๋Ÿฌ(DID Controller)

DID ์ปจํŠธ๋กค๋Ÿฌ๋Š” DID ๋ฌธ์„œ ๋ณ€๊ฒฝ ๊ถŒํ•œ์„ ๋ถ€์—ฌ๋ฐ›์€ ๊ฐœ์ฒด์ด๋‹ค. DID ์ปจํŠธ๋กค๋Ÿฌ๋ฅผ ์Šน์ธํ•˜๋Š” ๊ณผ์ •์€ DID ๋ฉ”์†Œ๋“œ์— ์˜ํ•ด ์ •์˜๋œ๋‹ค.

controller
controller์˜ ์†์„ฑ์€ ์„ ํƒ ์‚ฌํ•ญ์ด๋‹ค. ์กด์žฌํ•˜๋Š” ๊ฒฝ์šฐ, ๊ฐ’์€ ์˜ ๊ทœ์น™์„ ์ค€์ˆ˜ํ•˜๋Š” ๋ฌธ์ž์—ด ๋˜๋Š” ๋ฌธ์ž์—ด์˜ set์—ฌ์•ผ ํ•œ๋‹ค. ํ•ด๋‹นํ•˜๋Š” DID ๋ฌธ์„œ(๋“ค)์€ ํŠน์ • ๊ฒ€์ฆ ๋ฐฉ๋ฒ•์„ ํŠน์ • ๋ชฉ์ ์œผ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ๋ช…์‹œ์ ์œผ๋กœ ํ—ˆ์šฉํ•˜๋Š” ๊ฒ€์ฆ ๊ด€๊ณ„๋ฅผ ํฌํ•จํ•ด์•ผ ํ•œ๋‹ค.

DID ๋ฌธ์„œ์— controller ์†์„ฑ์ด ์กด์žฌํ•˜๋Š” ๊ฒฝ์šฐ, ๊ทธ ๊ฐ’์€ ํ•˜๋‚˜ ์ด์ƒ์˜ DID๋ฅผ ํ‘œํ˜„ํ•œ๋‹ค. ๊ทธ DID๋“ค์˜ DID ๋ฌธ์„œ์— ํฌํ•จ๋œ ๋ชจ๋“  ๊ฒ€์ฆ ๋ฐฉ๋ฒ•์€ ๊ถŒ์œ„ ์žˆ๋Š” ๊ฒƒ์œผ๋กœ ๋ฐ›์•„๋“ค์—ฌ์ ธ์•ผ ํ•˜๋ฉฐ, ๊ทธ ๊ฒ€์ฆ ๋ฐฉ๋ฒ•์„ ๋งŒ์กฑํ•˜๋Š” ์ฆ๋ช…์€ DID ์ฃผ์ฒด๊ฐ€ ์ œ๊ณตํ•œ ์ฆ๋ช…๊ณผ ๋™๋“ฑํ•˜๊ฒŒ ๊ฐ„์ฃผ๋˜์–ด์•ผ ํ•œ๋‹ค.

{
  "@context": "https://www.w3.org/ns/did/v1",
  "id": "did:example:123456789abcdefghi",
  "controller": "did:example:bcehfew7h32f32h7af3",
}
        

controller์˜ ๊ฐ’์— ์˜ํ•ด ์ œ๊ณต๋˜๋Š” ์Šน์ธ์€ ์—์„œ ์„ค๋ช…ํ•˜๋Š” ์ธ์ฆ๊ณผ ๋ณ„๊ฐœ์ด๋‹ค. ์ด๋Š” ํŠนํžˆ ์•”ํ˜ธํ™” ํ‚ค ์†์‹ค์˜ ๊ฒฝ์šฐ ํ‚ค ๋ณต๊ตฌ์— ์ค‘์š”ํ•˜๋‹ค. ์—ฌ๊ธฐ์„œ DID ์ฃผ์ฒด๋Š” ๋” ์ด์ƒ ์ž์‹ ์˜ ํ‚ค์— ์ ‘๊ทผํ•  ์ˆ˜ ์—†๊ฑฐ๋‚˜, ํ‚ค ํƒ€ํ˜‘์˜ ๊ฒฝ์šฐ, DID ์ปจํŠธ๋กค๋Ÿฌ์˜ ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š” ์ œ3์ž๊ฐ€ ๊ณต๊ฒฉ์ž์— ์˜ํ•œ ์•…์˜์ ์ธ ํ™œ๋™์„ ๋ฌดํšจํ™”ํ•  ํ•„์š”๊ฐ€ ์žˆ๋‹ค. ์œ„ํ˜‘ ๋ชจ๋ธ ๋ฐ ๊ณต๊ฒฉ ๋ฒกํ„ฐ์™€ ๊ด€๋ จ๋œ ์ •๋ณด๋Š” ์„ ์ฐธ์กฐ.

Also Known As

DID ์ฃผ์ฒด๋Š” ๋‹ค์–‘ํ•œ ๋ชฉ์ ์„ ์œ„ํ•ด์„œ๋‚˜ ์„œ๋กœ ๋‹ค๋ฅธ ์‹œ๊ฐ„์— ๋Œ€ํ•ด ์—ฌ๋Ÿฌ ์‹๋ณ„์ž๋ฅผ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋‹ค. ๋‘ ๊ฐœ ์ด์ƒ์˜ DID(๋˜๋Š” ๋‹ค๋ฅธ ์œ ํ˜•์˜ URI)๊ฐ€ ๋™์ผํ•œ DID ์ฃผ์ฒด๋ฅผ ์ฐธ์กฐํ•œ๋‹ค๋Š” ์ฃผ์žฅ์€ alsoKnownAs ์†์„ฑ์„ ์‚ฌ์šฉํ•˜์—ฌ ์ œ๊ธฐ๋  ์ˆ˜ ์žˆ๋‹ค.

alsoKnownAs
alsoKnownAs ์†์„ฑ์€ ์„ ํƒ ์‚ฌํ•ญ์ด๋‹ค. ์†์„ฑ์ด ์กด์žฌํ•˜๋Š” ๊ฒฝ์šฐ, ๊ฐ’์€ [[RFC3986]]์— ๋”ฐ๋ฅธ URI๋ฅผ ์ค€์ˆ˜ํ•˜๋Š” set์˜ ๊ฐ ํ•ญ๋ชฉ์ด์–ด์•ผ ํ•œ๋‹ค.
์ด ๊ด€๊ณ„๋Š” ์ด ์‹๋ณ„์ž์˜ ์ฃผ์ฒด๊ฐ€ ํ•˜๋‚˜ ์ด์ƒ์˜ ๋‹ค๋ฅธ ์‹๋ณ„์ž์— ์˜ํ•ด ๋˜ํ•œ ์‹๋ณ„๋œ๋‹ค๋Š” ์„ ์–ธ์ด๋‹ค.

์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์€ alsoKnownAs ๊ด€๊ณ„๊ฐ€ ์—ญ๋ฐฉํ–ฅ์œผ๋กœ ์ƒํ˜ธ ์ž‘์šฉํ•  ๊ฒฝ์šฐ ๋‘ ์‹๋ณ„์ž๋ฅผ ๋“ฑ๊ฐ€๋กœ ๊ฐ„์ฃผํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด ์—ญ ๊ด€๊ณ„๊ฐ€ ์—†๋Š” ๊ฒฝ์šฐ์—๋Š” ๋“ฑ๊ฐ€๋กœ ๊ฐ„์ฃผํ•˜์ง€ ์•Š๋Š” ๊ฒƒ์ด ์ตœ์„ ์ด๋‹ค. ์ฆ‰, alsoKnownAs ์ฃผ์žฅ์˜ ์กด์žฌ๊ฐ€ ์ด ์ฃผ์žฅ์ด ์ฐธ์ž„์„ ์ฆ๋ช…ํ•˜์ง€๋Š” ์•Š๋Š”๋‹ค. ๋”ฐ๋ผ์„œ ์š”์ฒญํ•˜๋Š” ๋‹น์‚ฌ์ž๊ฐ€ alsoKnownAs ์ฃผ์žฅ์˜ ๋…๋ฆฝ์ ์ธ ๊ฒ€์ฆ์„ ๋ฐ›๋Š” ๊ฒƒ์ด ๊ฐ•๋ ฅํžˆ ๊ถŒ์žฅ๋œ๋‹ค.

DID ์ฃผ์ฒด๊ฐ€ ๋‹ค์–‘ํ•œ ๋ชฉ์ ์„ ์œ„ํ•ด ๋‹ค๋ฅธ ์‹๋ณ„์ž๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์—, ๋‘ ์‹๋ณ„์ž ๊ฐ„์˜ ๊ฐ•๋ ฅํ•œ ๋“ฑ๊ฐ€์„ฑ ๊ธฐ๋Œ€๋‚˜ ํ•ด๋‹นํ•˜๋Š” ๋‘ DID ๋ฌธ์„œ์˜ ์ •๋ณด๋ฅผ ๋ณ‘ํ•ฉํ•˜๋Š” ๊ฒƒ์€ ์ƒํ˜ธ ๊ด€๊ณ„๊ฐ€ ์žˆ๋”๋ผ๋„ ๋ฐ˜๋“œ์‹œ ์ ์ ˆํ•˜์ง€๋Š” ์•Š๋‹ค.

๊ฒ€์ฆ ๋ฐฉ๋ฒ•

DID ๋ฌธ์„œ๋Š” ์•”ํ˜ธํ™” ๊ณต๊ฐœ ํ‚ค์™€ ๊ฐ™์€ ๊ฒ€์ฆ ๋ฐฉ๋ฒ•์„ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ด๋Š” DID ์ฃผ์ฒด ๋˜๋Š” ๊ด€๋ จ ๋‹น์‚ฌ์ž์™€์˜ ์ƒํ˜ธ ์ž‘์šฉ์„ ์ธ์ฆํ•˜๊ฑฐ๋‚˜ ์ธ๊ฐ€ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ์•”ํ˜ธํ™” ๊ณต๊ฐœ ํ‚ค๋Š” ๋””์ง€ํ„ธ ์„œ๋ช…๊ณผ ๊ด€๋ จํ•˜์—ฌ ๊ฒ€์ฆ ๋ฐฉ๋ฒ•์œผ๋กœ ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ด ๊ฒฝ์šฐ ์„œ๋ช…์ž๊ฐ€ ๊ด€๋ จ ์•”ํ˜ธํ™” ๊ฐœ์ธ ํ‚ค๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Œ์„ ๊ฒ€์ฆํ•œ๋‹ค. ๊ฒ€์ฆ ๋ฐฉ๋ฒ•์€ ๋งŽ์€ ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋‹ค. ์ด์˜ ์˜ˆ๋Š” ์•”ํ˜ธํ™” ์ž„๊ณ„๊ฐ’ ์„œ๋ช…์— ๊ธฐ์—ฌํ•ด์•ผ ํ•˜๋Š” ๋‹ค์„ฏ ๊ฐœ์˜ ์•”ํ˜ธํ™” ํ‚ค ์ค‘์—์„œ ์–ด๋А ์„ธ ๊ฐœ๊ฐ€ ํ•„์š”ํ•œ ์„ธํŠธ์ด๋‹ค.

verificationMethod

verificationMethod ์†์„ฑ์€ ์„ ํƒ ์‚ฌํ•ญ์ด๋‹ค. ์†์„ฑ์ด ์กด์žฌํ•˜๋Š” ๊ฒฝ์šฐ, ๊ฐ’์€ map์„ ์‚ฌ์šฉํ•˜์—ฌ ํ‘œํ˜„๋œ ๊ฒ€์ฆ ๋ฐฉ๋ฒ•์˜ set์—ฌ์•ผ ํ•œ๋‹ค. ๊ฒ€์ฆ ๋ฐฉ๋ฒ• map์—๋Š” id, type, controller ๋ฐ type์˜ ๊ฐ’์— ๋”ฐ๋ผ ๊ฒฐ์ •๋˜๊ณ  ์—์„œ ์ •์˜๋œ ํŠน์ • ๊ฒ€์ฆ ์žฌ๋ฃŒ ์†์„ฑ์ด ํฌํ•จ๋˜์–ด์•ผ ํ•œ๋‹ค. ๊ฒ€์ฆ ๋ฐฉ๋ฒ•์—๋Š” ์ถ”๊ฐ€ ์†์„ฑ์ด ํฌํ•จ๋  ์ˆ˜ ์žˆ๋‹ค. ๊ฒ€์ฆ ๋ฐฉ๋ฒ•์€ DID ๊ทœ๊ฒฉ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ [[DID-SPEC-REGISTRIES]]์— ๋“ฑ๋ก๋˜์–ด์•ผ ํ•œ๋‹ค.

id

๊ฒ€์ฆ ๋ฐฉ๋ฒ•์˜ id ์†์„ฑ ๊ฐ’์€ ์„น์…˜ ์˜ ๊ทœ์น™์„ ์ค€์ˆ˜ํ•˜๋Š” ๋ฌธ์ž์—ด์ด์–ด์•ผ ํ•œ๋‹ค.

type
type ์†์„ฑ ๊ฐ’์€ ์ •ํ™•ํžˆ ํ•˜๋‚˜์˜ ๊ฒ€์ฆ ๋ฐฉ๋ฒ• ์œ ํ˜•์„ ์ฐธ์กฐํ•˜๋Š” ๋ฌธ์ž์—ด์ด์–ด์•ผ ํ•œ๋‹ค. ์ „ ์„ธ๊ณ„์ ์ธ ์ƒํ˜ธ ์šด์šฉ์„ฑ์„ ๊ทน๋Œ€ํ™”ํ•˜๊ธฐ ์œ„ํ•ด, ๊ฒ€์ฆ ๋ฐฉ๋ฒ• ์œ ํ˜•์€ DID ๊ทœ๊ฒฉ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ [[?DID-SPEC-REGISTRIES]]์— ๋“ฑ๋ก๋˜์–ด์•ผ ํ•œ๋‹ค.
controller
controller ์†์„ฑ ๊ฐ’์€ ์˜ ๊ทœ์น™์„ ์ค€์ˆ˜ํ•˜๋Š” ๋ฌธ์ž์—ด์ด์–ด์•ผ ํ•œ๋‹ค.
{
  "@context": [
    "https://www.w3.org/ns/did/v1",
    "https://w3id.org/security/suites/jws-2020/v1"
    "https://w3id.org/security/suites/ed25519-2020/v1"
  ]
  "id": "did:example:123456789abcdefghi",
  ...
  "verificationMethod": [{
    "id": ...,
    "type": ...,
    "controller": ...,
    "publicKeyJwk": ...
  }, {
    "id": ...,
    "type": ...,
    "controller": ...,
    "publicKeyMultibase": ...
  }]
}
      

controller ์†์„ฑ์˜ ์˜๋ฏธ๋Š” ๊ด€๊ณ„์˜ ์ฃผ์ฒด๊ฐ€ DID ๋ฌธ์„œ์ผ ๋•Œ์™€ ์•”ํ˜ธํ™” ๊ณต๊ฐœ ํ‚ค์™€ ๊ฐ™์€ ๊ฒ€์ฆ ๋ฐฉ๋ฒ•์ผ ๋•Œ ๋™์ผํ•œ๋‹ค. ํ‚ค๊ฐ€ ์ž๊ธฐ ์ž์‹ ์„ ์ œ์–ดํ•  ์ˆ˜ ์—†๊ณ  ํ‚ค์˜ ์ปจํŠธ๋กค๋Ÿฌ๊ฐ€ DID ๋ฌธ์„œ์—์„œ ์œ ์ถ”๋  ์ˆ˜ ์—†๊ธฐ ๋•Œ๋ฌธ์—, ํ‚ค ์ปจํŠธ๋กค๋Ÿฌ์˜ ์ •์ฒด์„ฑ์„ ๋ช…์‹œ์ ์œผ๋กœ ํ‘œํ˜„ํ•  ํ•„์š”๊ฐ€ ์žˆ๋‹ค. ์ฐจ์ด์ ์€ ๊ฒ€์ฆ ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ์ปจํŠธ๋กค๋Ÿฌ์˜ ๊ฐ’์ด ๋ฐ˜๋“œ์‹œ DID ์ปจํŠธ๋กค๋Ÿฌ์ผ ํ•„์š”๋Š” ์—†๋‹ค๋Š” ๊ฒƒ์ด๋‹ค. DID ์ปจํŠธ๋กค๋Ÿฌ๋Š” DID ๋ฌธ์„œ์˜ ์ตœ์ƒ์œ„ ์ˆ˜์ค€(๋ฐ์ดํ„ฐ ๋ชจ๋ธ์˜ ์ตœ์ƒ์œ„ map)์—์„œ ์ปจํŠธ๋กค๋Ÿฌ ์†์„ฑ์„ ์‚ฌ์šฉํ•˜์—ฌ ํ‘œํ˜„๋ฉ๋‹ˆ๋‹ค; ๋ฅผ ์ฐธ์กฐ.

๊ฒ€์ฆ ์ž๋ฃŒ

๊ฒ€์ฆ ์ž๋ฃŒ๋Š” ๊ฒ€์ฆ ๋ฐฉ๋ฒ•์„ ์ ์šฉํ•˜๋Š” ํ”„๋กœ์„ธ์Šค์—์„œ ์‚ฌ์šฉ๋˜๋Š” ๋ชจ๋“  ์ •๋ณด๋ฅผ ๋งํ•œ๋‹ค. ๊ฒ€์ฆ ๋ฐฉ๋ฒ•์˜ type์€ ํ•ด๋‹น ํ”„๋กœ์„ธ์Šค์™€์˜ ํ˜ธํ™˜์„ฑ์„ ๊ฒฐ์ •ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋  ๊ฒƒ์œผ๋กœ ์˜ˆ์ƒ๋œ๋‹ค. ๊ฒ€์ฆ ์ž๋ฃŒ ์†์„ฑ์˜ ์˜ˆ๋กœ๋Š” publicKeyJwk๋‚˜ publicKeyMultibase๊ฐ€ ์žˆ๋‹ค. ์•”ํ˜ธํ™” ์Šค์œ„ํŠธ ๊ทœ๊ฒฉ์€ ๊ฒ€์ฆ ๋ฐฉ๋ฒ•์˜ type๊ณผ ๊ด€๋ จ ๊ฒ€์ฆ ์ž๋ฃŒ๋ฅผ ์ง€์ •ํ•  ์ฑ…์ž„์ด ์žˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, JSON Web Signature 2020๊ณผ Ed25519 Signature 2020์„ ์ฐธ์กฐํ•˜๋ผ. DID์— ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๋ชจ๋“  ๋“ฑ๋ก๋œ ๊ฒ€์ฆ ๋ฐฉ๋ฒ• ์œ ํ˜•๊ณผ ๊ด€๋ จ ๊ฒ€์ฆ ์ž๋ฃŒ๋Š” DID ๊ทœ๊ฒฉ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ [[?DID-SPEC-REGISTRIES]]๋ฅผ ์ฐธ์กฐํ•˜๋ผ.

์ƒํ˜ธ ์šด์šฉ ๊ฐ€๋Šฅํ•œ ๊ตฌํ˜„์˜ ๊ฐ€๋Šฅ์„ฑ์„ ๋†’์ด๊ธฐ ์œ„ํ•ด, ์ด ๊ทœ๊ฒฉ์€ DID ๋ฌธ์„œ์—์„œ ๊ฒ€์ฆ ์ž๋ฃŒ๋ฅผ ํ‘œํ˜„ํ•˜๊ธฐ ์œ„ํ•œ ํ˜•์‹์˜ ์ˆ˜๋ฅผ ์ œํ•œํ•œ๋‹ค. ๊ตฌํ˜„์ž๋“ค์ด ๊ตฌํ˜„ํ•ด์•ผ ํ•  ํ˜•์‹์ด ์ ์„์ˆ˜๋ก ๋ชจ๋“  ํ˜•์‹์„ ์ง€์›ํ•  ๊ฐ€๋Šฅ์„ฑ์ด ๋†’์•„์ง„๋‹ค. ์ด ์ ‘๊ทผ ๋ฐฉ์‹์€ ๊ตฌํ˜„์˜ ์šฉ์ด์„ฑ๊ณผ ์—ญ์‚ฌ์ ์œผ๋กœ ๋„๋ฆฌ ๋ฐฐํฌ๋˜์–ด ์˜จ ํ˜•์‹์„ ์ง€์›ํ•˜๋Š” ๊ฒƒ ์‚ฌ์ด์—์„œ ๋ฏธ๋ฌ˜ํ•œ ๊ท ํ˜•์„ ๋งž์ถ”๋ ค๊ณ  ์‹œ๋„ํ•œ๋‹ค. ์ง€์›๋˜๋Š” ๋‘ ๊ฐ€์ง€ ๊ฒ€์ฆ ์ž๋ฃŒ ์†์„ฑ์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค:

publicKeyJwk

publicKeyJwk ์†์„ฑ์€ ์„ ํƒ ์‚ฌํ•ญ์ด๋‹ค. ์กด์žฌํ•˜๋Š” ๊ฒฝ์šฐ, ๊ทธ ๊ฐ’์€ [[RFC7517]]์„ ์ค€์ˆ˜ํ•˜๋Š” JSON Web Key๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” map์ด์–ด์•ผ ํ•œ๋‹ค. ์ด map์€ "d"๋‚˜ ๋“ฑ๋ก ํ…œํ”Œ๋ฆฟ์— ์„ค๋ช…๋œ ๋น„๊ณต๊ฐœ ์ •๋ณด ํด๋ž˜์Šค์˜ ๋‹ค๋ฅธ ๋ฉค๋ฒ„๋ฅผ ํฌํ•จํ•ด์„œ๋Š” ์•ˆ ๋œ๋‹ค. JWK [[RFC7517]]๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ณต๊ฐœ ํ‚ค๋ฅผ ํ‘œํ˜„ํ•˜๋Š” ๊ฒ€์ฆ ๋ฐฉ๋ฒ•์€ kid์˜ ๊ฐ’์„ ํ”„๋ž˜๊ทธ๋จผํŠธ ์‹๋ณ„์ž๋กœ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ๊ถŒ์žฅ๋œ๋‹ค. JWK kid ๊ฐ’์€ ๊ณต๊ฐœ ํ‚ค ์ง€๋ฌธ [[RFC7638]]์œผ๋กœ ์„ค์ •ํ•˜๋Š” ๊ฒƒ์ด ๊ถŒ์žฅ๋œ๋‹ค. ๋ณตํ•ฉ ํ‚ค ์‹๋ณ„์ž๋ฅผ ๊ฐ€์ง„ ๊ณต๊ฐœ ํ‚ค์˜ ์˜ˆ์‹œ๋Š” ์˜ ์ฒซ ๋ฒˆ์งธ ํ‚ค๋ฅผ ์ฐธ์กฐํ•˜๋ผ.

publicKeyMultibase

publicKeyMultibase ์†์„ฑ์€ ์„ ํƒ ์‚ฌํ•ญ์ด๋‹ค. ์ด ๊ธฐ๋Šฅ์€ ๋น„๊ทœ๋ฒ”์ ์ด๋‹ค. ์กด์žฌํ•˜๋Š” ๊ฒฝ์šฐ, ๊ทธ ๊ฐ’์€ [[?MULTIBASE]]๋กœ ์ธ์ฝ”๋”ฉ๋œ ๊ณต๊ฐœ ํ‚ค์˜ ๋ฌธ์ž์—ด ํ‘œํ˜„์ด์–ด์•ผ ํ•œ๋‹ค.

[[?MULTIBASE]] ๊ทœ๊ฒฉ์€ ์•„์ง ํ‘œ์ค€์ด ์•„๋‹ˆ๋ฉฐ ๋ณ€๊ฒฝ๋  ์ˆ˜ ์žˆ๋‹ค๋Š” ์ ์— ์œ ์˜ํ•˜๋ผ. ๊ณต๊ฐœ ํ‚ค๋ฅผ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋„๋ก publicKeyMultibase๊ฐ€ ์ •์˜๋˜์ง€๋งŒ, ๋น„๋ฐ€ ํ‚ค์˜ ์šฐ๋ฐœ์  ๋ˆ„์ถœ์„ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด privateKeyMultibase๋Š” ์ •์˜๋˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ์™€ ๊ฐ™์ด ์ด ๋ฐ์ดํ„ฐ ํ˜•์‹์— ๋Œ€ํ•œ ์ผ๋ถ€ ์‚ฌ์šฉ ์‚ฌ๋ก€๊ฐ€ ์žˆ์„ ์ˆ˜ ์žˆ๋‹ค.

๊ฒ€์ฆ ๋ฐฉ๋ฒ•์€ ๋™์ผํ•œ ์ž๋ฃŒ์— ๋Œ€ํ•ด ์—ฌ๋Ÿฌ ๊ฒ€์ฆ ์ž๋ฃŒ ์†์„ฑ์„ ํฌํ•จํ•ด์„œ๋Š” ์•ˆ ๋œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ๊ฒ€์ฆ ๋ฐฉ๋ฒ•์—์„œ publicKeyJwk์™€ publicKeyMultibase๋ฅผ ๋™์‹œ์— ์‚ฌ์šฉํ•˜์—ฌ ํ‚ค ์ž๋ฃŒ๋ฅผ ํ‘œํ˜„ํ•˜๋Š” ๊ฒƒ์€ ๊ธˆ์ง€๋œ๋‹ค.

์œ„์˜ ๋‘ ์†์„ฑ์„ ๋ชจ๋‘ ์‚ฌ์šฉํ•˜๋Š” ๊ฒ€์ฆ ๋ฐฉ๋ฒ•์„ ํฌํ•จํ•˜๋Š” DID ๋ฌธ์„œ์˜ ์˜ˆ๋Š” ์•„๋ž˜์™€ ๊ฐ™๋‹ค.

{
  "@context": [
    "https://www.w3.org/ns/did/v1",
    "https://w3id.org/security/suites/jws-2020/v1",
    "https://w3id.org/security/suites/ed25519-2020/v1"
  ]
  "id": "did:example:123456789abcdefghi",
  ...
  "verificationMethod": [{
    "id": "did:example:123#_Qq0UL2Fq651Q0Fjd6TvnYE-faHiOpRlPVQcY_-tA4A",
    "type": "JsonWebKey2020", // external (property value)
    "controller": "did:example:123",
    "publicKeyJwk": {
      "crv": "Ed25519", // external (property name)
      "x": "VCpo2LMLhn6iWku8MKvSLg2ZAoC-nlOyPVQaO3FxVeQ", // external (property name)
      "kty": "OKP", // external (property name)
      "kid": "_Qq0UL2Fq651Q0Fjd6TvnYE-faHiOpRlPVQcY_-tA4A" // external (property name)
    }
  }, {
    "id": "did:example:123456789abcdefghi#keys-1",
    "type": "Ed25519VerificationKey2020", // external (property value)
    "controller": "did:example:pqrstuvwxyz0987654321",
    "publicKeyMultibase": "zH3C2AVvLMv6gmMNam3uVAjZpfkcJCwDwnZn6z3wXmqPV"
  }],
  ...
}
        

๊ฒ€์ฆ ๋ฐฉ๋ฒ• ์ฐธ์กฐ

๊ฒ€์ฆ ๋ฐฉ๋ฒ•์€ ์— ์„ค๋ช…๋œ ๋Œ€๋กœ ๋‹ค์–‘ํ•œ ๊ฒ€์ฆ ๊ด€๊ณ„์™€ ๊ด€๋ จ๋œ ์†์„ฑ์— ๋‚ด์žฅ๋˜๊ฑฐ๋‚˜ ์ฐธ์กฐ๋  ์ˆ˜ ์žˆ๋‹ค. ๊ฒ€์ฆ ๋ฐฉ๋ฒ•์„ ์ฐธ์กฐํ•˜๋ฉด ๋‘˜ ์ด์ƒ์˜ ๊ฒ€์ฆ ๊ด€๊ณ„์—์„œ ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ๋‹ค.

๊ฒ€์ฆ ๋ฐฉ๋ฒ• ์†์„ฑ์˜ ๊ฐ’์ด map์ธ ๊ฒฝ์šฐ, ๊ฒ€์ฆ ๋ฐฉ๋ฒ•์€ ๋‚ด์žฅ๋œ ๊ฒƒ์ด๋ฉฐ ํ•ด๋‹น ์†์„ฑ์— ์ง์ ‘ ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๊ฐ’์ด URL ๋ฌธ์ž์—ด์ธ ๊ฒฝ์šฐ, ๊ฒ€์ฆ ๋ฐฉ๋ฒ•์€ ์ฐธ์กฐ์— ์˜ํ•ด ํฌํ•จ๋œ ๊ฒƒ์ด๋ฉฐ ํ•ด๋‹น ์†์„ฑ์€ DID ๋ฌธ์„œ์˜ ๋‹ค๋ฅธ ๊ณณ์ด๋‚˜ ๋‹ค๋ฅธ DID ๋ฌธ์„œ์—์„œ ๊ฒ€์ƒ‰๋˜์–ด์•ผ ํ•œ๋‹ค. ์ด๋Š” URL์„ ์—ญ์ฐธ์กฐํ•˜๊ณ  ๊ฒฐ๊ณผ ๋ฆฌ์†Œ์Šค์—์„œ ๊ฐ’์ด URL๊ณผ ์ผ์น˜ํ•˜๋Š” id ์†์„ฑ์„ ๊ฐ€์ง„ ๊ฒ€์ฆ ๋ฐฉ๋ฒ• map์„ ๊ฒ€์ƒ‰ํ•˜์—ฌ ์ˆ˜ํ–‰๋œ๋‹ค.

{
...

  "authentication": [
    // this key is referenced and might be used by
    // more than one verification relationship
    "did:example:123456789abcdefghi#keys-1",
    // this key is embedded and may *only* be used for authentication
    {
      "id": "did:example:123456789abcdefghi#keys-2",
      "type": "Ed25519VerificationKey2020", // external (property value)
      "controller": "did:example:123456789abcdefghi",
      "publicKeyMultibase": "zH3C2AVvLMv6gmMNam3uVAjZpfkcJCwDwnZn6z3wXmqPV"
    }
  ],

...
}
        

๊ฒ€์ฆ ๊ด€๊ณ„

๊ฒ€์ฆ ๊ด€๊ณ„๋Š” DID ์ฃผ์ฒด์™€ ๊ฒ€์ฆ ๋ฐฉ๋ฒ• ์‚ฌ์ด์˜ ๊ด€๊ณ„๋ฅผ ํ‘œํ˜„ํ•œ๋‹ค.

์„œ๋กœ ๋‹ค๋ฅธ ๊ฒ€์ฆ ๊ด€๊ณ„๋Š” ๊ด€๋ จ๋œ ๊ฒ€์ฆ ๋ฐฉ๋ฒ•์ด ๋‹ค๋ฅธ ๋ชฉ์ ์œผ๋กœ ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ๊ฒŒ ํ•œ๋‹ค. ์‚ฌ์šฉ๋œ ๊ฒ€์ฆ ๋ฐฉ๋ฒ•์ด DID ๋ฌธ์„œ์˜ ์ ์ ˆํ•œ ๊ฒ€์ฆ ๊ด€๊ณ„ ์†์„ฑ์— ํฌํ•จ๋˜์–ด ์žˆ๋Š”์ง€ ํ™•์ธํ•จ์œผ๋กœ์จ ๊ฒ€์ฆ ์‹œ๋„์˜ ์œ ํšจ์„ฑ์„ ํ™•์ธํ•˜๋Š” ๊ฒƒ์€ ๊ฒ€์ฆ์ž์˜ ๋ชซ์ด๋‹ค.

DID ์ฃผ์ฒด์™€ ๊ฒ€์ฆ ๋ฐฉ๋ฒ• ์‚ฌ์ด์˜ ๊ฒ€์ฆ ๊ด€๊ณ„๋Š” DID ๋ฌธ์„œ์— ๋ช…์‹œ๋˜์–ด ์žˆ๋‹ค. ํŠน์ • ๊ฒ€์ฆ ๊ด€๊ณ„์™€ ๊ด€๋ จ๋˜์ง€ ์•Š์€ ๊ฒ€์ฆ ๋ฐฉ๋ฒ•์€ ํ•ด๋‹น ๊ฒ€์ฆ ๊ด€๊ณ„์— ์‚ฌ์šฉ๋  ์ˆ˜ ์—†๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, authentication ์†์„ฑ์˜ ๊ฐ’์— ์žˆ๋Š” ๊ฒ€์ฆ ๋ฐฉ๋ฒ•์€ DID ์ฃผ์ฒด์™€ ํ‚ค ๊ตํ™˜ ํ”„๋กœํ† ์ฝœ์— ์ฐธ์—ฌํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋  ์ˆ˜ ์—†๋‹ค. ์ด๋ฅผ ์œ„ํ•ด์„œ๋Š” keyAgreement ์†์„ฑ์˜ ๊ฐ’์ด ์‚ฌ์šฉ๋˜์–ด์•ผ ํ•œ๋‹ค.

DID ๋ฌธ์„œ๋Š” ๊ฒ€์ฆ ๊ด€๊ณ„๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ๊ธฐ๋œ ํ‚ค๋ฅผ ํ‘œํ˜„ํ•˜์ง€ ์•Š๋Š”๋‹ค. ์ฐธ์กฐ๋œ ๊ฒ€์ฆ ๋ฐฉ๋ฒ•์ด ์—ญ์ฐธ์กฐ์— ์‚ฌ์šฉ๋œ ์ตœ์‹  DID ๋ฌธ์„œ์— ์—†๋Š” ๊ฒฝ์šฐ, ํ•ด๋‹น ๊ฒ€์ฆ ๋ฐฉ๋ฒ•์€ ์œ ํšจํ•˜์ง€ ์•Š๊ฑฐ๋‚˜ ํ๊ธฐ๋œ ๊ฒƒ์œผ๋กœ ๊ฐ„์ฃผ๋œ๋‹ค. ๊ฐ DID ๋ฉ”์†Œ๋“œ ๊ทœ๊ฒฉ์€ ํ๊ธฐ๊ฐ€ ์–ด๋–ป๊ฒŒ ์ˆ˜ํ–‰๋˜๊ณ  ์ถ”์ ๋˜๋Š”์ง€ ์ƒ์„ธํžˆ ์„ค๋ช…ํ•ด์•ผ ํ•œ๋‹ค.

๋‹ค์Œ ์„น์…˜์—์„œ๋Š” ๋ช‡ ๊ฐ€์ง€ ์œ ์šฉํ•œ ๊ฒ€์ฆ ๊ด€๊ณ„๋ฅผ ์ •์˜ํ•œ๋‹ค. DID ๋ฌธ์„œ๋Š” ํŠน์ • ๊ฒ€์ฆ ๊ด€๊ณ„๋ฅผ ํ‘œํ˜„ํ•˜๊ธฐ ์œ„ํ•ด ์ด๋“ค ์ค‘ ์–ด๋А ๊ฒƒ์ด๋“  ๋˜๋Š” ๋‹ค๋ฅธ ์†์„ฑ๋“ค์„ ํฌํ•จํ•  ์ˆ˜ ์žˆ๋‹ค. ์ „ ์„ธ๊ณ„์ ์ธ ์ƒํ˜ธ ์šด์šฉ์„ฑ์„ ๊ทน๋Œ€ํ™”ํ•˜๊ธฐ ์œ„ํ•ด, ์‚ฌ์šฉ๋˜๋Š” ๊ทธ๋Ÿฌํ•œ ๋ชจ๋“  ์†์„ฑ์€ DID ๊ทœ๊ฒฉ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ [[?DID-SPEC-REGISTRIES]]์— ๋“ฑ๋ก๋˜์–ด์•ผ ํ•œ๋‹ค.

authentication

authentication ๊ฒ€์ฆ ๊ด€๊ณ„๋Š” ์›น์‚ฌ์ดํŠธ ๋กœ๊ทธ์ธ์ด๋‚˜ ๋ชจ๋“  ์ข…๋ฅ˜์˜ ์ฑŒ๋ฆฐ์ง€-์‘๋‹ต ํ”„๋กœํ† ์ฝœ ์ฐธ์—ฌ์™€ ๊ฐ™์€ ๋ชฉ์ ์œผ๋กœ DID ์ฃผ์ฒด๊ฐ€ ์–ด๋–ป๊ฒŒ ์ธ์ฆ๋  ๊ฒƒ์œผ๋กœ ์˜ˆ์ƒ๋˜๋Š”์ง€ ๋ช…์‹œํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋œ๋‹ค.

authentication
authentication ์†์„ฑ์€ ์„ ํƒ ์‚ฌํ•ญ์ด๋‹ค. ์กด์žฌํ•˜๋Š” ๊ฒฝ์šฐ, ๊ด€๋ จ๋œ ๊ฐ’์€ ํ•˜๋‚˜ ์ด์ƒ์˜ ๊ฒ€์ฆ ๋ฐฉ๋ฒ•์˜ set์ด์–ด์•ผ ํ•œ๋‹ค. ๊ฐ ๊ฒ€์ฆ ๋ฐฉ๋ฒ•์€ ๋‚ด์žฅ๋˜๊ฑฐ๋‚˜ ์ฐธ์กฐ๋  ์ˆ˜ ์žˆ๋‹ค.
{
  "@context": [
    "https://www.w3.org/ns/did/v1",
    "https://w3id.org/security/suites/ed25519-2020/v1"
  ],
  "id": "did:example:123456789abcdefghi",
  ...
  "authentication": [
    // this method can be used to authenticate as did:...fghi
    "did:example:123456789abcdefghi#keys-1",
    // this method is *only* approved for authentication, it may not
    // be used for any other proof purpose, so its full description is
    // embedded here rather than using only a reference
    {
      "id": "did:example:123456789abcdefghi#keys-2",
      "type": "Ed25519VerificationKey2020",
      "controller": "did:example:123456789abcdefghi",
      "publicKeyMultibase": "zH3C2AVvLMv6gmMNam3uVAjZpfkcJCwDwnZn6z3wXmqPV"
    }
  ],
  ...
}
        

์ธ์ฆ์ด ํ™•๋ฆฝ๋˜๋ฉด, ํ•ด๋‹น ์ •๋ณด๋ฅผ ์–ด๋–ป๊ฒŒ ์ฒ˜๋ฆฌํ•  ๊ฒƒ์ธ์ง€๋Š” DID ๋ฉ”์†Œ๋“œ ๋˜๋Š” ๋‹ค๋ฅธ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ๋‹ฌ๋ ค ์žˆ๋‹ค. ํŠน์ • DID ๋ฉ”์†Œ๋“œ๋Š” DID ์ปจํŠธ๋กค๋Ÿฌ๋กœ ์ธ์ฆํ•˜๋Š” ๊ฒƒ์ด ์˜ˆ๋ฅผ ๋“ค์–ด DID ๋ฌธ์„œ๋ฅผ ์—…๋ฐ์ดํŠธํ•˜๊ฑฐ๋‚˜ ์‚ญ์ œํ•˜๊ธฐ์— ์ถฉ๋ถ„ํ•˜๋‹ค๊ณ  ๊ฒฐ์ •ํ•  ์ˆ˜ ์žˆ๋‹ค. ๋‹ค๋ฅธ DID ๋ฉ”์†Œ๋“œ๋Š” DID ๋ฌธ์„œ๋ฅผ ์—…๋ฐ์ดํŠธํ•˜๊ฑฐ๋‚˜ ์‚ญ์ œํ•˜๊ธฐ ์œ„ํ•ด ์ธ์ฆ์— ์‚ฌ์šฉ๋œ ๊ฒƒ๊ณผ๋Š” ๋‹ค๋ฅธ ํ‚ค ๋˜๋Š” ์™„์ „ํžˆ ๋‹ค๋ฅธ ๊ฒ€์ฆ ๋ฐฉ๋ฒ•์ด ์ œ์‹œ๋˜์–ด์•ผ ํ•  ์ˆ˜ ์žˆ๋‹ค. ์ฆ‰, ์ธ์ฆ ํ™•์ธ ์ดํ›„์— ์ˆ˜ํ–‰๋˜๋Š” ์ž‘์—…์€ ๋ฐ์ดํ„ฐ ๋ชจ๋ธ์˜ ๋ฒ”์œ„๋ฅผ ๋ฒ—์–ด๋‚œ๋‹ค; DID ๋ฉ”์†Œ๋“œ์™€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์€ ์ด๋ฅผ ์Šค์Šค๋กœ ์ •์˜ํ•ด์•ผ ํ•œ๋‹ค.

์ด๋Š” ์ธ์ฆ์„ ์‹œ๋„ํ•˜๋Š” ์—”ํ‹ฐํ‹ฐ๊ฐ€ ์‹ค์ œ๋กœ ์œ ํšจํ•œ ์ธ์ฆ ์ฆ๋ช…์„ ์ œ์‹œํ•˜๊ณ  ์žˆ๋Š”์ง€ ํ™•์ธํ•  ํ•„์š”๊ฐ€ ์žˆ๋Š” ๋ชจ๋“  ์ธ์ฆ ๊ฒ€์ฆ์ž์—๊ฒŒ ์œ ์šฉํ•˜๋‹ค. ๊ฒ€์ฆ์ž๊ฐ€ "์ธ์ฆ"์˜ ๋ชฉ์ ์œผ๋กœ ๋งŒ๋“ค์–ด์ง„ ์ฆ๋ช…์„ ํฌํ•จํ•˜๊ณ  ์—”ํ‹ฐํ‹ฐ๊ฐ€ DID์— ์˜ํ•ด ์‹๋ณ„๋œ๋‹ค๊ณ  ๋งํ•˜๋Š” (์ผ๋ถ€ ํ”„๋กœํ† ์ฝœ๋ณ„ ํ˜•์‹์˜) ์ผ๋ถ€ ๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜์‹ ํ•˜๋ฉด, ํ•ด๋‹น ๊ฒ€์ฆ์ž๋Š” DID ๋ฌธ์„œ์˜ authentication ์•„๋ž˜์— ๋‚˜์—ด๋œ ๊ฒ€์ฆ ๋ฐฉ๋ฒ•(์˜ˆ: ๊ณต๊ฐœ ํ‚ค)์„ ์‚ฌ์šฉํ•˜์—ฌ ์ฆ๋ช…์„ ๊ฒ€์ฆํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ํ™•์ธํ•œ๋‹ค.

DID ๋ฌธ์„œ์˜ authentication ์†์„ฑ์— ์˜ํ•ด ํ‘œ์‹œ๋œ ๊ฒ€์ฆ ๋ฐฉ๋ฒ•์€ DID ์ฃผ์ฒด๋ฅผ ์ธ์ฆํ•˜๋Š” ๋ฐ๋งŒ ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ์Œ์— ์œ ์˜ํ•˜๋ผ. ๋‹ค๋ฅธ DID ์ปจํŠธ๋กค๋Ÿฌ๋ฅผ ์ธ์ฆํ•˜๋ ค๋ฉด ์— ์ •์˜๋œ ๋Œ€๋กœ controller ๊ฐ’๊ณผ ๊ด€๋ จ๋œ ์—”ํ‹ฐํ‹ฐ๊ฐ€ ์ž์‹ ์˜ DID ๋ฌธ์„œ ๋ฐ ๊ด€๋ จ authentication ๊ฒ€์ฆ ๊ด€๊ณ„๋กœ ์ธ์ฆํ•ด์•ผ ํ•œ๋‹ค.

Assertion

assertionMethod ๊ฒ€์ฆ ๊ด€๊ณ„๋Š” ๊ฒ€์ฆ ๊ฐ€๋Šฅํ•œ ํฌ๋ฆฌ๋ด์…œ [[?VC-DATA-MODEL]]์„ ๋ฐœํ–‰ํ•˜๋Š” ๋ชฉ์ ๊ณผ ๊ฐ™์ด DID ์ฃผ์ฒด๊ฐ€ ์–ด๋–ป๊ฒŒ ํด๋ ˆ์ž„์„ ํ‘œํ˜„ํ•  ๊ฒƒ์œผ๋กœ ์˜ˆ์ƒ๋˜๋Š”์ง€ ๋ช…์‹œํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋œ๋‹ค.

assertionMethod
assertionMethod ์†์„ฑ์€ ์„ ํƒ ์‚ฌํ•ญ์ด๋‹ค. ์กด์žฌํ•˜๋Š” ๊ฒฝ์šฐ, ๊ด€๋ จ๋œ ๊ฐ’์€ ํ•˜๋‚˜ ์ด์ƒ์˜ ๊ฒ€์ฆ ๋ฐฉ๋ฒ•์˜ set์ด์–ด์•ผ ํ•œ๋‹ค. ๊ฐ ๊ฒ€์ฆ ๋ฐฉ๋ฒ•์€ ๋‚ด์žฅ๋˜๊ฑฐ๋‚˜ ์ฐธ์กฐ๋  ์ˆ˜ ์žˆ๋‹ค.

์ด ์†์„ฑ์€ ์˜ˆ๋ฅผ ๋“ค์–ด, ๊ฒ€์ฆ์ž๊ฐ€ ๊ฒ€์ฆ ๊ฐ€๋Šฅํ•œ ํฌ๋ฆฌ๋ด์…œ์„ ์ฒ˜๋ฆฌํ•˜๋Š” ๋™์•ˆ ์œ ์šฉํ•˜๋‹ค. ๊ฒ€์ฆ ์ค‘์— ๊ฒ€์ฆ์ž๋Š” ๊ฒ€์ฆ ๊ฐ€๋Šฅํ•œ ํฌ๋ฆฌ๋ด์…œ์— ์ฆ๋ช…์„ ์–ด์„ค์…˜ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋œ ๊ฒ€์ฆ ๋ฐฉ๋ฒ•์ด ํ•ด๋‹น DID ๋ฌธ์„œ์˜ assertionMethod ์†์„ฑ๊ณผ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ๋Š”์ง€ ํ™•์ธํ•จ์œผ๋กœ์จ DID ์ฃผ์ฒด๊ฐ€ ์ƒ์„ฑํ•œ ์ฆ๋ช…์ด ํฌํ•จ๋˜์–ด ์žˆ๋Š”์ง€ ํ™•์ธํ•œ๋‹ค.

{
  "@context": [
    "https://www.w3.org/ns/did/v1",
    "https://w3id.org/security/suites/ed25519-2020/v1"
  ],
  "id": "did:example:123456789abcdefghi",
  ...
  "assertionMethod": [
    // this method can be used to assert statements as did:...fghi
    "did:example:123456789abcdefghi#keys-1",
    // this method is *only* approved for assertion of statements, it is not
    // used for any other verification relationship, so its full description is
    // embedded here rather than using a reference
    {
      "id": "did:example:123456789abcdefghi#keys-2",
      "type": "Ed25519VerificationKey2020", // external (property value)
      "controller": "did:example:123456789abcdefghi",
      "publicKeyMultibase": "zH3C2AVvLMv6gmMNam3uVAjZpfkcJCwDwnZn6z3wXmqPV"
    }
  ],
  ...
}
        

Key Agreement

keyAgreement ๊ฒ€์ฆ ๊ด€๊ณ„๋Š” ์ˆ˜์‹ ์ž์™€ ์•ˆ์ „ํ•œ ํ†ต์‹  ์ฑ„๋„์„ ์„ค์ •ํ•˜๊ธฐ ์œ„ํ•œ ๋ชฉ์ ๊ณผ ๊ฐ™์ด DID ์ฃผ์ฒด์—๊ฒŒ ์ „๋‹ฌ๋˜๋Š” ๊ธฐ๋ฐ€ ์ •๋ณด๋ฅผ ์ „์†กํ•˜๊ธฐ ์œ„ํ•ด ์—”ํ‹ฐํ‹ฐ๊ฐ€ ์•”ํ˜ธํ™” ์ž๋ฃŒ๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ง€์ •ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋œ๋‹ค.

keyAgreement
keyAgreement ์†์„ฑ์€ ์„ ํƒ ์‚ฌํ•ญ์ด๋‹ค. ์กด์žฌํ•˜๋Š” ๊ฒฝ์šฐ, ๊ด€๋ จ๋œ ๊ฐ’์€ ํ•˜๋‚˜ ์ด์ƒ์˜ ๊ฒ€์ฆ ๋ฐฉ๋ฒ•์˜ set์ด์–ด์•ผ ํ•œ๋‹ค. ๊ฐ ๊ฒ€์ฆ ๋ฐฉ๋ฒ•์€ ๋‚ด์žฅ๋˜๊ฑฐ๋‚˜ ์ฐธ์กฐ๋  ์ˆ˜ ์žˆ๋‹ค.

์ด ์†์„ฑ์ด ์œ ์šฉํ•œ ์˜ˆ๋Š” DID ์ฃผ์ฒด์—๊ฒŒ ์ „๋‹ฌํ•˜๋ ค๋Š” ๋ฉ”์‹œ์ง€๋ฅผ ์•”ํ˜ธํ™”ํ•  ๋•Œ์ด๋‹ค. ์ด ๊ฒฝ์šฐ, ์ƒ๋Œ€๋ฐฉ์€ ๊ฒ€์ฆ ๋ฐฉ๋ฒ•์˜ ์•”ํ˜ธํ™” ๊ณต๊ฐœ ํ‚ค ์ •๋ณด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ˆ˜์‹ ์ž๋ฅผ ์œ„ํ•œ ๋ณตํ˜ธํ™” ํ‚ค๋ฅผ ๋ž˜ํ•‘ํ•œ๋‹ค.

{
  "@context": "https://www.w3.org/ns/did/v1",
  "id": "did:example:123456789abcdefghi",
  ...
  "keyAgreement": [
    // this method can be used to perform key agreement as did:...fghi
    "did:example:123456789abcdefghi#keys-1",
    // this method is *only* approved for key agreement usage, it will not
    // be used for any other verification relationship, so its full description is
    // embedded here rather than using only a reference
    {
      "id": "did:example:123#zC9ByQ8aJs8vrNXyDhPHHNNMSHPcaSgNpjjsBYpMMjsTdS",
      "type": "X25519KeyAgreementKey2019", // external (property value)
      "controller": "did:example:123",
      "publicKeyMultibase": "z9hFgmPVfmBZwRvFEyniQDBkz9LmV7gDEqytWyGZLmDXE"
    }
  ],
  ...
}
        

Capability Invocation

capabilityInvocation ๊ฒ€์ฆ ๊ด€๊ณ„๋Š” DID ๋ฌธ์„œ๋ฅผ ์—…๋ฐ์ดํŠธํ•  ๊ถŒํ•œ๊ณผ ๊ฐ™์€ ์•”ํ˜ธํ™” ๊ธฐ๋Šฅ์„ ํ˜ธ์ถœํ•˜๊ธฐ ์œ„ํ•ด DID ์ฃผ์ฒด๊ฐ€ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒ€์ฆ ๋ฐฉ๋ฒ•์„ ์ง€์ •ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋œ๋‹ค.

capabilityInvocation
capabilityInvocation ์†์„ฑ์€ ์„ ํƒ ์‚ฌํ•ญ์ด๋‹ค. ์กด์žฌํ•˜๋Š” ๊ฒฝ์šฐ, ๊ด€๋ จ๋œ ๊ฐ’์€ ํ•˜๋‚˜ ์ด์ƒ์˜ ๊ฒ€์ฆ ๋ฐฉ๋ฒ•์˜ set์ด์–ด์•ผ ํ•œ๋‹ค. ๊ฐ ๊ฒ€์ฆ ๋ฐฉ๋ฒ•์€ ๋‚ด์žฅ๋˜๊ฑฐ๋‚˜ ์ฐธ์กฐ๋  ์ˆ˜ ์žˆ๋‹ค.

์ด ์†์„ฑ์ด ์œ ์šฉํ•œ ์˜ˆ๋Š” DID ์ฃผ์ฒด๊ฐ€ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด ์ธ์ฆ์ด ํ•„์š”ํ•œ ๋ณดํ˜ธ๋œ HTTP API์— ์•ก์„ธ์Šคํ•ด์•ผ ํ•  ๋•Œ์ด๋‹ค. HTTP API๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ ์ธ์ฆํ•˜๊ธฐ ์œ„ํ•ด, DID ์ฃผ์ฒด๋Š” HTTP API๋ฅผ ํ†ตํ•ด ๋…ธ์ถœ๋˜๋Š” ํŠน์ • URL๊ณผ ์—ฐ๊ฒฐ๋œ ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•œ๋‹ค. ๊ธฐ๋Šฅ์˜ ํ˜ธ์ถœ์€ ์˜ˆ๋ฅผ ๋“ค์–ด HTTP ํ—ค๋”์— ๋ฐฐ์น˜๋˜๋Š” ๋””์ง€ํ„ธ ์„œ๋ช…๋œ ๋ฉ”์‹œ์ง€์™€ ๊ฐ™์ด ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ๋ฐฉ๋ฒ•์œผ๋กœ ํ‘œํ˜„๋  ์ˆ˜ ์žˆ๋‹ค.

HTTP API๋ฅผ ์ œ๊ณตํ•˜๋Š” ์„œ๋ฒ„๋Š” ๊ธฐ๋Šฅ์˜ ๊ฒ€์ฆ์ž์ด๋ฉฐ, ํ˜ธ์ถœ๋œ ๊ธฐ๋Šฅ์—์„œ ์ฐธ์กฐํ•˜๋Š” ๊ฒ€์ฆ ๋ฐฉ๋ฒ•์ด DID ๋ฌธ์„œ์˜ capabilityInvocation ์†์„ฑ์— ์กด์žฌํ•˜๋Š”์ง€ ๊ฒ€์ฆํ•ด์•ผ ํ•œ๋‹ค. ๊ฒ€์ฆ์ž๋Š” ๋˜ํ•œ ์ˆ˜ํ–‰๋˜๋Š” ์ž‘์—…์ด ์œ ํšจํ•˜๊ณ  ๊ธฐ๋Šฅ์ด ์•ก์„ธ์Šค๋˜๋Š” ๋ฆฌ์†Œ์Šค์— ์ ์ ˆํ•œ์ง€ ํ™•์ธํ•œ๋‹ค. ๊ฒ€์ฆ์ด ์„ฑ๊ณตํ•˜๋ฉด, ์„œ๋ฒ„๋Š” ํ˜ธ์ถœ์ž๊ฐ€ ๋ณดํ˜ธ๋œ ๋ฆฌ์†Œ์Šค์— ์•ก์„ธ์Šคํ•  ๊ถŒํ•œ์ด ์žˆ์Œ์„ ์•”ํ˜ธํ•™์ ์œผ๋กœ ๊ฒฐ์ •ํ•œ๋‹ค.

{
  "@context": [
    "https://www.w3.org/ns/did/v1",
    "https://w3id.org/security/suites/ed25519-2020/v1"
  ],
  "id": "did:example:123456789abcdefghi",
  ...
  "capabilityInvocation": [
    // this method can be used to invoke capabilities as did:...fghi
    "did:example:123456789abcdefghi#keys-1",
    // this method is *only* approved for capability invocation usage, it will not
    // be used for any other verification relationship, so its full description is
    // embedded here rather than using only a reference
    {
    "id": "did:example:123456789abcdefghi#keys-2",
    "type": "Ed25519VerificationKey2020", // external (property value)
    "controller": "did:example:123456789abcdefghi",
    "publicKeyMultibase": "zH3C2AVvLMv6gmMNam3uVAjZpfkcJCwDwnZn6z3wXmqPV"
    }
  ],
  ...
}
        

Capability Delegation

capabilityDelegation ๊ฒ€์ฆ ๊ด€๊ณ„๋Š” DID ์ฃผ์ฒด๊ฐ€ ํŠน์ • HTTP API์— ๋Œ€ํ•œ ์•ก์„ธ์Šค ๊ถŒํ•œ์„ ํ•˜์œ„ ์ฃผ์ฒด์— ์œ„์ž„ํ•˜๋Š” ๊ฒƒ๊ณผ ๊ฐ™์ด ์•”ํ˜ธํ™” ๊ธฐ๋Šฅ์„ ๋‹ค๋ฅธ ๋‹น์‚ฌ์ž์—๊ฒŒ ์œ„์ž„ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ์ง€์ •ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋œ๋‹ค.

capabilityDelegation
capabilityDelegation ์†์„ฑ์€ ์„ ํƒ ์‚ฌํ•ญ์ด๋‹ค. ์กด์žฌํ•˜๋Š” ๊ฒฝ์šฐ, ๊ด€๋ จ๋œ ๊ฐ’์€ ํ•˜๋‚˜ ์ด์ƒ์˜ ๊ฒ€์ฆ ๋ฐฉ๋ฒ•์˜ set์ด์–ด์•ผ ํ•œ๋‹ค. ๊ฐ ๊ฒ€์ฆ ๋ฐฉ๋ฒ•์€ ๋‚ด์žฅ๋˜๊ฑฐ๋‚˜ ์ฐธ์กฐ๋  ์ˆ˜ ์žˆ๋‹ค.

์ด ์†์„ฑ์ด ์œ ์šฉํ•œ ์˜ˆ๋Š” DID ์ปจํŠธ๋กค๋Ÿฌ๊ฐ€ ๋ณดํ˜ธ๋œ HTTP API์— ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ๋Š” ์ž์‹ ์˜ ๋Šฅ๋ ฅ์„ ์ž์‹  ์ด์™ธ์˜ ๋‹น์‚ฌ์ž์—๊ฒŒ ์œ„์ž„ํ•˜๊ธฐ๋กœ ์„ ํƒํ•  ๋•Œ์ด๋‹ค. ๋Šฅ๋ ฅ์„ ์œ„์ž„ํ•˜๊ธฐ ์œ„ํ•ด, DID ์ฃผ์ฒด๋Š” capabilityDelegation ๊ฒ€์ฆ ๊ด€๊ณ„์™€ ์—ฐ๊ฒฐ๋œ ๊ฒ€์ฆ ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•˜์—ฌ ๋‹ค๋ฅธ DID ์ฃผ์ฒด์—๊ฒŒ ๋Šฅ๋ ฅ์„ ์•”ํ˜ธํ•™์ ์œผ๋กœ ์„œ๋ช…ํ•  ๊ฒƒ์ด๋‹ค. ๊ทธ๋Ÿฌ๋ฉด ๋Œ€๋ฆฌ์ธ์€ ์— ์„ค๋ช…๋œ ์˜ˆ์™€ ์œ ์‚ฌํ•œ ๋ฐฉ์‹์œผ๋กœ ๊ทธ ๋Šฅ๋ ฅ์„ ์‚ฌ์šฉํ•  ๊ฒƒ์ด๋‹ค.

{
  "@context": [
    "https://www.w3.org/ns/did/v1",
    "https://w3id.org/security/suites/ed25519-2020/v1"
  ],
  "id": "did:example:123456789abcdefghi",
  ...
  "capabilityDelegation": [
    // this method can be used to perform capability delegation as did:...fghi
    "did:example:123456789abcdefghi#keys-1",
    // this method is *only* approved for granting capabilities; it will not
    // be used for any other verification relationship, so its full description is
    // embedded here rather than using only a reference
    {
    "id": "did:example:123456789abcdefghi#keys-2",
    "type": "Ed25519VerificationKey2020", // external (property value)
    "controller": "did:example:123456789abcdefghi",
    "publicKeyMultibase": "zH3C2AVvLMv6gmMNam3uVAjZpfkcJCwDwnZn6z3wXmqPV"
    }
  ],
  ...
}
        

Services

์„œ๋น„์Šค๋Š” DID ๋ฌธ์„œ์—์„œ DID ์ฃผ์ฒด ๋˜๋Š” ๊ด€๋ จ ์—”ํ‹ฐํ‹ฐ์™€ ํ†ต์‹ ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ํ‘œํ˜„ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋œ๋‹ค. ์„œ๋น„์Šค๋Š” DID ์ฃผ์ฒด๊ฐ€ ์ถ”๊ฐ€ ํƒ์ƒ‰, ์ธ์ฆ, ๊ถŒํ•œ ๋ถ€์—ฌ ๋˜๋Š” ์ƒํ˜ธ ์ž‘์šฉ์„ ์œ„ํ•œ ํƒˆ์ค‘์•™ ์‹ ์› ๊ด€๋ฆฌ ์„œ๋น„์Šค๋ฅผ ํฌํ•จํ•˜์—ฌ ๊ด‘๊ณ ํ•˜๊ณ ์ž ํ•˜๋Š” ๋ชจ๋“  ์œ ํ˜•์˜ ์„œ๋น„์Šค์ผ ์ˆ˜ ์žˆ๋‹ค.

๊ฐœ์ธ ์ •๋ณด ๋ณดํ˜ธ ๋ฌธ์ œ๋กœ ์ธํ•ด, ์†Œ์…œ ๋ฏธ๋””์–ด ๊ณ„์ •, ๊ฐœ์ธ ์›น์‚ฌ์ดํŠธ, ์ด๋ฉ”์ผ ์ฃผ์†Œ์™€ ๊ฐ™์€ ์„œ๋น„์Šค๋ฅผ ํ†ตํ•ด ๊ณต๊ฐœ ์ •๋ณด๋ฅผ ๊ณต๊ฐœํ•˜๋Š” ๊ฒƒ์€ ๊ถŒ์žฅ๋˜์ง€ ์•Š๋Š”๋‹ค. ๊ฐœ์ธ ์ •๋ณด ๋ณดํ˜ธ ๋ฌธ์ œ์— ๋Œ€ํ•œ ์ถ”๊ฐ€ ํƒ์ƒ‰์€ ์™€ ์—์„œ ์ฐพ์„ ์ˆ˜ ์žˆ๋‹ค. ์„œ๋น„์Šค์™€ ๊ด€๋ จ๋œ ์ •๋ณด๋Š” ์ข…์ข… ์„œ๋น„์Šค์— ํŠนํ™”๋˜์–ด ์žˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ์•”ํ˜ธํ™”๋œ ๋ฉ”์‹œ์ง• ์„œ๋น„์Šค์™€ ๊ด€๋ จ๋œ ์ •๋ณด๋Š” ๋ฉ”์‹œ์ง•์ด ์‹œ์ž‘๋˜๊ธฐ ์ „์— ์•”ํ˜ธํ™”๋œ ๋งํฌ๋ฅผ ์‹œ์ž‘ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค.

์„œ๋น„์Šค๋Š” ์•„๋ž˜์— ์„ค๋ช…๋œ service ์†์„ฑ์„ ์‚ฌ์šฉํ•˜์—ฌ ํ‘œํ˜„๋œ๋‹ค:

service

service ์†์„ฑ์€ ์„ ํƒ ์‚ฌํ•ญ์ด๋‹ค. ์กด์žฌํ•˜๋Š” ๊ฒฝ์šฐ, ๊ด€๋ จ๋œ ๊ฐ’์€ ๊ฐ ์„œ๋น„์Šค๊ฐ€ map์œผ๋กœ ์„ค๋ช…๋˜๋Š” ์„œ๋น„์Šค์˜ set์ด์–ด์•ผ ํ•œ๋‹ค. ๊ฐ ์„œ๋น„์Šค map์€ id, type, serviceEndpoint ์†์„ฑ์„ ํฌํ•จํ•ด์•ผ ํ•œ๋‹ค. ๊ฐ ์„œ๋น„์Šค ํ™•์žฅ์€ ์ถ”๊ฐ€ ์†์„ฑ์„ ํฌํ•จํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ํ™•์žฅ๊ณผ ๊ด€๋ จ๋œ ์†์„ฑ์„ ๋” ์ œํ•œํ•  ์ˆ˜ ์žˆ๋‹ค.

id
id ์†์„ฑ์˜ ๊ฐ’์€ [[RFC3986]]์„ ์ค€์ˆ˜ํ•˜๋Š” URI์—ฌ์•ผ ํ•œ๋‹ค. ๊ทœ๋ฒ”์— ๋ถ€ํ•ฉํ•˜๋Š” ์ƒ์‚ฐ์ž๋Š” ๋™์ผํ•œ id๋ฅผ ๊ฐ€์ง„ ์—ฌ๋Ÿฌ ๊ฐœ์˜ service ํ•ญ๋ชฉ์„ ์ƒ์„ฑํ•ด์„œ๋Š” ์•ˆ ๋œ๋‹ค. ๊ทœ๋ฒ”์— ๋ถ€ํ•ฉํ•˜๋Š” ์†Œ๋น„์ž๋Š” ๋™์ผํ•œ id๋ฅผ ๊ฐ€์ง„ ์—ฌ๋Ÿฌ ๊ฐœ์˜ service ํ•ญ๋ชฉ์ด ๊ฐ์ง€๋˜๋ฉด ์˜ค๋ฅ˜๋ฅผ ์ƒ์„ฑํ•ด์•ผ ํ•œ๋‹ค.
type
type ์†์„ฑ์˜ ๊ฐ’์€ ๋ฌธ์ž์—ด ๋˜๋Š” ๋ฌธ์ž์—ด์˜ set์ด์–ด์•ผ ํ•œ๋‹ค. ์ƒํ˜ธ ์šด์šฉ์„ฑ์„ ์ตœ๋Œ€ํ™”ํ•˜๊ธฐ ์œ„ํ•ด service ์œ ํ˜•๊ณผ ๊ด€๋ จ ์†์„ฑ์€ DID ๊ทœ๊ฒฉ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ [[?DID-SPEC-REGISTRIES]]์— ๋“ฑ๋ก๋˜์–ด์•ผ ํ•œ๋‹ค.
serviceEndpoint
serviceEndpoint ์†์„ฑ์˜ ๊ฐ’์€ ๋ฌธ์ž์—ด, map, ๋˜๋Š” ํ•˜๋‚˜ ์ด์ƒ์˜ ๋ฌธ์ž์—ด ๋ฐ/๋˜๋Š” map์œผ๋กœ ๊ตฌ์„ฑ๋œ set์ด์–ด์•ผ ํ•œ๋‹ค. ๋ชจ๋“  ๋ฌธ์ž์—ด ๊ฐ’์€ [[RFC3986]]์„ ์ค€์ˆ˜ํ•˜๋Š” ์œ ํšจํ•œ URI์—ฌ์•ผ ํ•˜๋ฉฐ RFC3986์˜ ์ •๊ทœํ™” ๋ฐ ๋น„๊ต ๊ทœ์น™๊ณผ ํ•ด๋‹น URI ์ฒด๊ณ„ ๊ทœ๊ฒฉ์˜ ๋ชจ๋“  ์ •๊ทœํ™” ๊ทœ์น™์— ๋”ฐ๋ผ ์ •๊ทœํ™”๋˜์–ด์•ผ ํ•œ๋‹ค.

For more information regarding privacy and security considerations related to services see , , , and .

{
  "service": [{
    "id":"did:example:123#linked-domain",
    "type": "LinkedDomains", // external (property value)
    "serviceEndpoint": "https://bar.example.com"
  }]
}
      

ํ‘œํ˜„

์ด ๊ทœ๊ฒฉ์—์„œ DID ๋ฌธ์„œ์˜ ๊ตฌ์ฒด์ ์ธ ์ง๋ ฌํ™”๋ฅผ ํ‘œํ˜„์ด๋ผ๊ณ  ํ•œ๋‹ค. ํ‘œํ˜„์€ ์ƒ์‚ฐ์ด๋ผ๊ณ  ํ•˜๋Š” ํ”„๋กœ์„ธ์Šค๋ฅผ ํ†ตํ•ด ๋ฐ์ดํ„ฐ ๋ชจ๋ธ์„ ์ง๋ ฌํ™”ํ•˜์—ฌ ์ƒ์„ฑ๋œ๋‹ค. ํ‘œํ˜„์€ ์†Œ๋น„๋ผ๊ณ  ํ•˜๋Š” ํ”„๋กœ์„ธ์Šค๋ฅผ ํ†ตํ•ด ๋ฐ์ดํ„ฐ ๋ชจ๋ธ๋กœ ๋ณ€ํ™˜๋œ๋‹ค. ์ƒ์‚ฐ ๋ฐ ์†Œ๋น„ ํ”„๋กœ์„ธ์Šค๋ฅผ ํ†ตํ•ด ์ •๋ณด๋ฅผ ํ•œ ํ‘œํ˜„์—์„œ ๋‹ค๋ฅธ ํ‘œํ˜„์œผ๋กœ ๋ณ€ํ™˜ํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด ๊ทœ๊ฒฉ์€ JSON๊ณผ JSON-LD์— ๋Œ€ํ•œ ํ‘œํ˜„์„ ์ •์˜ํ•˜๋ฉฐ, ๊ฐœ๋ฐœ์ž๋Š” ๋ฐ์ดํ„ฐ ๋ชจ๋ธ์„ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋Š” XML์ด๋‚˜ YAML๊ณผ ๊ฐ™์€ ๋‹ค๋ฅธ ํ‘œํ˜„์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. ๋‹ค์Œ ์„น์…˜์—์„œ๋Š” JSON ๋ฐ JSON-LD ํ‘œํ˜„๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์ƒ์‚ฐ ๋ฐ ์†Œ๋น„์— ๋Œ€ํ•œ ์ผ๋ฐ˜์ ์ธ ๊ทœ์น™์„ ์ •์˜ํ•œ๋‹ค.

์ƒ์‚ฐ๊ณผ ์†Œ๋น„

์ด ๊ทœ๊ฒฉ์— ์ •์˜๋œ ํ‘œํ˜„ ์™ธ์—๋„, ๊ตฌํ˜„์ž๋Š” ๊ฐ ํ‘œํ˜„์ด ์ ์ ˆํ•˜๊ฒŒ ์ง€์ •๋˜์–ด ์žˆ๋Š” ๊ฒฝ์šฐ(DID ๊ทœ๊ฒฉ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ [[?DID-SPEC-REGISTRIES]]์— ๋‚˜์—ด๋˜์ง€ ์•Š์€ ์†์„ฑ์˜ ์ƒํ˜ธ ์šด์šฉ ๊ฐ€๋Šฅํ•œ ์ฒ˜๋ฆฌ๋ฅผ ์œ„ํ•œ ๊ทœ์น™ ํฌํ•จ) ๋‹ค๋ฅธ ํ‘œํ˜„์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ ๋ฅผ ์ฐธ์กฐํ•˜๋ผ.

๋ชจ๋“  ํ‘œํ˜„์— ๋Œ€ํ•œ ์š”๊ตฌ์‚ฌํ•ญ์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค:

  1. ํ‘œํ˜„์€ ์— ์ง€์ •๋œ ๋ชจ๋“  ๋ฐ์ดํ„ฐ ์œ ํ˜•์— ๋Œ€ํ•ด ๊ฒฐ์ •์ ์ธ ์ƒ์‚ฐ ๋ฐ ์†Œ๋น„ ๊ทœ์น™์„ ์ •์˜ํ•ด์•ผ ํ•œ๋‹ค.
  2. ํ‘œํ˜„์€ IANA์— ๋“ฑ๋ก๋œ ๊ณ ์œ ํ•œ ๋ฏธ๋””์–ด ์œ ํ˜•๊ณผ ์—ฐ๊ฒฐ๋˜์–ด์•ผ ํ•œ๋‹ค.
  3. ํ‘œํ˜„์€ ์— ์ •์˜๋œ ํ”„๋ž˜๊ทธ๋จผํŠธ ์ฒ˜๋ฆฌ ๊ทœ์น™์„ ์ค€์ˆ˜ํ•˜๋Š” ๋ฏธ๋””์–ด ์œ ํ˜•์— ๋Œ€ํ•œ ํ”„๋ž˜๊ทธ๋จผํŠธ ์ฒ˜๋ฆฌ ๊ทœ์น™์„ ์ •์˜ํ•ด์•ผ ํ•œ๋‹ค.
  4. ํ‘œํ˜„์€ ๋ฐ์ดํ„ฐ ๋ชจ๋ธ ๋ฐ์ดํ„ฐ ์œ ํ˜•์˜ ์–ดํœ˜ ํ‘œํ˜„์„ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, JSON๊ณผ JSON-LD๋Š” datetime์„ ํ‘œํ˜„ํ•˜๊ธฐ ์œ„ํ•ด XML ์Šคํ‚ค๋งˆ dateTime ์–ดํœ˜ ์ง๋ ฌํ™”๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. ํ‘œํ˜„์€ ๋ฐ์ดํ„ฐ ๋ชจ๋ธ๋กœ ๋‹ค์‹œ ์†Œ๋น„ํ•˜๋Š” ๊ณผ์ •์—์„œ ์†์‹ค์ด ์—†๋Š” ํ•œ ๋‹ค๋ฅธ ์–ดํœ˜ ์ง๋ ฌํ™”๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ ๋ชจ๋ธ ๋ฐ์ดํ„ฐ ์œ ํ˜•์„ ์ง๋ ฌํ™”ํ•˜๋„๋ก ์„ ํƒํ•  ์ˆ˜ ์žˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ์ผ๋ถ€ CBOR ๊ธฐ๋ฐ˜ ํ‘œํ˜„์€ Unix ์‹œ๋Œ€ ์ดํ›„์˜ ์ดˆ ์ˆ˜๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ์ •์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ datetime ๊ฐ’์„ ํ‘œํ˜„ํ•œ๋‹ค.
  5. ํ‘œํ˜„์€ ์ƒ์‚ฐ ๋ฐ ์†Œ๋น„ ํ”„๋กœ์„ธ์Šค์—์„œ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด representation-specific entries map์— ์ €์žฅ๋˜๋Š” representation-specific entries๋ฅผ ์ •์˜ํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด๋Ÿฌํ•œ ํ•ญ๋ชฉ์€ ์†์‹ค ์—†๋Š” ๋ณ€ํ™˜์„ ๋ณด์žฅํ•˜๋Š” ๋ฐ ๋„์›€์„ ์ฃผ๊ธฐ ์œ„ํ•ด ์†Œ๋น„ ๋˜๋Š” ์ƒ์‚ฐ ์‹œ ์‚ฌ์šฉ๋œ๋‹ค.
  6. ์ƒํ˜ธ ์šด์šฉ์„ฑ์„ ๊ทน๋Œ€ํ™”ํ•˜๊ธฐ ์œ„ํ•ด ํ‘œํ˜„ ์‚ฌ์–‘ ์ž‘์„ฑ์ž๋Š” DID ๊ทœ๊ฒฉ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ [[?DID-SPEC-REGISTRIES]]์— ์ž์‹ ์˜ ํ‘œํ˜„์„ ๋“ฑ๋กํ•ด์•ผ ํ•œ๋‹ค.

๋ชจ๋“  ๊ทœ๋ฒ”์— ๋ถ€ํ•ฉํ•˜๋Š” ์ƒ์‚ฐ์ž์— ๋Œ€ํ•œ ์š”๊ตฌ์‚ฌํ•ญ์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค:

  1. ๊ทœ๋ฒ”์— ๋ถ€ํ•ฉํ•˜๋Š” ์ƒ์‚ฐ์ž๋Š” ์ƒ์‚ฐ ํ”„๋กœ์„ธ์Šค์— ๋Œ€ํ•œ ์ž…๋ ฅ์œผ๋กœ DID ๋ฌธ์„œ ๋ฐ์ดํ„ฐ ๋ชจ๋ธ๊ณผ representation-specific entries map์„ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค. ๊ทœ๋ฒ”์— ๋ถ€ํ•ฉํ•˜๋Š” ์ƒ์‚ฐ์ž๋Š” ์ƒ์‚ฐ ํ”„๋กœ์„ธ์Šค์— ๋Œ€ํ•œ ์ž…๋ ฅ์œผ๋กœ ์ถ”๊ฐ€ ์˜ต์…˜์„ ๋ฐ›์•„๋“ค์ผ ์ˆ˜ ์žˆ๋‹ค.
  2. ๊ทœ๋ฒ”์— ๋ถ€ํ•ฉํ•˜๋Š” ์ƒ์‚ฐ์ž๋Š” ์ƒ์„ฑ ์ค‘์ธ ํ‘œํ˜„์— ๋Œ€ํ•œ ๋ช…์‹œ์ ์ธ ์ฒ˜๋ฆฌ ๊ทœ์น™์ด ์—†๋Š” DID ๋ฌธ์„œ ๋ฐ์ดํ„ฐ ๋ชจ๋ธ๊ณผ representation-specific entries map์˜ ๋ชจ๋“  ํ•ญ๋ชฉ์„ ํ‘œํ˜„์˜ ๋ฐ์ดํ„ฐ ์œ ํ˜• ์ฒ˜๋ฆฌ ๊ทœ์น™๋งŒ์„ ์‚ฌ์šฉํ•˜์—ฌ ์ง๋ ฌํ™”ํ•˜๊ณ  ์ƒ์‚ฐ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์™„๋ฃŒ๋œ ํ›„ ์ง๋ ฌํ™”๋œ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ˜ํ™˜ํ•ด์•ผ ํ•œ๋‹ค.
  3. ๊ทœ๋ฒ”์— ๋ถ€ํ•ฉํ•˜๋Š” ์ƒ์‚ฐ์ž๋Š” ์ƒ์‚ฐ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์™„๋ฃŒ๋œ ํ›„ ํ‘œํ˜„๊ณผ ์—ฐ๊ฒฐ๋œ ๋ฏธ๋””์–ด ์œ ํ˜• ๋ฌธ์ž์—ด์„ ๋ฐ˜ํ™˜ํ•ด์•ผ ํ•œ๋‹ค.
  4. ๊ทœ๋ฒ”์— ๋ถ€ํ•ฉํ•˜๋Š” ์ƒ์‚ฐ์ž๋Š” ๊ทœ๋ฒ”์„ ์ค€์ˆ˜ํ•˜์ง€ ์•Š๋Š” DID ๋˜๋Š” DID ๋ฌธ์„œ๋ฅผ ์ƒ์„ฑํ•˜๋ฉด ์•ˆ ๋œ๋‹ค.

๋ชจ๋“  ๊ทœ๋ฒ”์— ๋ถ€ํ•ฉํ•˜๋Š” ์†Œ๋น„์ž์— ๋Œ€ํ•œ ์š”๊ตฌ์‚ฌํ•ญ์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค:

  1. ๊ทœ๋ฒ”์— ๋ถ€ํ•ฉํ•˜๋Š” ์†Œ๋น„์ž๋Š” ์†Œ๋น„ ํ”„๋กœ์„ธ์Šค์— ๋Œ€ํ•œ ์ž…๋ ฅ์œผ๋กœ ํ‘œํ˜„๊ณผ ๋ฏธ๋””์–ด ์œ ํ˜• ๋ฌธ์ž์—ด์„ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค. ๊ทœ๋ฒ”์— ๋ถ€ํ•ฉํ•˜๋Š” ์†Œ๋น„์ž๋Š” ์†Œ๋น„ ํ”„๋กœ์„ธ์Šค์— ๋Œ€ํ•œ ์ž…๋ ฅ์œผ๋กœ ์ถ”๊ฐ€ ์˜ต์…˜์„ ๋ฐ›์•„๋“ค์ผ ์ˆ˜ ์žˆ๋‹ค.
  2. ๊ทœ๋ฒ”์— ๋ถ€ํ•ฉํ•˜๋Š” ์†Œ๋น„์ž๋Š” ๋ฏธ๋””์–ด ์œ ํ˜• ์ž…๋ ฅ ๋ฌธ์ž์—ด์„ ์‚ฌ์šฉํ•˜์—ฌ DID ๋ฌธ์„œ์˜ ํ‘œํ˜„์„ ๊ฒฐ์ •ํ•ด์•ผ ํ•œ๋‹ค.
  3. ๊ทœ๋ฒ”์— ๋ถ€ํ•ฉํ•˜๋Š” ์†Œ๋น„์ž๋Š” ๋ชจ๋“  ์•Œ๋ ค์ง„ ํ‘œํ˜„์—์„œ representation-specific entry๋ฅผ ๊ฐ์ง€ํ•˜๊ณ  ํ•ด๋‹น ํ•ญ๋ชฉ์„ representation-specific entries map์— ๋ฐฐ์น˜ํ•ด์•ผ ํ•˜๋ฉฐ, ์ด map์€ ์†Œ๋น„ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์™„๋ฃŒ๋œ ํ›„ ๋ฐ˜ํ™˜๋œ๋‹ค. ๋ชจ๋“  ์•Œ๋ ค์ง„ representation-specific entries์˜ ๋ชฉ๋ก์€ DID ๊ทœ๊ฒฉ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ [[?DID-SPEC-REGISTRIES]]์—์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.
  4. ๊ทœ๋ฒ”์— ๋ถ€ํ•ฉํ•˜๋Š” ์†Œ๋น„์ž๋Š” ์†Œ๋น„ ์ค‘์ธ ํ‘œํ˜„์— ๋Œ€ํ•œ ๋ช…์‹œ์ ์ธ ์ฒ˜๋ฆฌ ๊ทœ์น™์ด ์—†๋Š” ๋ชจ๋“  non-representation-specific entries๋ฅผ ํ‘œํ˜„์˜ ๋ฐ์ดํ„ฐ ์œ ํ˜• ์ฒ˜๋ฆฌ ๊ทœ์น™๋งŒ์„ ์‚ฌ์šฉํ•˜์—ฌ DID ๋ฌธ์„œ ๋ฐ์ดํ„ฐ ๋ชจ๋ธ์— ์ถ”๊ฐ€ํ•˜๊ณ  ์†Œ๋น„ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์™„๋ฃŒ๋œ ํ›„ DID ๋ฌธ์„œ ๋ฐ์ดํ„ฐ ๋ชจ๋ธ์„ ๋ฐ˜ํ™˜ํ•ด์•ผ ํ•œ๋‹ค.
  5. ๊ทœ๋ฒ”์— ๋ถ€ํ•ฉํ•˜๋Š” ์†Œ๋น„์ž๋Š” ๊ทœ๋ฒ”์„ ์ค€์ˆ˜ํ•˜์ง€ ์•Š๋Š” DID ๋˜๋Š” DID ๋ฌธ์„œ๋ฅผ ์†Œ๋น„ํ•  ๋•Œ ์˜ค๋ฅ˜๋ฅผ ์ƒ์„ฑํ•ด์•ผ ํ•œ๋‹ค.

Diagram illustrating how representations of the data model are produced
and consumed, including in JSON and JSON-LD.
Production and consumption of representations. See also: narrative description.

The upper left quadrant of the diagram contains a rectangle with dashed grey outline, containing two blue-outlined rectangles, one above the other. The upper, larger rectangle is labeled, in blue, "Core Properties", and contains the following INFRA notation:

ยซ[
  "id" โ†’ "example:123",
  "verificationMethod" โ†’ ยซ ยซ[
    "id": "did:example:123#keys-1",
    "controller": "did:example:123",
    "type": "Ed25519VerificationKey2018",
    "publicKeyBase58": "H3C2AVvLMv6gmMNam3uVA"
  ]ยป ยป,
  "authentication" โ†’ ยซ
    "did:example:123#keys-1"
  ยป
]ยป
        
The lower, smaller rectangle is labeled, in blue, "Core Representation-specific Entries (JSON-LD)", and contains the following monospaced INFRA notation:
ยซ[ "@context" โ†’ "https://www.w3.org/ns/did/v1" ]ยป
        

From the grey-outlined rectangle, three pairs of arrows extend to three different black-outlined rectangles, one on the upper right of the diagram, one in the lower right, and one in the lower left. Each pair of arrows consists of one blue arrow pointing from the grey-outlined rectangle to the respective black-outlined rectangle, labeled "produce", and one red arrow pointing in the reverse direction, labeled "consume". The black-outlined rectangle in the upper right is labeled "application/did+cbor", and contains hexadecimal data. The rectangle in the lower right is labeled "application/did+json", and contains the following JSON data:

{
  "id": "did:example:123",
  "verificationMethod": [{
    "id": "did:example:123#keys-1",
    "controller": "did:example:123",
    "type": "Ed25519VerificationKey2018",
    "publicKeyBase58": "H3C2AVvLMv6gmMNam3uVA"
  }],
  "authentication": [
    "did:example:123#keys-1"
  ]
}
        

The rectangle in the lower left is labeled "application/did+ld+json", and contains the following JSON-LD data:

{
  "@context": ["https://www.w3.org/ns/did/v1"],
  "id": "did:example:123",
  "verificationMethod": [{
    "id": "did:example:123#keys-1",
    "controller": "did:example:123",
    "type": "Ed25519VerificationKey2018",
    "publicKeyBase58": "H3C2AVvLMv6gmMNam3uVA"
  }],
  "authentication": [
    "did:example:123#keys-1"
  ]
}
        

An implementation is expected to convert between representations by using the consumption rules on the source representation resulting in the data model and then using the production rules to serialize data model to the target representation, or any other mechanism that results in the same target representation.

JSON

์ด ์„น์…˜์—์„œ๋Š” JSON ํ‘œํ˜„์— ๋Œ€ํ•œ ์ƒ์‚ฐ ๋ฐ ์†Œ๋น„ ๊ทœ์น™์„ ์ •์˜ํ•œ๋‹ค.

์ƒ์‚ฐ

DID ๋ฌธ์„œ, DID ๋ฌธ์„œ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ ๋ฐ representation-specific entries map์€ ๋‹ค์Œ ์ƒ์‚ฐ ๊ทœ์น™์— ๋”ฐ๋ผ JSON ํ‘œํ˜„์œผ๋กœ ์ง๋ ฌํ™”๋˜์–ด์•ผ ํ•œ๋‹ค:

๋ฐ์ดํ„ฐ ์œ ํ˜• JSON ํ‘œํ˜„ ์œ ํ˜•
map ๊ฐ ํ•ญ๋ชฉ์ด JSON ๊ฐ์ฒด์˜ ๋ฉค๋ฒ„๋กœ ์ง๋ ฌํ™”๋˜๋ฉฐ, ํ•ญ๋ชฉ ํ‚ค๋Š” JSON ๋ฌธ์ž์—ด ๋ฉค๋ฒ„ ์ด๋ฆ„์œผ๋กœ, ํ•ญ๋ชฉ ๊ฐ’์€ ์ด ํ‘œ์— ์ •์˜๋œ ๋Œ€๋กœ ํ•ด๋‹น ์œ ํ˜•์— ๋”ฐ๋ผ ์ง๋ ฌํ™”๋˜๋Š” JSON ๊ฐ์ฒด.
list ๋ชฉ๋ก์˜ ๊ฐ ์š”์†Œ๊ฐ€ ์ˆœ์„œ๋Œ€๋กœ ์ด ํ‘œ์— ์ •์˜๋œ ๋Œ€๋กœ ํ•ด๋‹น ์œ ํ˜•์— ๋”ฐ๋ผ ๋ฐฐ์—ด์˜ ๊ฐ’์œผ๋กœ ์ง๋ ฌํ™”๋˜๋Š” JSON ๋ฐฐ์—ด.
set ์ง‘ํ•ฉ์˜ ๊ฐ ์š”์†Œ๊ฐ€ ์ˆœ์„œ๋Œ€๋กœ ์ด ํ‘œ์— ์ •์˜๋œ ๋Œ€๋กœ ํ•ด๋‹น ์œ ํ˜•์— ๋”ฐ๋ผ ๋ฐฐ์—ด์˜ ๊ฐ’์œผ๋กœ ์ถ”๊ฐ€๋˜๋Š” JSON ๋ฐฐ์—ด.
datetime UTC 00:00:00์œผ๋กœ ์ •๊ทœํ™”๋˜๊ณ  ์ดˆ ๋ฏธ๋งŒ์˜ ์†Œ์ˆ˜ ์ž๋ฆฟ์ˆ˜ ์ •๋ฐ€๋„ ์—†์ด XML Datetime์œผ๋กœ ์ง๋ ฌํ™”๋œ JSON ๋ฌธ์ž์—ด. ์˜ˆ: 2020-12-20T19:17:47Z.
string JSON ๋ฌธ์ž์—ด.
integer ์†Œ์ˆ˜ ๋˜๋Š” ๋ถ„์ˆ˜ ์„ฑ๋ถ„์ด ์—†๋Š” JSON ์ˆซ์ž.
double ์†Œ์ˆ˜์™€ ๋ถ„์ˆ˜ ์„ฑ๋ถ„์ด ์žˆ๋Š” JSON ์ˆซ์ž.
boolean JSON ๋ถˆ๋ฆฌ์–ธ.
Null JSON null ๋ฆฌํ„ฐ๋Ÿด.

JSON ํ‘œํ˜„์„ ์ƒ์„ฑํ•˜๋Š” ๊ทœ๋ฒ”์— ๋ถ€ํ•ฉํ•˜๋Š” ์ƒ์‚ฐ์ž๋ฅผ ๋งŒ๋“œ๋Š” ๋ชจ๋“  ๊ตฌํ˜„์ž๋Š” ์ž์‹ ์˜ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด [[INFRA]] ๊ทœ๊ฒฉ์˜ JSON ์ง๋ ฌํ™” ๊ทœ์น™๊ณผ JSON [[RFC8259]] ๊ทœ๊ฒฉ์˜ ์ˆซ์ž์— ๋Œ€ํ•œ ์ •๋ฐ€๋„ ๊ถŒ๊ณ ์‚ฌํ•ญ์— ๋งž์ถฐ์ ธ ์žˆ๋Š”์ง€ ํ™•์ธํ•˜๋Š” ๊ฒƒ์ด ์ข‹๋‹ค.

DID ๋ฌธ์„œ์˜ ๋ชจ๋“  ํ•ญ๋ชฉ์€ ๋ฃจํŠธ JSON ๊ฐ์ฒด์— ํฌํ•จ๋˜์–ด์•ผ ํ•œ๋‹ค. ํ•ญ๋ชฉ์€ ์œ„ ๋ชฉ๋ก์˜ ๊ฐ’ ํ‘œํ˜„ ๊ทœ์น™์— ๋”ฐ๋ผ ์ถ”๊ฐ€ ๋ฐ์ดํ„ฐ ํ•˜์œ„ ๊ตฌ์กฐ๋ฅผ ํฌํ•จํ•  ์ˆ˜ ์žˆ๋‹ค. DID ๋ฌธ์„œ๋ฅผ ์ง๋ ฌํ™”ํ•  ๋•Œ, ๊ทœ๋ฒ”์— ๋ถ€ํ•ฉํ•˜๋Š” ์ƒ์‚ฐ์ž๋Š” ์— ์„ค๋ช…๋œ ๊ฒƒ๊ณผ ๊ฐ™์ด ํ•˜์œ„ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— application/did+json์˜ ๋ฏธ๋””์–ด ์œ ํ˜•์„ ์ง€์ •ํ•ด์•ผ ํ•œ๋‹ค.

{
  "id": "did:example:123456789abcdefghi",
  "authentication": [{
    "id": "did:example:123456789abcdefghi#keys-1",
    "type": "Ed25519VerificationKey2018",
    "controller": "did:example:123456789abcdefghi",
    "publicKeyBase58": "H3C2AVvLMv6gmMNam3uVAjZpfkcJCwDwnZn6z3wXmqPV"
  }]
}
      

์†Œ๋น„

DID ๋ฌธ์„œ์™€ DID ๋ฌธ์„œ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ JSON ํ‘œํ˜„์€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์†Œ๋น„ ๊ทœ์น™์— ๋”ฐ๋ผ ๋ฐ์ดํ„ฐ ๋ชจ๋ธ๋กœ ์—ญ์ง๋ ฌํ™”๋˜์–ด์•ผ ํ•œ๋‹ค:

JSON Representation Type Data Type
JSON Object map์ด๋ฉฐ, JSON ๊ฐ์ฒด์˜ ๊ฐ ๋ฉค๋ฒ„๋Š” map์— ํ•ญ๋ชฉ์œผ๋กœ ์ถ”๊ฐ€๋œ๋‹ค. ๊ฐ ํ•ญ๋ชฉ ํ‚ค๋Š” JSON ๊ฐ์ฒด ๋ฉค๋ฒ„ ์ด๋ฆ„์œผ๋กœ ์„ค์ •๋œ๋‹ค. ๊ฐ ํ•ญ๋ชฉ ๊ฐ’์€ ์ด ํ‘œ์— ์ •์˜๋œ JSON ํ‘œํ˜„ ํƒ€์ž…์— ๋”ฐ๋ผ JSON ๊ฐ์ฒด ๋ฉค๋ฒ„ ๊ฐ’์„ ๋ณ€ํ™˜ํ•˜์—ฌ ์„ค์ •๋œ๋‹ค. JSON ๊ฐ์ฒด์—์„œ ์ˆœ์„œ๊ฐ€ ์ง€์ •๋˜์ง€ ์•Š์œผ๋ฏ€๋กœ, ์‚ฝ์ž… ์ˆœ์„œ๊ฐ€ ๋ณด์žฅ๋˜์ง€ ์•Š๋Š”๋‹ค.
JSON ๋ฐฐ์—ด์ด๋ฉฐ, ๋ฐ์ดํ„ฐ ๋ชจ๋ธ ํ•ญ๋ชฉ ๊ฐ’์ด ๋ฆฌ์ŠคํŠธ ๋˜๋Š” ๋ฏธ์ •์ธ ๊ฒฝ์šฐ์— ํ•ด๋‹นํ•œ๋‹ค. list์ด๋ฉฐ, JSON ๋ฐฐ์—ด์˜ ๊ฐ ๊ฐ’์€ ์ˆœ์„œ์— ๋”ฐ๋ผ ๋ฆฌ์ŠคํŠธ์— ์ถ”๊ฐ€๋œ๋‹ค. ๋ฐฐ์—ด ๊ฐ’์˜ JSON ํ‘œํ˜„ ์œ ํ˜•์— ๋”ฐ๋ผ ๋ณ€ํ™˜๋˜๋ฉฐ, ์ด๋Š” ๋ณธ ํ‘œ์— ์ •์˜๋˜์–ด ์žˆ๋‹ค.
๋ฐ์ดํ„ฐ ๋ชจ๋ธ ํ•ญ๋ชฉ ๊ฐ’์ด set์ธ JSON ๋ฐฐ์—ด JSON ๋ฐฐ์—ด์˜ ๊ฐ ๊ฐ’์ด ์ด ํ‘œ์— ์ •์˜๋œ ๋Œ€๋กœ ๋ฐฐ์—ด ๊ฐ’์˜ JSON ํ‘œํ˜„ ์œ ํ˜•์— ๋”ฐ๋ผ ๋ณ€ํ™˜๋˜์–ด ์ˆœ์„œ๋Œ€๋กœ ์ถ”๊ฐ€๋˜๋Š” set.
๋ฐ์ดํ„ฐ ๋ชจ๋ธ ํ•ญ๋ชฉ ๊ฐ’์ด datetime์ธ JSON ๋ฌธ์ž์—ด datetime.
๋ฐ์ดํ„ฐ ๋ชจ๋ธ ํ•ญ๋ชฉ ๊ฐ’ ์œ ํ˜•์ด string ๋˜๋Š” ์•Œ ์ˆ˜ ์—†๋Š” JSON ๋ฌธ์ž์—ด string.
์†Œ์ˆ˜ ๋˜๋Š” ๋ถ„์ˆ˜ ์„ฑ๋ถ„์ด ์—†๋Š” JSON ์ˆซ์ž integer.
์†Œ์ˆ˜์™€ ๋ถ„์ˆ˜ ์„ฑ๋ถ„์ด ์žˆ๋Š” JSON ์ˆซ์ž ๋˜๋Š” ๋ถ„์ˆ˜ ์„ฑ๋ถ„ ํฌํ•จ ์—ฌ๋ถ€์— ๊ด€๊ณ„์—†์ด ํ•ญ๋ชฉ ๊ฐ’์ด double์ผ ๋•Œ double.
JSON ๋ถˆ๋ฆฌ์–ธ boolean.
JSON null ๋ฆฌํ„ฐ๋Ÿด null ๊ฐ’.

JSON ํ‘œํ˜„์„ ์ƒ์„ฑํ•˜๋Š” ๊ทœ๋ฒ”์— ๋ถ€ํ•ฉํ•˜๋Š” ์†Œ๋น„์ž๋ฅผ ๋งŒ๋“œ๋Š” ๋ชจ๋“  ๊ตฌํ˜„์ž๋Š” ์ž์‹ ์˜ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด [[INFRA]] ๊ทœ๊ฒฉ์˜ JSON ๋ณ€ํ™˜ ๊ทœ์น™๊ณผ JSON [[RFC8259]] ๊ทœ๊ฒฉ์˜ ์ˆซ์ž์— ๋Œ€ํ•œ ์ •๋ฐ€๋„ ์กฐ์–ธ์— ๋ถ€ํ•ฉํ•˜๋„๋ก ํ•ด์•ผ ํ•œ๋‹ค.

๋ฏธ๋””์–ด ์œ ํ˜• ์ •๋ณด๋ฅผ ๊ทœ๋ฒ”์— ๋ถ€ํ•ฉํ•˜๋Š” ์†Œ๋น„์ž๊ฐ€ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ณ  ๋ฏธ๋””์–ด ์œ ํ˜• ๊ฐ’์ด application/did+json์ธ ๊ฒฝ์šฐ, ์†Œ๋น„๋˜๋Š” ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ๋Š” DID ๋ฌธ์„œ์ด๋ฉฐ, ๋ฃจํŠธ ์š”์†Œ๋Š” ๊ฐ์ฒด์˜ ๋ชจ๋“  ๋ฉค๋ฒ„๊ฐ€ DID ๋ฌธ์„œ์˜ ํ•ญ๋ชฉ์ธ JSON ๊ฐ์ฒด์—ฌ์•ผ ํ•œ๋‹ค. ๋ฃจํŠธ ์š”์†Œ๊ฐ€ JSON ๊ฐ์ฒด๊ฐ€ ์•„๋‹Œ DID ๋ฌธ์„œ๋ฅผ ์†Œ๋น„ํ•˜๋Š” JSON ํ‘œํ˜„์— ๋Œ€ํ•œ ๊ทœ๋ฒ”์— ๋ถ€ํ•ฉํ•˜๋Š” ์†Œ๋น„์ž๋Š” ์˜ค๋ฅ˜๋ฅผ ๋ณด๊ณ ํ•ด์•ผ ํ•œ๋‹ค.

JSON-LD

JSON-LD [[JSON-LD11]]๋Š” ์—ฐ๊ฒฐ๋œ ๋ฐ์ดํ„ฐ๋ฅผ ์ง๋ ฌํ™”ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” JSON ๊ธฐ๋ฐ˜ ํ˜•์‹์ด๋‹ค. ์ด ์„น์…˜์—์„œ๋Š” JSON-LD ํ‘œํ˜„์— ๋Œ€ํ•œ ์ƒ์‚ฐ ๋ฐ ์†Œ๋น„ ๊ทœ์น™์„ ์ •์˜ํ•œ๋‹ค.

JSON-LD ํ‘œํ˜„์€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ํ‘œํ˜„๋ณ„ ํ•ญ๋ชฉ์„ ์ •์˜ํ•œ๋‹ค:

@context
JSON-LD ์ปจํ…์ŠคํŠธ๋Š” ๋ฌธ์ž์—ด ๋ฐ/๋˜๋Š” ์ˆœ์„œ๊ฐ€ ์žˆ๋Š” map์˜ ์กฐํ•ฉ์„ ํฌํ•จํ•˜๋Š” ๋ฌธ์ž์—ด ๋˜๋Š” ๋ชฉ๋ก์ด๋‹ค.

์ƒ์‚ฐ

DID ๋ฌธ์„œ, DID ๋ฌธ์„œ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ ๋ฐ representation-specific entries map์€ ์— ์ •์˜๋œ JSON ํ‘œํ˜„ ์ƒ์‚ฐ ๊ทœ์น™์— ๋”ฐ๋ผ JSON-LD ํ‘œํ˜„์œผ๋กœ ์ง๋ ฌํ™”๋˜์–ด์•ผ ํ•œ๋‹ค.

JSON ํ‘œํ˜„ ์ƒ์‚ฐ ๊ทœ์น™์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ ์™ธ์—๋„, JSON-LD ์ƒ์‚ฐ์€ ํ‘œํ˜„๋ณ„ @context ํ•ญ๋ชฉ์„ ํฌํ•จํ•ด์•ผ ํ•œ๋‹ค. @context์˜ ์ง๋ ฌํ™”๋œ ๊ฐ’์€ JSON ๋ฌธ์ž์—ด https://www.w3.org/ns/did/v1์ด๊ฑฐ๋‚˜, ์ฒซ ๋ฒˆ์งธ ํ•ญ๋ชฉ์ด JSON ๋ฌธ์ž์—ด https://www.w3.org/ns/did/v1์ด๊ณ  ํ›„์† ํ•ญ๋ชฉ์ด JSON ํ‘œํ˜„ ์ƒ์‚ฐ ๊ทœ์น™์— ๋”ฐ๋ผ ์ง๋ ฌํ™”๋œ JSON ๋ฐฐ์—ด์ด์–ด์•ผ ํ•œ๋‹ค.

{
  "@context": "https://www.w3.org/ns/did/v1",
  ...
}
        
{
  "@context": [
    "https://www.w3.org/ns/did/v1",
    "https://did-method-extension.example/v1"
  ],
  ...
}
        

JSON-LD ํ‘œํ˜„์„ ์ƒ์„ฑํ•˜๋Š” ๊ทœ๋ฒ”์— ๋ถ€ํ•ฉํ•˜๋Š” ์ƒ์‚ฐ์ž๋ฅผ ๋งŒ๋“œ๋Š” ๋ชจ๋“  ๊ตฌํ˜„์ž๋Š” ์ž์‹ ์˜ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ์œ ํšจํ•œ JSON-LD [[JSON-LD11]] ๋ฌธ์„œ๋ฅผ ์ƒ์„ฑํ•˜๋„๋ก ํ•ด์•ผ ํ•œ๋‹ค. ์œ ํšจํ•˜์ง€ ์•Š์€ JSON-LD ๋ฌธ์„œ๋Š” JSON-LD ํ”„๋กœ์„ธ์„œ๊ฐ€ ์ค‘์ง€๋˜๊ณ  ์˜ค๋ฅ˜๋ฅผ ๋ณด๊ณ ํ•˜๋„๋ก ํ•  ๊ฒƒ์ด๋‹ค.

์„œ๋กœ ๋‹ค๋ฅธ ํ‘œํ˜„ ๊ฐ„์˜ ์ƒํ˜ธ ์šด์šฉ์„ฑ์„ ๋‹ฌ์„ฑํ•˜๊ธฐ ์œ„ํ•ด, ๋ชจ๋“  JSON-LD ์ปจํ…์ŠคํŠธ์™€ ํ•ด๋‹น ์šฉ์–ด๋Š” DID ๊ทœ๊ฒฉ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ [[?DID-SPEC-REGISTRIES]]์— ๋“ฑ๋ก๋˜์–ด์•ผ ํ•œ๋‹ค.

JSON-LD ํ‘œํ˜„์„ ์ƒ์„ฑํ•˜๋Š” ๊ทœ๋ฒ”์— ๋ถ€ํ•ฉํ•˜๋Š” ์ƒ์‚ฐ์ž๋Š” ๊ทœ๋ฒ”์— ๋ถ€ํ•ฉํ•˜๋Š” ์†Œ๋น„์ž๊ฐ€ ์•Œ ์ˆ˜ ์—†๋Š” ์šฉ์–ด๋ฅผ ์ œ๊ฑฐํ•  ๊ฒƒ์œผ๋กœ ์˜ˆ์ƒ๋˜๋ฏ€๋กœ @context๋ฅผ ํ†ตํ•ด ์ •์˜๋˜์ง€ ์•Š์€ ์šฉ์–ด๊ฐ€ ํฌํ•จ๋œ DID ๋ฌธ์„œ๋ฅผ ์ƒ์„ฑํ•˜์ง€ ๋ง์•„์•ผ ํ•œ๋‹ค. DID ๋ฌธ์„œ์˜ JSON-LD ํ‘œํ˜„์„ ์ง๋ ฌํ™”ํ•  ๋•Œ, ๊ทœ๋ฒ”์— ๋ถ€ํ•ฉํ•˜๋Š” ์ƒ์‚ฐ์ž๋Š” ์— ์„ค๋ช…๋œ ๊ฒƒ๊ณผ ๊ฐ™์ด ํ•˜์œ„ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— application/did+ld+json์˜ ๋ฏธ๋””์–ด ์œ ํ˜•์„ ์ง€์ •ํ•ด์•ผ ํ•œ๋‹ค.

์†Œ๋น„

JSON-LD ํ‘œํ˜„์œผ๋กœ ํ‘œํ˜„๋œ DID ๋ฌธ์„œ ๋ฐ ๋ชจ๋“  DID ๋ฌธ์„œ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ๋Š” ์— ์ •์˜๋œ JSON ํ‘œํ˜„ ์†Œ๋น„ ๊ทœ์น™์— ๋”ฐ๋ผ ๋ฐ์ดํ„ฐ ๋ชจ๋ธ๋กœ ์—ญ์ง๋ ฌํ™”๋˜์–ด์•ผ ํ•œ๋‹ค.

JSON-LD ํ‘œํ˜„์„ ์†Œ๋น„ํ•˜๋Š” ๊ทœ๋ฒ”์— ๋ถ€ํ•ฉํ•˜๋Š” ์†Œ๋น„์ž๋ฅผ ๋งŒ๋“œ๋Š” ๋ชจ๋“  ๊ตฌํ˜„์ž๋Š” ์ž์‹ ์˜ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ์œ ํšจํ•œ JSON-LD [[JSON-LD11]] ๋ฌธ์„œ๋งŒ ์ˆ˜์šฉํ•˜๋„๋ก ํ•ด์•ผ ํ•œ๋‹ค. ์œ ํšจํ•˜์ง€ ์•Š์€ JSON-LD ๋ฌธ์„œ๋Š” JSON-LD ํ”„๋กœ์„ธ์„œ๊ฐ€ ์ค‘์ง€๋˜๊ณ  ์˜ค๋ฅ˜๋ฅผ ๋ณด๊ณ ํ•˜๋„๋ก ํ•  ๊ฒƒ์ด๋‹ค.

JSON-LD ํ‘œํ˜„์„ ์ฒ˜๋ฆฌํ•˜๋Š” ๊ทœ๋ฒ”์— ๋ถ€ํ•ฉํ•˜๋Š” ์†Œ๋น„์ž๋Š” @context๋ฅผ ํ†ตํ•ด ์ •์˜๋˜์ง€ ์•Š์€ DID ๋ฌธ์„œ์˜ ๋ชจ๋“  ์šฉ์–ด๋ฅผ ์‚ญ์ œํ•ด์•ผ ํ•œ๋‹ค.

ํ•ด์„

์ด ์„น์…˜์—์„œ๋Š” DID ํ•ด์„๊ณผ DID URL ์—ญ์ฐธ์กฐ์˜ ์ž…๋ ฅ๊ณผ ์ถœ๋ ฅ์„ ์ •์˜ํ•œ๋‹ค. ์ด๋“ค์˜ ์ •ํ™•ํ•œ ๊ตฌํ˜„์€ ์ด ๊ทœ๊ฒฉ์˜ ๋ฒ”์œ„๋ฅผ ๋ฒ—์–ด๋‚˜์ง€๋งŒ, ๊ตฌํ˜„์ž๋ฅผ ์œ„ํ•œ ๋ช‡ ๊ฐ€์ง€ ๊ณ ๋ ค์‚ฌํ•ญ์€ [[?DID-RESOLUTION]]์—์„œ ๋…ผ์˜๋œ๋‹ค.

๊ทœ๋ฒ”์„ ์ค€์ˆ˜ํ•˜๋Š” ๋ชจ๋“  DID ๋ณ€ํ™˜๊ธฐ๋Š” ์ตœ์†Œํ•œ ํ•˜๋‚˜์˜ DID ๋ฉ”์†Œ๋“œ์— ๋Œ€ํ•œ DID ํ•ด์„ ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•ด์•ผ ํ•˜๋ฉฐ, ์ตœ์†Œํ•œ ํ•˜๋‚˜์˜ ๊ทœ๋ฒ”์„ ์ค€์ˆ˜ํ•˜๋Š” ํ‘œํ˜„์œผ๋กœ DID ๋ฌธ์„œ๋ฅผ ๋ฐ˜ํ™˜ํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•œ๋‹ค.

DID ํ•ด์„

DID ํ•ด์„ ๊ธฐ๋Šฅ์€ ์— ์„ค๋ช…๋œ ๋Œ€๋กœ ์ ์šฉ ๊ฐ€๋Šฅํ•œ DID ๋ฉ”์†Œ๋“œ์˜ "์ฝ๊ธฐ" ์—ฐ์‚ฐ์„ ์‚ฌ์šฉํ•˜์—ฌ DID๋ฅผ DID ๋ฌธ์„œ๋กœ ํ•ด์„ํ•œ๋‹ค. ์ด ํ”„๋กœ์„ธ์Šค๊ฐ€ ์–ด๋–ป๊ฒŒ ์ˆ˜ํ–‰๋˜๋Š”์ง€์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ ์ด ๊ทœ๊ฒฉ์˜ ๋ฒ”์œ„๋ฅผ ๋ฒ—์–ด๋‚˜์ง€๋งŒ, ๊ทœ๋ฒ”์„ ์ค€์ˆ˜ํ•˜๋Š” ๋ชจ๋“  DID ๋ณ€ํ™˜๊ธฐ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ถ”์ƒ์  ํ˜•ํƒœ๋ฅผ ๊ฐ€์ง„ ์•„๋ž˜์˜ ํ•จ์ˆ˜๋ฅผ ๊ตฌํ˜„ํ•œ๋‹ค:

resolve(did, resolutionOptions) โ†’
   ยซ didResolutionMetadata, didDocument, didDocumentMetadata ยป

resolveRepresentation(did, resolutionOptions) โ†’
   ยซ didResolutionMetadata, didDocumentStream, didDocumentMetadata ยป
      

resolve ํ•จ์ˆ˜๋Š” ์ถ”์ƒ์  ํ˜•ํƒœ(a map)๋กœ DID ๋ฌธ์„œ๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค. resolveRepresentation ํ•จ์ˆ˜๋Š” ํ•ด๋‹น ํ‘œํ˜„์œผ๋กœ ํฌ๋งท๋œ DID ๋ฌธ์„œ์˜ ๋ฐ”์ดํŠธ ์ŠคํŠธ๋ฆผ์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค.


Diagram illustrating how resolve() returns the DID document data model in
its abstract form and resolveRepresenation() returns it in one of the
conformant representations; conversion is possible using production and
consumption rules.
Functions resolve() and resolveRepresentation(). See also: narrative description.

๋‹ค์ด์–ด๊ทธ๋žจ์˜ ์ƒ๋‹จ ์ค‘๊ฐ„ ๋ถ€๋ถ„์—๋Š” ์ ์„ ์œผ๋กœ ๋œ ํšŒ์ƒ‰ ์œค๊ณฝ์„ ์ด ์žˆ๋Š” ์‚ฌ๊ฐํ˜•์ด ํฌํ•จ๋˜์–ด ์žˆ์œผ๋ฉฐ, ๊ทธ ์•ˆ์—๋Š” ํŒŒ๋ž€์ƒ‰ ์œค๊ณฝ์„ ์ด ์žˆ๋Š” ๋‘ ๊ฐœ์˜ ์‚ฌ๊ฐํ˜•์ด ์œ„์•„๋ž˜๋กœ ๋ฐฐ์น˜๋˜์–ด ์žˆ๋‹ค. ์œ„์ชฝ์˜ ๋” ํฐ ์‚ฌ๊ฐํ˜•์—๋Š” ํŒŒ๋ž€์ƒ‰์œผ๋กœ "Core Properties"๋ผ๋Š” ๋ ˆ์ด๋ธ”์ด ๋ถ™์–ด ์žˆ์œผ๋ฉฐ, ๋‹ค์Œ๊ณผ ๊ฐ™์€ INFRA ํ‘œ๊ธฐ๋ฒ•์„ ํฌํ•จํ•˜๊ณ  ์žˆ๋‹ค:

ยซ[
  "id" โ†’ "example:123",
  "verificationMethod" โ†’ ยซ ยซ[
    "id": "did:example:123#keys-1",
    "controller": "did:example:123",
    "type": "Ed25519VerificationKey2018",
    "publicKeyBase58": "H3C2AVvLMv6gmMNam3uVA"
  ]ยป ยป,
  "authentication" โ†’ ยซ
    "did:example:123#keys-1"
  ยป
]ยป
            

ํ•˜๋‹จ์˜ ์ž‘์€ ์‚ฌ๊ฐํ˜•์—๋Š” ํŒŒ๋ž€์ƒ‰์œผ๋กœ "Core Representation-specific Entries (JSON-LD)"๋ผ๋Š” ๋ ˆ์ด๋ธ”์ด ๋ถ™์–ด ์žˆ์œผ๋ฉฐ, ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ชจ๋…ธ์ŠคํŽ˜์ด์Šค INFRA ํ‘œ๊ธฐ๋ฒ•์„ ํฌํ•จํ•˜๊ณ  ์žˆ๋‹ค:

ยซ[ "@context" โ†’ "https://www.w3.org/ns/did/v1" ]ยป
        

ํšŒ์ƒ‰ ์œค๊ณฝ์„  ์‚ฌ๊ฐํ˜•์—์„œ ๋‹ค์ด์–ด๊ทธ๋žจ ํ•˜๋‹จ์— ๋‚˜๋ž€ํžˆ ์ •๋ ฌ๋œ ์„ธ ๊ฐœ์˜ ๊ฒ€์€์ƒ‰ ์œค๊ณฝ์„  ์‚ฌ๊ฐํ˜•์œผ๋กœ ์„ธ ์Œ์˜ ํ™”์‚ดํ‘œ๊ฐ€ ๋ป—์–ด ์žˆ๋‹ค. ๊ฐ ํ™”์‚ดํ‘œ ์Œ์€ ํšŒ์ƒ‰ ์œค๊ณฝ์„  ์‚ฌ๊ฐํ˜•์—์„œ ๊ฐ๊ฐ์˜ ๊ฒ€์€์ƒ‰ ์œค๊ณฝ์„  ์‚ฌ๊ฐํ˜•์œผ๋กœ "produce"๋ผ๋Š” ๋ ˆ์ด๋ธ”์ด ๋ถ™์€ ํŒŒ๋ž€์ƒ‰ ํ™”์‚ดํ‘œ ํ•˜๋‚˜์™€ ๋ฐ˜๋Œ€ ๋ฐฉํ–ฅ์œผ๋กœ "consume"์ด๋ผ๋Š” ๋ ˆ์ด๋ธ”์ด ๋ถ™์€ ๋นจ๊ฐ„์ƒ‰ ํ™”์‚ดํ‘œ ํ•˜๋‚˜๋กœ ๊ตฌ์„ฑ๋ฉ๋‹ˆ๋‹ค. ์ฒซ ๋ฒˆ์งธ ๊ฒ€์€์ƒ‰ ์œค๊ณฝ์„  ์‚ฌ๊ฐํ˜•์—๋Š” "application/did+ld+json"์ด๋ผ๋Š” ๋ ˆ์ด๋ธ”์ด ๋ถ™์–ด ์žˆ์œผ๋ฉฐ, ๋‹ค์Œ๊ณผ ๊ฐ™์€ JSON-LD ๋ฐ์ดํ„ฐ๋ฅผ ํฌํ•จํ•˜๊ณ  ์žˆ๋‹ค:

{
  "@context": ["https://www.w3.org/ns/did/v1"],
  "id": "did:example:123",
  "verificationMethod": [{
    "id": "did:example:123#keys-1",
    "controller": "did:example:123",
    "type": "Ed25519VerificationKey2018",
    "publicKeyBase58": "H3C2AVvLMv6gmMNam3uVA"
  }],
  "authentication": [
    "did:example:123#keys-1"
  ]
}
            

๋‘ ๋ฒˆ์งธ ์‚ฌ๊ฐํ˜•์—๋Š” "application/did+json"์ด๋ผ๋Š” ๋ ˆ์ด๋ธ”์ด ๋ถ™์–ด ์žˆ์œผ๋ฉฐ, ๋‹ค์Œ๊ณผ ๊ฐ™์€ JSON ๋ฐ์ดํ„ฐ๋ฅผ ํฌํ•จํ•˜๊ณ  ์žˆ๋‹ค:

{
  "id": "did:example:123",
  "verificationMethod": [{
    "id": "did:example:123#keys-1",
    "controller": "did:example:123",
    "type": "Ed25519VerificationKey2018",
    "publicKeyBase58": "H3C2AVvLMv6gmMNam3uVA"
  }],
  "authentication": [
    "did:example:123#keys-1"
  ]
}
            

์„ธ ๋ฒˆ์งธ ์‚ฌ๊ฐํ˜•์—๋Š” "application/did+cbor"๋ผ๋Š” ๋ ˆ์ด๋ธ”์ด ๋ถ™์–ด ์žˆ์œผ๋ฉฐ, 16์ง„์ˆ˜ ๋ฐ์ดํ„ฐ๋ฅผ ํฌํ•จํ•˜๊ณ  ์žˆ๋‹ค.

๋‹ค์ด์–ด๊ทธ๋žจ ์™ผ์ชฝ ์ค‘๊ฐ„์—๋Š” ๊ฒ€์€์ƒ‰ ์œค๊ณฝ์„ ๊ณผ ์—ฐํ•œ ํšŒ์ƒ‰ ๋ฐฐ๊ฒฝ์˜ ์ƒ์ž๊ฐ€ ์žˆ๋‹ค. ์ด ์ƒ์ž์—๋Š” "VERIFIABLE DATA REGISTRY"๋ผ๋Š” ๋ ˆ์ด๋ธ”์ด ๋ถ™์–ด ์žˆ์œผ๋ฉฐ, ๋…ธ๋“œ์™€ ํ˜ธ๋กœ ๊ตฌ์„ฑ๋œ ๊ทธ๋ž˜ํ”„๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ๊ธฐํ˜ธ๋ฅผ ํฌํ•จํ•˜๊ณ  ์žˆ๋‹ค. ์ด ์ƒ์ž์—์„œ "resolve()"์ด๋ผ๋Š” ๋ ˆ์ด๋ธ”์ด ๋ถ™์€ ํ™”์‚ดํ‘œ ํ•˜๋‚˜๊ฐ€ ์œ„์ชฝ์œผ๋กœ ๋ป—์–ด ํšŒ์ƒ‰ ์œค๊ณฝ์„  ์‚ฌ๊ฐํ˜•์ด ์žˆ๋Š” ๋‹ค์ด์–ด๊ทธ๋žจ ์ƒ๋‹จ์„ ๊ฐ€๋ฆฌํ‚ต๋‹ˆ๋‹ค. "resolveRepresentation()"์ด๋ผ๋Š” ๋ ˆ์ด๋ธ”์ด ๋ถ™์€ ๋˜ ๋‹ค๋ฅธ ํ™”์‚ดํ‘œ๋Š” ์•„๋ž˜์ชฝ์œผ๋กœ ๋ป—์–ด ์„ธ ๊ฐœ์˜ ๊ฒ€์€์ƒ‰ ์œค๊ณฝ์„  ์‚ฌ๊ฐํ˜•์ด ์žˆ๋Š” ๋‹ค์ด์–ด๊ทธ๋žจ ํ•˜๋‹จ์„ ๊ฐ€๋ฆฌํ‚ต๋‹ˆ๋‹ค.

resolve์™€ resolveRepresentation ํ•จ์ˆ˜์˜ ์ž…๋ ฅ ๋ณ€์ˆ˜๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค:

did
์ด๋Š” ํ•ด์„ํ•  DID์ด๋‹ค. ์ด ์ž…๋ ฅ์€ ํ•„์ˆ˜์ด๋ฉฐ, ๊ทธ ๊ฐ’์€ ์— ์ •์˜๋œ ๋Œ€๋กœ ๊ทœ๊ฒฉ์— ๋งž๋Š” DID์—ฌ์•ผ ํ•œ๋‹ค.
resolutionOptions
์— ์ •์˜๋œ ์†์„ฑ์„ ํฌํ•จํ•˜๋Š” ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ๊ตฌ์กฐ์ด๋‹ค. ์ด ์ž…๋ ฅ์€ ํ•„์ˆ˜์ด์ง€๋งŒ, ๊ตฌ์กฐ๋Š” ๋น„์–ด ์žˆ์„ ์ˆ˜ ์žˆ๋‹ค.

์ด ํ•จ์ˆ˜๋“ค์€ ๊ฐ๊ฐ ์—ฌ๋Ÿฌ ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•˜๋ฉฐ, ์ด๋Ÿฌํ•œ ๊ฐ’๋“ค์ด ํ•จ๊ป˜ ๋ฐ˜ํ™˜๋˜๋Š” ๋ฐฉ์‹์—๋Š” ์ œํ•œ์ด ์—†๋‹ค. resolve์˜ ๋ฐ˜ํ™˜ ๊ฐ’์€ didResolutionMetadata, didDocument, didDocumentMetadata์ด๋‹ค. resolveRepresentation์˜ ๋ฐ˜ํ™˜ ๊ฐ’์€ didResolutionMetadata, didDocumentStream, didDocumentMetadata์ด๋‹ค. ์ด ๊ฐ’๋“ค์€ ์•„๋ž˜์— ์„ค๋ช…๋˜์–ด ์žˆ๋‹ค:

didResolutionMetadata
DID ํ•ด์„ ํ”„๋กœ์„ธ์Šค์˜ ๊ฒฐ๊ณผ์™€ ๊ด€๋ จ๋œ ๊ฐ’์œผ๋กœ ๊ตฌ์„ฑ๋œ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ๊ตฌ์กฐ๋กœ, ์ผ๋ฐ˜์ ์œผ๋กœ resolve์™€ resolveRepresentation ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•  ๋•Œ๋งˆ๋‹ค ๋ณ€๊ฒฝ๋˜๋ฉฐ, ํ•ด์„ ํ”„๋กœ์„ธ์Šค ์ž์ฒด์— ๋Œ€ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค. ์ด ๊ตฌ์กฐ๋Š” ํ•„์ˆ˜์ด๋ฉฐ, ํ•ด์„ ํ”„๋กœ์„ธ์Šค์—์„œ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•œ ๊ฒฝ์šฐ ์ด ๊ตฌ์กฐ๋Š” ๋น„์–ด ์žˆ์–ด์„œ๋Š” ์•ˆ ๋œ๋‹ค. ์ด ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋Š” ์— ์˜ํ•ด ์ •์˜๋œ๋‹ค. resolveRepresentation์ด ํ˜ธ์ถœ๋œ ๊ฒฝ์šฐ, ์ด ๊ตฌ์กฐ๋Š” didDocumentStream์—์„œ ๋ฐœ๊ฒฌ๋œ ํ‘œํ˜„์˜ ๋ฏธ๋””์–ด ์œ ํ˜•์„ ํฌํ•จํ•˜๋Š” contentType ์†์„ฑ์„ ํฌํ•จํ•ด์•ผ ํ•œ๋‹ค. ํ•ด์„์ด ์„ฑ๊ณตํ•˜์ง€ ์•Š์€ ๊ฒฝ์šฐ, ์ด ๊ตฌ์กฐ๋Š” ์˜ค๋ฅ˜๋ฅผ ์„ค๋ช…ํ•˜๋Š” error ์†์„ฑ์„ ํฌํ•จํ•ด์•ผ ํ•œ๋‹ค.
didDocument
ํ•ด์„์ด ์„ฑ๊ณตํ•˜๊ณ  resolve ํ•จ์ˆ˜๊ฐ€ ํ˜ธ์ถœ๋œ ๊ฒฝ์šฐ, ์ด๋Š” ์— ์„ค๋ช…๋œ DID ๋ฌธ์„œ ์ถ”์ƒ ๋ฐ์ดํ„ฐ ๋ชจ๋ธ(map)์ด์–ด์•ผ ํ•˜๋ฉฐ, ํ‘œํ˜„์— ์˜ํ•ด ์ง€์ •๋œ ์ƒ์‚ฐ ๊ทœ์น™์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ทœ๋ฒ”์— ๋ถ€ํ•ฉํ•˜๋Š” DID ๋ฌธ์„œ (ํ‘œํ˜„)๋กœ ๋ณ€ํ™˜๋  ์ˆ˜ ์žˆ์–ด์•ผ ํ•œ๋‹ค. ํ•ด์„๋œ DID ๋ฌธ์„œ์—์„œ id์˜ ๊ฐ’์€ ํ•ด์„๋œ DID์™€ ์ผ์น˜ํ•ด์•ผ ํ•œ๋‹ค. ํ•ด์„์ด ์„ฑ๊ณตํ•˜์ง€ ์•Š์€ ๊ฒฝ์šฐ, ์ด ๊ฐ’์€ ๋น„์–ด ์žˆ์–ด์•ผ ํ•œ๋‹ค.
didDocumentStream
ํ•ด์„์ด ์„ฑ๊ณตํ•˜๊ณ  resolveRepresentation ํ•จ์ˆ˜๊ฐ€ ํ˜ธ์ถœ๋œ ๊ฒฝ์šฐ, ์ด๋Š” ๊ทœ๊ฒฉ์„ ์ค€์ˆ˜ํ•˜๋Š” ํ‘œํ˜„ ์ค‘ ํ•˜๋‚˜๋กœ ํ•ด์„๋œ DID ๋ฌธ์„œ์˜ ๋ฐ”์ดํŠธ ์ŠคํŠธ๋ฆผ์ด์–ด์•ผ ํ•œ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ resolveRepresentation ํ•จ์ˆ˜์˜ ํ˜ธ์ถœ์ž๊ฐ€ ๋ฐ”์ดํŠธ ์ŠคํŠธ๋ฆผ์„ ๋ฐ์ดํ„ฐ ๋ชจ๋ธ๋กœ ํŒŒ์‹ฑํ•˜์—ฌ ์œ ํšจ์„ฑ์„ ๊ฒ€์‚ฌํ•˜๊ณ  ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค. ํ•ด์„์ด ์„ฑ๊ณตํ•˜์ง€ ์•Š์€ ๊ฒฝ์šฐ, ์ด ๊ฐ’์€ ๋นˆ ์ŠคํŠธ๋ฆผ์ด์–ด์•ผ ํ•œ๋‹ค.
didDocumentMetadata
ํ•ด์„์ด ์„ฑ๊ณตํ•œ ๊ฒฝ์šฐ, ์ด๋Š” ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ๊ตฌ์กฐ์—ฌ์•ผ ํ•œ๋‹ค. ์ด ๊ตฌ์กฐ๋Š” didDocument ์†์„ฑ์— ํฌํ•จ๋œ DID ๋ฌธ์„œ์— ๋Œ€ํ•œ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋ฅผ ํฌํ•จํ•œ๋‹ค. ์ด ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ DID ๋ฌธ์„œ๊ฐ€ ๋ณ€๊ฒฝ๋˜์ง€ ์•Š๋Š” ํ•œ resolve์™€ resolveRepresentation ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•  ๋•Œ๋งˆ๋‹ค ๋ณ€๊ฒฝ๋˜์ง€ ์•Š์œผ๋ฉฐ, DID ๋ฌธ์„œ์— ๋Œ€ํ•œ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค. ํ•ด์„์ด ์„ฑ๊ณตํ•˜์ง€ ์•Š์€ ๊ฒฝ์šฐ, ์ด ์ถœ๋ ฅ์€ ๋นˆ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ๊ตฌ์กฐ์—ฌ์•ผ ํ•œ๋‹ค. ์ด ๊ทœ๊ฒฉ์— ์˜ํ•ด ์ •์˜๋œ ์†์„ฑ์€ ์— ์žˆ๋‹ค.

๊ทœ๊ฒฉ์„ ์ค€์ˆ˜ํ•˜๋Š” DID ๋ณ€ํ™˜๊ธฐ ๊ตฌํ˜„์€ ์ด๋Ÿฌํ•œ ํ•จ์ˆ˜์˜ ์‹œ๊ทธ๋‹ˆ์ฒ˜๋ฅผ ์–ด๋–ค ์‹์œผ๋กœ๋“  ๋ณ€๊ฒฝํ•˜์ง€ ์•Š๋Š”๋‹ค. DID ๋ณ€ํ™˜๊ธฐ ๊ตฌํ˜„์€ ์‹ค์ œ DID ํ•ด์„ ํ”„๋กœ์„ธ์Šค๋ฅผ ์ˆ˜ํ–‰ํ•˜๊ธฐ ์œ„ํ•ด resolve์™€ resolveRepresentation ํ•จ์ˆ˜๋ฅผ ๋ฉ”์†Œ๋“œ๋ณ„ ๋‚ด๋ถ€ ํ•จ์ˆ˜์— ๋งคํ•‘ํ•  ์ˆ˜ ์žˆ๋‹ค. DID ๋ณ€ํ™˜๊ธฐ ๊ตฌํ˜„์€ ์—ฌ๊ธฐ์— ์ง€์ •๋œ resolve์™€ resolveRepresentation ํ•จ์ˆ˜ ์™ธ์— ๋‹ค๋ฅธ ์‹œ๊ทธ๋‹ˆ์ฒ˜๋ฅผ ๊ฐ€์ง„ ์ถ”๊ฐ€ ํ•จ์ˆ˜๋ฅผ ๊ตฌํ˜„ํ•˜๊ณ  ๋…ธ์ถœํ•  ์ˆ˜ ์žˆ๋‹ค.

DID ํ•ด์„ ์˜ต์…˜

์ด ๊ตฌ์กฐ ๋‚ด์˜ ๊ฐ€๋Šฅํ•œ ์†์„ฑ๊ณผ ๊ทธ ๊ฐ€๋Šฅํ•œ ๊ฐ’์€ DID ๊ทœ๊ฒฉ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ [[?DID-SPEC-REGISTRIES]]์— ๋“ฑ๋ก๋˜์–ด ์žˆ๋‹ค. ์ด ๊ทœ๊ฒฉ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ณตํ†ต ์†์„ฑ์„ ์ •์˜ํ•œ๋‹ค.

accept
ํ˜ธ์ถœ์ž๊ฐ€ ์„ ํ˜ธํ•˜๋Š” DID ๋ฌธ์„œ์˜ ํ‘œํ˜„์— ๋Œ€ํ•œ ๋ฏธ๋””์–ด ์œ ํ˜•. ๋ฏธ๋””์–ด ์œ ํ˜•์€ ASCII ๋ฌธ์ž์—ด๋กœ ํ‘œํ˜„๋˜์–ด์•ผ ํ•œ๋‹ค. ํ•ด๋‹น ํ‘œํ˜„์ด ์ง€์›๋˜๊ณ  ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๊ฒฝ์šฐ DID ๋ณ€ํ™˜๊ธฐ ๊ตฌํ˜„์€ ์ด ๊ฐ’์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐ˜ํ™˜๋œ didDocumentStream์— ํฌํ•จ๋œ ํ‘œํ˜„์„ ๊ฒฐ์ •ํ•ด์•ผ ํ•œ๋‹ค. ์ด ์†์„ฑ์€ resolveRepresentation ํ•จ์ˆ˜์— ๋Œ€ํ•ด์„œ๋Š” ์„ ํƒ ์‚ฌํ•ญ์ด๋ฉฐ resolve ํ•จ์ˆ˜์™€ ํ•จ๊ป˜ ์‚ฌ์šฉํ•ด์„œ๋Š” ์•ˆ ๋œ๋‹ค.

DID ํ•ด์„ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ

์ด ๊ตฌ์กฐ ๋‚ด์˜ ๊ฐ€๋Šฅํ•œ ์†์„ฑ๊ณผ ๊ทธ ๊ฐ€๋Šฅํ•œ ๊ฐ’์€ DID ๊ทœ๊ฒฉ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ [[?DID-SPEC-REGISTRIES]]์— ๋“ฑ๋ก๋˜์–ด ์žˆ๋‹ค. ์ด ๊ทœ๊ฒฉ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ DID ํ•ด์„ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ์†์„ฑ์„ ์ •์˜ํ•œ๋‹ค:

contentType
๋ฐ˜ํ™˜๋œ didDocumentStream์˜ ๋ฏธ๋””์–ด ์œ ํ˜•. ์ด ์†์„ฑ์€ ํ•ด์„์ด ์„ฑ๊ณตํ•˜๊ณ  resolveRepresentation ํ•จ์ˆ˜๊ฐ€ ํ˜ธ์ถœ๋œ ๊ฒฝ์šฐ ํ•„์ˆ˜์ด๋‹ค. ์ด ์†์„ฑ์€ resolve ํ•จ์ˆ˜๊ฐ€ ํ˜ธ์ถœ๋œ ๊ฒฝ์šฐ ์กด์žฌํ•ด์„œ๋Š” ์•ˆ ๋œ๋‹ค. ์ด ์†์„ฑ์˜ ๊ฐ’์€ ๊ทœ๊ฒฉ์„ ์ค€์ˆ˜ํ•˜๋Š” ํ‘œํ˜„์˜ ๋ฏธ๋””์–ด ์œ ํ˜•์ธ ASCII ๋ฌธ์ž์—ด์ด์–ด์•ผ ํ•œ๋‹ค. resolveRepresentation ํ•จ์ˆ˜์˜ ํ˜ธ์ถœ์ž๋Š” ์ด ๊ฐ’์„ ์‚ฌ์šฉํ•˜์—ฌ ์ด ํ•จ์ˆ˜์— ์˜ํ•ด ๋ฐ˜ํ™˜๋œ didDocumentStream์„ ๋ฐ์ดํ„ฐ ๋ชจ๋ธ๋กœ ํŒŒ์‹ฑํ•˜๊ณ  ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๊ฒฐ์ •ํ•ด์•ผ ํ•œ๋‹ค.
error
ํ•ด์„ ํ”„๋กœ์„ธ์Šค์˜ ์˜ค๋ฅ˜ ์ฝ”๋“œ. ์ด ์†์„ฑ์€ ํ•ด์„ ํ”„๋กœ์„ธ์Šค์— ์˜ค๋ฅ˜๊ฐ€ ์žˆ์„ ๋•Œ ํ•„์ˆ˜์ด๋‹ค. ์ด ์†์„ฑ์˜ ๊ฐ’์€ ๋‹จ์ผ ํ‚ค์›Œ๋“œ ASCII ๋ฌธ์ž์—ด์ด์–ด์•ผ ํ•œ๋‹ค. ์ด ํ•„๋“œ์˜ ๊ฐ€๋Šฅํ•œ ์†์„ฑ ๊ฐ’์€ DID ๊ทœ๊ฒฉ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ [[?DID-SPEC-REGISTRIES]]์— ๋“ฑ๋ก๋˜์–ด์•ผ ํ•œ๋‹ค. ์ด ๊ทœ๊ฒฉ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ณตํ†ต ์˜ค๋ฅ˜ ๊ฐ’์„ ์ •์˜ํ•œ๋‹ค:
invalidDid
DID ํ•ด์„ ํ•จ์ˆ˜์— ์ œ๊ณต๋œ DID๊ฐ€ ์œ ํšจํ•œ ๊ตฌ๋ฌธ์„ ์ค€์ˆ˜ํ•˜์ง€ ์•Š๋Š”๋‹ค. ( ์ฐธ์กฐ.)
notFound
DID ๋ณ€ํ™˜๊ธฐ๊ฐ€ ์ด ํ•ด์„ ์š”์ฒญ์˜ ๊ฒฐ๊ณผ์ธ DID ๋ฌธ์„œ๋ฅผ ์ฐพ์„ ์ˆ˜ ์—†๋‹ค.
representationNotSupported
accept ์ž…๋ ฅ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ์†์„ฑ์„ ํ†ตํ•ด ์š”์ฒญ๋œ ํ‘œํ˜„์ด DID ๋ฉ”์†Œ๋“œ ๋ฐ/๋˜๋Š” DID ๋ณ€ํ™˜๊ธฐ ๊ตฌํ˜„์—์„œ ์ง€์›๋˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ ์ด ์˜ค๋ฅ˜ ์ฝ”๋“œ๊ฐ€ ๋ฐ˜ํ™˜๋œ๋‹ค.

DID ๋ฌธ์„œ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ

์ด ๊ตฌ์กฐ ๋‚ด์˜ ๊ฐ€๋Šฅํ•œ ์†์„ฑ๊ณผ ๊ทธ ๊ฐ€๋Šฅํ•œ ๊ฐ’์€ DID ๊ทœ๊ฒฉ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ [[?DID-SPEC-REGISTRIES]]์— ๋“ฑ๋ก๋˜์–ด์•ผ ํ•œ๋‹ค. ์ด ๊ทœ๊ฒฉ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ณตํ†ต ์†์„ฑ์„ ์ •์˜ํ•œ๋‹ค.

created
DID ๋ฌธ์„œ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ์—๋Š” ์ƒ์„ฑ ์ž‘์—…์˜ ํƒ€์ž„์Šคํƒฌํ”„๋ฅผ ๋‚˜ํƒ€๋‚ด๊ธฐ ์œ„ํ•ด created ์†์„ฑ์ด ํฌํ•จ๋˜์–ด์•ผ ํ•œ๋‹ค. ์†์„ฑ ๊ฐ’์€ UTC 00:00:00์œผ๋กœ ์ •๊ทœํ™”๋˜๊ณ  ์ดˆ ๋ฏธ๋งŒ์˜ ์†Œ์ˆ˜ ์ •๋ฐ€๋„ ์—†์ด XML Datetime์œผ๋กœ ํฌ๋งท๋œ ๋ฌธ์ž์—ด์ด์–ด์•ผ ํ•œ๋‹ค. ์˜ˆ: 2020-12-20T19:17:47Z.
updated
DID ๋ฌธ์„œ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ์—๋Š” ํ•ด์„๋œ ๋ฌธ์„œ ๋ฒ„์ „์— ๋Œ€ํ•œ ๋งˆ์ง€๋ง‰ ์—…๋ฐ์ดํŠธ ์ž‘์—…์˜ ํƒ€์ž„์Šคํƒฌํ”„๋ฅผ ๋‚˜ํƒ€๋‚ด๊ธฐ ์œ„ํ•ด updated ์†์„ฑ์ด ํฌํ•จ๋˜์–ด์•ผ ํ•œ๋‹ค. ์†์„ฑ ๊ฐ’์€ created ์†์„ฑ๊ณผ ๋™์ผํ•œ ํฌ๋งท ๊ทœ์น™์„ ๋”ฐ๋ผ์•ผ ํ•œ๋‹ค. DID ๋ฌธ์„œ์— ๋Œ€ํ•ด ์—…๋ฐ์ดํŠธ ์ž‘์—…์ด ์ˆ˜ํ–‰๋œ ์ ์ด ์—†๋Š” ๊ฒฝ์šฐ updated ์†์„ฑ์€ ์ƒ๋žต๋œ๋‹ค. updated ์†์„ฑ์ด ์กด์žฌํ•˜๋Š” ๊ฒฝ์šฐ, ๋‘ ํƒ€์ž„์Šคํƒฌํ”„ ๊ฐ„์˜ ์ฐจ์ด๊ฐ€ 1์ดˆ ๋ฏธ๋งŒ์ผ ๋•Œ created ์†์„ฑ๊ณผ ๋™์ผํ•œ ๊ฐ’์ผ ์ˆ˜ ์žˆ๋‹ค.
deactivated
DID๊ฐ€ ๋น„ํ™œ์„ฑํ™”๋œ ๊ฒฝ์šฐ, DID ๋ฌธ์„œ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ์—๋Š” ์ด ์†์„ฑ์ด ํฌํ•จ๋˜์–ด์•ผ ํ•˜๋ฉฐ ๋ถˆ๋ฆฌ์–ธ ๊ฐ’ true๋ฅผ ๊ฐ€์ ธ์•ผ ํ•œ๋‹ค. DID๊ฐ€ ๋น„ํ™œ์„ฑํ™”๋˜์ง€ ์•Š์€ ๊ฒฝ์šฐ, ์ด ์†์„ฑ์€ ์„ ํƒ ์‚ฌํ•ญ์ด์ง€๋งŒ ํฌํ•จ๋œ ๊ฒฝ์šฐ ๋ถˆ๋ฆฌ์–ธ ๊ฐ’ false๋ฅผ ๊ฐ€์ ธ์•ผ ํ•œ๋‹ค.
nextUpdate
ํ•ด์„๋œ ๋ฌธ์„œ ๋ฒ„์ „์ด ๋ฌธ์„œ์˜ ์ตœ์‹  ๋ฒ„์ „์ด ์•„๋‹Œ ๊ฒฝ์šฐ, DID ๋ฌธ์„œ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ์—๋Š” nextUpdate ์†์„ฑ์ด ํฌํ•จ๋  ์ˆ˜ ์žˆ๋‹ค. ์ด๋Š” ๋‹ค์Œ ์—…๋ฐ์ดํŠธ ์ž‘์—…์˜ ํƒ€์ž„์Šคํƒฌํ”„๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค. ์†์„ฑ ๊ฐ’์€ created ์†์„ฑ๊ณผ ๋™์ผํ•œ ํฌ๋งท ๊ทœ์น™์„ ๋”ฐ๋ผ์•ผ ํ•œ๋‹ค.
versionId
DID ๋ฌธ์„œ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ์—๋Š” ํ•ด์„๋œ ๋ฌธ์„œ ๋ฒ„์ „์— ๋Œ€ํ•œ ๋งˆ์ง€๋ง‰ ์—…๋ฐ์ดํŠธ ์ž‘์—…์˜ ๋ฒ„์ „์„ ๋‚˜ํƒ€๋‚ด๊ธฐ ์œ„ํ•ด versionId ์†์„ฑ์ด ํฌํ•จ๋˜์–ด์•ผ ํ•œ๋‹ค. ์†์„ฑ ๊ฐ’์€ ASCII ๋ฌธ์ž์—ด์ด์–ด์•ผ ํ•œ๋‹ค.
nextVersionId
ํ•ด์„๋œ ๋ฌธ์„œ ๋ฒ„์ „์ด ๋ฌธ์„œ์˜ ์ตœ์‹  ๋ฒ„์ „์ด ์•„๋‹Œ ๊ฒฝ์šฐ, DID ๋ฌธ์„œ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ์—๋Š” nextVersionId ์†์„ฑ์ด ํฌํ•จ๋  ์ˆ˜ ์žˆ๋‹ค. ์ด๋Š” ๋‹ค์Œ ์—…๋ฐ์ดํŠธ ์ž‘์—…์˜ ๋ฒ„์ „์„ ๋‚˜ํƒ€๋‚ธ๋‹ค. ์†์„ฑ ๊ฐ’์€ ASCII ๋ฌธ์ž์—ด์ด์–ด์•ผ ํ•œ๋‹ค.
equivalentId

DID ๋ฉ”์†Œ๋“œ๋Š” ๋…ผ๋ฆฌ์ ์œผ๋กœ ๋™๋“ฑํ•œ DID์˜ ๋‹ค์–‘ํ•œ ํ˜•์‹์„ ์ •์˜ํ•  ์ˆ˜ ์žˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, DID๊ฐ€ ๊ฒ€์ฆ ๊ฐ€๋Šฅํ•œ ๋ฐ์ดํ„ฐ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ์— ๋“ฑ๋ก๋˜๊ธฐ ์ „์— ํ•œ ๊ฐ€์ง€ ํ˜•์‹์„ ์ทจํ•˜๊ณ  ๋“ฑ๋ก ํ›„์— ๋‹ค๋ฅธ ํ˜•์‹์„ ์ทจํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ์žˆ๋‹ค. ์ด ๊ฒฝ์šฐ, DID ๋ฉ”์†Œ๋“œ ๊ทœ๊ฒฉ์€ ํ•ด์„๋œ DID์™€ ๋…ผ๋ฆฌ์ ์œผ๋กœ ๋™๋“ฑํ•œ ํ•˜๋‚˜ ์ด์ƒ์˜ DID๋ฅผ DID ๋ฌธ์„œ์˜ ์†์„ฑ์œผ๋กœ ํ‘œํ˜„ํ•ด์•ผ ํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด๊ฒƒ์ด equivalentId ์†์„ฑ์˜ ๋ชฉ์ ์ด๋‹ค.

DID ๋ฌธ์„œ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ์—๋Š” equivalentId ์†์„ฑ์ด ํฌํ•จ๋  ์ˆ˜ ์žˆ๋‹ค. ์กด์žฌํ•˜๋Š” ๊ฒฝ์šฐ, ๊ฐ’์€ ๊ฐ ํ•ญ๋ชฉ์ด ์˜ ๊ทœ์น™์„ ์ค€์ˆ˜ํ•˜๋Š” ๋ฌธ์ž์—ด์ธ set์ด์–ด์•ผ ํ•œ๋‹ค. ์ด ๊ด€๊ณ„๋Š” ๊ฐ equivalentId ๊ฐ’์ด id ์†์„ฑ ๊ฐ’๊ณผ ๋…ผ๋ฆฌ์ ์œผ๋กœ ๋™๋“ฑํ•˜๋ฉฐ ๋”ฐ๋ผ์„œ ๋™์ผํ•œ DID ์ฃผ์ฒด๋ฅผ ์ฐธ์กฐํ•œ๋‹ค๋Š” ์ง„์ˆ ์ด๋‹ค. ๊ฐ equivalentId DID ๊ฐ’์€ id ์†์„ฑ ๊ฐ’๊ณผ ๋™์ผํ•œ DID ๋ฉ”์†Œ๋“œ์— ์˜ํ•ด ์ƒ์„ฑ๋˜๊ณ  ํ•ด๋‹น ๋ฉ”์†Œ๋“œ์˜ ํ•œ ํ˜•์‹์ด์–ด์•ผ ํ•œ๋‹ค. (์˜ˆ: did:example:abc == did:example:ABC)

๊ทœ๊ฒฉ์„ ์ค€์ˆ˜ํ•˜๋Š” DID ๋ฉ”์†Œ๋“œ ๊ทœ๊ฒฉ์€ ๊ฐ equivalentId ๊ฐ’์ด id ์†์„ฑ ๊ฐ’๊ณผ ๋…ผ๋ฆฌ์ ์œผ๋กœ ๋™๋“ฑํ•จ์„ ๋ณด์žฅํ•ด์•ผ ํ•œ๋‹ค.

์š”์ฒญ ๋‹น์‚ฌ์ž๋Š” id ๋ฐ equivalentId ์†์„ฑ์˜ ๊ฐ’์„ ์œ ์ง€ํ•˜์—ฌ ์ด๋“ค์ด ํฌํ•จํ•˜๋Š” ๊ฐ’ ์ค‘ ํ•˜๋‚˜์™€์˜ ํ›„์† ์ƒํ˜ธ ์ž‘์šฉ์ด ๋…ผ๋ฆฌ์ ์œผ๋กœ ๋™๋“ฑํ•œ ๊ฒƒ์œผ๋กœ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์ฒ˜๋ฆฌ๋˜๋„๋ก ํ•ด์•ผ ํ•œ๋‹ค(์˜ˆ: ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๋ชจ๋“  ๋ณ€ํ˜•์„ ์œ ์ง€ํ•˜์—ฌ ํ•˜๋‚˜์™€์˜ ๋ชจ๋“  ์ƒํ˜ธ ์ž‘์šฉ์ด ๋™์ผํ•œ ๊ธฐ๋ณธ ๊ณ„์ •์— ๋งคํ•‘๋˜๋„๋ก ํ•จ).

๋™๋“ฑ์„ฑ์€ ๊ด€๋ฆฌ ์ค‘์ธ DID ๋ฉ”์†Œ๋“œ์— ์˜ํ•ด ๋ณด์žฅ๋˜์–ด์•ผ ํ•˜๋ฏ€๋กœ equivalentId๋Š” alsoKnownAs๋ณด๋‹ค ํ›จ์”ฌ ๋” ๊ฐ•๋ ฅํ•œ ํ˜•ํƒœ์˜ ๋™๋“ฑ์„ฑ์ด๋‹ค. equivalentId๋Š” ๋™์ผํ•œ DID ๋ฌธ์„œ๊ฐ€ equivalentId DID์™€ id ์†์„ฑ DID๋ฅผ ๋ชจ๋‘ ์„ค๋ช…ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์™„์ „ํ•œ ๊ทธ๋ž˜ํ”„ ๋ณ‘ํ•ฉ์„ ๋‚˜ํƒ€๋‚ธ๋‹ค.

์š”์ฒญ ๋‹น์‚ฌ์ž๊ฐ€ id ๋ฐ equivalentId ์†์„ฑ์˜ ๊ฐ’์„ ์œ ์ง€ํ•˜๊ณ  ํฌํ•จ๋œ ๊ฐ’ ์ค‘ ํ•˜๋‚˜์™€์˜ ํ›„์† ์ƒํ˜ธ ์ž‘์šฉ์ด ๋…ผ๋ฆฌ์ ์œผ๋กœ ๋™๋“ฑํ•˜๊ฒŒ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์ฒ˜๋ฆฌ๋˜๋„๋ก ํ•˜์ง€ ์•Š์œผ๋ฉด ๋ถ€์ •์ ์ด๊ฑฐ๋‚˜ ์˜ˆ๊ธฐ์น˜ ์•Š์€ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋‹ค. ๊ตฌํ˜„์ž๋Š” ์ด ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ์†์„ฑ๊ณผ ๊ด€๋ จ๋œ ์ง€์นจ์„ ์ค€์ˆ˜ํ•˜๋Š” ๊ฒƒ์ด ์ข‹๋‹ค.

canonicalId

canonicalId ์†์„ฑ์€ equivalentId ์†์„ฑ๊ณผ ๋™์ผํ•˜์ง€๋งŒ ๋‹ค์Œ ๋‘ ๊ฐ€์ง€ ์ธก๋ฉด์—์„œ ๋‹ค๋ฅด๋‹ค: a) set์ด ์•„๋‹Œ ๋‹จ์ผ ๊ฐ’๊ณผ ์—ฐ๊ด€๋˜๋ฉฐ, b) DID๋Š” ํฌํ•จํ•˜๋Š” DID ๋ฌธ์„œ์˜ ๋ฒ”์œ„ ๋‚ด์—์„œ DID ์ฃผ์ฒด์— ๋Œ€ํ•œ ํ‘œ์ค€ ID๋กœ ์ •์˜๋œ๋‹ค.

DID ๋ฌธ์„œ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ์—๋Š” canonicalId ์†์„ฑ์ด ํฌํ•จ๋  ์ˆ˜ ์žˆ๋‹ค. ์กด์žฌํ•˜๋Š” ๊ฒฝ์šฐ, ๊ฐ’์€ ์˜ ๊ทœ์น™์„ ์ค€์ˆ˜ํ•˜๋Š” ๋ฌธ์ž์—ด์ด์–ด์•ผ ํ•œ๋‹ค. ์ด ๊ด€๊ณ„๋Š” canonicalId ๊ฐ’์ด id ์†์„ฑ ๊ฐ’๊ณผ ๋…ผ๋ฆฌ์ ์œผ๋กœ ๋™๋“ฑํ•˜๋ฉฐ canonicalId ๊ฐ’์ด ํฌํ•จํ•˜๋Š” DID ๋ฌธ์„œ์˜ ๋ฒ”์œ„ ๋‚ด์—์„œ DID ์ฃผ์ฒด์— ๋Œ€ํ•œ ํ‘œ์ค€ ID๋กœ DID ๋ฉ”์†Œ๋“œ์— ์˜ํ•ด ์ •์˜๋œ๋‹ค๋Š” ์ง„์ˆ ์ด๋‹ค. canonicalId ๊ฐ’์€ id ์†์„ฑ ๊ฐ’๊ณผ ๋™์ผํ•œ DID ๋ฉ”์†Œ๋“œ์— ์˜ํ•ด ์ƒ์„ฑ๋˜๊ณ  ํ•ด๋‹น ๋ฉ”์†Œ๋“œ์˜ ํ•œ ํ˜•์‹์ด์–ด์•ผ ํ•œ๋‹ค. (์˜ˆ: did:example:abc == did:example:ABC).

๊ทœ๊ฒฉ์„ ์ค€์ˆ˜ํ•˜๋Š” DID ๋ฉ”์†Œ๋“œ ๊ทœ๊ฒฉ์€ canonicalId ๊ฐ’์ด id ์†์„ฑ ๊ฐ’๊ณผ ๋…ผ๋ฆฌ์ ์œผ๋กœ ๋™๋“ฑํ•จ์„ ๋ณด์žฅํ•ด์•ผ ํ•œ๋‹ค.

์š”์ฒญ ๋‹น์‚ฌ์ž๋Š” canonicalId ๊ฐ’์„ DID ์ฃผ์ฒด์— ๋Œ€ํ•œ ๊ธฐ๋ณธ ID ๊ฐ’์œผ๋กœ ์‚ฌ์šฉํ•˜๊ณ  ๋‹ค๋ฅธ ๋ชจ๋“  ๋™๋“ฑํ•œ ๊ฐ’์„ ๋ณด์กฐ ๋ณ„์นญ์œผ๋กœ ์ฒ˜๋ฆฌํ•ด์•ผ ํ•œ๋‹ค(์˜ˆ: ์ƒˆ๋กœ์šด ํ‘œ์ค€ ID ์ง€์‹œ๋ฅผ ๋ฐ˜์˜ํ•˜๊ธฐ ์œ„ํ•ด ์‹œ์Šคํ…œ์—์„œ ํ•ด๋‹น ๊ธฐ๋ณธ ์ฐธ์กฐ๋ฅผ ์—…๋ฐ์ดํŠธ).

canonicalId๋Š” equivalentId์™€ ๋™์ผํ•œ ๋™๋“ฑ์„ฑ ์ง„์ˆ ์ด์ง€๋งŒ, DID ๋ฌธ์„œ์˜ ๋ฒ”์œ„ ๋‚ด์—์„œ DID ์ฃผ์ฒด์— ๋Œ€ํ•ด ํ‘œ์ค€์œผ๋กœ ์ •์˜๋œ ๋‹จ์ผ ๊ฐ’์œผ๋กœ ์ œํ•œ๋œ๋‹ค. equivalentId์™€ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ canonicalId๋Š” ๋™์ผํ•œ DID ๋ฌธ์„œ๊ฐ€ canonicalId DID์™€ id ์†์„ฑ DID๋ฅผ ๋ชจ๋‘ ์„ค๋ช…ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์™„์ „ํ•œ ๊ทธ๋ž˜ํ”„ ๋ณ‘ํ•ฉ์„ ๋‚˜ํƒ€๋‚ธ๋‹ค.

ํ•ด์„ ๋‹น์‚ฌ์ž๊ฐ€ canonicalId ๊ฐ’์„ DID ์ฃผ์ฒด์— ๋Œ€ํ•œ ๊ธฐ๋ณธ ID ๊ฐ’์œผ๋กœ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ  ๋‹ค๋ฅธ ๋ชจ๋“  ๋™๋“ฑํ•œ ๊ฐ’์„ ๋ณด์กฐ ๋ณ„์นญ์œผ๋กœ ์ฒ˜๋ฆฌํ•˜์ง€ ์•Š์œผ๋ฉด ์‚ฌ์šฉ์ž ๊ฒฝํ—˜๊ณผ ๊ด€๋ จํ•˜์—ฌ ๋ถ€์ •์ ์ด๊ฑฐ๋‚˜ ์˜ˆ๊ธฐ์น˜ ์•Š์€ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋‹ค. ๊ตฌํ˜„์ž๋Š” ์ด ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ์†์„ฑ๊ณผ ๊ด€๋ จ๋œ ์ง€์‹œ ์‚ฌํ•ญ์„ ์ค€์ˆ˜ํ•˜๋Š” ๊ฒƒ์ด ์ข‹๋‹ค.

DID URL ์—ญ์ฐธ์กฐ

DID URL ์—ญ์ฐธ์กฐ ํ•จ์ˆ˜๋Š” DID URL์„ DID ๋ฉ”์†Œ๋“œ, ๋ฉ”์†Œ๋“œ๋ณ„ ์‹๋ณ„์ž, ๊ฒฝ๋กœ, ์ฟผ๋ฆฌ ๋ฐ ํ”„๋ž˜๊ทธ๋จผํŠธ๋ฅผ ํฌํ•จํ•œ DID URL์˜ ๊ตฌ์„ฑ ์š”์†Œ์— ๋”ฐ๋ผ ๋‚ด์šฉ์ด ๋‹ฌ๋ผ์ง€๋Š” ๋ฆฌ์†Œ์Šค๋กœ ์—ญ์ฐธ์กฐํ•œ๋‹ค. ์ด ํ”„๋กœ์„ธ์Šค๋Š” DID URL์— ํฌํ•จ๋œ DID์˜ DID ํ•ด์„์— ์˜์กดํ•œ๋‹ค. DID URL ์—ญ์ฐธ์กฐ๋Š” ์—ฌ๋Ÿฌ ๋‹จ๊ณ„๋ฅผ ํฌํ•จํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ(์˜ˆ: ์—ญ์ฐธ์กฐ๋˜๋Š” DID URL์— ํ”„๋ž˜๊ทธ๋จผํŠธ๊ฐ€ ํฌํ•จ๋œ ๊ฒฝ์šฐ), ์ด ํ•จ์ˆ˜๋Š” ๋ชจ๋“  ๋‹จ๊ณ„๊ฐ€ ์™„๋ฃŒ๋œ ํ›„ ์ตœ์ข… ๋ฆฌ์†Œ์Šค๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋„๋ก ์ •์˜๋œ๋‹ค. ์ด ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ˆ˜ํ–‰๋˜๋Š” ๋ฐฉ์‹์— ๋Œ€ํ•œ ์„ธ๋ถ€ ์‚ฌํ•ญ์€ ์ด ๊ทœ๊ฒฉ์˜ ๋ฒ”์œ„๋ฅผ ๋ฒ—์–ด๋‚œ๋‹ค. ๋‹ค์Œ ๊ทธ๋ฆผ์€ ์œ„์—์„œ ์„ค๋ช…ํ•œ ๊ด€๊ณ„๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค.


DIDs resolve to DID documents; DID URLs contains a DID; DID URLs dereferenced to DID document fragments or
external resources.
Overview of DID URL dereference See also: narrative description.

๋‹ค์ด์–ด๊ทธ๋žจ์˜ ์™ผ์ชฝ ์ƒ๋‹จ์—๋Š” "DID"๋ผ๋Š” ๋ ˆ์ด๋ธ”์ด ๋ถ™์€ ๊ฒ€์€์ƒ‰ ์œค๊ณฝ์„ ์˜ ์‚ฌ๊ฐํ˜•์ด ํฌํ•จ๋˜์–ด ์žˆ๋‹ค.

๋‹ค์ด์–ด๊ทธ๋žจ์˜ ์™ผ์ชฝ ํ•˜๋‹จ์—๋Š” "DID URL"์ด๋ผ๋Š” ๋ ˆ์ด๋ธ”์ด ๋ถ™์€ ๊ฒ€์€์ƒ‰ ์œค๊ณฝ์„ ์˜ ์‚ฌ๊ฐํ˜•์ด ํฌํ•จ๋˜์–ด ์žˆ๋‹ค. ์ด ์‚ฌ๊ฐํ˜•์—๋Š” ์„œ๋กœ ์ธ์ ‘ํ•œ ์ˆ˜ํ‰ ํ–‰์œผ๋กœ ์ •๋ ฌ๋œ 4๊ฐœ์˜ ๋” ์ž‘์€ ๊ฒ€์€์ƒ‰ ์œค๊ณฝ์„  ์‚ฌ๊ฐํ˜•์ด ํฌํ•จ๋˜์–ด ์žˆ๋‹ค. ์ด ๋” ์ž‘์€ ์‚ฌ๊ฐํ˜•์€ ์ˆœ์„œ๋Œ€๋กœ "DID", "path", "query", "fragment"๋กœ ๋ ˆ์ด๋ธ”์ด ๋ถ™์–ด ์žˆ๋‹ค.

๋‹ค์ด์–ด๊ทธ๋žจ์˜ ์˜ค๋ฅธ์ชฝ ์ƒ๋‹จ์—๋Š” "DID document"๋ผ๋Š” ๋ ˆ์ด๋ธ”์ด ๋ถ™์€ ๊ฒ€์€์ƒ‰ ์œค๊ณฝ์„ ์˜ ์‚ฌ๊ฐํ˜•์ด ํฌํ•จ๋˜์–ด ์žˆ๋‹ค. ์ด ์‚ฌ๊ฐํ˜•์—๋Š” ์„ธ ๊ฐœ์˜ ๋” ์ž‘์€ ๊ฒ€์€์ƒ‰ ์œค๊ณฝ์„  ์‚ฌ๊ฐํ˜•์ด ํฌํ•จ๋˜์–ด ์žˆ๋‹ค. ์ด ๋” ์ž‘์€ ์‚ฌ๊ฐํ˜•์€ "id", "(property X)", "(property Y)"๋กœ ๋ ˆ์ด๋ธ”์ด ๋ถ™์–ด ์žˆ๊ณ  ์—ฌ๋Ÿฌ ์ค„์˜ ์  ์„ธ ๊ฐœ(์ค„์ž„ํ‘œ)๋กœ ๋‘˜๋Ÿฌ์‹ธ์—ฌ ์žˆ๋‹ค. "DID document - relative fragment dereference"๋ผ๋Š” ๋ ˆ์ด๋ธ”์ด ๋ถ™์€ ๊ฒ€์€์ƒ‰ ๊ณก์„  ํ™”์‚ดํ‘œ๊ฐ€ "(property X)"๋ผ๋Š” ๋ ˆ์ด๋ธ”์ด ๋ถ™์€ ์‚ฌ๊ฐํ˜•์—์„œ "(property Y)"๋ผ๋Š” ๋ ˆ์ด๋ธ”์ด ๋ถ™์€ ์‚ฌ๊ฐํ˜•์„ ๊ฐ€๋ฆฌํ‚จ๋‹ค.

๋‹ค์ด์–ด๊ทธ๋žจ์˜ ์˜ค๋ฅธ์ชฝ ํ•˜๋‹จ์—๋Š” "Resource"๋ผ๋Š” ๋ ˆ์ด๋ธ”์ด ๋ถ™์€ ๊ฒ€์€์ƒ‰ ์œค๊ณฝ์„ ์˜ ํƒ€์›ํ˜•์ด ํฌํ•จ๋˜์–ด ์žˆ๋‹ค.

"resolves to a DID document"๋ผ๋Š” ๋ ˆ์ด๋ธ”์ด ๋ถ™์€ ๊ฒ€์€์ƒ‰ ํ™”์‚ดํ‘œ๊ฐ€ ๋‹ค์ด์–ด๊ทธ๋žจ์˜ ์™ผ์ชฝ ์ƒ๋‹จ์— ์žˆ๋Š” "DID"๋ผ๋Š” ๋ ˆ์ด๋ธ”์ด ๋ถ™์€ ์‚ฌ๊ฐํ˜•์—์„œ ๋‹ค์ด์–ด๊ทธ๋žจ์˜ ์˜ค๋ฅธ์ชฝ ์ƒ๋‹จ์— ์žˆ๋Š” "DID document"๋ผ๋Š” ๋ ˆ์ด๋ธ”์ด ๋ถ™์€ ์‚ฌ๊ฐํ˜•์„ ๊ฐ€๋ฆฌํ‚จ๋‹ค.

"refers to"๋ผ๋Š” ๋ ˆ์ด๋ธ”์ด ๋ถ™์€ ๊ฒ€์€์ƒ‰ ํ™”์‚ดํ‘œ๊ฐ€ ๋‹ค์ด์–ด๊ทธ๋žจ์˜ ์˜ค๋ฅธ์ชฝ ์ƒ๋‹จ์— ์žˆ๋Š” "DID document"๋ผ๋Š” ๋ ˆ์ด๋ธ”์ด ๋ถ™์€ ์‚ฌ๊ฐํ˜•์—์„œ ๋‹ค์ด์–ด๊ทธ๋žจ์˜ ์˜ค๋ฅธ์ชฝ ํ•˜๋‹จ์— ์žˆ๋Š” "Resource"๋ผ๋Š” ๋ ˆ์ด๋ธ”์ด ๋ถ™์€ ํƒ€์›ํ˜•์„ ๊ฐ€๋ฆฌํ‚จ๋‹ค.

"contains"๋ผ๋Š” ๋ ˆ์ด๋ธ”์ด ๋ถ™์€ ๊ฒ€์€์ƒ‰ ํ™”์‚ดํ‘œ๊ฐ€ ๋‹ค์ด์–ด๊ทธ๋žจ์˜ ์™ผ์ชฝ ํ•˜๋‹จ์— ์žˆ๋Š” "DID URL"์ด๋ผ๋Š” ๋ ˆ์ด๋ธ”์ด ๋ถ™์€ ์‚ฌ๊ฐํ˜• ๋‚ด๋ถ€์˜ "DID"๋ผ๋Š” ๋ ˆ์ด๋ธ”์ด ๋ถ™์€ ์ž‘์€ ์‚ฌ๊ฐํ˜•์—์„œ ๋‹ค์ด์–ด๊ทธ๋žจ์˜ ์™ผ์ชฝ ์ƒ๋‹จ์— ์žˆ๋Š” "DID"๋ผ๋Š” ๋ ˆ์ด๋ธ”์ด ๋ถ™์€ ์‚ฌ๊ฐํ˜•์„ ๊ฐ€๋ฆฌํ‚จ๋‹ค.

"dereferences to a DID document"๋ผ๋Š” ๋ ˆ์ด๋ธ”์ด ๋ถ™์€ ๊ฒ€์€์ƒ‰ ํ™”์‚ดํ‘œ๊ฐ€ ๋‹ค์ด์–ด๊ทธ๋žจ์˜ ์™ผ์ชฝ ํ•˜๋‹จ์— ์žˆ๋Š” "DID URL"์ด๋ผ๋Š” ๋ ˆ์ด๋ธ”์ด ๋ถ™์€ ์‚ฌ๊ฐํ˜•์—์„œ ๋‹ค์ด์–ด๊ทธ๋žจ์˜ ์˜ค๋ฅธ์ชฝ ์ƒ๋‹จ์— ์žˆ๋Š” "DID document"๋ผ๋Š” ๋ ˆ์ด๋ธ”์ด ๋ถ™์€ ์‚ฌ๊ฐํ˜•์„ ๊ฐ€๋ฆฌํ‚จ๋‹ค.

"dereferences to a resource"๋ผ๋Š” ๋ ˆ์ด๋ธ”์ด ๋ถ™์€ ๊ฒ€์€์ƒ‰ ํ™”์‚ดํ‘œ๊ฐ€ ๋‹ค์ด์–ด๊ทธ๋žจ์˜ ์™ผ์ชฝ ํ•˜๋‹จ์— ์žˆ๋Š” "DID URL"์ด๋ผ๋Š” ๋ ˆ์ด๋ธ”์ด ๋ถ™์€ ์‚ฌ๊ฐํ˜•์—์„œ ๋‹ค์ด์–ด๊ทธ๋žจ์˜ ์˜ค๋ฅธ์ชฝ ํ•˜๋‹จ์— ์žˆ๋Š” "Resource"๋ผ๋Š” ๋ ˆ์ด๋ธ”์ด ๋ถ™์€ ํƒ€์›ํ˜•์„ ๊ฐ€๋ฆฌํ‚จ๋‹ค.

All conforming DID resolvers implement the following function which has the following abstract form:

dereference(didUrl, dereferenceOptions) โ†’
   ยซ dereferencingMetadata, contentStream, contentMetadata ยป
      

dereference ํ•จ์ˆ˜์˜ ์ž…๋ ฅ ๋ณ€์ˆ˜๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค:

didUrl
๋‹จ์ผ ๋ฌธ์ž์—ด๋กœ ๋œ ๊ทœ๊ฒฉ์— ๋งž๋Š” DID URL์ด๋‹ค. ์ด๊ฒƒ์€ ์—ญ์ฐธ์กฐํ•  DID URL์ด๋‹ค. DID ํ”„๋ ˆ๊ทธ๋จผํŠธ๋ฅผ ์—ญ์ฐธ์กฐํ•˜๋ ค๋ฉด DID ํ”„๋ ˆ๊ทธ๋จผํŠธ๋ฅผ ํฌํ•จํ•œ ์™„์ „ํ•œ DID URL์„ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค. ์ด ์ž…๋ ฅ์€ ํ•„์ˆ˜์ด๋‹ค.

๋ชจ๋“  didUrl์„ DID URL ์—ญ์ฐธ์กฐ์ž์— ์ „๋‹ฌํ•˜๋Š” ๊ฒƒ์ด ์œ ํšจํ•˜์ง€๋งŒ, ๊ตฌํ˜„์ž๋Š” DID URL์ด ์–ด๋–ป๊ฒŒ ์—ญ์ฐธ์กฐ๋  ๊ฒƒ์œผ๋กœ ์˜ˆ์ƒ๋˜๋Š”์ง€์— ๋Œ€ํ•œ ์ผ๋ฐ˜์ ์ธ ํŒจํ„ด์„ ๋” ์ž˜ ์ดํ•ดํ•˜๊ธฐ ์œ„ํ•ด [[?DID-RESOLUTION]]์„ ์ฐธ์กฐํ•  ๊ฒƒ์œผ๋กœ ์˜ˆ์ƒ๋œ๋‹ค.

dereferencingOptions
didUrl ์ž์ฒด ์™ธ์— dereference ํ•จ์ˆ˜์— ๋Œ€ํ•œ ์ž…๋ ฅ ์˜ต์…˜์œผ๋กœ ๊ตฌ์„ฑ๋œ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ๊ตฌ์กฐ์ด๋‹ค. ์ด ๊ทœ๊ฒฉ์—์„œ ์ •์˜ํ•œ ์†์„ฑ์€ ์— ์žˆ๋‹ค. ์ด ์ž…๋ ฅ์€ ํ•„์ˆ˜์ด์ง€๋งŒ ๊ตฌ์กฐ๋Š” ๋น„์–ด ์žˆ์„ ์ˆ˜ ์žˆ๋‹ค.

์ด ํ•จ์ˆ˜๋Š” ์—ฌ๋Ÿฌ ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•˜๋ฉฐ, ์ด๋Ÿฌํ•œ ๊ฐ’๋“ค์ด ํ•จ๊ป˜ ๋ฐ˜ํ™˜๋˜๋Š” ๋ฐฉ์‹์—๋Š” ์ œํ•œ์ด ์—†๋‹ค. dereference์˜ ๋ฐ˜ํ™˜ ๊ฐ’์—๋Š” dereferencingMetadata, contentStream, contentMetadata๊ฐ€ ํฌํ•จ๋œ๋‹ค:

dereferencingMetadata
DID URL ์—ญ์ฐธ์กฐ ํ”„๋กœ์„ธ์Šค์˜ ๊ฒฐ๊ณผ์™€ ๊ด€๋ จ๋œ ๊ฐ’์œผ๋กœ ๊ตฌ์„ฑ๋œ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ๊ตฌ์กฐ์ด๋‹ค. ์ด ๊ตฌ์กฐ๋Š” ํ•„์ˆ˜์ด๋ฉฐ, ์—ญ์ฐธ์กฐ ํ”„๋กœ์„ธ์Šค์—์„œ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•œ ๊ฒฝ์šฐ ์ด ๊ตฌ์กฐ๋Š” ๋น„์–ด ์žˆ์–ด์„œ๋Š” ์•ˆ ๋œ๋‹ค. ์ด ๊ทœ๊ฒฉ์—์„œ ์ •์˜ํ•œ ์†์„ฑ์€ ์— ์žˆ๋‹ค. ์—ญ์ฐธ์กฐ๊ฐ€ ์„ฑ๊ณตํ•˜์ง€ ์•Š์œผ๋ฉด ์ด ๊ตฌ์กฐ๋Š” ์˜ค๋ฅ˜๋ฅผ ์„ค๋ช…ํ•˜๋Š” error ์†์„ฑ์„ ํฌํ•จํ•ด์•ผ ํ•œ๋‹ค.
contentStream
dereferencing ํ•จ์ˆ˜๊ฐ€ ํ˜ธ์ถœ๋˜์–ด ์„ฑ๊ณตํ•œ ๊ฒฝ์šฐ, ์ด๋Š” DID URL์— ํ•ด๋‹นํ•˜๋Š” ๋ฆฌ์†Œ์Šค๋ฅผ ํฌํ•จํ•ด์•ผ ํ•œ๋‹ค. contentStream์€ ๊ทœ๊ฒฉ์„ ์ค€์ˆ˜ํ•˜๋Š” ํ‘œํ˜„ ์ค‘ ํ•˜๋‚˜๋กœ ์ง๋ ฌํ™” ๊ฐ€๋Šฅํ•œ DID ๋ฌธ์„œ, ๊ฒ€์ฆ ๋ฐฉ๋ฒ•, ์„œ๋น„์Šค ๋˜๋Š” ๋ฏธ๋””์–ด ์œ ํ˜•์„ ํ†ตํ•ด ์‹๋ณ„๋˜๊ณ  ํ•ด์„ ํ”„๋กœ์„ธ์Šค๋ฅผ ํ†ตํ•ด ์–ป์„ ์ˆ˜ ์žˆ๋Š” ๊ธฐํƒ€ ๋ฆฌ์†Œ์Šค ํ˜•์‹๊ณผ ๊ฐ™์€ ๋ฆฌ์†Œ์Šค์ผ ์ˆ˜ ์žˆ๋‹ค. ์—ญ์ฐธ์กฐ๊ฐ€ ์„ฑ๊ณตํ•˜์ง€ ์•Š์œผ๋ฉด ์ด ๊ฐ’์€ ๋น„์–ด ์žˆ์–ด์•ผ ํ•œ๋‹ค.
contentMetadata
์—ญ์ฐธ์กฐ๊ฐ€ ์„ฑ๊ณตํ•˜๋ฉด ์ด๋Š” ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ๊ตฌ์กฐ์—ฌ์•ผ ํ•˜์ง€๋งŒ, ๊ตฌ์กฐ๋Š” ๋น„์–ด ์žˆ์„ ์ˆ˜ ์žˆ๋‹ค. ์ด ๊ตฌ์กฐ๋Š” contentStream์— ๋Œ€ํ•œ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋ฅผ ํฌํ•จํ•œ๋‹ค. contentStream์ด DID ๋ฌธ์„œ์ธ ๊ฒฝ์šฐ, ์ด๋Š” DID ํ•ด์„์— ์„ค๋ช…๋œ ๋Œ€๋กœ didDocumentMetadata ๊ตฌ์กฐ์—ฌ์•ผ ํ•œ๋‹ค. ์—ญ์ฐธ์กฐ๊ฐ€ ์„ฑ๊ณตํ•˜์ง€ ์•Š์œผ๋ฉด ์ด ์ถœ๋ ฅ์€ ๋นˆ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ๊ตฌ์กฐ์—ฌ์•ผ ํ•œ๋‹ค.

๊ทœ๊ฒฉ์„ ์ค€์ˆ˜ํ•˜๋Š” DID URL ์—ญ์ฐธ์กฐ ๊ตฌํ˜„์€ ์ด๋Ÿฌํ•œ ํ•จ์ˆ˜์˜ ์‹œ๊ทธ๋‹ˆ์ฒ˜๋ฅผ ์–ด๋–ค ์‹์œผ๋กœ๋“  ๋ณ€๊ฒฝํ•˜์ง€ ์•Š๋Š”๋‹ค. DID URL ์—ญ์ฐธ์กฐ ๊ตฌํ˜„์€ ์‹ค์ œ DID URL ์—ญ์ฐธ์กฐ ํ”„๋กœ์„ธ์Šค๋ฅผ ์ˆ˜ํ–‰ํ•˜๊ธฐ ์œ„ํ•ด dereference ํ•จ์ˆ˜๋ฅผ ๋ฉ”์†Œ๋“œ๋ณ„ ๋‚ด๋ถ€ ํ•จ์ˆ˜์— ๋งคํ•‘ํ•  ์ˆ˜ ์žˆ๋‹ค. DID URL ์—ญ์ฐธ์กฐ ๊ตฌํ˜„์€ ์—ฌ๊ธฐ์— ์ง€์ •๋œ dereference ํ•จ์ˆ˜ ์™ธ์— ๋‹ค๋ฅธ ์‹œ๊ทธ๋‹ˆ์ฒ˜๋ฅผ ๊ฐ€์ง„ ์ถ”๊ฐ€ ํ•จ์ˆ˜๋ฅผ ๊ตฌํ˜„ํ•˜๊ณ  ๋…ธ์ถœํ•  ์ˆ˜ ์žˆ๋‹ค.

DID URL ์—ญ์ฐธ์กฐ ์˜ต์…˜

์ด ๊ตฌ์กฐ ๋‚ด์˜ ๊ฐ€๋Šฅํ•œ ์†์„ฑ๊ณผ ๊ทธ ๊ฐ€๋Šฅํ•œ ๊ฐ’์€ DID ๊ทœ๊ฒฉ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ [[?DID-SPEC-REGISTRIES]]์— ๋“ฑ๋ก๋˜์–ด์•ผ ํ•œ๋‹ค. ์ด ๊ทœ๊ฒฉ์€ ์—ญ์ฐธ์กฐ ์˜ต์…˜์— ๋Œ€ํ•ด ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ณตํ†ต ์†์„ฑ์„ ์ •์˜ํ•œ๋‹ค:

accept
ํ˜ธ์ถœ์ž๊ฐ€ contentStream์— ๋Œ€ํ•ด ์„ ํ˜ธํ•˜๋Š” ๋ฏธ๋””์–ด ์œ ํ˜•์ด๋‹ค. ๋ฏธ๋””์–ด ์œ ํ˜•์€ ASCII ๋ฌธ์ž์—ด๋กœ ํ‘œํ˜„๋˜์–ด์•ผ ํ•œ๋‹ค. ํ•ด๋‹น ํ‘œํ˜„์ด ์ง€์›๋˜๊ณ  ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๊ฒฝ์šฐ DID URL ์—ญ์ฐธ์กฐ ๊ตฌํ˜„์€ ์ด ๊ฐ’์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐ˜ํ™˜๋œ ๊ฐ’์— ํฌํ•จ๋œ ํ‘œํ˜„์˜ contentType์„ ๊ฒฐ์ •ํ•ด์•ผ ํ•œ๋‹ค.

DID URL ์—ญ์ฐธ์กฐ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ

์ด ๊ตฌ์กฐ ๋‚ด์˜ ๊ฐ€๋Šฅํ•œ ์†์„ฑ๊ณผ ๊ทธ ๊ฐ€๋Šฅํ•œ ๊ฐ’์€ DID ๊ทœ๊ฒฉ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ [[?DID-SPEC-REGISTRIES]]์— ๋“ฑ๋ก๋˜์–ด ์žˆ๋‹ค. ์ด ๊ทœ๊ฒฉ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ณตํ†ต ์†์„ฑ์„ ์ •์˜ํ•œ๋‹ค.

contentType
์—ญ์ฐธ์กฐ๊ฐ€ ์„ฑ๊ณตํ•œ ๊ฒฝ์šฐ ๋ฐ˜ํ™˜๋œ contentStream์˜ ๋ฏธ๋””์–ด ์œ ํ˜•์€ ์ด ์†์„ฑ์„ ์‚ฌ์šฉํ•˜์—ฌ ํ‘œํ˜„๋˜์–ด์•ผ ํ•œ๋‹ค. ๋ฏธ๋””์–ด ์œ ํ˜• ๊ฐ’์€ ASCII ๋ฌธ์ž์—ด๋กœ ํ‘œํ˜„๋˜์–ด์•ผ ํ•œ๋‹ค.
error
์—ญ์ฐธ์กฐ ํ”„๋กœ์„ธ์Šค์˜ ์˜ค๋ฅ˜ ์ฝ”๋“œ์ด๋‹ค. ์ด ์†์„ฑ์€ ์—ญ์ฐธ์กฐ ํ”„๋กœ์„ธ์Šค์— ์˜ค๋ฅ˜๊ฐ€ ์žˆ์„ ๋•Œ ํ•„์ˆ˜์ด๋‹ค. ์ด ์†์„ฑ์˜ ๊ฐ’์€ ASCII ๋ฌธ์ž์—ด๋กœ ํ‘œํ˜„๋œ ๋‹จ์ผ ํ‚ค์›Œ๋“œ์—ฌ์•ผ ํ•œ๋‹ค. ์ด ํ•„๋“œ์˜ ๊ฐ€๋Šฅํ•œ ์†์„ฑ ๊ฐ’์€ DID ๊ทœ๊ฒฉ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ [[?DID-SPEC-REGISTRIES]]์— ๋“ฑ๋ก๋˜์–ด์•ผ ํ•œ๋‹ค. ์ด ๊ทœ๊ฒฉ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ณตํ†ต ์˜ค๋ฅ˜ ๊ฐ’์„ ์ •์˜ํ•œ๋‹ค:
invalidDidUrl
DID URL ์—ญ์ฐธ์กฐ ํ•จ์ˆ˜์— ์ œ๊ณต๋œ DID URL์ด ์œ ํšจํ•œ ๊ตฌ๋ฌธ์„ ์ค€์ˆ˜ํ•˜์ง€ ์•Š๋Š”๋‹ค. ( ์ฐธ์กฐ.)
notFound
DID URL ์—ญ์ฐธ์กฐ์ž๊ฐ€ ์ด ์—ญ์ฐธ์กฐ ์š”์ฒญ์˜ ๊ฒฐ๊ณผ์ธ contentStream์„ ์ฐพ์„ ์ˆ˜ ์—†๋‹ค.

๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ๊ตฌ์กฐ

์ž…๋ ฅ ๋ฐ ์ถœ๋ ฅ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋Š” ์ข…์ข… DID ํ•ด์„, DID URL ์—ญ์ฐธ์กฐ ๋ฐ ๊ธฐํƒ€ DID ๊ด€๋ จ ํ”„๋กœ์„ธ์Šค ์ค‘์— ๊ด€๋ จ๋œ๋‹ค. ์ด ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋ฅผ ์ „๋‹ฌํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” ๊ตฌ์กฐ๋Š” ์†์„ฑ์˜ map์ด์–ด์•ผ ํ•œ๋‹ค. ๊ฐ ์†์„ฑ ์ด๋ฆ„์€ ๋ฌธ์ž์—ด์ด์–ด์•ผ ํ•œ๋‹ค. ๊ฐ ์†์„ฑ ๊ฐ’์€ ๋ฌธ์ž์—ด, map, ๋ชฉ๋ก, set, ๋ถˆ๋ฆฌ์–ธ ๋˜๋Š” ๋„์ด์–ด์•ผ ํ•œ๋‹ค. map๊ณผ ๋ชฉ๋ก๊ณผ ๊ฐ™์€ ๋ณต์žกํ•œ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ ๋‚ด์˜ ๊ฐ’๋„ ์ด๋Ÿฌํ•œ ๋ฐ์ดํ„ฐ ์œ ํ˜• ์ค‘ ํ•˜๋‚˜์—ฌ์•ผ ํ•œ๋‹ค. DID ๊ทœ๊ฒฉ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ [[?DID-SPEC-REGISTRIES]]์— ๋“ฑ๋ก๋œ ๋ชจ๋“  ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ์†์„ฑ ์ •์˜๋Š” ํ•ด๋‹น ๊ฐ’์— ๋Œ€ํ•œ ์ถ”๊ฐ€ ํ˜•์‹์ด๋‚˜ ์ œํ•œ์„ ํฌํ•จํ•˜์—ฌ ๊ฐ’ ์œ ํ˜•์„ ์ •์˜ํ•ด์•ผ ํ•œ๋‹ค(์˜ˆ: ๋‚ ์งœ ๋˜๋Š” 10์ง„ ์ •์ˆ˜๋กœ ํฌ๋งท๋œ ๋ฌธ์ž์—ด). ์†์„ฑ ์ •์˜์—์„œ ๊ฐ’์— ๋ฌธ์ž์—ด์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ๊ถŒ์žฅ๋œ๋‹ค. ์ „์ฒด ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ๊ตฌ์กฐ๋Š” [[INFRA]] ๊ทœ๊ฒฉ์˜ JSON ์ง๋ ฌํ™” ๊ทœ์น™์— ๋”ฐ๋ผ ์ง๋ ฌํ™”ํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•œ๋‹ค. ๊ตฌํ˜„์€ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ๊ตฌ์กฐ๋ฅผ ๋‹ค๋ฅธ ๋ฐ์ดํ„ฐ ํ˜•์‹์œผ๋กœ ์ง๋ ฌํ™”ํ•  ์ˆ˜ ์žˆ๋‹ค.

๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ๊ตฌ์กฐ๋ฅผ ์ž…๋ ฅ์ด๋‚˜ ์ถœ๋ ฅ์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š” ํ•จ์ˆ˜์˜ ๋ชจ๋“  ๊ตฌํ˜„์€ ์—ฌ๊ธฐ์— ์„ค๋ช…๋œ ๋ชจ๋“  ๋ฐ์ดํ„ฐ ์œ ํ˜•์„ ๊ฒฐ์ •์ ์ธ ๋ฐฉ์‹์œผ๋กœ ์™„์ „ํžˆ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค. ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ๊ตฌ์กฐ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ž…๋ ฅ๊ณผ ์ถœ๋ ฅ์€ ์ง๋ ฌํ™”๊ฐ€ ์•„๋‹Œ ๋ฐ์ดํ„ฐ ์œ ํ˜•์˜ ๊ด€์ ์—์„œ ์ •์˜๋˜๋ฏ€๋กœ, ํ‘œํ˜„์„ ์œ„ํ•œ ๋ฐฉ๋ฒ•์€ ํ•จ์ˆ˜์˜ ๊ตฌํ˜„ ๋‚ด๋ถ€์— ์žˆ์œผ๋ฉฐ ์ด ๊ทœ๊ฒฉ์˜ ๋ฒ”์œ„๋ฅผ ๋ฒ—์–ด๋‚œ๋‹ค.

๋‹ค์Œ ์˜ˆ์ œ๋Š” DID ํ•ด์„ ์ž…๋ ฅ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋กœ ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ๋Š” JSON ์ธ์ฝ”๋”ฉ๋œ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ๊ตฌ์กฐ๋ฅผ ๋ณด์—ฌ์ค€๋‹ค.

{
  "accept": "application/did+ld+json"
}
      

์ด ์˜ˆ์ œ๋Š” ๋‹ค์Œ ํ˜•์‹์˜ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ๊ตฌ์กฐ์— ํ•ด๋‹นํ•œ๋‹ค:

ยซ[
  "accept" โ†’ "application/did+ld+json"
]ยป
      

๋‹ค์Œ ์˜ˆ์ œ๋Š” DID๋ฅผ ์ฐพ์„ ์ˆ˜ ์—†๋Š” ๊ฒฝ์šฐ DID ํ•ด์„ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋กœ ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ๋Š” JSON ์ธ์ฝ”๋”ฉ๋œ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ๊ตฌ์กฐ๋ฅผ ๋ณด์—ฌ์ค€๋‹ค.

{
  "error": "notFound"
}
      

์ด ์˜ˆ์ œ๋Š” ๋‹ค์Œ ํ˜•์‹์˜ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ๊ตฌ์กฐ์— ํ•ด๋‹นํ•œ๋‹ค:

ยซ[
  "error" โ†’ "notFound"
]ยป
      

๋‹ค์Œ ์˜ˆ์ œ๋Š” DID ๋ฌธ์„œ์™€ ๊ด€๋ จ๋œ ํƒ€์ž„์Šคํƒฌํ”„๋ฅผ ์„ค๋ช…ํ•˜๊ธฐ ์œ„ํ•ด DID ๋ฌธ์„œ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋กœ ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ๋Š” JSON ์ธ์ฝ”๋”ฉ๋œ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ๊ตฌ์กฐ๋ฅผ ๋ณด์—ฌ์ค€๋‹ค.

{
  "created": "2019-03-23T06:35:22Z",
  "updated": "2023-08-10T13:40:06Z"
}
      

์ด ์˜ˆ์ œ๋Š” ๋‹ค์Œ ํ˜•์‹์˜ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ๊ตฌ์กฐ์— ํ•ด๋‹นํ•œ๋‹ค:

ยซ[
  "created" โ†’ "2019-03-23T06:35:22Z",
  "updated" โ†’ "2023-08-10T13:40:06Z"
]ยป
      

๋ฉ”์†Œ๋“œ

DID ๋ฉ”์†Œ๋“œ๋Š” ๊ตฌํ˜„์ž๊ฐ€ ์ด ๊ทœ๊ฒฉ์—์„œ ์„ค๋ช…ํ•˜๋Š” ๊ธฐ๋Šฅ์„ ์–ด๋–ป๊ฒŒ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ์ •์˜ํ•œ๋‹ค. DID ๋ฉ”์†Œ๋“œ๋Š” ์ข…์ข… ํŠน์ • ๊ฒ€์ฆ ๊ฐ€๋Šฅํ•œ ๋ฐ์ดํ„ฐ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ์™€ ์—ฐ๊ด€๋œ๋‹ค. ์ƒˆ๋กœ์šด DID ๋ฉ”์†Œ๋“œ๋Š” ๋™์ผํ•œ DID ๋ฉ”์†Œ๋“œ์˜ ์„œ๋กœ ๋‹ค๋ฅธ ๊ตฌํ˜„ ๊ฐ„์˜ ์ƒํ˜ธ ์šด์šฉ์„ฑ์„ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•˜๊ธฐ ์œ„ํ•ด ์ž์ฒด ๊ทœ๊ฒฉ์— ์ •์˜๋œ๋‹ค.

๊ฐœ๋…์ ์œผ๋กœ, ์ด ๊ทœ๊ฒฉ๊ณผ DID ๋ฉ”์†Œ๋“œ ๊ทœ๊ฒฉ ๊ฐ„์˜ ๊ด€๊ณ„๋Š” IETF ์ผ๋ฐ˜ URI ๊ทœ๊ฒฉ [[?RFC3986]]๊ณผ http ์ฒด๊ณ„ [[?RFC7230]]์™€ ๊ฐ™์€ ํŠน์ • URI ์ฒด๊ณ„ [[?IANA-URI-SCHEMES]] ๊ฐ„์˜ ๊ด€๊ณ„์™€ ์œ ์‚ฌํ•˜๋‹ค. DID ๋ฉ”์†Œ๋“œ ๊ทœ๊ฒฉ์€ ํŠน์ • DID ์ฒด๊ณ„๋ฅผ ์ •์˜ํ•˜๋Š” ๊ฒƒ ์™ธ์—๋„ ํŠน์ • ์œ ํ˜•์˜ ๊ฒ€์ฆ ๊ฐ€๋Šฅํ•œ ๋ฐ์ดํ„ฐ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ DID์™€ DID ๋ฌธ์„œ๋ฅผ ์ƒ์„ฑ, ํ•ด์„, ๊ฐฑ์‹  ๋ฐ ๋น„ํ™œ์„ฑํ™”ํ•˜๋Š” ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ์ •์˜ํ•œ๋‹ค. ๋˜ํ•œ DID์™€ ๊ด€๋ จ๋œ ๋ชจ๋“  ๊ตฌํ˜„ ๊ณ ๋ ค์‚ฌํ•ญ๊ณผ ๋ณด์•ˆ ๋ฐ ๊ฐœ์ธ์ •๋ณด ๋ณดํ˜ธ ๊ณ ๋ ค์‚ฌํ•ญ์„ ๋ฌธ์„œํ™”ํ•œ๋‹ค.

์ด ์„น์…˜์—์„œ๋Š” DID ๋ฉ”์†Œ๋“œ ๊ทœ๊ฒฉ ์ž‘์„ฑ์„ ์œ„ํ•œ ์š”๊ตฌ์‚ฌํ•ญ์„ ๋ช…์‹œํ•œ๋‹ค.

๋ฉ”์†Œ๋“œ ๊ตฌ๋ฌธ

๋ฉ”์†Œ๋“œ๋ณ„ DID ๊ตฌ๋ฌธ์„ ์ •์˜ํ•  ๋•Œ ๋ชจ๋“  DID ๋ฉ”์†Œ๋“œ ๊ทœ๊ฒฉ์— ๋Œ€ํ•œ ์š”๊ตฌ์‚ฌํ•ญ์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค:

  1. DID ๋ฉ”์†Œ๋“œ ๊ทœ๊ฒฉ์€ ์˜ method-name ๊ทœ์น™์— ๋ช…์‹œ๋œ ๋Œ€๋กœ ์ •ํ™•ํžˆ ํ•˜๋‚˜์˜ ๋ฉ”์†Œ๋“œ ์ด๋ฆ„์œผ๋กœ ์‹๋ณ„๋˜๋Š” ์ •ํ™•ํžˆ ํ•˜๋‚˜์˜ ๋ฉ”์†Œ๋“œ๋ณ„ DID ์ฒด๊ณ„๋ฅผ ์ •์˜ํ•ด์•ผ ํ•œ๋‹ค.
  2. DID ๋ฉ”์†Œ๋“œ ๊ทœ๊ฒฉ์€ DID์˜ method-specific-id ๊ตฌ์„ฑ ์š”์†Œ๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋ช…์‹œํ•ด์•ผ ํ•œ๋‹ค.
  3. DID ๋ฉ”์†Œ๋“œ ๊ทœ๊ฒฉ์€ method-specific-id ๊ฐ’์˜ ๋ฏผ๊ฐ๋„์™€ ์ •๊ทœํ™”๋ฅผ ์ •์˜ํ•ด์•ผ ํ•œ๋‹ค.
  4. method-specific-id ๊ฐ’์€ DID ๋ฉ”์†Œ๋“œ ๋‚ด์—์„œ ๊ณ ์œ ํ•ด์•ผ ํ•œ๋‹ค. method-specific-id ๊ฐ’ ์ž์ฒด๋Š” ์ „ ์„ธ๊ณ„์ ์œผ๋กœ ๊ณ ์œ ํ•  ์ˆ˜ ์žˆ๋‹ค.
  5. DID ๋ฉ”์†Œ๋“œ์— ์˜ํ•ด ์ƒ์„ฑ๋œ ๋ชจ๋“  DID๋Š” ์ „ ์„ธ๊ณ„์ ์œผ๋กœ ๊ณ ์œ ํ•ด์•ผ ํ•œ๋‹ค.
  6. method-name ์ถฉ๋Œ ๊ฐ€๋Šฅ์„ฑ์„ ์ค„์ด๊ธฐ ์œ„ํ•ด DID ๋ฉ”์†Œ๋“œ ๊ทœ๊ฒฉ์€ DID ๊ทœ๊ฒฉ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ [[?DID-SPEC-REGISTRIES]]์— ๋“ฑ๋ก๋˜์–ด์•ผ ํ•œ๋‹ค.
  7. DID ๋ฉ”์†Œ๋“œ๋Š” ์—ฌ๋Ÿฌ ๊ฐœ์˜ method-specific-id ํ˜•์‹์„ ์ •์˜ํ•  ์ˆ˜ ์žˆ๋‹ค.
  8. method-specific-id ํ˜•์‹์€ ์ฝœ๋ก ์„ ํฌํ•จํ•  ์ˆ˜ ์žˆ๋‹ค. ์ฝœ๋ก ์˜ ์‚ฌ์šฉ์€ method-specific-id ABNF ๊ทœ์น™๊ณผ ๊ตฌ๋ฌธ์ ์œผ๋กœ ์ผ์น˜ํ•ด์•ผ ํ•œ๋‹ค.
  9. DID ๋ฉ”์†Œ๋“œ ๊ทœ๊ฒฉ์€ ์˜ ์ผ๋ฐ˜ ๊ทœ์น™๋ณด๋‹ค ๋” ์ œํ•œ์ ์ธ DID ๊ฒฝ๋กœ์— ๋Œ€ํ•œ ABNF ๊ทœ์น™์„ ์ง€์ •ํ•  ์ˆ˜ ์žˆ๋‹ค.
  10. DID ๋ฉ”์†Œ๋“œ ๊ทœ๊ฒฉ์€ ์ด ์„น์…˜์˜ ์ผ๋ฐ˜ ๊ทœ์น™๋ณด๋‹ค ๋” ์ œํ•œ์ ์ธ DID ์ฟผ๋ฆฌ์— ๋Œ€ํ•œ ABNF ๊ทœ์น™์„ ์ง€์ •ํ•  ์ˆ˜ ์žˆ๋‹ค.
  11. DID ๋ฉ”์†Œ๋“œ ๊ทœ๊ฒฉ์€ ์ด ์„น์…˜์˜ ์ผ๋ฐ˜ ๊ทœ์น™๋ณด๋‹ค ๋” ์ œํ•œ์ ์ธ DID ํ”„๋ ˆ๊ทธ๋จผํŠธ์— ๋Œ€ํ•œ ABNF ๊ทœ์น™์„ ์ง€์ •ํ•  ์ˆ˜ ์žˆ๋‹ค.

method-specific-id์˜ ์ฝœ๋ก ์˜ ์˜๋ฏธ๋Š” ์ „์ ์œผ๋กœ ๋ฉ”์†Œ๋“œ๋ณ„๋กœ ๋‹ค๋ฅด๋‹ค. ์ฝœ๋ก ์€ DID ๋ฉ”์†Œ๋“œ์—์„œ ๊ณ„์ธต์ ์œผ๋กœ ๋ถ„ํ• ๋œ ๋„ค์ž„์ŠคํŽ˜์ด์Šค๋ฅผ ์„ค์ •ํ•˜๊ฑฐ๋‚˜, ๊ฒ€์ฆ ๊ฐ€๋Šฅํ•œ ๋ฐ์ดํ„ฐ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ์˜ ํŠน์ • ์ธ์Šคํ„ด์Šค ๋˜๋Š” ๋ถ€๋ถ„์„ ์‹๋ณ„ํ•˜๊ฑฐ๋‚˜, ๊ธฐํƒ€ ๋ชฉ์ ์œผ๋กœ ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ๋‹ค. ๊ตฌํ˜„์ž๋Š” ๋ชจ๋“  DID ๋ฉ”์†Œ๋“œ์— ์ผ๋ฐ˜์ ์œผ๋กœ ์ ์šฉ๋˜๋Š” ์ฝœ๋ก ๊ณผ ๊ด€๋ จ๋œ ์˜๋ฏธ๋‚˜ ๋™์ž‘์„ ๊ฐ€์ •ํ•˜์ง€ ์•Š๋Š” ๊ฒƒ์ด ์ข‹๋‹ค.

๋ฉ”์†Œ๋“œ ์ž‘์—…

๋ฉ”์†Œ๋“œ ์ž‘์—…์„ ์ •์˜ํ•  ๋•Œ ๋ชจ๋“  DID ๋ฉ”์†Œ๋“œ ๊ทœ๊ฒฉ์— ๋Œ€ํ•œ ์š”๊ตฌ์‚ฌํ•ญ์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค:

  1. DID ๋ฉ”์†Œ๋“œ ๊ทœ๊ฒฉ์€ ํ•„์š”ํ•œ ๋ชจ๋“  ์•”ํ˜ธํ™” ํ”„๋กœ์„ธ์Šค๋ฅผ ํฌํ•จํ•˜์—ฌ ๋ชจ๋“  ์ž‘์—…์„ ์‹คํ–‰ํ•˜๊ธฐ ์œ„ํ•œ ์ธ์ฆ ๋ฐฉ๋ฒ•์„ ์ •์˜ํ•ด์•ผ ํ•œ๋‹ค.
  2. DID ๋ฉ”์†Œ๋“œ ๊ทœ๊ฒฉ์€ DID ์ปจํŠธ๋กค๋Ÿฌ๊ฐ€ DID์™€ ์—ฐ๊ฒฐ๋œ DID ๋ฌธ์„œ๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋ช…์‹œํ•ด์•ผ ํ•œ๋‹ค.
  3. DID ๋ฉ”์†Œ๋“œ ๊ทœ๊ฒฉ์€ DID ๋ณ€ํ™˜๊ธฐ๊ฐ€ DID๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ DID ๋ฌธ์„œ๋ฅผ ํ•ด์„ํ•˜๋Š” ๋ฐฉ๋ฒ•, ํŠนํžˆ DID ๋ณ€ํ™˜๊ธฐ๊ฐ€ ์‘๋‹ต์˜ ์ง„์œ„๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์„ ๋ช…์‹œํ•ด์•ผ ํ•œ๋‹ค.
  4. DID ๋ฉ”์†Œ๋“œ ๊ทœ๊ฒฉ์€ DID ๋ฌธ์„œ์˜ ๊ฐฑ์‹ ์„ ๊ตฌ์„ฑํ•˜๋Š” ๊ฒƒ๊ณผ DID ์ปจํŠธ๋กค๋Ÿฌ๊ฐ€ DID ๋ฌธ์„œ๋ฅผ ๊ฐฑ์‹ ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์„ ๋ช…์‹œํ•˜๊ฑฐ๋‚˜ ๋˜๋Š” ๊ฐฑ์‹ ์ด ๋ถˆ๊ฐ€๋Šฅํ•จ์„ ๋ช…์‹œํ•ด์•ผ ํ•œ๋‹ค.
  5. DID ๋ฉ”์†Œ๋“œ ๊ทœ๊ฒฉ์€ DID ์ปจํŠธ๋กค๋Ÿฌ๊ฐ€ DID๋ฅผ ๋น„ํ™œ์„ฑํ™”ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋ช…์‹œํ•˜๊ฑฐ๋‚˜ ๋˜๋Š” ๋น„ํ™œ์„ฑํ™”๊ฐ€ ๋ถˆ๊ฐ€๋Šฅํ•จ์„ ๋ช…์‹œํ•ด์•ผ ํ•œ๋‹ค.

์ž‘์—… ์ˆ˜ํ–‰์„ ์œ„ํ•œ ์ธ์ฆ์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๋‹น์‚ฌ์ž์˜ ๊ถŒํ•œ์€ DID ๋ฉ”์†Œ๋“œ์— ๋”ฐ๋ผ ๋‹ค๋ฆ…๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, DID ๋ฉ”์†Œ๋“œ๋Š” —

๋ณด์•ˆ ์š”๊ตฌ์‚ฌํ•ญ

๋ณด์•ˆ ๊ณ ๋ ค์‚ฌํ•ญ ์„น์…˜์„ ์ž‘์„ฑํ•  ๋•Œ ๋ชจ๋“  DID ๋ฉ”์†Œ๋“œ ๊ทœ๊ฒฉ์— ๋Œ€ํ•œ ์š”๊ตฌ์‚ฌํ•ญ์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค:

  1. DID ๋ฉ”์†Œ๋“œ ๊ทœ๊ฒฉ์€ DID ๋ฉ”์†Œ๋“œ ๊ทœ๊ฒฉ์— ์ •์˜๋œ DID ์ž‘์—…์— ๋Œ€ํ•ด RFC3552: ๋ณด์•ˆ ๊ณ ๋ ค์‚ฌํ•ญ ์„น์…˜ ์ž‘์„ฑ์— ์ œ๊ณต๋œ ๋ชจ๋“  ์ง€์นจ๊ณผ ๊ทœ๋ฒ”์  ์–ธ์–ด๋ฅผ ๋”ฐ๋ผ์•ผ ํ•œ๋‹ค.
  2. ๋ณด์•ˆ ๊ณ ๋ ค์‚ฌํ•ญ ์„น์…˜์€ DID ๋ฉ”์†Œ๋“œ ๊ทœ๊ฒฉ์— ์ •์˜๋œ DID ์ž‘์—…์— ๋Œ€ํ•œ ๋„์ฒญ, ์žฌ์ƒ, ๋ฉ”์‹œ์ง€ ์‚ฝ์ž…, ์‚ญ์ œ, ์ˆ˜์ •, ์„œ๋น„์Šค ๊ฑฐ๋ถ€, ์ฆํญ ๋ฐ ์ค‘๊ฐ„์ž ๊ณต๊ฒฉ๊ณผ ๊ฐ™์€ ๊ณต๊ฒฉ ํ˜•ํƒœ๋ฅผ ๋ฌธ์„œํ™”ํ•ด์•ผ ํ•œ๋‹ค. ์•Œ๋ ค์ง„ ๋‹ค๋ฅธ ๊ณต๊ฒฉ ํ˜•ํƒœ๋„ ๋ฌธ์„œํ™”ํ•ด์•ผ ํ•œ๋‹ค.
  3. ๋ณด์•ˆ ๊ณ ๋ ค์‚ฌํ•ญ ์„น์…˜์€ ์œ„ํ˜‘ ์™„ํ™”๊ฐ€ ๋ฐฐ์น˜๋œ ํ›„ ๊ด€๋ จ ํ”„๋กœํ† ์ฝœ์˜ ์†์ƒ, ์ž˜๋ชป๋œ ๊ตฌํ˜„ ๋˜๋Š” ์•”ํ˜ธ๋กœ ์ธํ•œ ์œ„ํ—˜๊ณผ ๊ฐ™์€ ์ž”๋ฅ˜ ์œ„ํ—˜์„ ๋…ผ์˜ํ•ด์•ผ ํ•œ๋‹ค.
  4. ๋ณด์•ˆ ๊ณ ๋ ค์‚ฌํ•ญ ์„น์…˜์€ ์„น์…˜์—์„œ ์š”๊ตฌํ•˜๋Š” ๋ชจ๋“  ์ž‘์—…์— ๋Œ€ํ•ด ๋ฌด๊ฒฐ์„ฑ ๋ณดํ˜ธ ๋ฐ ๊ฐฑ์‹  ์ธ์ฆ์„ ์ œ๊ณตํ•ด์•ผ ํ•œ๋‹ค.
  5. ํŠนํžˆ ์‚ฌ์šฉ์ž-ํ˜ธ์ŠคํŠธ ์ธ์ฆ๊ณผ ๊ฐ™์€ ์ธ์ฆ์ด ๊ด€๋ จ๋œ ๊ฒฝ์šฐ, ์ธ์ฆ ๋ฉ”์†Œ๋“œ์˜ ๋ณด์•ˆ ํŠน์„ฑ์„ ๋ช…ํ™•ํžˆ ๋ฌธ์„œํ™”ํ•ด์•ผ ํ•œ๋‹ค.
  6. ๋ณด์•ˆ ๊ณ ๋ ค์‚ฌํ•ญ ์„น์…˜์€ DID๊ฐ€ ๊ณ ์œ ํ•˜๊ฒŒ ํ• ๋‹น๋จ์„ ์ฆ๋ช…ํ•˜๋Š” ์ •์ฑ… ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ๋…ผ์˜ํ•ด์•ผ ํ•œ๋‹ค.
  7. ๋ฉ”์†Œ๋“œ๋ณ„ ์—”๋“œํฌ์ธํŠธ ์ธ์ฆ์€ ๋ฐ˜๋“œ์‹œ ๋…ผ์˜๋˜์–ด์•ผ ํ•œ๋‹ค. DID ๋ฉ”์†Œ๋“œ๊ฐ€ ํ•„์š”ํ•œ ์ปดํ“จํŒ… ๋ฆฌ์†Œ์Šค๋ฅผ ์ค„์ด๊ธฐ ์œ„ํ•ด ๋•Œ๋กœ๋Š” ๋ผ์ดํŠธ ๋…ธ๋“œ ๋˜๋Š” ์”ฌ ํด๋ผ์ด์–ธํŠธ ๊ตฌํ˜„์œผ๋กœ ์ œ๊ณต๋˜๋Š” ๋‹ค์–‘ํ•œ ๋„คํŠธ์›Œํฌ ํ† ํด๋กœ์ง€๋ฅผ ๊ฐ€์ง„ DLT๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ, DID ๋ฉ”์†Œ๋“œ์˜ ๊ตฌํ˜„์—์„œ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ํ† ํด๋กœ์ง€์˜ ๋ณด์•ˆ ๊ฐ€์ •์€ ๋ฐ˜๋“œ์‹œ ๋…ผ์˜๋˜์–ด์•ผ ํ•œ๋‹ค.
  8. ํ”„๋กœํ† ์ฝœ์ด ์•”ํ˜ธํ™” ๋ณดํ˜ธ ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ํ†ตํ•ฉํ•˜๋Š” ๊ฒฝ์šฐ, DID ๋ฉ”์†Œ๋“œ ๊ทœ๊ฒฉ์€ ๋ฐ์ดํ„ฐ์˜ ์–ด๋–ค ๋ถ€๋ถ„์ด ๋ณดํ˜ธ๋˜๊ณ  ์–ด๋–ค ๋ณดํ˜ธ์— ์˜ํ•ด ๋ณดํ˜ธ๋˜๋Š”์ง€ ๋ช…ํ™•ํžˆ ํ‘œ์‹œํ•ด์•ผ ํ•˜๋ฉฐ, ์•”ํ˜ธํ™” ๋ณดํ˜ธ๊ฐ€ ์ทจ์•ฝํ•œ ๊ณต๊ฒฉ์˜ ์œ ํ˜•์„ ๋‚˜ํƒ€๋‚ด์•ผ ํ•œ๋‹ค. ์˜ˆ๋กœ๋Š” ๋ฌด๊ฒฐ์„ฑ๋งŒ, ๊ธฐ๋ฐ€์„ฑ ๋ฐ ์—”๋“œํฌ์ธํŠธ ์ธ์ฆ์ด ์žˆ๋‹ค.
  9. ๋น„๋ฐ€๋กœ ์œ ์ง€๋˜์–ด์•ผ ํ•˜๋Š” ๋ฐ์ดํ„ฐ(ํ‚ค ์ž๋ฃŒ, ๋‚œ์ˆ˜ ์‹œ๋“œ ๋“ฑ)๋Š” ๋ช…ํ™•ํžˆ ํ‘œ์‹œ๋˜์–ด์•ผ ํ•œ๋‹ค.
  10. DID ๋ฉ”์†Œ๋“œ ๊ทœ๊ฒฉ์€ ํ•ด๋‹น๋˜๋Š” ๊ฒฝ์šฐ DID ๋ฌธ์„œ์˜ ์„œ๋ช… ๊ตฌํ˜„์„ ์„ค๋ช…ํ•˜๊ณ  ๋ช…์‹œํ•ด์•ผ ํ•œ๋‹ค.
  11. DID ๋ฉ”์†Œ๋“œ๊ฐ€ ๋ชจ๋“  ์•Œ๋ ค์ง„ DLT์™€ ๊ฐ™์ด ํ”ผ์–ด-ํˆฌ-ํ”ผ์–ด ์ปดํ“จํŒ… ๋ฆฌ์†Œ์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ, ์ด๋Ÿฌํ•œ ๋ฆฌ์†Œ์Šค์˜ ์˜ˆ์ƒ ๋ถ€๋‹ด์€ ์„œ๋น„์Šค ๊ฑฐ๋ถ€์™€ ๊ด€๋ จํ•˜์—ฌ ๋…ผ์˜๋˜์–ด์•ผ ํ•œ๋‹ค.
  12. ์— ์„ค๋ช…๋œ ๋Œ€๋กœ ์ƒˆ๋กœ์šด ์ธ์ฆ ์„œ๋น„์Šค ์œ ํ˜•์„ ๋„์ž…ํ•˜๋Š” DID ๋ฉ”์†Œ๋“œ๋Š” ์ง€์›๋˜๋Š” ์ธ์ฆ ํ”„๋กœํ† ์ฝœ์˜ ๋ณด์•ˆ ์š”๊ตฌ์‚ฌํ•ญ์„ ๊ณ ๋ คํ•ด์•ผ ํ•œ๋‹ค.

๊ฐœ์ธ์ •๋ณด ๋ณดํ˜ธ ์š”๊ตฌ์‚ฌํ•ญ

๊ฐœ์ธ์ •๋ณด ๋ณดํ˜ธ ๊ณ ๋ ค์‚ฌํ•ญ ์„น์…˜์„ ์ž‘์„ฑํ•  ๋•Œ ๋ชจ๋“  DID ๋ฉ”์†Œ๋“œ ๊ทœ๊ฒฉ์— ๋Œ€ํ•œ ์š”๊ตฌ์‚ฌํ•ญ์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค:

  1. DID ๋ฉ”์†Œ๋“œ ๊ทœ๊ฒฉ์˜ ๊ฐœ์ธ์ •๋ณด ๋ณดํ˜ธ ๊ณ ๋ ค์‚ฌํ•ญ ์„น์…˜์€ ๋ฉ”์†Œ๋“œ๋ณ„ ๋ฐฉ์‹์œผ๋กœ ์ ์šฉ๋  ์ˆ˜ ์žˆ๋Š” [[?RFC6973]]์˜ ์„น์…˜ 5์˜ ๋ชจ๋“  ํ•˜์œ„ ์„น์…˜์„ ๋…ผ์˜ํ•ด์•ผ ํ•œ๋‹ค. ๊ณ ๋ คํ•ด์•ผ ํ•  ํ•˜์œ„ ์„น์…˜์€ ๊ฐ์‹œ, ์ €์žฅ๋œ ๋ฐ์ดํ„ฐ ์†์ƒ, ์š”์ฒญํ•˜์ง€ ์•Š์€ ํŠธ๋ž˜ํ”ฝ, ์˜ค๊ท€์†, ์ƒ๊ด€๊ด€๊ณ„, ์‹๋ณ„, 2์ฐจ ์‚ฌ์šฉ, ๊ณต๊ฐœ ๋ฐ ๋ฐฐ์ œ์ด๋‹ค.

๋ณด์•ˆ ๊ณ ๋ ค์‚ฌํ•ญ

์ด ์„น์…˜์—๋Š” ํƒˆ์ค‘์•™ ์‹๋ณ„์ž๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์‚ฌ๋žŒ๋“ค์ด ์ด ๊ธฐ์ˆ ์„ ํ”„๋กœ๋•์…˜ ํ™˜๊ฒฝ์— ๋ฐฐํฌํ•˜๊ธฐ ์ „์— ๊ณ ๋ คํ•  ๊ฒƒ์„ ๊ถŒ์žฅํ•˜๋Š” ๋‹ค์–‘ํ•œ ๋ณด์•ˆ ๊ณ ๋ ค์‚ฌํ•ญ์ด ํฌํ•จ๋˜์–ด ์žˆ๋‹ค. DID๋Š” ๋งŽ์€ IETF ํ‘œ์ค€์—์„œ ์‚ฌ์šฉ๋˜๊ณ  [[?RFC3552]]์— ๋ฌธ์„œํ™”๋œ ์œ„ํ˜‘ ๋ชจ๋ธ์—์„œ ์ž‘๋™ํ•˜๋„๋ก ์„ค๊ณ„๋˜์—ˆ๋‹ค. ์ด ์„น์…˜์—์„œ๋Š” [[?RFC3552]]์˜ ์—ฌ๋Ÿฌ ๊ณ ๋ ค์‚ฌํ•ญ๊ณผ DID ์•„ํ‚คํ…์ฒ˜์— ๊ณ ์œ ํ•œ ๊ธฐํƒ€ ๊ณ ๋ ค์‚ฌํ•ญ์— ๋Œ€ํ•ด ์ž์„ธํžˆ ์„ค๋ช…ํ•œ๋‹ค.

DID ๋ณ€ํ™˜๊ธฐ ์„ ํƒ

DID ๊ทœ๊ฒฉ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ [[?DID-SPEC-REGISTRIES]]์—๋Š” DID ๋ฉ”์†Œ๋“œ ์ด๋ฆ„๊ณผ ํ•ด๋‹น DID ๋ฉ”์†Œ๋“œ ๊ทœ๊ฒฉ์˜ ์ •๋ณด ๋ชฉ๋ก์ด ํฌํ•จ๋˜์–ด ์žˆ๋‹ค. ๊ตฌํ˜„์ž๋Š” ์–ด๋–ค ํŠน์ •ํ•œ DID ๋ฉ”์†Œ๋“œ ์ด๋ฆ„๊ณผ ์‚ฌ์šฉํ•ด์•ผ ํ•  DID ๋ฉ”์†Œ๋“œ ๊ทœ๊ฒฉ์„ ์ง€์‹œํ•  ์ค‘์•™ ๊ถŒํ•œ์ด ์—†๋‹ค๋Š” ์ ์„ ์—ผ๋‘์— ๋‘์–ด์•ผ ํ•œ๋‹ค. ํŠน์ • DID ๋ณ€ํ™˜๊ธฐ๊ฐ€ DID ๋ฉ”์†Œ๋“œ๋ฅผ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ๊ตฌํ˜„ํ•˜๋Š”์ง€ ์—ฌ๋ถ€์— ์˜์‹ฌ์ด ์žˆ๋Š” ๊ฒฝ์šฐ, DID ๊ทœ๊ฒฉ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋“ฑ๋ก๋œ ๊ทœ๊ฒฉ์„ ์กฐํšŒํ•˜๊ณ  ์‚ฌ์šฉํ•  DID ๋ณ€ํ™˜๊ธฐ ๊ตฌํ˜„์— ๋Œ€ํ•œ ์ •๋ณด์— ์ž…๊ฐํ•œ ๊ฒฐ์ •์„ ๋‚ด๋ฆด ์ˆ˜ ์žˆ๋‹ค.

์ œ์–ด ๋ฐ ๋ฐ”์ธ๋”ฉ ์ฆ๋ช…

๋””์ง€ํ„ธ ์„ธ๊ณ„ ๋˜๋Š” ๋ฌผ๋ฆฌ์  ์„ธ๊ณ„์˜ ์—”ํ‹ฐํ‹ฐ๋ฅผ DID, DID ๋ฌธ์„œ ๋˜๋Š” ์•”ํ˜ธํ™” ์ž๋ฃŒ์— ๋ฐ”์ธ๋”ฉํ•˜๋ ค๋ฉด ์ด ๊ทœ๊ฒฉ์—์„œ ๊ณ ๋ คํ•˜๋Š” ๋ณด์•ˆ ํ”„๋กœํ† ์ฝœ์„ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค. ๋‹ค์Œ ์„น์…˜์—์„œ๋Š” ๋ช‡ ๊ฐ€์ง€ ๊ฐ€๋Šฅํ•œ ์‹œ๋‚˜๋ฆฌ์˜ค์™€ ์ธ์ฆ ๋˜๋Š” ๊ถŒํ•œ ๋ถ€์—ฌ๋ฅผ ๋ชฉ์ ์œผ๋กœ ์—”ํ‹ฐํ‹ฐ๊ฐ€ DID ๋˜๋Š” DID ๋ฌธ์„œ์— ๋Œ€ํ•œ ์ œ์–ด๋ฅผ ์ฆ๋ช…ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•œ๋‹ค.

DID ๋ฐ/๋˜๋Š” DID ๋ฌธ์„œ ์ œ์–ด ์ฆ๋ช…

DID ๋ฐ/๋˜๋Š” DID ๋ฌธ์„œ์— ๋Œ€ํ•œ ์ œ์–ด๋ฅผ ์ฆ๋ช…ํ•˜๋Š” ๊ฒƒ์€ ๊ฒ€์ฆ ๊ฐ€๋Šฅํ•œ ๋ฐ์ดํ„ฐ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ์—์„œ ์—…๋ฐ์ดํŠธํ•˜๊ฑฐ๋‚˜ ์›๊ฒฉ ์‹œ์Šคํ…œ์—์„œ ์ธ์ฆํ•  ๋•Œ ์œ ์šฉํ•˜๋‹ค. ์•”ํ˜ธํ™”๋œ ๋””์ง€ํ„ธ ์„œ๋ช…๊ณผ ๊ฒ€์ฆ ๊ฐ€๋Šฅํ•œ ํƒ€์ž„์Šคํƒฌํ”„๋ฅผ ํ†ตํ•ด DID ๋ฌธ์„œ์™€ ๊ด€๋ จ๋œ ํŠน์ • ๋ณด์•ˆ ํ”„๋กœํ† ์ฝœ์„ ์•”ํ˜ธํ•™์ ์œผ๋กœ ๊ฒ€์ฆํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด๋ฅผ ์œ„ํ•ด ์ด ๊ทœ๊ฒฉ์€ ๊ณผ ์—์„œ ์œ ์šฉํ•œ ๊ฒ€์ฆ ๊ด€๊ณ„๋ฅผ ์ •์˜ํ•œ๋‹ค. ๊ฒ€์ฆ ๋ฐฉ๋ฒ•์™€ ์—ฐ๊ฒฐ๋œ ๋น„๋ฐ€ ์•”ํ˜ธํ™” ์ž๋ฃŒ๋Š” ์ธ์ฆ ๋˜๋Š” ๊ถŒํ•œ ๋ถ€์—ฌ ๋ณด์•ˆ ํ”„๋กœํ† ์ฝœ์˜ ์ผ๋ถ€๋กœ ์•”ํ˜ธํ™”๋œ ๋””์ง€ํ„ธ ์„œ๋ช…์„ ์ƒ์„ฑํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

์ผ๋ถ€ DID ๋ฉ”์†Œ๋“œ๋Š” ๋””์ง€ํ„ธ ์„œ๋ช…๊ณผ ๊ธฐํƒ€ ์ฆ๋ช…์„ DID ๋ฌธ์„œ ๋˜๋Š” ์— ํฌํ•จ์‹œํ‚ฌ ์ˆ˜ ์žˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๊ทธ๋Ÿฌํ•œ ์ฆ๋ช… ์ž์ฒด๋งŒ์œผ๋กœ๋Š” ๋ฐ˜๋“œ์‹œ DID์— ๋Œ€ํ•œ ์ œ์–ด๋ฅผ ์ฆ๋ช…ํ•˜๊ฑฐ๋‚˜ DID ๋ฌธ์„œ๊ฐ€ DID์— ๋Œ€ํ•ด ์˜ฌ๋ฐ”๋ฅธ ๊ฒƒ์ž„์„ ๋ณด์žฅํ•˜์ง€๋Š” ์•Š๋Š”๋‹ค. ์˜ฌ๋ฐ”๋ฅธ DID ๋ฌธ์„œ๋ฅผ ์–ป๊ณ  DID์— ๋Œ€ํ•œ ์ œ์–ด๋ฅผ ๊ฒ€์ฆํ•˜๋ ค๋ฉด DID ๋ฉ”์†Œ๋“œ์—์„œ ์ •์˜ํ•œ ๋Œ€๋กœ DID ํ•ด์„ ํ”„๋กœ์„ธ์Šค๋ฅผ ์ˆ˜ํ–‰ํ•ด์•ผ ํ•œ๋‹ค.

๋ฌผ๋ฆฌ์  ์‹ ์›์— ๋ฐ”์ธ๋”ฉ

DID์™€ DID ๋ฌธ์„œ๋Š” ๋ณธ์งˆ์ ์œผ๋กœ ๊ฐœ์ธ ๋ฐ์ดํ„ฐ๋ฅผ ํฌํ•จํ•˜์ง€ ์•Š์œผ๋ฉฐ, ๋น„๊ณต๊ฐœ ์—”ํ‹ฐํ‹ฐ๊ฐ€ DID ๋ฌธ์„œ์— ๊ฐœ์ธ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฒŒ์‹œํ•˜์ง€ ์•Š๋Š” ๊ฒƒ์ด ๊ฐ•๋ ฅํžˆ ๊ถŒ๊ณ ๋œ๋‹ค.

DID๋ฅผ ์ •๋ถ€์™€ ๊ฐ™์€ ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๊ด€์— ์˜ํ•ด ์ฆ๋ช…๋  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ์‹์œผ๋กœ ๊ฐœ์ธ ๋˜๋Š” ์กฐ์ง์˜ ๋ฌผ๋ฆฌ์  ์‹ ์›์— ๋ฐ”์ธ๋”ฉํ•˜๋Š” ๊ฒƒ์ด ์œ ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด ๊ทœ๊ฒฉ์€ ์ด๋Ÿฌํ•œ ๋ชฉ์ ์œผ๋กœ ๊ฒ€์ฆ ๊ด€๊ณ„๋ฅผ ์ œ๊ณตํ•œ๋‹ค. ์ด ๊ธฐ๋Šฅ์€ ์‚ฌ์ ์ด๋ฉฐ ํ•˜๋‚˜ ์ด์ƒ์˜ ๊ด€ํ•  ๊ตฌ์—ญ์—์„œ ๋ฒ•์  ๊ฐ•์ œ๋ ฅ์ด ์žˆ๋Š” ๊ฒƒ์œผ๋กœ ๊ฐ„์ฃผ๋  ์ˆ˜ ์žˆ๋Š” ์ƒํ˜ธ ์ž‘์šฉ์„ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•  ์ˆ˜ ์žˆ๋‹ค. ๊ทธ๋Ÿฌํ•œ ๋ฐ”์ธ๋”ฉ์„ ์„ค์ •ํ•˜๋Š” ๊ฒƒ์€ ๊ฐœ์ธ ์ •๋ณด ๋ณดํ˜ธ ๊ณ ๋ ค์‚ฌํ•ญ๊ณผ ์‹ ์ค‘ํ•˜๊ฒŒ ๊ท ํ˜•์„ ์ด๋ฃจ์–ด์•ผ ํ•œ๋‹ค( ์ฐธ์กฐ).

DID๋ฅผ ์‚ฌ๋žŒ์ด๋‚˜ ์กฐ์ง๊ณผ ๊ฐ™์€ ๋ฌผ๋ฆฌ์  ์„ธ๊ณ„์˜ ๋ฌด์–ธ๊ฐ€์— ๋ฐ”์ธ๋”ฉํ•˜๋Š” ํ”„๋กœ์„ธ์Šค(์˜ˆ: ํ•ด๋‹น DID์™€ ๋™์ผํ•œ ์ฃผ์ฒด๋ฅผ ๊ฐ€์ง„ ๊ฒ€์ฆ ๊ฐ€๋Šฅํ•œ ํฌ๋ฆฌ๋ด์…œ ์‚ฌ์šฉ)๋Š” ์ด ๊ทœ๊ฒฉ์—์„œ ๊ณ ๋ ค๋˜๋ฉฐ ๊ฒ€์ฆ ๊ฐ€๋Šฅํ•œ ํฌ๋ฆฌ๋ด์…œ ๋ฐ์ดํ„ฐ ๋ชจ๋ธ [[VC-DATA-MODEL]]์—์„œ ์ถ”๊ฐ€๋กœ ์ •์˜๋œ๋‹ค.

์ธ์ฆ ์„œ๋น„์Šค ์—”๋“œํฌ์ธํŠธ

DID ๋ฌธ์„œ๊ฐ€ DID ์ฃผ์ฒด์˜ ์ธ์ฆ ๋˜๋Š” ๊ถŒํ•œ ๋ถ€์—ฌ๋ฅผ ์œ„ํ•œ ์„œ๋น„์Šค๋ฅผ ๊ฒŒ์‹œํ•˜๋Š” ๊ฒฝ์šฐ( ์ฐธ์กฐ), ์„œ๋น„์Šค ์—”๋“œํฌ์ธํŠธ ์ œ๊ณต์ž, ์ฃผ์ฒด ๋˜๋Š” ์š”์ฒญ ๋‹น์‚ฌ์ž๋Š” ํ•ด๋‹น ์„œ๋น„์Šค ์—”๋“œํฌ์ธํŠธ์—์„œ ์ง€์›๋˜๋Š” ์ธ์ฆ ํ”„๋กœํ† ์ฝœ์˜ ์š”๊ตฌ์‚ฌํ•ญ์„ ์ค€์ˆ˜ํ•  ์ฑ…์ž„์ด ์žˆ๋‹ค.

๋ถ€์ธ ๋ฐฉ์ง€

DID ๋ฐ DID ๋ฌธ์„œ ์—…๋ฐ์ดํŠธ์˜ ๋ถ€์ธ ๋ฐฉ์ง€๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฒฝ์šฐ ์ง€์›๋œ๋‹ค:

DID ๋ฌธ์„œ ๋ณ€๊ฒฝ ์•Œ๋ฆผ

DID ๋ฌธ์„œ์— ๋Œ€ํ•œ ๋ฌด๋‹จ ๋ณ€๊ฒฝ์„ ์™„ํ™”ํ•˜๋Š” ํ•œ ๊ฐ€์ง€ ๋ฐฉ๋ฒ•์€ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด ์žˆ์„ ๋•Œ DID ์ฃผ์ฒด๋ฅผ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜๊ณ  ์ ๊ทน์ ์œผ๋กœ ์•Œ๋ฆฌ๋Š” ๊ฒƒ์ด๋‹ค. ์ด๋Š” ๊ธฐ์กด์˜ ์‚ฌ์šฉ์ž ์ด๋ฆ„/์•”ํ˜ธ ๊ณ„์ •์—์„œ ํŒŒ์ผ์˜ ์ด๋ฉ”์ผ ์ฃผ์†Œ๋กœ ์•”ํ˜ธ ์žฌ์„ค์ • ์•Œ๋ฆผ์„ ๋ณด๋‚ด ๊ณ„์ • ํƒˆ์ทจ๋ฅผ ๋ฐฉ์ง€ํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋˜๋Š” ๊ฒƒ๊ณผ ์œ ์‚ฌํ•˜๋‹ค.

DID์˜ ๊ฒฝ์šฐ, ๊ทธ๋Ÿฌํ•œ ์•Œ๋ฆผ์„ ์ƒ์„ฑํ•  ์ค‘๊ฐœ ๋“ฑ๋ก ๊ธฐ๊ด€์ด๋‚˜ ๊ณ„์ • ์ œ๊ณต์ž๊ฐ€ ์—†๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ DID๊ฐ€ ๋“ฑ๋ก๋œ ๊ฒ€์ฆ ๊ฐ€๋Šฅํ•œ ๋ฐ์ดํ„ฐ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ๊ฐ€ ๋ณ€๊ฒฝ ์•Œ๋ฆผ์„ ์ง์ ‘ ์ง€์›ํ•˜๋Š” ๊ฒฝ์šฐ, DID ์ปจํŠธ๋กค๋Ÿฌ์—๊ฒŒ ๊ตฌ๋… ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ๋‹ค. ์•Œ๋ฆผ์€ ๊ธฐ์กด DID์— ๋‚˜์—ด๋œ ๊ด€๋ จ ์„œ๋น„์Šค ์—”๋“œํฌ์ธํŠธ๋กœ ์ง์ ‘ ์ „์†ก๋  ์ˆ˜ ์žˆ๋‹ค.

DID ์ปจํŠธ๋กค๋Ÿฌ๊ฐ€ (๊ฒ€์ฆ ๊ฐ€๋Šฅํ•œ ๋ฐ์ดํ„ฐ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ ์ž์ฒด ์ด์™ธ์˜) ์ œ3์ž ๋ชจ๋‹ˆํ„ฐ๋ง ์„œ๋น„์Šค์— ์˜์กดํ•˜๊ธฐ๋กœ ์„ ํƒํ•˜๋ฉด ๋‹ค๋ฅธ ๊ณต๊ฒฉ ๋ฒกํ„ฐ๊ฐ€ ๋„์ž…๋œ๋‹ค.

ํ‚ค ๋ฐ ์„œ๋ช… ๋งŒ๋ฃŒ

ํƒˆ์ค‘์•™ ์‹๋ณ„์ž ์•„ํ‚คํ…์ฒ˜์—์„œ๋Š” ์•”ํ˜ธํ™” ์ž๋ฃŒ๋‚˜ ์•”ํ˜ธํ™”๋œ ๋””์ง€ํ„ธ ์„œ๋ช… ๋งŒ๋ฃŒ ์ •์ฑ…์„ ์‹œํ–‰ํ•  ์ค‘์•™ ์ง‘์ค‘์‹ ๊ธฐ๊ด€์ด ์—†์„ ์ˆ˜ ์žˆ๋‹ค. ๋”ฐ๋ผ์„œ ์š”์ฒญ ๋‹น์‚ฌ์ž๋Š” DID ๋ณ€ํ™˜๊ธฐ ๋ฐ ๊ฒ€์ฆ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์™€ ๊ฐ™์€ ์ง€์› ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์•”ํ˜ธํ™” ์ž๋ฃŒ๊ฐ€ ์‚ฌ์šฉ๋  ๋‹น์‹œ์— ๋งŒ๋ฃŒ๋˜์ง€ ์•Š์•˜๋Š”์ง€ ๊ฒ€์ฆํ•œ๋‹ค. ์š”์ฒญ ๋‹น์‚ฌ์ž๋Š” ๊ฒ€์ฆ ํ”„๋กœ์„ธ์Šค์— ๋Œ€ํ•œ ์ž…๋ ฅ ์™ธ์—๋„ ์ž์ฒด ๋งŒ๋ฃŒ ์ •์ฑ…์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ์ผ๋ถ€ ์š”์ฒญ ๋‹น์‚ฌ์ž๋Š” 5๋ถ„ ์ „์˜ ์ธ์ฆ์„ ์ˆ˜๋ฝํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐ˜๋ฉด, ๊ณ ์ •๋ฐ€ ์‹œ๊ฐ„ ์†Œ์Šค์— ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ๋Š” ๋‹ค๋ฅธ ์š”์ฒญ ๋‹น์‚ฌ์ž๋Š” ์ธ์ฆ์— ์ง€๋‚œ 500๋ฐ€๋ฆฌ์ดˆ ์ด๋‚ด์˜ ํƒ€์ž„์Šคํƒฌํ”„๊ฐ€ ์ฐํ˜€์•ผ ํ•  ์ˆ˜ ์žˆ๋‹ค.

๋ ˆ๊ฑฐ์‹œ ์•”ํ˜ธํ™”๋œ ๋””์ง€ํ„ธ ์„œ๋ช…์„ ๊ฒ€์ฆํ•˜๋Š” ๊ฒƒ๊ณผ ๊ฐ™์ด ์ด๋ฏธ ๋งŒ๋ฃŒ๋œ ์•”ํ˜ธํ™” ์ž๋ฃŒ์˜ ์‚ฌ์šฉ์„ ํ™•์žฅํ•ด์•ผ ํ•˜๋Š” ์ •๋‹นํ•œ ํ•„์š”์„ฑ์ด ์žˆ๋Š” ์š”์ฒญ ๋‹น์‚ฌ์ž๋„ ์žˆ๋‹ค. ์ด๋Ÿฌํ•œ ์‹œ๋‚˜๋ฆฌ์˜ค์—์„œ ์š”์ฒญ ๋‹น์‚ฌ์ž๋Š” ๊ฒ€์ฆ ์†Œํ”„ํŠธ์›จ์–ด์— ์•”ํ˜ธํ™” ํ‚ค ์ž๋ฃŒ ๋งŒ๋ฃŒ๋ฅผ ๋ฌด์‹œํ•˜๋„๋ก ์ง€์‹œํ•˜๊ฑฐ๋‚˜ ์•”ํ˜ธํ™” ํ‚ค ์ž๋ฃŒ๊ฐ€ ์‚ฌ์šฉ๋  ๋‹น์‹œ์— ๋งŒ๋ฃŒ๋˜์—ˆ๋Š”์ง€ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

๊ฒ€์ฆ ๋ฐฉ๋ฒ• ๊ต์ฒด

๊ต์ฒด๋Š” ์ƒˆ๋กœ์šด ๊ฒ€์ฆ ๋ฐฉ๋ฒ•๊ฐ€ DID ๋ฌธ์„œ์— ์ถ”๊ฐ€๋˜๋ฉด ๊ธฐ์กด ๊ฒ€์ฆ ๋ฐฉ๋ฒ•์™€ ์—ฐ๊ฒฐ๋œ ๋น„๋ฐ€ ์•”ํ˜ธํ™” ์ž๋ฃŒ๋ฅผ ๋น„ํ™œ์„ฑํ™”ํ•˜๊ฑฐ๋‚˜ ํŒŒ๊ธฐํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๋Š” ๊ด€๋ฆฌ ํ”„๋กœ์„ธ์Šค์ด๋‹ค. ์•ž์œผ๋กœ ์ปจํŠธ๋กค๋Ÿฌ๊ฐ€ ์ด์ „ ๋น„๋ฐ€ ์•”ํ˜ธํ™” ์ž๋ฃŒ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ƒ์„ฑํ–ˆ์„ ์ƒˆ๋กœ์šด ์ฆ๋ช…์€ ์ด์ œ ์ƒˆ๋กœ์šด ์•”ํ˜ธํ™” ์ž๋ฃŒ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ƒ์„ฑ๋  ์ˆ˜ ์žˆ์œผ๋ฉฐ ์ƒˆ๋กœ์šด ๊ฒ€์ฆ ๋ฐฉ๋ฒ•๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ฒ€์ฆ๋  ์ˆ˜ ์žˆ๋‹ค.

๊ต์ฒด๋Š” ์ปจํŠธ๋กค๋Ÿฌ์— ์˜ํ•œ ๊ฒ€์ฆ ๋ฐฉ๋ฒ•์˜ ๋นˆ๋ฒˆํ•œ ๊ต์ฒด๊ฐ€ ๊ณต๊ฒฉ์ž์—๊ฒŒ ๋‹จ์ผ ์†์ƒ๋œ ๊ฒ€์ฆ ๋ฐฉ๋ฒ•์˜ ๊ฐ€์น˜๋ฅผ ์ค„์ด๊ธฐ ๋•Œ๋ฌธ์— ๊ฒ€์ฆ ๋ฐฉ๋ฒ• ์†์ƒ์œผ๋กœ๋ถ€ํ„ฐ ๋ณดํ˜ธํ•˜๋Š” ๋ฐ ์œ ์šฉํ•œ ๋ฉ”์ปค๋‹ˆ์ฆ˜์ด๋‹ค. ๊ต์ฒด ์งํ›„ ์ฆ‰์‹œ ํ๊ธฐํ•˜๋Š” ๊ฒƒ์€ ๋ฉ”์‹œ์ง€ ์•”ํ˜ธํ™” ๋ฐ ์ธ์ฆ๊ณผ ๊ด€๋ จ๋œ ๊ฒƒ๊ณผ ๊ฐ™์ด ์ปจํŠธ๋กค๋Ÿฌ๊ฐ€ ๋‹จ๊ธฐ ๊ฒ€์ฆ์„ ์œ„ํ•ด ์ง€์ •ํ•œ ๊ฒ€์ฆ ๋ฐฉ๋ฒ•์— ์œ ์šฉํ•˜๋‹ค.

๊ฒ€์ฆ ๋ฐฉ๋ฒ• ๊ต์ฒด ์‚ฌ์šฉ์„ ๊ณ ๋ คํ•  ๋•Œ ๋‹ค์Œ ์‚ฌํ•ญ์ด ์œ ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค:

๊ฒ€์ฆ ๋ฐฉ๋ฒ• ํ๊ธฐ

ํ๊ธฐ๋Š” ๊ธฐ์กด ๊ฒ€์ฆ ๋ฐฉ๋ฒ•์™€ ์—ฐ๊ฒฐ๋œ ๋น„๋ฐ€ ์•”ํ˜ธํ™” ์ž๋ฃŒ๋ฅผ ๋น„ํ™œ์„ฑํ™”ํ•˜์—ฌ ์ƒˆ๋กœ์šด ๋””์ง€ํ„ธ ์„œ๋ช… ์ฆ๋ช…์„ ์ƒ์„ฑํ•˜๋Š” ์œ ํšจํ•œ ํ˜•์‹์ด ๋˜์ง€ ์•Š๋„๋ก ํ•˜๋Š” ๊ด€๋ฆฌ ํ”„๋กœ์„ธ์Šค์ด๋‹ค.

ํ๊ธฐ๋Š” ๊ฒ€์ฆ ๋ฐฉ๋ฒ• ์†์ƒ์— ๋Œ€์‘ํ•˜๋Š” ์œ ์šฉํ•œ ๋ฉ”์ปค๋‹ˆ์ฆ˜์ด๋‹ค. ๊ต์ฒด ์งํ›„ ์ฆ‰์‹œ ํ๊ธฐํ•˜๋Š” ๊ฒƒ์€ ๋ฉ”์‹œ์ง€ ์•”ํ˜ธํ™” ๋ฐ ์ธ์ฆ๊ณผ ๊ด€๋ จ๋œ ๊ฒƒ๊ณผ ๊ฐ™์ด ์ปจํŠธ๋กค๋Ÿฌ๊ฐ€ ๋‹จ๊ธฐ ๊ฒ€์ฆ์„ ์œ„ํ•ด ์ง€์ •ํ•œ ๊ฒ€์ฆ ๋ฐฉ๋ฒ•์— ์œ ์šฉํ•˜๋‹ค.

๊ฒ€์ฆ ๋ฐฉ๋ฒ•์™€ ์—ฐ๊ฒฐ๋œ ๋น„๋ฐ€์˜ ์†์ƒ์€ ๊ณต๊ฒฉ์ž๊ฐ€ DID ๋ฌธ์„œ์—์„œ ์ปจํŠธ๋กค๋Ÿฌ์— ์˜ํ•ด ํ‘œํ˜„๋œ ๊ฒ€์ฆ ๊ด€๊ณ„์— ๋”ฐ๋ผ ์˜ˆ๋ฅผ ๋“ค์–ด ์ธ์ฆ์„ ์œ„ํ•ด ์ด๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•œ๋‹ค. ๊ณต๊ฒฉ์ž์˜ ๋น„๋ฐ€ ์‚ฌ์šฉ์€ ๊ฒ€์ฆ ๋ฐฉ๋ฒ•๊ฐ€ ๋“ฑ๋ก๋œ ์‹œ์ ๋ถ€ํ„ฐ ํ๊ธฐ๋œ ์‹œ์ ๊นŒ์ง€ ํ•ฉ๋ฒ•์ ์ธ ์ปจํŠธ๋กค๋Ÿฌ์˜ ์‚ฌ์šฉ๊ณผ ๊ตฌ๋ณ„ํ•  ์ˆ˜ ์—†์„ ์ˆ˜ ์žˆ๋‹ค.

๊ฒ€์ฆ ๋ฐฉ๋ฒ• ํ๊ธฐ ์‚ฌ์šฉ์„ ๊ณ ๋ คํ•  ๋•Œ ๋‹ค์Œ ์‚ฌํ•ญ์ด ์œ ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค:

ํ๊ธฐ ์˜๋ฏธ๋ก 

๊ฒ€์ฆ์ž๊ฐ€ ํ๊ธฐ๋œ ๊ฒ€์ฆ ๋ฐฉ๋ฒ•์˜ ์ฆ๋ช…์ด๋‚˜ ์„œ๋ช…์„ ์ˆ˜๋ฝํ•˜์ง€ ์•Š๊ธฐ๋กœ ์„ ํƒํ•  ์ˆ˜ ์žˆ์ง€๋งŒ, ๊ฒ€์ฆ์ด ํ๊ธฐ๋œ ๊ฒ€์ฆ ๋ฐฉ๋ฒ•๋กœ ์ด๋ฃจ์–ด์กŒ๋Š”์ง€ ์•„๋Š” ๊ฒƒ์€ ๋ณด์ด๋Š” ๊ฒƒ๋ณด๋‹ค ๊นŒ๋‹ค๋กญ๋‹ค. ์ผ๋ถ€ DID ๋ฉ”์†Œ๋“œ๋Š” ํŠน์ • ์‹œ์  ๋˜๋Š” DID ๋ฌธ์„œ์˜ ํŠน์ • ๋ฒ„์ „์—์„œ DID์˜ ์ƒํƒœ๋ฅผ ๋˜๋Œ์•„๋ณผ ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•œ๋‹ค. ์ด๋Ÿฌํ•œ ๊ธฐ๋Šฅ์ด ์•”ํ˜ธํ™”๋กœ ๊ฒ€์ฆ ๊ฐ€๋Šฅํ•œ ๋ช…์„ธ๊ฐ€ ๋งŒ๋“ค์–ด์ง„ ์‹œ์  ๋˜๋Š” DID ๋ฒ„์ „์„ ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ์‹์œผ๋กœ ๊ฒฐ์ •ํ•˜๋Š” ๊ธฐ๋Šฅ๊ณผ ๊ฒฐํ•ฉ๋˜๋ฉด ํ๊ธฐ๊ฐ€ ํ•ด๋‹น ๋ช…์„ธ๋ฅผ ์ทจ์†Œํ•˜์ง€ ์•Š๋Š”๋‹ค. ์ด๋Š” DID๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์˜ˆ๋ฅผ ๋“ค์–ด ๋‹ด๋ณด ๋Œ€์ถœ์— ์„œ๋ช…ํ•˜๋Š” ๊ฒƒ๊ณผ ๊ฐ™์€ ๊ตฌ์†๋ ฅ ์žˆ๋Š” ์•ฝ์ •์„ ํ•˜๊ธฐ ์œ„ํ•œ ๊ธฐ๋ฐ˜์ด ๋  ์ˆ˜ ์žˆ๋‹ค.

์ด๋Ÿฌํ•œ ์กฐ๊ฑด์ด ์ถฉ์กฑ๋˜๋ฉด ํ๊ธฐ๋Š” ์†Œ๊ธ‰ ์ ์šฉ๋˜์ง€ ์•Š์œผ๋ฉฐ ํ–ฅํ›„ ๋ฉ”์†Œ๋“œ ์‚ฌ์šฉ๋งŒ ๋ฌดํšจํ™”ํ•œ๋‹ค.

๊ทธ๋Ÿฌ๋‚˜ ์ด๋Ÿฌํ•œ ์˜๋ฏธ๋ก ์ด ์•ˆ์ „ํ•˜๋ ค๋ฉด ๋‘ ๋ฒˆ์งธ ์กฐ๊ฑด์ธ ์ฃผ์žฅ์ด ์ด๋ฃจ์–ด์ง„ ์‹œ์ ์— DID ๋ฌธ์„œ์˜ ์ƒํƒœ๊ฐ€ ์–ด๋– ํ–ˆ๋Š”์ง€ ์•Œ ์ˆ˜ ์žˆ๋Š” ๋Šฅ๋ ฅ์ด ์ ์šฉ๋˜์–ด์•ผ ํ•œ๋‹ค. ๊ทธ ๋ณด์žฅ ์—†์ด๋Š” ๋ˆ„๊ตฐ๊ฐ€๊ฐ€ ํ๊ธฐ๋œ ํ‚ค๋ฅผ ๋ฐœ๊ฒฌํ•˜๊ณ  ๊ณผ๊ฑฐ์˜ ๋ชจ์˜ ๋‚ ์งœ๋กœ ์•”ํ˜ธํ™”๋กœ ๊ฒ€์ฆ ๊ฐ€๋Šฅํ•œ ๋ช…์„ธ๋ฅผ ๋งŒ๋“œ๋Š” ๋ฐ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

์ผ๋ถ€ DID ๋ฉ”์†Œ๋“œ๋Š” DID์˜ ํ˜„์žฌ ์ƒํƒœ๋งŒ ๊ฒ€์ƒ‰ํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด๊ฒƒ์ด ์‚ฌ์‹ค์ด๊ฑฐ๋‚˜ ์•”ํ˜ธํ™”๋กœ ๊ฒ€์ฆ ๊ฐ€๋Šฅํ•œ ๋ช…์„ธ๊ฐ€ ์ด๋ฃจ์–ด์ง„ ์‹œ์ ์˜ DID ์ƒํƒœ๋ฅผ ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๊ฒŒ ๊ฒฐ์ •ํ•  ์ˆ˜ ์—†๋Š” ๊ฒฝ์šฐ, ํ˜„์žฌ ์ˆœ๊ฐ„์„ ์ œ์™ธํ•˜๊ณ  ์‹œ๊ฐ„๊ณผ ๊ด€๋ จํ•˜์—ฌ DID ์ƒํƒœ๋ฅผ ๊ณ ๋ คํ•˜๋Š” ๊ฒƒ์„ ํ—ˆ์šฉํ•˜์ง€ ์•Š๋Š” ๊ฒƒ์ด ์œ ์ผํ•œ ์•ˆ์ „ํ•œ ๋ฐฉ๋ฒ•์ด๋‹ค. ์ด ์ ‘๊ทผ ๋ฐฉ์‹์„ ์ทจํ•˜๋Š” DID ์ƒํƒœ๊ณ„๋Š” ๋ณธ์งˆ์ ์œผ๋กœ DID ์ปจํŠธ๋กค๋Ÿฌ์— ์˜ํ•ด ์–ธ์ œ๋“ ์ง€ ๋ฌดํšจํ™”๋  ์ˆ˜ ์žˆ๋Š” ์ผ์‹œ์ ์ธ ํ† ํฐ์œผ๋กœ ์•”ํ˜ธํ™”๋กœ ๊ฒ€์ฆ ๊ฐ€๋Šฅํ•œ ๋ช…์„ธ๋ฅผ ์ œ๊ณตํ•œ๋‹ค.

์‹ ๋ขฐํ•  ์ˆ˜ ์—†๋Š” ์‹œ์Šคํ…œ์—์„œ์˜ ํ๊ธฐ

์‹ ๋ขฐํ•  ์ˆ˜ ์—†๋Š” ์‹œ์Šคํ…œ์€ ๋ชจ๋“  ์‹ ๋ขฐ๊ฐ€ ์•”ํ˜ธํ•™์ ์œผ๋กœ ์ฆ๋ช… ๊ฐ€๋Šฅํ•œ ์ฃผ์žฅ์—์„œ ํŒŒ์ƒ๋˜๊ณ , ๋” ๊ตฌ์ฒด์ ์œผ๋กœ๋Š” ์•”ํ˜ธํ™” ์‹œ์Šคํ…œ ์™ธ๋ถ€์˜ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๊ฐ€ ์‹œ์Šคํ…œ์— ๋Œ€ํ•œ ์‹ ๋ขฐ ๊ฒฐ์ •์— ๊ณ ๋ ค๋˜์ง€ ์•Š๋Š” ์‹œ์Šคํ…œ์ด๋‹ค. ์‹ ๋ขฐํ•  ์ˆ˜ ์—†๋Š” ์‹œ์Šคํ…œ์—์„œ ํ๊ธฐ๋œ ๊ฒ€์ฆ ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ์„œ๋ช… ๋˜๋Š” ์ฆ๋ช…์„ ๊ฒ€์ฆํ•˜๋ ค๋ฉด DID ๋ฉ”์†Œ๋“œ๊ฐ€ `versionId` ๋˜๋Š” `versionTime` ์ค‘ ํ•˜๋‚˜ ๋˜๋Š” ๋‘˜ ๋‹ค์™€ `updated` ๋ฐ `nextUpdate`๋ผ๋Š” DID ๋ฌธ์„œ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ์†์„ฑ ๋ชจ๋‘๋ฅผ ์ง€์›ํ•ด์•ผ ํ•œ๋‹ค. ๊ฒ€์ฆ์ž๋Š” ๋‹ค์Œ์ด ๋ชจ๋‘ ์‚ฌ์‹ค์ธ ๊ฒฝ์šฐ์—๋งŒ ํ๊ธฐ๋œ ํ‚ค์˜ ์„œ๋ช… ๋˜๋Š” ์ฆ๋ช…์„ ๊ฒ€์ฆํ•  ์ˆ˜ ์žˆ๋‹ค:

  • ์ฆ๋ช… ๋˜๋Š” ์„œ๋ช…์— ์„œ๋ช… ๋˜๋Š” ์ฆ๋ช…์ด ์ƒ์„ฑ๋œ ์‹œ์ ์— ์‚ฌ์šฉ๋œ DID ๋ฌธ์„œ์˜ `versionId` ๋˜๋Š” `versionTime`์ด ํฌํ•จ๋œ๋‹ค.
  • ๊ฒ€์ฆ์ž๋Š” ์˜ˆ๋ฅผ ๋“ค์–ด ๋ธ”๋ก์ฒด์ธ์— ์•ต์ปค๋ง๋œ ์„œ๋ช… ๋˜๋Š” ์ฆ๋ช…์ด ์ด๋ฃจ์–ด์ง„ ์‹œ์ ์„ ๊ฒฐ์ •ํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ํ•ด์„๋œ DID ๋ฌธ์„œ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ์˜ ๊ฒฝ์šฐ `updated` ํƒ€์ž„์Šคํƒฌํ”„๋Š” ์„œ๋ช… ๋˜๋Š” ์ฆ๋ช…์ด ์ด๋ฃจ์–ด์ง„ ์‹œ์  ์ด์ „์ด๊ณ  `nextUpdate` ํƒ€์ž„์Šคํƒฌํ”„๋Š” ๊ทธ ์‹œ์  ์ดํ›„์ด๋‹ค.

์•”ํ˜ธํ™” ์ž…๋ ฅ์„ ๊ตฌ์„ฑํ•˜๋Š” ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ์ด์™ธ์˜ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋ฅผ ์ธ์ •ํ•˜๋ ค๋Š” ์‹œ์Šคํ…œ์—์„œ๋Š” ์œ ์‚ฌํ•œ ์‹ ๋ขฐ๋ฅผ ๋‹ฌ์„ฑํ•  ์ˆ˜ ์žˆ์ง€๋งŒ, ํ•ญ์ƒ ์„œ๋ช… ์ด๋ฒคํŠธ ์‹œ์ ์˜ DID ๋ฌธ์„œ ๋‚ด์šฉ์ด ์˜ˆ์ƒ ๋‚ด์šฉ์„ ํฌํ•จํ–ˆ๋Š”์ง€์— ๋Œ€ํ•œ ์‹ ์ค‘ํ•œ ํŒ๋‹จ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•œ๋‹ค.

DID ๋ณต๊ตฌ

๋ณต๊ตฌ๋Š” ์žฅ์น˜ ๋ถ„์‹ค ๋“ฑ์œผ๋กœ ์ธํ•ด DID ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ๋Šฅ๋ ฅ์„ ์ƒ์‹คํ•œ ์ปจํŠธ๋กค๋Ÿฌ๊ฐ€ DID ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ๋Šฅ๋ ฅ์„ ํšŒ๋ณตํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐ˜์‘์ ์ธ ๋ณด์•ˆ ์กฐ์น˜์ด๋‹ค.

DID ๋ณต๊ตฌ ์‚ฌ์šฉ์„ ๊ณ ๋ คํ•  ๋•Œ ๋‹ค์Œ ์‚ฌํ•ญ์ด ์œ ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค:

์‚ฌ๋žŒ์ด ์•Œ์•„๋ณด๊ธฐ ์‰ฌ์šด ์‹๋ณ„์ž์˜ ์—ญํ• 

DID๋Š” ์ค‘์•™ ๋“ฑ๋ก ๊ธฐ๊ด€์˜ ํ•„์š” ์—†์ด ์ „ ์„ธ๊ณ„์ ์ธ ๊ณ ์œ ์„ฑ์„ ๋‹ฌ์„ฑํ•œ๋‹ค. ์ด๋Š” ์‚ฌ๋žŒ์ด ๊ธฐ์–ตํ•˜๊ธฐ ์–ด๋ ค์šด ๋Œ€๊ฐ€๋กœ ์˜จ๋‹ค. ์ „ ์„ธ๊ณ„์ ์œผ๋กœ ๋ชจํ˜ธํ•˜์ง€ ์•Š์€ ์‹๋ณ„์ž๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ์‚ฌ๋žŒ์—๊ฒŒ ์˜๋ฏธ๊ฐ€ ์—†๋Š” ๋ฌด์ž‘์œ„ ๋ฌธ์ž์—ด์„ ์ƒ์„ฑํ•œ๋‹ค. ์ด๋Ÿฌํ•œ ์ƒ์ถฉ ๊ด€๊ณ„๋Š” ์ข…์ข… ์ฃผ์ฝ”์˜ ์‚ผ๊ฐํ˜•์ด๋ผ๊ณ  ํ•œ๋‹ค.

์‚ฌ๋žŒ์ด ์•Œ์•„๋ณด๊ธฐ ์‰ฌ์šด ์‹๋ณ„์ž์—์„œ ์‹œ์ž‘ํ•˜์—ฌ DID๋ฅผ ๋ฐœ๊ฒฌํ•˜๋Š” ๊ฒƒ์ด ๋ฐ”๋žŒ์งํ•œ ์‚ฌ์šฉ ์‚ฌ๋ก€๊ฐ€ ์žˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์ž์—ฐ์–ด ์ด๋ฆ„, ๋„๋ฉ”์ธ ์ด๋ฆ„ ๋˜๋Š” DID ์ปจํŠธ๋กค๋Ÿฌ์˜ ๊ธฐ์กด ์ฃผ์†Œ(์˜ˆ: ํœด๋Œ€์ „ํ™” ๋ฒˆํ˜ธ, ์ด๋ฉ”์ผ ์ฃผ์†Œ, ์†Œ์…œ ๋ฏธ๋””์–ด ์‚ฌ์šฉ์ž ์ด๋ฆ„ ๋˜๋Š” ๋ธ”๋กœ๊ทธ URL)๊ฐ€ ์žˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์‚ฌ๋žŒ์ด ์•Œ์•„๋ณด๊ธฐ ์‰ฌ์šด ์‹๋ณ„์ž๋ฅผ DID์— ๋งคํ•‘ํ•˜๊ณ  ๊ฒ€์ฆ ๋ฐ ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ์‹์œผ๋กœ ์ด๋ฅผ ์ˆ˜ํ–‰ํ•˜๋Š” ๋ฌธ์ œ๋Š” ์ด ๊ทœ๊ฒฉ์˜ ๋ฒ”์œ„๋ฅผ ๋ฒ—์–ด๋‚œ๋‹ค.

์ด ๋ฌธ์ œ์— ๋Œ€ํ•œ ํ•ด๊ฒฐ์ฑ…์€ ์ด ๊ทœ๊ฒฉ์„ ์ฐธ์กฐํ•˜๋Š” [[?DNS-DID]]์™€ ๊ฐ™์€ ๋ณ„๋„์˜ ๊ทœ๊ฒฉ์— ์ •์˜๋˜์–ด ์žˆ๋‹ค. ์ด๋Ÿฌํ•œ ๊ทœ๊ฒฉ์—์„œ๋Š” ๋‹ค์Œ ์‚ฌํ•ญ์„ ์‹ ์ค‘ํ•˜๊ฒŒ ๊ณ ๋ คํ•˜๋Š” ๊ฒƒ์ด ์ข‹๋‹ค:

ํ–ฅ์ƒ๋œ URN์œผ๋กœ์„œ์˜ DID

DID ์ปจํŠธ๋กค๋Ÿฌ๊ฐ€ ์›ํ•˜๋Š” ๊ฒฝ์šฐ DID ๋˜๋Š” DID URL์€ ์˜๊ตฌ์ ์ด๊ณ  ์œ„์น˜์— ๋…๋ฆฝ์ ์ธ ๋ฆฌ์†Œ์Šค ์‹๋ณ„์ž ์—ญํ• ์„ ํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด๋Ÿฌํ•œ ์œ ํ˜•์˜ ์‹๋ณ„์ž๋Š” Uniform Resource Name(URN)์œผ๋กœ ๋ถ„๋ฅ˜๋˜๋ฉฐ [[RFC8141]]์— ์ •์˜๋˜์–ด ์žˆ๋‹ค. DID๋Š” ๋””์ง€ํ„ธ ๋ฆฌ์†Œ์Šค์— ๋Œ€ํ•œ ์•”ํ˜ธํ™”๋กœ ์•ˆ์ „ํ•˜๊ณ  ์œ„์น˜์— ๋…๋ฆฝ์ ์ธ ์‹๋ณ„์ž๋ฅผ ์ œ๊ณตํ•˜๋Š” ๋™์‹œ์— ๊ฒ€์ƒ‰์„ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•˜๋Š” ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋„ ์ œ๊ณตํ•˜๋Š” ํ–ฅ์ƒ๋œ ํ˜•ํƒœ์˜ URN์ด๋‹ค. DID ๋ฌธ์„œ์™€ DID ์ž์ฒด ์‚ฌ์ด์˜ ๊ฐ„์ ‘ ์ฐธ์กฐ๋กœ ์ธํ•ด DID ์ปจํŠธ๋กค๋Ÿฌ๋Š” DID๋ฅผ ์กฐ์ •ํ•˜์ง€ ์•Š๊ณ ๋„ ๋ฆฌ์†Œ์Šค์˜ ์‹ค์ œ ์œ„์น˜๋ฅผ ์กฐ์ •ํ•˜๊ฑฐ๋‚˜ ์‹ฌ์ง€์–ด ๋ฆฌ์†Œ์Šค๋ฅผ ์ง์ ‘ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด๋Ÿฌํ•œ ์œ ํ˜•์˜ DID๋Š” ๊ฒ€์ƒ‰๋œ ๋ฆฌ์†Œ์Šค๊ฐ€ ์‹ค์ œ๋กœ ์‹๋ณ„๋œ ๋ฆฌ์†Œ์Šค์ž„์„ ํ™•์‹คํ•˜๊ฒŒ ๊ฒ€์ฆํ•  ์ˆ˜ ์žˆ๋‹ค.

DID๋ฅผ ์ด ๋ชฉ์ ์œผ๋กœ ์‚ฌ์šฉํ•˜๋ ค๋Š” DID ์ปจํŠธ๋กค๋Ÿฌ๋Š” [[RFC8141]]์˜ ๋ณด์•ˆ ๊ณ ๋ ค์‚ฌํ•ญ์„ ๋”ฐ๋ฅด๋Š” ๊ฒƒ์ด ์ข‹๋‹ค. ํŠนํžˆ:

๋ถˆ๋ณ€์„ฑ

๋งŽ์€ ์‚ฌ์ด๋ฒ„ ๋ณด์•ˆ ์นจํ•ด๋Š” ํ˜„์‹ค๊ณผ ํ•ฉ๋ฆฌ์ ์ด๊ณ  ์„ ์˜์˜ ํ–‰์œ„์ž์˜ ๊ฐ€์ • ์‚ฌ์ด์˜ ๊ฒฉ์ฐจ๋ฅผ ์•…์šฉํ•˜๋Š” ๋ฐ ๋‹ฌ๋ ค ์žˆ๋‹ค. DID ๋ฌธ์„œ์˜ ๋ถˆ๋ณ€์„ฑ์€ ์ผ๋ถ€ ๋ณด์•ˆ ์ด์ ์„ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ๋‹ค. ๊ฐœ๋ณ„ DID ๋ฉ”์†Œ๋“œ๋Š” ํ•„์š”ํ•˜์ง€ ์•Š์€ ํ–‰๋™์ด๋‚˜ ์˜๋ฏธ๋ก ์„ ์ œ๊ฑฐํ•  ์ˆ˜ ์žˆ๋Š” ์ œ์•ฝ ์กฐ๊ฑด์„ ๊ณ ๋ คํ•ด์•ผ ํ•œ๋‹ค. DID ๋ฉ”์†Œ๋“œ๊ฐ€ ๋™์ผํ•œ ๊ธฐ๋Šฅ ์ง‘ํ•ฉ์„ ์ œ๊ณตํ•˜๋ฉด์„œ ๋” ์ž ๊ฒจ ์žˆ์„์ˆ˜๋ก ์•…์˜์ ์ธ ํ–‰์œ„์ž์— ์˜ํ•ด ์กฐ์ž‘๋  ๊ฐ€๋Šฅ์„ฑ์ด ์ค„์–ด๋“ ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด DID ๋ฌธ์„œ๋ฅผ ํ•œ ๋ฒˆ๋งŒ ํŽธ์ง‘ํ•ด๋„ ๋ฌธ์„œ์˜ ๋ฃจํŠธ id ์†์„ฑ์„ ์ œ์™ธํ•œ ๋ชจ๋“  ๊ฒƒ์„ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์„œ๋น„์Šค๊ฐ€ ์ •์˜๋œ ํ›„ type์„ ๋ณ€๊ฒฝํ•˜๋Š” ๊ฒƒ์ด ์‹ค์ œ๋กœ ๋ฐ”๋žŒ์งํ•œ๊ฐ€? ๋˜๋Š” ํ‚ค๊ฐ€ ๊ทธ ๊ฐ’์„ ๋ณ€๊ฒฝํ•˜๋Š” ๊ฒƒ์ด ๋ฐ”๋žŒ์งํ•œ๊ฐ€? ์•„๋‹ˆ๋ฉด ๊ฐ์ฒด์˜ ํŠน์ • ๊ธฐ๋ณธ ์†์„ฑ์ด ๋ณ€๊ฒฝ๋  ๋•Œ ์ƒˆ๋กœ์šด id๋ฅผ ์š”๊ตฌํ•˜๋Š” ๊ฒƒ์ด ๋” ์ข‹์„๊นŒ? ์›น์‚ฌ์ดํŠธ์˜ ์•…์˜์ ์ธ ํƒˆ์ทจ๋Š” ์ข…์ข… ์‚ฌ์ดํŠธ๊ฐ€ ํ˜ธ์ŠคํŠธ ์ด๋ฆ„ ์‹๋ณ„์ž๋ฅผ ์œ ์ง€ํ•˜์ง€๋งŒ ๊ทธ ์•„๋ž˜์—์„œ ๋ฏธ๋ฌ˜ํ•˜๊ฒŒ ๋ณ€๊ฒฝ๋˜๋Š” ๊ฒฐ๊ณผ๋ฅผ ๋ชฉํ‘œ๋กœ ํ•œ๋‹ค. ์‚ฌ์ดํŠธ์˜ ํŠน์ • ์†์„ฑ(์˜ˆ: IP ์ฃผ์†Œ์™€ ์—ฐ๊ฒฐ๋œ ASN)์ด ๊ทœ๊ฒฉ์— ์˜ํ•ด ๋ถˆ๋ณ€ํ•ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ, ์ด์ƒ ๊ฐ์ง€๊ฐ€ ๋” ์‰ฌ์›Œ์ง€๊ณ  ๊ณต๊ฒฉ์ด ํ›จ์”ฌ ๋” ์–ด๋ ค์›Œ์ง€๊ณ  ๋น„์šฉ์ด ๋งŽ์ด ๋“ค ๊ฒƒ์ด๋‹ค.

์ „ ์„ธ๊ณ„์ ์ธ ์ง„์‹ค์˜ ์›์ฒœ๊ณผ ์—ฐ๊ฒฐ๋œ DID ๋ฉ”์†Œ๋“œ์˜ ๊ฒฝ์šฐ DID ๋ฌธ์„œ์˜ ์ตœ์‹  ๋ฒ„์ „์— ๋Œ€ํ•œ ์ง์ ‘์ ์ด๊ณ  ์ ์‹œ์ ์ธ ๊ฒ€์ƒ‰์ด ํ•ญ์ƒ ๊ฐ€๋Šฅํ•˜๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ DID ๋ณ€ํ™˜๊ธฐ์™€ ํ•ด๋‹น ์ง„์‹ค์˜ ์›์ฒœ ์‚ฌ์ด์— ์บ์‹œ ๊ณ„์ธต์ด ๊ฒฐ๊ตญ ์œ„์น˜ํ•  ๊ฐ€๋Šฅ์„ฑ์ด ์žˆ์–ด ๋ณด์ธ๋‹ค. ๋งŒ์•ฝ ๊ทธ๋ ‡๋‹ค๋ฉด DID ๋ฌธ์„œ์˜ ๊ฐ์ฒด ์†์„ฑ์ด ์‹ค์ œ๋กœ๋Š” ๋ฏธ๋ฌ˜ํ•˜๊ฒŒ ๋‹ค๋ฅธ๋ฐ ์ฃผ์–ด์ง„ ์ƒํƒœ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค๊ณ  ๋ฏฟ๋Š” ๊ฒƒ์€ ์•…์šฉ์„ ์ดˆ๋ž˜ํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด๋Š” ์ผ๋ถ€ ๊ฒ€์ƒ‰์ด ์ „์ฒด DID ๋ฌธ์„œ์— ๋Œ€ํ•œ ๊ฒƒ์ด๊ณ  ๋‹ค๋ฅธ ๊ฒ€์ƒ‰์€ ๋” ํฐ ๋งฅ๋ฝ์ด ๊ฐ€์ •๋˜๋Š” ๋ถ€๋ถ„ ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•œ ๊ฒƒ์ธ ๊ฒฝ์šฐ์— ํŠนํžˆ ๊ทธ๋Ÿฌํ•˜๋‹ค.

DID ๋ฌธ์„œ์˜ ์•”ํ˜ธํ™”๋œ ๋ฐ์ดํ„ฐ

์•”ํ˜ธํ™” ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ์•”ํ˜ธํ•™๊ณผ ์ปดํ“จํŒ… ๋Šฅ๋ ฅ์˜ ๋ฐœ์ „์œผ๋กœ ์ธํ•ด ์‹คํŒจํ•˜๋Š” ๊ฒƒ์œผ๋กœ ์•Œ๋ ค์ ธ ์žˆ๋‹ค. ๊ตฌํ˜„์ž๋Š” DID ๋ฌธ์„œ์— ๋ฐฐ์น˜๋œ ์•”ํ˜ธํ™”๋œ ๋ฐ์ดํ„ฐ๊ฐ€ ๊ฒฐ๊ตญ ์•”ํ˜ธํ™”๋œ ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋™์ผํ•œ ๋Œ€์ƒ์—๊ฒŒ ์ผ๋ฐ˜ ํ…์ŠคํŠธ๋กœ ์ œ๊ณต๋  ์ˆ˜ ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•˜๋Š” ๊ฒƒ์ด ์ข‹๋‹ค. ์ด๋Š” DID ๋ฌธ์„œ๊ฐ€ ๊ณต๊ฐœ๋œ ๊ฒฝ์šฐ ํŠนํžˆ ์ ์ ˆํ•˜๋‹ค.

DID ๋ฌธ์„œ์˜ ์ „์ฒด ๋˜๋Š” ์ผ๋ถ€๋ฅผ ์•”ํ˜ธํ™”ํ•˜๋Š” ๊ฒƒ์€ ์žฅ๊ธฐ์ ์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณดํ˜ธํ•˜๊ธฐ ์œ„ํ•œ ์ ์ ˆํ•œ ์ˆ˜๋‹จ์ด ์•„๋‹ˆ๋‹ค. ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ์•”ํ˜ธํ™”๋œ ๋ฐ์ดํ„ฐ๋ฅผ DID ๋ฌธ์„œ์— ๋ฐฐ์น˜ํ•˜๋Š” ๊ฒƒ์€ ๊ฐœ์ธ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณดํ˜ธํ•˜๊ธฐ ์œ„ํ•œ ์ ์ ˆํ•œ ์ˆ˜๋‹จ์ด ์•„๋‹ˆ๋‹ค.

์œ„์˜ ์ฃผ์˜์‚ฌํ•ญ์„ ๊ณ ๋ คํ•  ๋•Œ ์•”ํ˜ธํ™”๋œ ๋ฐ์ดํ„ฐ๊ฐ€ DID ๋ฌธ์„œ์— ํฌํ•จ๋˜๋Š” ๊ฒฝ์šฐ ๊ตฌํ˜„์ž๋Š” ์•”ํ˜ธํ™”๋œ ๋ฐ์ดํ„ฐ์™€ ๊ด€๋ จ ๋‹น์‚ฌ์ž ๊ฐ„์˜ ๊ด€๊ณ„๋ฅผ ์ถ”๋ก ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ๋Š” ์ƒํ˜ธ ์—ฐ๊ด€ ๊ฐ€๋Šฅํ•œ ์ •๋ณด๋ฅผ ์—ฐ๊ฒฐํ•˜์ง€ ์•Š๋Š” ๊ฒƒ์ด ์ข‹๋‹ค. ์ƒํ˜ธ ์—ฐ๊ด€ ๊ฐ€๋Šฅํ•œ ์ •๋ณด์˜ ์˜ˆ๋กœ๋Š” ์ˆ˜์‹  ๋‹น์‚ฌ์ž์˜ ๊ณต๊ฐœ ํ‚ค, ์ˆ˜์‹  ๋‹น์‚ฌ์ž์˜ ์ œ์–ด ํ•˜์— ์žˆ๋Š” ๊ฒƒ์œผ๋กœ ์•Œ๋ ค์ง„ ๋””์ง€ํ„ธ ์ž์‚ฐ์— ๋Œ€ํ•œ ์‹๋ณ„์ž ๋˜๋Š” ์ˆ˜์‹  ๋‹น์‚ฌ์ž์— ๋Œ€ํ•œ ์‚ฌ๋žŒ์ด ์ฝ์„ ์ˆ˜ ์žˆ๋Š” ์„ค๋ช… ๋“ฑ์ด ์žˆ๋‹ค.

Equivalence Properties

equivalentId์™€ canonicalId ์†์„ฑ์€ DID ๋ฉ”์†Œ๋“œ ์ž์ฒด์—์„œ ์ƒ์„ฑ๋˜๋ฏ€๋กœ DID ๋ฌธ์„œ์˜ id ํ•„๋“œ์— ์žˆ๋Š” ํ•ด์„๋œ DID์— ์ ์šฉ๋˜๋Š” ๋™์ผํ•œ ๋ณด์•ˆ ๋ฐ ์ •ํ™•์„ฑ ๋ณด์žฅ์ด ์ด๋Ÿฌํ•œ ์†์„ฑ์—๋„ ์ ์šฉ๋œ๋‹ค. alsoKnownAs ์†์„ฑ์€ ๋™๋“ฑ์„ฑ์— ๋Œ€ํ•œ ์ •ํ™•ํ•œ ์ง„์ˆ ์ž„์ด ๋ณด์žฅ๋˜์ง€ ์•Š์œผ๋ฉฐ DID ๋ฌธ์„œ์˜ ํ•ด์„์„ ๋„˜์–ด์„  ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ ๋‹จ๊ณ„๋ฅผ ์ˆ˜ํ–‰ํ•˜์ง€ ์•Š๊ณ ๋Š” ์‹ ๋ขฐํ•ด์„œ๋Š” ์•ˆ ๋œ๋‹ค.

equivalentId์™€ canonicalId ์†์„ฑ์€ ๋™์ผํ•œ DID ๋ฉ”์†Œ๋“œ์— ์˜ํ•ด ์ƒ์„ฑ๋œ ๋‹จ์ผ DID์˜ ๋ณ€ํ˜•์— ๋Œ€ํ•œ ๋™๋“ฑ์„ฑ ์ฃผ์žฅ์„ ํ‘œํ˜„ํ•˜๋ฉฐ, ์š”์ฒญ ๋‹น์‚ฌ์ž๊ฐ€ DID ๋ฉ”์†Œ๋“œ์™€ ๊ทœ๋ฒ”์— ๋ถ€ํ•ฉํ•˜๋Š” ์ƒ์‚ฐ์ž ๋ฐ ๋ณ€ํ™˜๊ธฐ๋ฅผ ์‹ ๋ขฐํ•˜๋Š” ์ •๋„๊นŒ์ง€ ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋‹ค.

alsoKnownAs ์†์„ฑ์€ ๋™์ผํ•œ DID ๋ฉ”์†Œ๋“œ์— ์˜ํ•ด ์ œ์–ด๋˜์ง€ ์•Š๋Š” URI์— ๋Œ€ํ•œ ๋™๋“ฑ์„ฑ ์ฃผ์žฅ์„ ํ—ˆ์šฉํ•˜๋ฉฐ ๊ด€๋ฆฌ ์ค‘์ธ DID ๋ฉ”์†Œ๋“œ ์™ธ๋ถ€์—์„œ ๊ฒ€์ฆ ๋‹จ๊ณ„๋ฅผ ์ˆ˜ํ–‰ํ•˜์ง€ ์•Š๊ณ ๋Š” ์‹ ๋ขฐํ•  ์ˆ˜ ์—†๋‹ค. ์˜ ์ถ”๊ฐ€ ์ง€์นจ์„ ์ฐธ์กฐํ•˜๋ผ.

DID ๋ฌธ์„œ์˜ ๋‹ค๋ฅธ ๋ณด์•ˆ ๊ด€๋ จ ์†์„ฑ๊ณผ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ, DID ๋ฌธ์„œ์˜ ๋™๋“ฑ์„ฑ ์ง„์ˆ ์— ์˜์กดํ•˜๋Š” ๋‹น์‚ฌ์ž๋Š” ์ ์ ˆํ•œ ๊ฒ€์ฆ์ด ์ˆ˜ํ–‰๋œ ํ›„ ์ด๋Ÿฌํ•œ ์†์„ฑ์˜ ๊ฐ’์ด ๊ณต๊ฒฉ์ž์— ์˜ํ•ด ๋Œ€์ฒด๋˜๋Š” ๊ฒƒ์„ ๋ฐฉ์ง€ํ•ด์•ผ ํ•œ๋‹ค. ๊ฒ€์ฆ์ด ์ˆ˜ํ–‰๋œ ํ›„ ๋ฉ”๋ชจ๋ฆฌ ๋˜๋Š” ๋””์Šคํฌ์— ์ €์žฅ๋œ DID ๋ฌธ์„œ์— ๋Œ€ํ•œ ๋ชจ๋“  ์“ฐ๊ธฐ ์•ก์„ธ์Šค๋Š” DID ๋ฌธ์„œ๊ฐ€ ์žฌ๊ฒ€์ฆ๋˜์ง€ ์•Š๋Š” ํ•œ ๊ฒ€์ฆ์„ ์šฐํšŒํ•  ์ˆ˜ ์žˆ๋Š” ๊ณต๊ฒฉ ๋ฒกํ„ฐ์ด๋‹ค.

์ฝ˜ํ…์ธ  ๋ฌด๊ฒฐ์„ฑ ๋ณดํ˜ธ

์ด๋ฏธ์ง€, ์›น ํŽ˜์ด์ง€ ๋˜๋Š” ์Šคํ‚ค๋งˆ์™€ ๊ฐ™์€ ์™ธ๋ถ€ ๊ธฐ๊ณ„ ํŒ๋… ๊ฐ€๋Šฅ ์ฝ˜ํ…์ธ ์— ๋Œ€ํ•œ ๋งํฌ๋ฅผ ํฌํ•จํ•˜๋Š” DID ๋ฌธ์„œ๋Š” ๋ณ€์กฐ์— ์ทจ์•ฝํ•˜๋‹ค. ํ•ด์‹œ๋งํฌ [[?HASHLINK]]์™€ ๊ฐ™์€ ์†”๋ฃจ์…˜์„ ์‚ฌ์šฉํ•˜์—ฌ ์™ธ๋ถ€ ๋งํฌ์˜ ๋ฌด๊ฒฐ์„ฑ์„ ๋ณดํ˜ธํ•˜๋Š” ๊ฒƒ์ด ๊ฐ•๋ ฅํžˆ ๊ถŒ์žฅ๋œ๋‹ค. ์™ธ๋ถ€ ๋งํฌ์˜ ๋ฌด๊ฒฐ์„ฑ์„ ๋ณดํ˜ธํ•  ์ˆ˜ ์—†๊ณ  DID ๋ฌธ์„œ์˜ ๋ฌด๊ฒฐ์„ฑ์ด ์™ธ๋ถ€ ๋งํฌ์— ์˜์กดํ•˜๋Š” ๊ฒฝ์šฐ ์™ธ๋ถ€ ๋งํฌ๋Š” ํ”ผํ•ด์•ผ ํ•œ๋‹ค.

DID ๋ฌธ์„œ ์ž์ฒด์˜ ๋ฌด๊ฒฐ์„ฑ์— ์˜ํ–ฅ์„ ์ค„ ์ˆ˜ ์žˆ๋Š” ์™ธ๋ถ€ ๋งํฌ์˜ ํ•œ ์˜ˆ๋Š” JSON-LD ์ปจํ…์ŠคํŠธ [[JSON-LD11]]์ด๋‹ค. ์†์ƒ์œผ๋กœ๋ถ€ํ„ฐ ๋ณดํ˜ธํ•˜๊ธฐ ์œ„ํ•ด DID ๋ฌธ์„œ ์†Œ๋น„์ž๋Š” JSON-LD ์ปจํ…์ŠคํŠธ์˜ ๋กœ์ปฌ ์ •์  ์‚ฌ๋ณธ์„ ์บ์‹œํ•˜๊ฑฐ๋‚˜ ์•ˆ์ „ํ•œ ๋ฒ„์ „์˜ ์™ธ๋ถ€ JSON-LD ์ปจํ…์ŠคํŠธ์™€ ์—ฐ๊ด€๋œ ๊ฒƒ์œผ๋กœ ์•Œ๋ ค์ง„ ์•”ํ˜ธํ™” ํ•ด์‹œ์— ๋Œ€ํ•ด ์™ธ๋ถ€ ์ปจํ…์ŠคํŠธ์˜ ๋ฌด๊ฒฐ์„ฑ์„ ๊ฒ€์ฆํ•˜๋Š” ๊ฒƒ์ด ์ข‹๋‹ค.

Persistence

DID๋Š” ์ปจํŠธ๋กค๋Ÿฌ๊ฐ€ ์ž์‹ ์˜ ์‹๋ณ„์ž๋ฅผ ์œ ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ๋‹จ์ผ ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š” ์ œ3์ž ๋˜๋Š” ๊ด€๋ฆฌ์ž์— ์˜์กดํ•  ํ•„์š”๊ฐ€ ์—†๋„๋ก ์ง€์†์ ์œผ๋กœ ์„ค๊ณ„๋˜์—ˆ๋‹ค. ์ด์ƒ์ ์ธ ๊ฒฝ์šฐ ์–ด๋–ค ๊ด€๋ฆฌ์ž๋„ ์ปจํŠธ๋กค๋Ÿฌ๋กœ๋ถ€ํ„ฐ ์ œ์–ด๊ถŒ์„ ๋นผ์•—์„ ์ˆ˜ ์—†์œผ๋ฉฐ ์ธ์ฆ, ๊ถŒํ•œ ๋ถ€์—ฌ ๋ฐ ์ฆ๋ช…๊ณผ ๊ฐ™์€ ํŠน์ • ๋ชฉ์ ์œผ๋กœ ์‹๋ณ„์ž ์‚ฌ์šฉ์„ ๋ง‰์„ ์ˆ˜ ์—†๋‹ค. ์ œ3์ž๋Š” ์ปจํŠธ๋กค๋Ÿฌ์˜ ๋™์˜ ์—†์ด ์—”ํ‹ฐํ‹ฐ์˜ ์‹๋ณ„์ž๋ฅผ ์ œ๊ฑฐํ•˜๊ฑฐ๋‚˜ ์ž‘๋™ํ•˜์ง€ ์•Š๊ฒŒ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด ์ปจํŠธ๋กค๋Ÿฌ๋ฅผ ๋Œ€์‹ ํ•˜์—ฌ ํ–‰๋™ํ•  ์ˆ˜ ์—†๋‹ค.

๊ทธ๋Ÿฌ๋‚˜ ์•”ํ˜ธํ™” ์ œ์–ด ์ฆ๋ช…์„ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•˜๋Š” ๋ชจ๋“  DID ๋ฉ”์†Œ๋“œ์—์„œ ์ œ์–ด๋ฅผ ์ฆ๋ช…ํ•˜๋Š” ์ˆ˜๋‹จ์€ ํ•ญ์ƒ ๋น„๋ฐ€ ์•”ํ˜ธํ™” ์ž๋ฃŒ๋ฅผ ๋‹ค๋ฅธ ๋‹น์‚ฌ์ž์—๊ฒŒ ์ „์†กํ•จ์œผ๋กœ์จ ์ „์†ก๋  ์ˆ˜ ์žˆ๋‹ค๋Š” ์ ์— ์œ ์˜ํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•˜๋‹ค. ๋”ฐ๋ผ์„œ ์‹œ๊ฐ„์ด ์ง€๋‚จ์— ๋”ฐ๋ผ ์‹๋ณ„์ž์˜ ์ง€์†์„ฑ์— ์˜์กดํ•˜๋Š” ์‹œ์Šคํ…œ์€ ์‹๋ณ„์ž๊ฐ€ ์‹ค์ œ๋กœ ์—ฌ์ „ํžˆ ์˜๋„ํ•œ ๋‹น์‚ฌ์ž์˜ ์ œ์–ด ํ•˜์— ์žˆ๋Š”์ง€ ์ •๊ธฐ์ ์œผ๋กœ ํ™•์ธํ•ด์•ผ ํ•œ๋‹ค.

๋ถˆํ–‰ํžˆ๋„ ์•”ํ˜ธํ™” ์ž์ฒด๋งŒ์œผ๋กœ๋Š” ์ฃผ์–ด์ง„ ๊ฒ€์ฆ ๋ฐฉ๋ฒ•์™€ ๊ด€๋ จ๋œ ๋น„๋ฐ€ ์•”ํ˜ธํ™” ์ž๋ฃŒ๊ฐ€ ์†์ƒ๋˜์—ˆ๋Š”์ง€ ์—ฌ๋ถ€๋ฅผ ํŒ๋‹จํ•  ์ˆ˜ ์—†๋‹ค. ์˜ˆ์ƒ๋˜๋Š” ์ปจํŠธ๋กค๋Ÿฌ๊ฐ€ ์—ฌ์ „ํžˆ ๋น„๋ฐ€ ์•”ํ˜ธํ™” ์ž๋ฃŒ์— ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ด์— ๋”ฐ๋ผ ๊ฒ€์ฆ ํ”„๋กœ์„ธ์Šค์˜ ์ผ๋ถ€๋กœ ์ œ์–ด ์ฆ๋ช…์„ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐ˜๋ฉด, ๋™์‹œ์— ์•…์˜์ ์ธ ํ–‰์œ„์ž๋„ ๋™์ผํ•œ ํ‚ค ๋˜๋Š” ๊ทธ ์‚ฌ๋ณธ์— ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ์„ ์ˆ˜ ์žˆ๋‹ค.

๋”ฐ๋ผ์„œ ์•”ํ˜ธํ™” ์ œ์–ด ์ฆ๋ช…์€ ๊ณ ์œ„ํ—˜ ์‹œ๋‚˜๋ฆฌ์˜ค์— ํ•„์š”ํ•œ ์‹ ์› ๋ณด์ฆ ์ˆ˜์ค€์„ ํ‰๊ฐ€ํ•˜๋Š” ๋ฐ ํ•˜๋‚˜์˜ ์š”์†Œ๋กœ๋งŒ ์‚ฌ์šฉ๋  ๊ฒƒ์œผ๋กœ ์˜ˆ์ƒ๋œ๋‹ค. DID ๊ธฐ๋ฐ˜ ์ธ์ฆ์€ ์‹œ์Šคํ…œ ๊ฐ„์— ํ•ด๋‹น ๋น„๋ฐ€์„ ์ „์†กํ•˜์ง€ ์•Š๊ณ ๋„ ์•”ํ˜ธํ™” ๋น„๋ฐ€์— ๋Œ€ํ•œ ์ œ์–ด๋ฅผ ๊ฒฐ์ •ํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ ๋•๋ถ„์— ์‚ฌ์šฉ์ž ์ด๋ฆ„๊ณผ ์•”ํ˜ธ๋ณด๋‹ค ํ›จ์”ฌ ๋” ํฐ ๋ณด์ฆ์„ ์ œ๊ณตํ•œ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๋ฌด์˜ค๋ฅ˜๋Š” ์•„๋‹ˆ๋‹ค. ๋ฏผ๊ฐํ•˜๊ฑฐ๋‚˜ ๊ณ ๊ฐ€์น˜ ๋˜๋Š” ์ƒ๋ช…์— ์ค‘์š”ํ•œ ์ž‘์—…๊ณผ ๊ด€๋ จ๋œ ์‹œ๋‚˜๋ฆฌ์˜ค์—์„œ๋Š” ์ ์ ˆํ•œ ์ถ”๊ฐ€ ์š”์†Œ๋ฅผ ์‚ฌ์šฉํ•  ๊ฒƒ์œผ๋กœ ์˜ˆ์ƒ๋œ๋‹ค.

์„œ๋กœ ๋‹ค๋ฅธ ์ปจํŠธ๋กค๋Ÿฌ์— ์˜ํ•œ ์‚ฌ์šฉ์œผ๋กœ ์ธํ•œ ์ž ์žฌ์  ๋ชจํ˜ธ์„ฑ ์™ธ์—๋„, ์ผ๋ฐ˜์ ์œผ๋กœ ์ฃผ์–ด์ง„ DID๊ฐ€ ํŠน์ • ์‹œ์ ์— ๋™์ผํ•œ ์ฃผ์ฒด๋ฅผ ์ฐธ์กฐํ•˜์—ฌ ์‚ฌ์šฉ๋˜๊ณ  ์žˆ์Œ์„ ๋ณด์žฅํ•  ์ˆ˜ ์—†๋‹ค. ์ปจํŠธ๋กค๋Ÿฌ๊ฐ€ ์„œ๋กœ ๋‹ค๋ฅธ ์ฃผ์ฒด์— ๋Œ€ํ•ด DID๋ฅผ ์žฌ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์€ ๊ธฐ์ˆ ์ ์œผ๋กœ ๊ฐ€๋Šฅํ•˜๋ฉฐ, ๋” ๋ฏธ๋ฌ˜ํ•˜๊ฒŒ๋Š” ์ฃผ์ฒด์˜ ์ •ํ™•ํ•œ ์ •์˜๊ฐ€ ์‹œ๊ฐ„์ด ์ง€๋‚จ์— ๋”ฐ๋ผ ๋ณ€๊ฒฝ๋˜๊ฑฐ๋‚˜ ์˜คํ•ด๋  ์ˆ˜ ์žˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด, ๊ธˆ์œต ๊ฑฐ๋ž˜์— ์‚ฌ์šฉ๋˜๋Š” ๋‹ค์–‘ํ•œ ์ž๊ฒฉ ์ฆ๋ช…์„ ๋ฐ›๋Š” ๊ฐœ์ธ ๊ธฐ์—…์— ์‚ฌ์šฉ๋˜๋Š” DID๋ฅผ ๊ณ ๋ คํ•ด ๋ณด์ž. ์ปจํŠธ๋กค๋Ÿฌ์—๊ฒŒ ํ•ด๋‹น ์‹๋ณ„์ž๋Š” ์‚ฌ์—…์„ ์ง€์นญํ–ˆ๋‹ค. ์‚ฌ์—…์ด ์„ฑ์žฅํ•จ์— ๋”ฐ๋ผ ๊ฒฐ๊ตญ ์œ ํ•œ์ฑ…์ž„ํšŒ์‚ฌ๋กœ ๋ฒ•์ธํ™”๋œ๋‹ค. ์ปจํŠธ๋กค๋Ÿฌ๋Š” DID๊ฐ€ ์‚ฌ์—…์„ ์ง€์นญํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋™์ผํ•œ DID๋ฅผ ๊ณ„์† ์‚ฌ์šฉํ•œ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ฃผ, ์„ธ๋ฌด ๋‹น๊ตญ ๋ฐ ์ง€๋ฐฉ ์ž์น˜ ๋‹จ์ฒด์— ๋Œ€ํ•ด์„œ๋Š” DID๊ฐ€ ๋” ์ด์ƒ ๋™์ผํ•œ ์—”ํ‹ฐํ‹ฐ๋ฅผ ์ง€์นญํ•˜์ง€ ์•Š๋Š”๋‹ค. ์˜๋ฏธ์˜ ๋ฏธ๋ฌ˜ํ•œ ๋ณ€ํ™”๊ฐ€ ์‹ ์šฉ ์ œ๊ณต์ž๋‚˜ ๊ณต๊ธ‰์ž์—๊ฒŒ ์ค‘์š”ํ•œ์ง€ ์—ฌ๋ถ€๋Š” ๋ฐ˜๋“œ์‹œ ๊ทธ๋“ค์ด ๊ฒฐ์ •ํ•ด์•ผ ํ•œ๋‹ค. ๋งŽ์€ ๊ฒฝ์šฐ ์ฒญ๊ตฌ์„œ๊ฐ€ ์ง€๋ถˆ๋˜๊ณ  ์ถ”์‹ฌ์ด ์‹œํ–‰๋  ์ˆ˜ ์žˆ๋Š” ํ•œ ๋ณ€ํ™”๋Š” ์ค‘์š”ํ•˜์ง€ ์•Š๋‹ค.

์ด๋Ÿฌํ•œ ์ž ์žฌ์  ๋ชจํ˜ธ์„ฑ์œผ๋กœ ์ธํ•ด DID๋Š” ์ ˆ๋Œ€์ ์ด๋ผ๊ธฐ๋ณด๋‹ค๋Š” ๋ฌธ๋งฅ์ ์œผ๋กœ ์œ ํšจํ•œ ๊ฒƒ์œผ๋กœ ๊ฐ„์ฃผ๋˜์–ด์•ผ ํ•œ๋‹ค. ๊ทธ๊ฒƒ๋“ค์˜ ์ง€์†์„ฑ์€ ๊ทธ๊ฒƒ๋“ค์ด ์ •ํ™•ํžˆ ๋™์ผํ•œ ์ฃผ์ฒด๋ฅผ ์ง€์นญํ•œ๋‹ค๊ฑฐ๋‚˜ ๋™์ผํ•œ ์ปจํŠธ๋กค๋Ÿฌ์˜ ์ œ์–ด ํ•˜์— ์žˆ์Œ์„ ์˜๋ฏธํ•˜์ง€ ์•Š๋Š”๋‹ค. ๋Œ€์‹  DID๊ฐ€ ์ƒ์„ฑ๋œ ๋งฅ๋ฝ, ์–ด๋–ป๊ฒŒ ์‚ฌ์šฉ๋˜๋Š”์ง€, ๊ทธ ์˜๋ฏธ์˜ ๋ณ€ํ™” ๊ฐ€๋Šฅ์„ฑ์„ ์ดํ•ดํ•˜๊ณ  ์ž ์žฌ์ ์ด๊ณ  ๋ถˆ๊ฐ€ํ”ผํ•œ ์˜๋ฏธ๋ก ์  ๋ณ€ํ™”๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•œ ์ ˆ์ฐจ์™€ ์ •์ฑ…์„ ์ฑ„ํƒํ•ด์•ผ ํ•œ๋‹ค.

Level of Assurance

๊ทœ์ •๋œ ๊ธˆ์œต ๋ฐ ๊ณต๊ณต ๋ถ€๋ฌธ๊ณผ ๊ฐ™์€ ์˜์—ญ์—์„œ๋Š” ํŠนํžˆ ๊ทœ์ • ์ค€์ˆ˜๋ฅผ ์œ„ํ•ด ์ธ์ฆ ์ด๋ฒคํŠธ์˜ ๋ณด์•ˆ ์ปจํ…์ŠคํŠธ์— ๋Œ€ํ•œ ์ถ”๊ฐ€ ์ •๋ณด๊ฐ€ ์ข…์ข… ํ•„์š”ํ•˜๋‹ค. ์ด ์ •๋ณด๋Š” ์ข…์ข… ๋ณด์ฆ ์ˆ˜์ค€(LOA)์ด๋ผ๊ณ  ํ•œ๋‹ค. ์˜ˆ๋กœ๋Š” ๋น„๋ฐ€ ์•”ํ˜ธํ™” ์ž๋ฃŒ์˜ ๋ณดํ˜ธ, ์‹ ์› ์ฆ๋ช… ํ”„๋กœ์„ธ์Šค, ์ธ์ฆ์ž์˜ ํ˜•ํƒœ ๋“ฑ์ด ์žˆ๋‹ค.

Payment services (PSD 2) and eIDAS introduce such requirements to the security context. Level of assurance frameworks are classified and defined by regulations and standards such as eIDAS, NIST 800-63-3 and ISO/IEC 29115:2013, including their requirements for the security context, and making recommendations on how to achieve them. This might include strong user authentication where FIDO2/WebAuthn can fulfill the requirement.

์ผ๋ถ€ ๊ทœ์ œ๋˜๋Š” ์‹œ๋‚˜๋ฆฌ์˜ค์—์„œ๋Š” ํŠน์ • ์ˆ˜์ค€์˜ ๋ณด์ฆ์„ ๊ตฌํ˜„ํ•ด์•ผ ํ•œ๋‹ค. assertionMethod์™€ authentication๊ณผ ๊ฐ™์€ ๊ฒ€์ฆ ๊ด€๊ณ„๊ฐ€ ์ด๋Ÿฌํ•œ ์ƒํ™ฉ ์ค‘ ์ผ๋ถ€์—์„œ ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ์ ์šฉ๋œ ๋ณด์•ˆ ์ปจํ…์ŠคํŠธ์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ํ‘œํ˜„ํ•˜๊ณ  ๊ฒ€์ฆ์ž์—๊ฒŒ ์ œ๊ณตํ•ด์•ผ ํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด ์ •๋ณด๋ฅผ DID ๋ฌธ์„œ ๋ฐ์ดํ„ฐ ๋ชจ๋ธ์— ์ธ์ฝ”๋”ฉํ•  ๊ฒƒ์ธ์ง€ ์—ฌ๋ถ€์™€ ๋ฐฉ๋ฒ•์€ ์ด ๊ทœ๊ฒฉ์˜ ๋ฒ”์œ„๋ฅผ ๋ฒ—์–ด๋‚œ๋‹ค. ๊ด€์‹ฌ ์žˆ๋Š” ๋…์ž๋Š” 1) ์ •๋ณด๊ฐ€ ๊ฒ€์ฆ ๊ฐ€๋Šฅํ•œ ํฌ๋ฆฌ๋ด์…œ [[?VC-DATA-MODEL]]์„ ์‚ฌ์šฉํ•˜์—ฌ ์ „์†ก๋  ์ˆ˜ ์žˆ๊ณ , 2) DID ๋ฌธ์„œ ๋ฐ์ดํ„ฐ ๋ชจ๋ธ์€ ์— ์„ค๋ช…๋œ ๋Œ€๋กœ ์ด ์ •๋ณด๋ฅผ ํ†ตํ•ฉํ•˜๋„๋ก ํ™•์žฅ๋  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์—ฌ๊ธฐ์„œ ๋Š” ๊ทธ๋Ÿฌํ•œ ํ™•์žฅ์— ์ ์šฉ๋  ์ˆ˜ ์žˆ๋‹ค๋Š” ์ ์— ์œ ์˜ํ•  ์ˆ˜ ์žˆ๋‹ค.

๊ฐœ์ธ์ •๋ณด ๋ณดํ˜ธ ๊ณ ๋ ค์‚ฌํ•ญ(Privacy Considerations)

DID์™€ DID ๋ฌธ์„œ๋Š” DID ์ปจํŠธ๋กค๋Ÿฌ์— ์˜ํ•ด ์ง์ ‘ ๊ด€๋ฆฌ๋˜๋„๋ก ์„ค๊ณ„๋˜์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ํƒˆ์ค‘์•™ ์‹๋ณ„์ž ์•„ํ‚คํ…์ฒ˜์˜ ๋ชจ๋“  ์ธก๋ฉด์— Privacy by Design [[PRIVACY-BY-DESIGN]]์˜ ์›์น™์„ ์ ์šฉํ•˜๋Š” ๊ฒƒ์ด ๋งค์šฐ ์ค‘์š”ํ•˜๋‹ค. ์ด ๊ทœ๊ฒฉ์„ ๊ฐœ๋ฐœํ•˜๋Š” ๋™์•ˆ ์ด ์ผ๊ณฑ ๊ฐ€์ง€ ์›์น™์ด ๋ชจ๋‘ ์ ์šฉ๋˜์—ˆ๋‹ค. ์ด ๊ทœ๊ฒฉ์— ์‚ฌ์šฉ๋œ ์„ค๊ณ„๋Š” ์ถ”๊ฐ€์ ์ธ ๊ฐœ์ธ์ •๋ณด ๋ณดํ˜ธ ์กฐ์น˜๋ฅผ ๊ถŒ์žฅํ•˜๊ฑฐ๋‚˜ ์ ์šฉํ•  ๋“ฑ๋ก ๊ธฐ๊ด€, ํ˜ธ์ŠคํŒ… ํšŒ์‚ฌ ๋˜๋Š” ๊ธฐํƒ€ ์ค‘๊ฐœ ์„œ๋น„์Šค ์ œ๊ณต์ž๊ฐ€ ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•˜์ง€ ์•Š๋Š”๋‹ค. ์ด ๊ทœ๊ฒฉ์˜ ๊ฐœ์ธ์ •๋ณด ๋ณดํ˜ธ๋Š” ์‚ฌํ›„ ๋Œ€์ฑ…์ด ์•„๋‹ˆ๋ผ ์˜ˆ๋ฐฉ์ ์ด๋ฉฐ ๊ธฐ๋ณธ์œผ๋กœ ๋‚ด์žฅ๋˜์–ด ์žˆ๋‹ค. ๋‹ค์Œ ์„น์…˜์—์„œ๋Š” ํƒˆ์ค‘์•™ ์‹๋ณ„์ž๋ฅผ ํ™œ์šฉํ•˜๋Š” ์‹œ์Šคํ…œ์„ ๊ตฌ์ถ•ํ•  ๋•Œ ๊ตฌํ˜„์ž๊ฐ€ ์œ ์šฉํ•˜๊ฒŒ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐœ์ธ์ •๋ณด ๋ณดํ˜ธ ๊ณ ๋ ค์‚ฌํ•ญ์„ ๋‹ค๋ฃฌ๋‹ค.

๊ฐœ์ธ ๋ฐ์ดํ„ฐ ๋น„๊ณต๊ฐœ ์œ ์ง€

DID ๋ฉ”์†Œ๋“œ ๊ทœ๊ฒฉ์ด ํ•ด๋‹น DID์™€ DID ๋ฌธ์„œ๊ฐ€ ๊ณต๊ฐœ๋  ์ˆ˜ ์žˆ๋Š” ๊ณต๊ฐœ ๋Œ€์ƒ ๊ฒ€์ฆ ๊ฐ€๋Šฅํ•œ ๋ฐ์ดํ„ฐ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ์— ๋Œ€ํ•ด ์ž‘์„ฑ๋œ ๊ฒฝ์šฐ, ํ•ด๋‹น DID ๋ฌธ์„œ์— ๊ฐœ์ธ ๋ฐ์ดํ„ฐ๊ฐ€ ํฌํ•จ๋˜์ง€ ์•Š๋Š” ๊ฒƒ์ด ๋งค์šฐ ์ค‘์š”ํ•˜๋‹ค. ๊ฐœ์ธ ๋ฐ์ดํ„ฐ๋Š” ๋Œ€์‹  1) ๊ฒ€์ฆ ๊ฐ€๋Šฅํ•œ ํฌ๋ฆฌ๋ด์…œ [[?VC-DATA-MODEL]] ๋˜๋Š” 2) DID ์ฃผ์ฒด ๋˜๋Š” DID ์ปจํŠธ๋กค๋Ÿฌ์˜ ์ œ์–ดํ•˜์— ์žˆ๋Š” ์„œ๋น„์Šค ์—”๋“œํฌ์ธํŠธ์™€ ๊ฐ™์€ ๋‹ค๋ฅธ ์ˆ˜๋‹จ์„ ํ†ตํ•ด ์ „์†ก๋  ์ˆ˜ ์žˆ๋‹ค.

์„œ๋น„์Šค ์—”๋“œํฌ์ธํŠธ์˜ URL์—์„œ ๊ฐœ์ธ ๋ฐ์ดํ„ฐ ์œ ์ถœ ๋˜๋Š” ์„œ๋น„์Šค ์—”๋“œํฌ์ธํŠธ์˜ URL ๋‚ด ์ƒ๊ด€๊ด€๊ณ„๋ฅผ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด URL ์‚ฌ์šฉ๊ณผ ๊ด€๋ จํ•˜์—ฌ ์‹ค์‚ฌ๊ฐ€ ์ด๋ฃจ์–ด์ ธ์•ผ ํ•œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์‚ฌ์šฉ์ž ์ด๋ฆ„์„ ํฌํ•จํ•˜๋Š” URL์€ DID ๋ฌธ์„œ์— ํฌํ•จํ•˜๊ธฐ์— ์œ„ํ—˜ํ•œ๋ฐ, ๊ทธ ์ด์œ ๋Š” ์‚ฌ์šฉ์ž ์ด๋ฆ„์ด DID ์ฃผ์ฒด๊ฐ€ ๊ณต์œ ํ•˜๋Š” ๋ฐ ๋™์˜ํ•˜์ง€ ์•Š์€ ์ •๋ณด๋ฅผ ๊ณต๊ฐœํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ์‹์œผ๋กœ ์‚ฌ๋žŒ์—๊ฒŒ ์˜๋ฏธ ์žˆ์„ ๊ฐ€๋Šฅ์„ฑ์ด ๋†’๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ์ด ๊ทœ๊ฒฉ์—์„œ ์ œ์•ˆํ•˜๋Š” ๊ฐœ์ธ์ •๋ณด ๋ณดํ˜ธ ์•„ํ‚คํ…์ฒ˜๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด DID ๋ฌธ์„œ์˜ ๊ฒ€์ฆ ๋ฐฉ๋ฒ•๋กœ ์‹๋ณ„๋˜๊ณ  ๋ณดํ˜ธ๋˜๋Š” ํ†ต์‹  ์ฑ„๋„์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐœ์ธ ๋ฐ์ดํ„ฐ๋ฅผ ๋น„๊ณต๊ฐœ๋กœ ํ”ผ์–ด ๊ฐ„์— ๊ตํ™˜ํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด DID ์ฃผ์ฒด์™€ ์š”์ฒญ ๋‹น์‚ฌ์ž๊ฐ€ GDPR์˜ ์žŠํž ๊ถŒ๋ฆฌ๋ฅผ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ๋Š”๋ฐ, ๊ทธ ์ด์œ ๋Š” ๊ฐœ์ธ ๋ฐ์ดํ„ฐ๊ฐ€ ๋ถˆ๋ณ€์˜ ๋ถ„์‚ฐ ์›์žฅ์— ๊ธฐ๋ก๋˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

DID ์ƒ๊ด€๊ด€๊ณ„ ์œ„ํ—˜

์ „ ์„ธ๊ณ„์ ์œผ๋กœ ๋ชจํ˜ธํ•˜์ง€ ์•Š์€ ์‹๋ณ„์ž์™€ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ DID๋Š” ์ƒ๊ด€๊ด€๊ณ„์— ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ๋‹ค. DID ์ปจํŠธ๋กค๋Ÿฌ๋Š” ๊ฐ ๊ด€๊ณ„์— ๊ณ ์œ ํ•œ ์Œ๋ณ„ DID๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ด๋Ÿฌํ•œ ๊ฐœ์ธ์ •๋ณด ๋ณดํ˜ธ ์œ„ํ—˜์„ ์™„ํ™”ํ•  ์ˆ˜ ์žˆ๋‹ค. ์‹ค์ œ๋กœ ๊ฐ DID๋Š” ๊ฐ€๋ช…์œผ๋กœ ์ž‘์šฉํ•œ๋‹ค. ์Œ๋ณ„ DID๋Š” ์ƒ๊ด€๊ด€๊ณ„๊ฐ€ ๋ช…์‹œ์ ์œผ๋กœ ์›ํ•˜๋Š” ๊ฒฝ์šฐ์—๋งŒ ๋‘˜ ์ด์ƒ์˜ ๋‹น์‚ฌ์ž์™€ ๊ณต์œ ํ•  ํ•„์š”๊ฐ€ ์žˆ๋‹ค. ์Œ๋ณ„ DID๊ฐ€ ๊ธฐ๋ณธ๊ฐ’์ธ ๊ฒฝ์šฐ DID๋ฅผ ๊ณต๊ฐœ์ ์œผ๋กœ ๊ฒŒ์‹œํ•˜๊ฑฐ๋‚˜ ์—ฌ๋Ÿฌ ๋‹น์‚ฌ์ž์™€ ๊ณต์œ ํ•ด์•ผ ํ•  ์œ ์ผํ•œ ํ•„์š”์„ฑ์€ DID ์ปจํŠธ๋กค๋Ÿฌ ๋ฐ/๋˜๋Š” DID ์ฃผ์ฒด๊ฐ€ ๋ช…์‹œ์ ์œผ๋กœ ๊ณต๊ฐœ ์‹๋ณ„ ๋ฐ ์ƒ๊ด€๊ด€๊ณ„๋ฅผ ์›ํ•  ๋•Œ์ด๋‹ค.

DID ๋ฌธ์„œ ์ƒ๊ด€๊ด€๊ณ„ ์œ„ํ—˜

ํ•ด๋‹น DID ๋ฌธ์„œ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ƒํ˜ธ ์—ฐ๊ด€์‹œํ‚ฌ ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ ์Œ๋ณ„ DID์˜ ๋ฐ˜์ƒ๊ด€๊ด€๊ณ„ ๋ณดํ˜ธ๊ฐ€ ์‰ฝ๊ฒŒ ๋ฌด๋ ฅํ™”๋œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์—ฌ๋Ÿฌ DID ๋ฌธ์„œ์—์„œ ๋™์ผํ•œ ๊ฒ€์ฆ ๋ฐฉ๋ฒ• ๋˜๋Š” ๋งž์ถคํ˜• ์„œ๋น„์Šค ์—”๋“œํฌ์ธํŠธ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋™์ผํ•œ DID๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ๋งŒํผ ๋งŽ์€ ์ƒ๊ด€๊ด€๊ณ„ ์ •๋ณด๋ฅผ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ๋‹ค. ๋”ฐ๋ผ์„œ ์Œ๋ณ„ DID์— ๋Œ€ํ•œ DID ๋ฌธ์„œ๋„ ๊ฒ€์ฆ ๋ฐฉ๋ฒ•๊ฐ€ ์Œ๋ณ„ ๊ด€๊ณ„์— ๊ณ ์œ ํ•œ์ง€ ํ™•์ธํ•˜๋Š” ๊ฒƒ๊ณผ ๊ฐ™์€ ์Œ๋ณ„ ๊ณ ์œ  ์ •๋ณด๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค.

์Œ๋ณ„ DID์— ๋Œ€ํ•œ DID ๋ฌธ์„œ์—์„œ ์Œ๋ณ„ ๊ณ ์œ  ์„œ๋น„์Šค ์—”๋“œํฌ์ธํŠธ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ๋„ ์ž์—ฐ์Šค๋Ÿฌ์›Œ ๋ณด์ผ ์ˆ˜ ์žˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๊ณ ์œ ํ•œ ์—”๋“œํฌ์ธํŠธ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋‘ DID ์‚ฌ์ด์˜ ๋ชจ๋“  ํŠธ๋ž˜ํ”ฝ์„ ๊ณ ์œ ํ•œ ๋ฒ„ํ‚ท์œผ๋กœ ์™„๋ฒฝํ•˜๊ฒŒ ๋ถ„๋ฆฌํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ํƒ€์ด๋ฐ ์ƒ๊ด€๊ด€๊ณ„ ๋ฐ ์œ ์‚ฌํ•œ ๋ถ„์„์ด ์‰ฌ์›Œ์ง„๋‹ค. ๋”ฐ๋ผ์„œ ์—”๋“œํฌ์ธํŠธ ๊ฐœ์ธ์ •๋ณด ๋ณดํ˜ธ๋ฅผ ์œ„ํ•œ ๋” ๋‚˜์€ ์ „๋žต์€ ๋งŽ์€ ๋‹ค๋ฅธ ์ฃผ์ฒด๊ฐ€ ์ œ์–ดํ•˜๋Š” ๋‹ค์ˆ˜์˜ DID ๊ฐ„์— ์—”๋“œํฌ์ธํŠธ๋ฅผ ๊ณต์œ ํ•˜๋Š” ๊ฒƒ์ผ ์ˆ˜ ์žˆ๋‹ค( ์ฐธ์กฐ).

DID ์ฃผ์ฒด ๋ถ„๋ฅ˜

DID ์ฃผ์ฒด๊ฐ€ ๋ฌด์—‡์ธ์ง€, ํŠนํžˆ DID ์ฃผ์ฒด๊ฐ€ ์‚ฌ๋žŒ์ธ ๊ฒฝ์šฐ ๋ช…์‹œ์ ์œผ๋กœ ๋˜๋Š” ์ถ”๋ก ์„ ํ†ตํ•ด ์œ ํ˜• ๋˜๋Š” ์„ฑ์งˆ์„ ๋‚˜ํƒ€๋‚ด๋Š” ๋ฐ ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ๋Š” ์†์„ฑ์„ DID ๋ฌธ์„œ์— ์ถ”๊ฐ€ํ•˜๋Š” ๊ฒƒ์€ ์œ„ํ—˜ํ•˜๋‹ค.

์ด๋Ÿฌํ•œ ์†์„ฑ์€ DID ๋ฌธ์„œ์— ๊ฐœ์ธ ๋ฐ์ดํ„ฐ( ์ฐธ์กฐ) ๋˜๋Š” ์ƒํ˜ธ ์—ฐ๊ด€ ๊ฐ€๋Šฅํ•œ ๋ฐ์ดํ„ฐ( ๋ฐ ์ฐธ์กฐ)๊ฐ€ ์กด์žฌํ•˜๊ฒŒ ํ•  ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ, ํŠน์ • DID๋ฅผ ๊ทธ๋ฃนํ™”ํ•˜์—ฌ ํŠน์ • ์ž‘์—…์ด๋‚˜ ๊ธฐ๋Šฅ์— ํฌํ•จ์‹œํ‚ค๊ฑฐ๋‚˜ ์ œ์™ธ์‹œํ‚ค๋Š” ๋ฐ ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ๋‹ค.

DID ๋ฌธ์„œ์— ์œ ํ˜• ์ •๋ณด๋ฅผ ํฌํ•จํ•˜๋ฉด IoT ์žฅ์น˜์™€ ๊ฐ™์ด ์‚ฌ๋žŒ์ด ์•„๋‹Œ ์—”ํ‹ฐํ‹ฐ์ธ DID ์ฃผ์ฒด์— ๋Œ€ํ•ด์„œ๋„ ๊ฐœ์ธ์ •๋ณด ๋ณดํ˜ธ ํ”ผํ•ด๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋‹ค. DID ์ปจํŠธ๋กค๋Ÿฌ ์ฃผ๋ณ€์˜ ์ด๋Ÿฌํ•œ ์ •๋ณด ์ง‘๊ณ„๋Š” ์ผ์ข…์˜ ๋””์ง€ํ„ธ ์ง€๋ฌธ ์—ญํ• ์„ ํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ํ”ผํ•˜๋Š” ๊ฒƒ์ด ๊ฐ€์žฅ ์ข‹๋‹ค.

์ด๋Ÿฌํ•œ ์œ„ํ—˜์„ ์ตœ์†Œํ™”ํ•˜๊ธฐ ์œ„ํ•ด DID ๋ฌธ์„œ์˜ ๋ชจ๋“  ์†์„ฑ์€ DID ์‚ฌ์šฉ๊ณผ ๊ด€๋ จ๋œ ์•”ํ˜ธํ™” ์ž๋ฃŒ, ์—”๋“œํฌ์ธํŠธ ๋˜๋Š” ๊ฒ€์ฆ ๋ฐฉ๋ฒ•๋ฅผ ํ‘œํ˜„ํ•˜๊ธฐ ์œ„ํ•œ ๊ฒƒ์ด์–ด์•ผ ํ•œ๋‹ค.

๊ตฐ์ค‘ ๊ฐœ์ธ์ •๋ณด ๋ณดํ˜ธ

DID ์ฃผ์ฒด๊ฐ€ ๊ตฐ์ค‘ ์†์—์„œ ๊ตฌ๋ณ„ํ•  ์ˆ˜ ์—†์„ ๋•Œ ๊ฐœ์ธ์ •๋ณด ๋ณดํ˜ธ๋ฅผ ์ด์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. ๋‹ค๋ฅธ ๋‹น์‚ฌ์ž์™€ ์‚ฌ์ ์œผ๋กœ ๊ด€์—ฌํ•˜๋Š” ํ–‰์œ„ ์ž์ฒด๊ฐ€ ์ธ์‹ ๊ฐ€๋Šฅํ•œ ์‹ ํ˜ธ์ผ ๋•Œ ๊ฐœ์ธ์ •๋ณด ๋ณดํ˜ธ๋Š” ํฌ๊ฒŒ ๊ฐ์†Œํ•œ๋‹ค.

DID์™€ DID ๋ฉ”์†Œ๋“œ๋Š” ํŠนํžˆ ํ•ฉ๋ฒ•์ ์œผ๋กœ ๊ฐ€์žฅ ํ•„์š”๋กœ ํ•˜๋Š” ์‚ฌ๋žŒ๋“ค์„ ์œ„ํ•ด ๊ตฐ์ค‘ ๊ฐœ์ธ์ •๋ณด ๋ณดํ˜ธ๋ฅผ ๊ฐœ์„ ํ•˜๊ธฐ ์œ„ํ•ด ๋…ธ๋ ฅํ•ด์•ผ ํ•œ๋‹ค. ์ต๋ช…์„ฑ๊ณผ ๊ฐ€๋ช…์„ฑ์„ ๋ณด์กดํ•˜๋Š” ๊ฒƒ์„ ๊ธฐ๋ณธ์œผ๋กœ ํ•˜๋Š” ๊ธฐ์ˆ ๊ณผ ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์„ ํƒํ•˜๋ผ. ๋””์ง€ํ„ธ ์ง€๋ฌธ์„ ์ค„์ด๊ธฐ ์œ„ํ•ด ์š”์ฒญ ๋‹น์‚ฌ์ž ๊ตฌํ˜„์—์„œ ๊ณตํ†ต ์„ค์ •์„ ๊ณต์œ ํ•˜๊ณ , ์œ ์„  ํ”„๋กœํ† ์ฝœ์—์„œ ํ˜‘์ƒ๋œ ์˜ต์…˜์„ ์ตœ์†Œํ•œ์œผ๋กœ ์œ ์ง€ํ•˜๊ณ , ์•”ํ˜ธํ™”๋œ ์ „์†ก ๊ณ„์ธต์„ ์‚ฌ์šฉํ•˜๊ณ , ๋ฉ”์‹œ์ง€๋ฅผ ํ‘œ์ค€ ๊ธธ์ด๋กœ ์ฑ„์›Œ๋ผ.

์„œ๋น„์Šค ๊ฐœ์ธ์ •๋ณด ๋ณดํ˜ธ

์ปจํŠธ๋กค๋Ÿฌ๊ฐ€ DID ๋ฌธ์„œ์—์„œ ์„ ํƒ์ ์œผ๋กœ ํ•˜๋‚˜ ์ด์ƒ์˜ ์„œ๋น„์Šค ์—”๋“œํฌ์ธํŠธ๋ฅผ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋Š” ๋Šฅ๋ ฅ์€ ๊ทธ๋“ค์˜ ์ œ์–ด์™€ ์ฃผ์ฒด์„ฑ์„ ์ฆ๊ฐ€์‹œํ‚จ๋‹ค. DID ๋ฌธ์„œ์˜ ๊ฐ ์ถ”๊ฐ€ ์—”๋“œํฌ์ธํŠธ๋Š” ์—”๋“œํฌ์ธํŠธ ์„ค๋ช…์— ๊ฑธ์นœ ์ƒ๊ด€๊ด€๊ณ„๋กœ ์ธํ•ด ๊ฐœ์ธ์ •๋ณด ๋ณดํ˜ธ ์œ„ํ—˜์„ ์ฆ๊ฐ€์‹œํ‚ค๊ฑฐ๋‚˜ ์„œ๋น„์Šค๊ฐ€ ์ธ์ฆ ๋ฉ”์ปค๋‹ˆ์ฆ˜์— ์˜ํ•ด ๋ณดํ˜ธ๋˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ๋˜๋Š” ๋‘˜ ๋‹ค๋กœ ์ธํ•ด ๊ฐœ์ธ์ •๋ณด ๋ณดํ˜ธ ์œ„ํ—˜์„ ์ฆ๊ฐ€์‹œํ‚จ๋‹ค.

DID ๋ฌธ์„œ๋Š” ์ข…์ข… ๊ณต๊ฐœ์ ์ด๋ฉฐ ํ‘œ์ค€ํ™”๋˜์–ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ํ‘œ์ค€ ๊ธฐ๋ฐ˜ ํŠน์„ฑ์— ๋”ฐ๋ผ ํšจ์œจ์ ์œผ๋กœ ์ €์žฅ๋˜๊ณ  ์ƒ‰์ธํ™”๋œ๋‹ค. ์ด ์œ„ํ—˜์€ DID ๋ฌธ์„œ๊ฐ€ ๋ถˆ๋ณ€์˜ ๊ฒ€์ฆ ๊ฐ€๋Šฅํ•œ ๋ฐ์ดํ„ฐ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ์— ๊ฒŒ์‹œ๋˜๋Š” ๊ฒฝ์šฐ ๋” ์‹ฌ๊ฐํ•˜๋‹ค. DID์— ์˜ํ•ด ์ฐธ์กฐ๋˜๋Š” DID ๋ฌธ์„œ ๊ธฐ๋ก์— ๋Œ€ํ•œ ์•ก์„ธ์Šค๋Š” ํ‘œ์ค€ ์‚ฌ์šฉ์„ ํ†ตํ•ด ๋” ํšจ์œจ์ ์œผ๋กœ ์ด๋ฃจ์–ด์ง€๋Š” ์ผ์ข…์˜ ํŠธ๋ž˜ํ”ฝ ๋ถ„์„ ํ˜•ํƒœ๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค.

ํ•˜๋‚˜์˜ DID ๋ฌธ์„œ์—์„œ ์—ฌ๋Ÿฌ ์„œ๋น„์Šค ์—”๋“œํฌ์ธํŠธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐœ์ƒํ•˜๋Š” ์ถ”๊ฐ€์ ์ธ ๊ฐœ์ธ์ •๋ณด ๋ณดํ˜ธ ์œ„ํ—˜์˜ ์ •๋„๋Š” ์ถ”์ •ํ•˜๊ธฐ ์–ด๋ ค์šธ ์ˆ˜ ์žˆ๋‹ค. ๊ฐœ์ธ์ •๋ณด ๋ณดํ˜ธ ํ”ผํ•ด๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ ์˜๋„ํ•˜์ง€ ์•Š์€ ๊ฒฐ๊ณผ์ด๋‹ค. DID๋Š” ๊ฐœ์ธ, ๊ฐ€๊ตฌ, ํด๋Ÿฝ, ๊ณ ์šฉ์ฃผ์™€ ๊ด€๋ จ๋  ์ˆ˜ ์žˆ๋Š” ๋ฌธ์„œ, ์„œ๋น„์Šค, ์Šคํ‚ค๋งˆ ๋ฐ ๊ธฐํƒ€ ์‚ฌํ•ญ์„ ์ง€์นญํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ด๋“ค์˜ ์„œ๋น„์Šค ์—”๋“œํฌ์ธํŠธ ์ƒ๊ด€๊ด€๊ณ„๋Š” ๊ฐ•๋ ฅํ•œ ๊ฐ์‹œ ๋ฐ ์ถ”๋ก  ๋„๊ตฌ๊ฐ€ ๋  ์ˆ˜ ์žˆ๋‹ค. ์ด๋Ÿฌํ•œ ์ž ์žฌ์  ํ”ผํ•ด์˜ ์˜ˆ๋Š” https://example.co.uk์™€ ๊ฐ™์€ ์—ฌ๋Ÿฌ ๊ณตํ†ต ๊ตญ๊ฐ€ ์ˆ˜์ค€ ์ตœ์ƒ์œ„ ๋„๋ฉ”์ธ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋” ๋†’์€ ํ™•๋ฅ ๋กœ DID ์ฃผ์ฒด์˜ ๋Œ€๋žต์ ์ธ ์œ„์น˜๋ฅผ ์ถ”๋ก ํ•  ์ˆ˜ ์žˆ์„ ๋•Œ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

๊ตฐ์ค‘ ๊ฐœ์ธ์ •๋ณด ๋ณดํ˜ธ ์œ ์ง€

๊ฐ€๋Šฅํ•œ ์—”๋“œํฌ์ธํŠธ์˜ ๋‹ค์–‘์„ฑ์œผ๋กœ ์ธํ•ด DID ์ฃผ์ฒด์— ๋Œ€ํ•œ ์ •๋ณด๊ฐ€ ์œ ์ถœ๋˜์ง€ ์•Š๋Š” ๊ตฐ์ค‘ ๊ฐœ์ธ์ •๋ณด ๋ณดํ˜ธ๋ฅผ ์œ ์ง€ํ•˜๋Š” ๊ฒƒ์ด ํŠนํžˆ ์–ด๋ ค์šธ ์ˆ˜ ์žˆ๋‹ค( ์ฐธ์กฐ).

์ฒซ์งธ, ์„œ๋น„์Šค ์—”๋“œํฌ์ธํŠธ๊ฐ€ URI๋กœ ์ง€์ •๋  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์„œ๋น„์Šค ์•„ํ‚คํ…์ฒ˜๋กœ ์ธํ•ด ์˜๋„์น˜ ์•Š๊ฒŒ ๊ฐœ์ธ ์ •๋ณด๊ฐ€ ์œ ์ถœ๋  ์ˆ˜ ์žˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด http://example.com/MyFirstName์ด๋ผ๋Š” ์„œ๋น„์Šค ์—”๋“œํฌ์ธํŠธ๋Š” DID ๋ฌธ์„œ์— ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ๋Š” ๋ชจ๋“  ์‚ฌ๋žŒ์—๊ฒŒ MyFirstName์ด๋ผ๋Š” ์šฉ์–ด๋ฅผ ์œ ์ถœํ•˜๊ณ  ์žˆ๋‹ค. ๋ ˆ๊ฑฐ์‹œ ์‹œ์Šคํ…œ๊ณผ ์—ฐ๊ฒฐํ•  ๋•Œ๋Š” ์ด๋Ÿฌํ•œ ์œ„ํ—˜์„ ํ”ผํ•  ์ˆ˜ ์—†์œผ๋ฉฐ ์ด๋Ÿฌํ•œ ๊ฒฝ์šฐ ์ฃผ์˜๊ฐ€ ํ•„์š”ํ•˜๋‹ค. ์ด ๊ทœ๊ฒฉ์€ ์ƒˆ๋กœ์šด DID ์ธ์‹ ์—”๋“œํฌ์ธํŠธ๊ฐ€ ํ•„์š”ํ•œ ๋ชจ๋“  ์‹๋ณ„์„ ์œ„ํ•ด DID ์ž์ฒด ์ด์ƒ์˜ ๊ฒƒ์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋„๋ก ๊ถŒ์žฅํ•œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์„œ๋น„์Šค ์„ค๋ช…์— http://example.com/did%3Aexample%3Aabc123์ด ํฌํ•จ๋˜์–ด ์žˆ๋”๋ผ๋„ did:example:abc123์ด ์ด๋ฏธ DID ๋ฌธ์„œ์— ๋…ธ์ถœ๋˜์–ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ถ”๊ฐ€ ์ •๋ณด๊ฐ€ ์œ ์ถœ๋˜์ง€ ์•Š์œผ๋ฏ€๋กœ ํ”ผํ•ด๊ฐ€ ๋ฐœ์ƒํ•˜์ง€ ์•Š๋Š”๋‹ค.

๋‘˜์งธ, DID ๋ฌธ์„œ์— ์—ฌ๋Ÿฌ ์„œ๋น„์Šค ์—”๋“œํฌ์ธํŠธ๊ฐ€ ๋‚˜์—ด๋  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๋‹ค๋ฅธ ์–ด๋–ค ๋งฅ๋ฝ์—์„œ๋„ ์—ฐ๊ฒฐ๋˜์ง€ ์•Š์€ ์„œ๋น„์Šค๋ฅผ ๋Œ์ดํ‚ฌ ์ˆ˜ ์—†๊ฒŒ ์—ฐ๊ฒฐํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด๋Ÿฌํ•œ ์ƒ๊ด€๊ด€๊ณ„ ์ž์ฒด๋งŒ์œผ๋กœ๋„ ์‚ฌ์šฉ๋œ URI๊ฐ€ ๋ฏผ๊ฐํ•œ ์ •๋ณด๋ฅผ ํฌํ•จํ•˜์ง€ ์•Š์•˜๋”๋ผ๋„ DID ์ฃผ์ฒด์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ๊ณต๊ฐœํ•จ์œผ๋กœ์จ ๊ฐœ์ธ์ •๋ณด ๋ณดํ˜ธ ํ”ผํ•ด๋กœ ์ด์–ด์งˆ ์ˆ˜ ์žˆ๋‹ค.

์…‹์งธ, ์ผ๋ถ€ ์œ ํ˜•์˜ DID ์ฃผ์ฒด๊ฐ€ ํŠน์ • ์—”๋“œํฌ์ธํŠธ๋ฅผ ๋‚˜์—ดํ•  ๊ฐ€๋Šฅ์„ฑ์ด ๋” ๋†’๊ฑฐ๋‚˜ ๋‚ฎ๊ธฐ ๋•Œ๋ฌธ์— ์ฃผ์–ด์ง„ ์„œ๋น„์Šค์˜ ๋‚˜์—ด ์ž์ฒด๋กœ DID ์ฃผ์ฒด์— ๋Œ€ํ•ด ์ถ”๋ก ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ๋Š” ์ •๋ณด๋ฅผ ์œ ์ถœํ•  ์ˆ˜ ์žˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์ž๋™์ฐจ์šฉ DID์—๋Š” ์ž๋™์ฐจ๊ตญ์˜ ๊ณต๊ณต ์†Œ์œ ๊ถŒ ๊ธฐ๋ก์— ๋Œ€ํ•œ ํฌ์ธํ„ฐ๊ฐ€ ํฌํ•จ๋  ์ˆ˜ ์žˆ์ง€๋งŒ ๊ฐœ์ธ์šฉ DID์—๋Š” ํ•ด๋‹น ์ •๋ณด๊ฐ€ ํฌํ•จ๋˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ๋‹ค.

๊ตฐ์ค‘ ๊ฐœ์ธ์ •๋ณด ๋ณดํ˜ธ์˜ ๋ชฉํ‘œ๋Š” ํŠน์ • DID ์ฃผ์ฒด์˜ ํŠน์„ฑ์ด ์ „์ฒด ๋ชจ์ง‘๋‹จ์— ์˜ํ•ด ๋ชจํ˜ธํ•ด์ง€๋„๋ก ํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ๊ตฐ์ค‘ ๊ฐœ์ธ์ •๋ณด ๋ณดํ˜ธ๋ฅผ ๊ทน๋Œ€ํ™”ํ•˜๊ธฐ ์œ„ํ•ด ๊ตฌํ˜„์ž๋Š” ์ด๋Ÿฌํ•œ ์—ฐ๊ฒฐ์„ ๋ณดํ˜ธํ•˜๊ณ  ๊ถ๊ทน์ ์ธ ์„œ๋น„์Šค์— ๋Œ€ํ•œ ์š”์ฒญ์„ ๊ฐ€๋ฆฌ๊ธฐ ์œ„ํ•ด ์ปจํŠธ๋กค๋Ÿฌ๊ฐ€ ๊ธฐ๊บผ์ด ์˜์กดํ•  ํ”„๋ก์‹œ ๋˜๋Š” ์ค‘์žฌ์ž ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•˜๋Š” ํ•˜๋‚˜์˜ ์„œ๋น„์Šค ์—”๋“œํฌ์ธํŠธ์—๋งŒ ์˜์กดํ•ด์•ผ ํ•œ๋‹ค.

์„œ๋น„์Šค ์—”๋“œํฌ์ธํŠธ ๋Œ€์•ˆ

์ด์ „ ์„น์…˜์˜ ์šฐ๋ ค์‚ฌํ•ญ์„ ๊ฐ์•ˆํ•  ๋•Œ ๊ตฌํ˜„์ž๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์„œ๋น„์Šค ์—”๋“œํฌ์ธํŠธ ์ ‘๊ทผ ๋ฐฉ์‹์„ ๊ณ ๋ คํ•ด์•ผ ํ•œ๋‹ค:

  • ํ˜‘์ƒ์ž ์—”๋“œํฌ์ธํŠธ — ๊ฐ€๊ธ‰์  ํ”„๋ผ์ด๋น— ์ง‘ํ•ฉ ๊ต์ง‘ํ•ฉ์„ ์‚ฌ์šฉํ•˜์—ฌ ์ƒํ˜ธ ๋™์˜ํ•  ์ˆ˜ ์žˆ๋Š” ํ†ต์‹  ์ฑ„๋„์„ ํ˜‘์ƒํ•˜๊ธฐ ์œ„ํ•œ ์„œ๋น„์Šค. ํ˜‘์ƒ์˜ ๊ฒฐ๊ณผ๋Š” ํ†ต์‹  ์ฑ„๋„๊ณผ ์ด์— ์•ก์„ธ์Šคํ•˜๋Š” ๋ฐ ํ•„์š”ํ•œ ์ž๊ฒฉ ์ฆ๋ช…์ด๋‹ค.
  • Tor ์—”๋“œํฌ์ธํŠธ (Tor Onion Router) — ์„œ๋น„์Šค ์—”๋“œํฌ์ธํŠธ์— ๋„๋‹ฌํ•˜๊ธฐ ์œ„ํ•œ ๊ฐœ์ธ์ •๋ณด ๋ณดํ˜ธ๋ฅผ ๊ณ ๋ คํ•œ ์ฃผ์†Œ๋ฅผ ์ œ๊ณตํ•œ๋‹ค. ์˜จ๋ผ์ธ์œผ๋กœ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ๋Š” ๋ชจ๋“  ์„œ๋น„์Šค๋Š” ์ถ”๊ฐ€ ๊ฐœ์ธ์ •๋ณด ๋ณดํ˜ธ๋ฅผ ์œ„ํ•ด TOR๋ฅผ ํ†ตํ•ด ์ œ๊ณต๋  ์ˆ˜ ์žˆ๋‹ค.
  • ์ค‘์žฌ์ž ์—”๋“œํฌ์ธํŠธ์ค‘์žฌ์ž๋Š” ์—ฌ๋Ÿฌ ๋‹น์‚ฌ์ž๋ฅผ ์œ„ํ•œ ์ผ๋ฐ˜ ์—”๋“œํฌ์ธํŠธ๋ฅผ ์ œ๊ณตํ•˜๊ณ , ํ•ด๋‹น ๋‹น์‚ฌ์ž๋ฅผ ๋Œ€์‹ ํ•˜์—ฌ ์•”ํ˜ธํ™”๋œ ๋ฉ”์‹œ์ง€๋ฅผ ์ˆ˜์‹ ํ•˜๊ณ , ์˜๋„ํ•œ ์ˆ˜์‹ ์ž์—๊ฒŒ ์ „๋‹ฌํ•œ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ์ƒ๊ด€๊ด€๊ณ„ ์œ„ํ—˜์„ ์•ผ๊ธฐํ•  ์ˆ˜ ์žˆ๋Š” ์ฃผ์ฒด๋ณ„ ํŠน์ • ์—”๋“œํฌ์ธํŠธ๋ฅผ ๊ฐ€์งˆ ํ•„์š”๊ฐ€ ์—†์–ด์ง„๋‹ค. ์ด ์ ‘๊ทผ ๋ฐฉ์‹์€ ํ”„๋ก์‹œ๋ผ๊ณ ๋„ ํ•œ๋‹ค.
  • ๊ธฐ๋ฐ€ ์ €์žฅ์†Œ — ๋…์ ์ ์ด๊ฑฐ๋‚˜ ๊ธฐ๋ฐ€ ๊ฐœ์ธ ์ •๋ณด๋Š” ์ถ”๊ฐ€์ ์ธ ๊ฐœ์ธ์ •๋ณด ๋ณดํ˜ธ ๋ฐ/๋˜๋Š” ๋ณด์•ˆ ๋ณด์žฅ์„ ์ œ๊ณตํ•˜๊ธฐ ์œ„ํ•ด ๊ฒ€์ฆ ๊ฐ€๋Šฅํ•œ ๋ฐ์ดํ„ฐ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ์—์„œ ์ œ์™ธ๋  ํ•„์š”๊ฐ€ ์žˆ์„ ์ˆ˜ ์žˆ์œผ๋ฉฐ, ํŠนํžˆ DID ๋ฌธ์„œ๊ฐ€ ๊ณต๊ฐœ ์›์žฅ์— ๊ฒŒ์‹œ๋˜๋Š” DID ๋ฉ”์†Œ๋“œ์˜ ๊ฒฝ์šฐ ๋”์šฑ ๊ทธ๋Ÿฌํ•˜๋‹ค. ์™ธ๋ถ€ ๋ฆฌ์†Œ์Šค ์„œ๋น„์Šค๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋Š” ๊ฒƒ์€ ์ธ์ฆ ๊ฒ€์‚ฌ ๋ฐ ์‚ญ์ œ๋ฅผ ์œ„ํ•œ ์ˆ˜๋‹จ์„ ์ œ๊ณตํ•œ๋‹ค.
  • ๋‹คํ˜•์„ฑ ํ”„๋ก์‹œ — ํ˜ธ์ถœ ๋ฐฉ์‹์— ๋”ฐ๋ผ ์ž„์˜์˜ ์ˆ˜์˜ ์„œ๋น„์Šค ์—ญํ• ์„ ํ•  ์ˆ˜ ์žˆ๋Š” ํ”„๋ก์‹œ ์—”๋“œํฌ์ธํŠธ. ์˜ˆ๋ฅผ ๋“ค์–ด ์žฌ๋ผ์šฐํŒ… ๋ฉ”์ปค๋‹ˆ์ฆ˜์— ๋”ฐ๋ผ ๋™์ผํ•œ URL์„ ํ˜‘์ƒ์ž ๋ฐ ์ค‘์žฌ์ž ๊ธฐ๋Šฅ ๋ชจ๋‘์— ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

์ด๋Ÿฌํ•œ ์„œ๋น„์Šค ์—”๋“œํฌ์ธํŠธ ์œ ํ˜•์€ ๊ณ„์†ํ•ด์„œ ํ˜์‹ ๊ณผ ํƒ์ƒ‰์˜ ์˜์—ญ์ด ๋˜๊ณ  ์žˆ๋‹ค.

Examples

DID ๋ฌธ์„œ

์„ ํƒ์  ํ™•์žฅ ๋ฐ ๊ธฐํƒ€ ๊ฒ€์ฆ ๋ฐฉ๋ฒ• ์œ ํ˜•์€ ๊ฒ€์ฆ ๋ฐฉ๋ฒ• ์œ ํ˜• [[?DID-SPEC-REGISTRIES]]์„ ์ฐธ์กฐํ•˜๋ผ.

์ด ์˜ˆ์‹œ๋“ค์€ ์ •๋ณด ์ œ๊ณต ๋ชฉ์ ์œผ๋กœ๋งŒ ์ œ๊ณต๋œ ๊ฒƒ์ด๋ฉฐ, ๋™์ผํ•œ ๊ฒ€์ฆ ๋ฐฉ๋ฒ•๋ฅผ ์—ฌ๋Ÿฌ ๋ชฉ์ ์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์„ ํ”ผํ•˜๋Š” ๊ฒƒ์ด ์ข‹์€ ๋ฐฉ๋ฒ•์œผ๋กœ ๊ฐ„์ฃผ๋œ๋‹ค.

  {
    "@context": [
      "https://www.w3.org/ns/did/v1",
      "https://w3id.org/security/suites/ed25519-2020/v1"
    ],
    "id": "did:example:123",
    "authentication": [
      {
        "id": "did:example:123#z6MkecaLyHuYWkayBDLw5ihndj3T1m6zKTGqau3A51G7RBf3",
        "type": "Ed25519VerificationKey2020", // external (property value)
        "controller": "did:example:123",
        "publicKeyMultibase": "zAKJP3f7BD6W4iWEQ9jwndVTCBq8ua2Utt8EEjJ6Vxsf"
      }
    ],
    "capabilityInvocation": [
      {
        "id": "did:example:123#z6MkhdmzFu659ZJ4XKj31vtEDmjvsi5yDZG5L7Caz63oP39k",
        "type": "Ed25519VerificationKey2020", // external (property value)
        "controller": "did:example:123",
        "publicKeyMultibase": "z4BWwfeqdp1obQptLLMvPNgBw48p7og1ie6Hf9p5nTpNN"
      }
    ],
    "capabilityDelegation": [
      {
        "id": "did:example:123#z6Mkw94ByR26zMSkNdCUi6FNRsWnc2DFEeDXyBGJ5KTzSWyi",
        "type": "Ed25519VerificationKey2020", // external (property value)
        "controller": "did:example:123",
        "publicKeyMultibase": "zHgo9PAmfeoxHG8Mn2XHXamxnnSwPpkyBHAMNF3VyXJCL"
      }
    ],
    "assertionMethod": [
      {
        "id": "did:example:123#z6MkiukuAuQAE8ozxvmahnQGzApvtW7KT5XXKfojjwbdEomY",
        "type": "Ed25519VerificationKey2020", // external (property value)
        "controller": "did:example:123",
        "publicKeyMultibase": "z5TVraf9itbKXrRvt2DSS95Gw4vqU3CHAdetoufdcKazA"
      }
    ]
}
      
{
  "@context": [
    "https://www.w3.org/ns/did/v1",
    "https://w3id.org/security/suites/jws-2020/v1"
  ],
  "verificationMethod": [
    {
      "id": "did:example:123#key-0",
      "type": "JsonWebKey2020",
      "controller": "did:example:123",
      "publicKeyJwk": {
        "kty": "OKP", // external (property name)
        "crv": "Ed25519", // external (property name)
        "x": "VCpo2LMLhn6iWku8MKvSLg2ZAoC-nlOyPVQaO3FxVeQ" // external (property name)
      }
    },
    {
      "id": "did:example:123#key-1",
      "type": "JsonWebKey2020",
      "controller": "did:example:123",
      "publicKeyJwk": {
        "kty": "OKP", // external (property name)
        "crv": "X25519", // external (property name)
        "x": "pE_mG098rdQjY3MKK2D5SUQ6ZOEW3a6Z6T7Z4SgnzCE" // external (property name)
      }
    },
    {
      "id": "did:example:123#key-2",
      "type": "JsonWebKey2020",
      "controller": "did:example:123",
      "publicKeyJwk": {
        "kty": "EC", // external (property name)
        "crv": "secp256k1", // external (property name)
        "x": "Z4Y3NNOxv0J6tCgqOBFnHnaZhJF6LdulT7z8A-2D5_8", // external (property name)
        "y": "i5a2NtJoUKXkLm6q8nOEu9WOkso1Ag6FTUT6k_LMnGk" // external (property name)
      }
    },
    {
      "id": "did:example:123#key-3",
      "type": "JsonWebKey2020",
      "controller": "did:example:123",
      "publicKeyJwk": {
        "kty": "EC", // external (property name)
        "crv": "secp256k1", // external (property name)
        "x": "U1V4TVZVMUpUa0ZVU1NBcU9CRm5IbmFaaEpGNkxkdWx", // external (property name)
        "y": "i5a2NtJoUKXkLm6q8nOEu9WOkso1Ag6FTUT6k_LMnGk" // external (property name)
      }
    },
    {
      "id": "did:example:123#key-4",
      "type": "JsonWebKey2020",
      "controller": "did:example:123",
      "publicKeyJwk": {
        "kty": "EC", // external (property name)
        "crv": "P-256", // external (property name)
        "x": "Ums5WVgwRkRTVVFnU3k5c2xvZllMbEcwM3NPRW91ZzN", // external (property name)
        "y": "nDQW6XZ7b_u2Sy9slofYLlG03sOEoug3I0aAPQ0exs4" // external (property name)
      }
    },
    {
      "id": "did:example:123#key-5",
      "type": "JsonWebKey2020",
      "controller": "did:example:123",
      "publicKeyJwk": {
        "kty": "EC", // external (property name)
        "crv": "P-384", // external (property name)
        "x": "VUZKSlUwMGdpSXplekRwODhzX2N4U1BYdHVYWUZsaXVDR25kZ1U0UXA4bDkxeHpE", // external (property name)
        "y": "jq4QoAHKiIzezDp88s_cxSPXtuXYFliuCGndgU4Qp8l91xzD1spCmFIzQgVjqvcP" // external (property name)
      }
    },
    {
      "id": "did:example:123#key-6",
      "type": "JsonWebKey2020",
      "controller": "did:example:123",
      "publicKeyJwk": {
        "kty": "EC", // external (property name)
        "crv": "P-521", // external (property name)
        "x": "VTI5c1lYSmZWMmx1WkhNZ0dQTXhaYkhtSnBEU3UtSXZwdUtpZ0VOMnB6Z1d0U28tLVJ3ZC1uNzhuclduWnplRGMx", // external (property name)
        "y": "UW5WNVgwSnBkR052YVc0Z1VqY1B6LVpoZWNaRnliT3FMSUpqVk9sTEVUSDd1UGx5RzBnRW9NV25JWlhoUVZ5cFB5" // external (property name)
      }
    },
    {
      "id": "did:example:123#key-7",
      "type": "JsonWebKey2020",
      "controller": "did:example:123",
      "publicKeyJwk": {
        "kty": "RSA", // external (property name)
        "e": "AQAB", // external (property name)
        "n": "UkhWaGJGOUZRMTlFVWtKSElBdENGV2hlU1F2djFNRXh1NVJMQ01UNGpWazlraEpLdjhKZU1YV2UzYldIYXRqUHNrZGYyZGxhR2tXNVFqdE9uVUtMNzQybXZyNHRDbGRLUzNVTElhVDFoSkluTUhIeGoyZ2N1Yk82ZUVlZ0FDUTRRU3U5TE8wSC1MTV9MM0RzUkFCQjdRamE4SGVjcHl1c3BXMVR1X0RicXhjU253ZW5kYW13TDUyVjE3ZUtobE80dVh3djJIRmx4dWZGSE0wS21DSnVqSUt5QXhqRF9tM3FfX0lpSFVWSEQxdERJRXZMUGhHOUF6c24zajk1ZC1zYU" // external (property name)
      }
    }
  ]
}
      
{
  "@context": [
    "https://www.w3.org/ns/did/v1",
    "https://w3id.org/security/suites/ed25519-2018/v1",
    "https://w3id.org/security/suites/x25519-2019/v1",
    "https://w3id.org/security/suites/secp256k1-2019/v1",
    "https://w3id.org/security/suites/jws-2020/v1"
  ],
  "verificationMethod": [
    {
      "id": "did:example:123#key-0",
      "type": "Ed25519VerificationKey2018",
      "controller": "did:example:123",
      "publicKeyBase58": "3M5RCDjPTWPkKSN3sxUmmMqHbmRPegYP1tjcKyrDbt9J" // external (property name)
    },
    {
      "id": "did:example:123#key-1",
      "type": "X25519KeyAgreementKey2019",
      "controller": "did:example:123",
      "publicKeyBase58": "FbQWLPRhTH95MCkQUeFYdiSoQt8zMwetqfWoxqPgaq7x" // external (property name)
    },
    {
      "id": "did:example:123#key-2",
      "type": "EcdsaSecp256k1VerificationKey2019",
      "controller": "did:example:123",
      "publicKeyBase58": "ns2aFDq25fEV1NUd3wZ65sgj5QjFW8JCAHdUJfLwfodt" // external (property name)
    },
    {
      "id": "did:example:123#key-3",
      "type": "JsonWebKey2020",
      "controller": "did:example:123",
      "publicKeyJwk": {
        "kty": "EC", // external (property name)
        "crv": "P-256", // external (property name)
        "x": "Er6KSSnAjI70ObRWhlaMgqyIOQYrDJTE94ej5hybQ2M", // external (property name)
        "y": "pPVzCOTJwgikPjuUE6UebfZySqEJ0ZtsWFpj7YSPGEk" // external (property name)
      }
    }
  ]
}
      

์ฆ๋ช…

์ด ์˜ˆ์ œ๋Š” ์ •๋ณด์ „๋‹ฌ๋งŒ์„ ๋ชฉ์ ์œผ๋กœ ํ•œ๋‹ค. ์ถ”๊ฐ€์ ์ธ ์˜ˆ์ œ ํ™•์ธ์€ W3C Verifiable Credentials Data Model ๋ฅผ ์ฐธ๊ณ ํ•˜๋ผ.

{  // external (all terms in this example)
  "@context": [
    "https://www.w3.org/2018/credentials/v1",
    "https://w3id.org/citizenship/v1"
  ],
  "type": [
    "VerifiableCredential",
    "PermanentResidentCard"
  ],
  "credentialSubject": {
    "id": "did:example:123",
    "type": [
      "PermanentResident",
      "Person"
    ],
    "givenName": "JOHN",
    "familyName": "SMITH",
    "gender": "Male",
    "image": "data:image/png;base64,iVBORw0KGgo...kJggg==",
    "residentSince": "2015-01-01",
    "lprCategory": "C09",
    "lprNumber": "000-000-204",
    "commuterClassification": "C1",
    "birthCountry": "Bahamas",
    "birthDate": "1958-08-17"
  },
  "issuer": "did:example:456",
  "issuanceDate": "2020-04-22T10:37:22Z",
  "identifier": "83627465",
  "name": "Permanent Resident Card",
  "description": "Government of Example Permanent Resident Card.",
  "proof": {
    "type": "Ed25519Signature2018",
    "created": "2020-04-22T10:37:22Z",
    "proofPurpose": "assertionMethod",
    "verificationMethod": "did:example:456#key-1",
    "jws": "eyJjcml0IjpbImI2NCJdLCJiNjQiOmZhbHNlLCJhbGciOiJFZERTQSJ9..BhWew0x-txcroGjgdtK-yBCqoetg9DD9SgV4245TmXJi-PmqFzux6Cwaph0r-mbqzlE17yLebjfqbRT275U1AA"
  }
}
      
{  // external (all terms in this example)
  "@context": [
    "https://www.w3.org/2018/credentials/v1",
    "https://www.w3.org/2018/credentials/examples/v1"
  ],
  "id": "http://example.gov/credentials/3732",
  "type": ["VerifiableCredential", "UniversityDegreeCredential"],
  "issuer": { "id": "did:example:123" },
  "issuanceDate": "2020-03-10T04:24:12.164Z",
  "credentialSubject": {
    "id": "did:example:456",
    "degree": {
      "type": "BachelorDegree",
      "name": "Bachelor of Science and Arts"
    }
  },
  "proof": {
    "type": "JsonWebSignature2020",
    "created": "2020-02-15T17:13:18Z",
    "verificationMethod": "did:example:123#_Qq0UL2Fq651Q0Fjd6TvnYE-faHiOpRlPVQcY_-tA4A",
    "proofPurpose": "assertionMethod",
    "jws": "eyJiNjQiOmZhbHNlLCJjcml0IjpbImI2NCJdLCJhbGciOiJFZERTQSJ9..Y0KqovWCPAeeFhkJxfQ22pbVl43Z7UI-X-1JX32CA9MkFHkmNprcNj9Da4Q4QOl0cY3obF8cdDRdnKr0IwNrAw"
  }
}
      
{  // external (all terms in this example)
  "@context": [
    "https://www.w3.org/2018/credentials/v1",
    "https://w3id.org/security/bbs/v1",
    {
      "name": "https://schema.org/name",
      "birthDate": "https://schema.org/birthDate"
    }
  ],
  "id": "urn:uuid:c499e122-3ba9-4e95-8d4d-c0ebfcf8c51a",
  "type": ["VerifiableCredential"],
  "issuanceDate": "2021-02-07T16:02:08.571Z",
  "issuer": {
    "id": "did:example:123"
  },
  "credentialSubject": {
    "id": "did:example:456",
    "name": "John Smith",
    "birthDate": "2021-02-07"
  },
  "proof": {
    "type": "BbsBlsSignature2020",
    "created": "2021-02-07T16:02:10Z",
    "proofPurpose": "assertionMethod",
    "proofValue": "o7zD2eNTp657YzkJLub+IO4Zqy/R3Lv/AWmtSA/kUlEAOa73BNyP1vOeoow35jkABolx4kYMKkp/ZsFDweuKwe/p9vxv9wrMJ9GpiOZjHcpjelDRRJLBiccg9Yv7608mHgH0N1Qrj14PZ2saUlfhpQ==",
    "verificationMethod": "did:example:123#bls12381-g2-key"
  }
}
      
{  // external (all terms in this example)
  "@context": [
    "https://www.w3.org/2018/credentials/v1",
    "https://w3id.org/security/bbs/v1",
    {
      "name": "https://schema.org/name",
      "birthDate": "https://schema.org/birthDate"
    }
  ],
  "id": "urn:uuid:c499e122-3ba9-4e95-8d4d-c0ebfcf8c51a",
  "type": "VerifiableCredential",
  "issuanceDate": "2021-02-07T16:02:08.571Z",
  "issuer": {
    "id": "did:example:123"
  },
  "credentialSubject": {
    "id": "did:example:456",
    "birthDate": "2021-02-07"
  },
  "proof": {
    "type": "BbsBlsSignatureProof2020",
    "created": "2021-02-07T16:02:10Z",
    "nonce": "OqZHsV/aunS34BhLaSoxiHWK+SUaG4iozM3V+1jO06zRRNcDWID+I0uwtPJJ767Yo8Q=",
    "proofPurpose": "assertionMethod",
    "proofValue": "AAsH34lcKsqaqPaLQWcnLMe3mDM+K7fZM0t4Iesfj7BhD//HBtuWCmZE946BqW7OHYU106MP8mLntutqB8FyGwS7AOyK+5/7iW6JwLNVCvh4Nt3IaF3AN47fqVs2VikD9DiCsaFAUU6ISj5pbad8O+6jiT9Yw6ug8t8vJn3XHvMUhCPnDZJeBEdKD1qo4Z0LOq3L8QAAAHSEgtC9BoZL2MLjz4QuPxpwbhTTRC08MIUjdJnP4JUtz6163Lsl3rpadGu2d3Te7loAAAACZBD4YWOgV0xpPoYZ5vywNA5/NTeDHDbX36gvoV5RDJtY1SLU2LN/IDPZGrfhEiASbD1/QXqj8dod6FbjBs9m/LchBcy7z4yDBv/8DnBzDJ9dEaM4bDjpwmqtgJqha2kwtlyNog67xG9tNjnp5rrbIgAAAANMVanwWmlkg5I/f1M2QJ5GRvQiBL4lyL5sttxwIOalbTZP8VqWtFJI54xMNjTiK71aFWWN8SlNEwfVIX34HO5zBIb6fvc+Or21ubYllT9eXv1epl2o2CojuieCZyxE8/Q=",
    "verificationMethod": "did:example:123#bls12381-g2-key"
  }
}
      
{ // external (all terms in this example)
  "protected": {
    "kid": "did:example:123#_Qq0UL2Fq651Q0Fjd6TvnYE-faHiOpRlPVQcY_-tA4A",
    "alg": "EdDSA"
  },
  "payload": {
    "iss": "did:example:123",
    "sub": "did:example:456",
    "vc": {
      "@context": [
        "https://www.w3.org/2018/credentials/v1",
        "https://www.w3.org/2018/credentials/examples/v1"
      ],
      "id": "http://example.gov/credentials/3732",
      "type": [
        "VerifiableCredential",
        "UniversityDegreeCredential"
      ],
      "issuer": {
        "id": "did:example:123"
      },
      "issuanceDate": "2020-03-10T04:24:12.164Z",
      "credentialSubject": {
        "id": "did:example:456",
        "degree": {
          "type": "BachelorDegree",
          "name": "Bachelor of Science and Arts"
        }
      }
    },
    "jti": "http://example.gov/credentials/3732",
    "nbf": 1583814252
  },
  "signature": "qSv6dpZJGFybtcifLwGf4ujzlEu-fam_M7HPxinCbVhz9iIJCg70UMeQbPa1ex6BmQ2tnSS7F11FHnMB2bJRAw"
}
      

์•”ํ˜ธํ™”

์ด๋Ÿฌํ•œ ์˜ˆ๋Š” ์ •๋ณด ์ œ๊ณต ๋ชฉ์ ์œผ๋กœ๋งŒ ์ œ๊ณต๋˜๋ฉฐ, JWE ํ—ค๋”์—์„œ ๋ถˆํ•„์š”ํ•œ ์ •๋ณด๋ฅผ ๊ณต๊ฐœํ•˜์ง€ ์•Š๋Š” ๊ฒƒ์ด ๋ชจ๋ฒ” ์‚ฌ๋ก€๋กœ ๊ฐ„์ฃผ๋ฉ๋‹ˆ๋‹ค.

{ // external (all terms in this example)
  "ciphertext": "3SHQQJajNH6q0fyAHmw...",
  "iv": "QldSPLVnFf2-VXcNLza6mbylYwphW57Q",
  "protected": "eyJlbmMiOiJYQzIwUCJ9",
  "recipients": [
    {
      "encrypted_key": "BMJ19zK12YHftJ4sr6Pz1rX1HtYni_L9DZvO1cEZfRWDN2vXeOYlwA",
      "header": {
        "alg": "ECDH-ES+A256KW",
        "apu": "Tx9qG69ZfodhRos-8qfhTPc6ZFnNUcgNDVdHqX1UR3s",
        "apv": "ZGlkOmVsZW06cm9wc3RlbjpFa...",
        "epk": {
          "crv": "X25519",
          "kty": "OKP",
          "x": "Tx9qG69ZfodhRos-8qfhTPc6ZFnNUcgNDVdHqX1UR3s"
        },
        "kid": "did:example:123#zC1Rnuvw9rVa6E5TKF4uQVRuQuaCpVgB81Um2u17Fu7UK"
      }
    }
  ],
  "tag": "xbfwwDkzOAJfSVem0jr1bA"
}
      

Architectural Considerations

Detailed Architecture Diagram

Following is a diagram showing the relationships among , , and , and .


  DIDs and DID documents are recorded on a Verifiable Data Registry; DIDs resolve
  to DID documents; DIDs refer to DID subjects; a DID controller controls a DID
  document; DID URLs contains a DID; DID URLs dereferenced to DID document
  fragments or external resources; DID resolver implements resolve function; DID
  URL dereferencer implements dereferencing function; DID method operates a
  Verfiable Data Registry; DID resolver and DID URL dereferencer instruct a DID
  method.
Detailed overview of DID architecture and the relationship of the basic components.

DID ์ƒ์„ฑ

DID์˜ ์ƒ์„ฑ์€ ๊ฐ DID ๋ฉ”์†Œ๋“œ์— ์˜ํ•ด ์ •์˜๋˜๋Š” ํ”„๋กœ์„ธ์Šค์ด๋‹ค. did:key์™€ ๊ฐ™์€ ์ผ๋ถ€ DID ๋ฉ”์†Œ๋“œ๋Š” ์ˆœ์ˆ˜ํ•˜๊ฒŒ ์ƒ์„ฑ์ ์ด์–ด์„œ ๋‹จ์ผ ์•”ํ˜ธํ™” ์ž๋ฃŒ๋ฅผ ๊ทœ๊ฒฉ์— ๋งž๋Š” ํ‘œํ˜„์œผ๋กœ ๋ณ€ํ™˜ํ•˜์—ฌ DID์™€ DID ๋ฌธ์„œ๋ฅผ ์ƒ์„ฑํ•œ๋‹ค. ๋‹ค๋ฅธ DID ๋ฉ”์†Œ๋“œ๋Š” ๊ฒ€์ฆ ๊ฐ€๋Šฅํ•œ ๋ฐ์ดํ„ฐ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ์˜ ์‚ฌ์šฉ์„ ์š”๊ตฌํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์—ฌ๊ธฐ์„œ DID์™€ DID ๋ฌธ์„œ๋Š” ํ•ด๋‹น DID ๋ฉ”์†Œ๋“œ์— ์˜ํ•ด ์ •์˜๋œ ๋Œ€๋กœ ๋“ฑ๋ก์ด ์™„๋ฃŒ๋˜์—ˆ์„ ๋•Œ๋งŒ ์ œ3์ž์— ์˜ํ•ด ์กด์žฌํ•˜๋Š” ๊ฒƒ์œผ๋กœ ์ธ์‹๋œ๋‹ค. ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค๋Š” ํ•ด๋‹น DID ๋ฉ”์†Œ๋“œ์— ์˜ํ•ด ์ •์˜๋  ์ˆ˜ ์žˆ๋‹ค.

DID ์ฃผ์ฒด ๊ฒฐ์ •

DID๋Š” ํŠน์ • ์œ ํ˜•์˜ URI(Uniform Resource Identifier)์ด๋ฏ€๋กœ DID๋Š” ๋ชจ๋“  ๋ฆฌ์†Œ์Šค๋ฅผ ์ฐธ์กฐํ•  ์ˆ˜ ์žˆ๋‹ค. [[RFC3986]]์— ๋”ฐ๋ฅด๋ฉด:

"๋ฆฌ์†Œ์Šค"๋ผ๋Š” ์šฉ์–ด๋Š” URI์— ์˜ํ•ด ์‹๋ณ„๋  ์ˆ˜ ์žˆ๋Š” ๋ชจ๋“  ๊ฒƒ์— ๋Œ€ํ•ด ์ผ๋ฐ˜์ ์ธ ์˜๋ฏธ๋กœ ์‚ฌ์šฉ๋œ๋‹ค. [...] ๋ฆฌ์†Œ์Šค๊ฐ€ ๋ฐ˜๋“œ์‹œ ์ธํ„ฐ๋„ท์„ ํ†ตํ•ด ์ ‘๊ทผ ๊ฐ€๋Šฅํ•œ ๊ฒƒ์€ ์•„๋‹ˆ๋‹ค.

๋ฆฌ์†Œ์Šค๋Š” ๋””์ง€ํ„ธ ๋˜๋Š” ๋ฌผ๋ฆฌ์ , ์ถ”์ƒ์  ๋˜๋Š” ๊ตฌ์ฒด์ ์ผ ์ˆ˜ ์žˆ๋‹ค. URI๋ฅผ ํ• ๋‹นํ•  ์ˆ˜ ์žˆ๋Š” ๋ชจ๋“  ๋ฆฌ์†Œ์Šค์— DID๋ฅผ ํ• ๋‹นํ•  ์ˆ˜ ์žˆ๋‹ค. DID์— ์˜ํ•ด ์ฐธ์กฐ๋˜๋Š” ๋ฆฌ์†Œ์Šค๋Š” DID ์ฃผ์ฒด์ด๋‹ค.

DID ์ปจํŠธ๋กค๋Ÿฌ๋Š” DID ์ฃผ์ฒด๋ฅผ ๊ฒฐ์ •ํ•œ๋‹ค. DID ์ž์ฒด๋ฅผ ๋ณด๊ณ  DID ์ฃผ์ฒด๋ฅผ ๊ฒฐ์ •ํ•  ์ˆ˜ ์žˆ์„ ๊ฒƒ์œผ๋กœ ์˜ˆ์ƒ๋˜์ง€ ์•Š๋Š”๋ฐ, ์ด๋Š” DID๊ฐ€ ์ผ๋ฐ˜์ ์œผ๋กœ ์‚ฌ๋žŒ์ด ์•„๋‹Œ ๊ธฐ๊ณ„์—๋งŒ ์˜๋ฏธ๊ฐ€ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. DID๋Š” DID ์ฃผ์ฒด์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ํฌํ•จํ•˜์ง€ ์•Š์„ ๊ฐ€๋Šฅ์„ฑ์ด ๋†’๊ธฐ ๋•Œ๋ฌธ์— DID ์ฃผ์ฒด์— ๋Œ€ํ•œ ์ถ”๊ฐ€ ์ •๋ณด๋Š” DID๋ฅผ DID ๋ฌธ์„œ๋กœ ๋ณ€ํ™˜ํ•˜๊ฑฐ๋‚˜ DID์— ๋Œ€ํ•œ ๊ฒ€์ฆ ๊ฐ€๋Šฅํ•œ ํฌ๋ฆฌ๋ด์…œ์„ ์–ป๊ฑฐ๋‚˜ DID์— ๋Œ€ํ•œ ๋‹ค๋ฅธ ์„ค๋ช…์„ ํ†ตํ•ด์„œ๋งŒ ๋ฐœ๊ฒฌํ•  ์ˆ˜ ์žˆ๋‹ค.

๊ฒ€์ƒ‰๋œ DID ๋ฌธ์„œ์˜ id ์†์„ฑ์˜ ๊ฐ’์€ ํ•ญ์ƒ ํ•ด์„ ์ค‘์ธ DID์™€ ์ผ์น˜ํ•ด์•ผ ํ•˜์ง€๋งŒ, DID๊ฐ€ ์‹ค์ œ๋กœ ์ฐธ์กฐํ•˜๋Š” ๋ฆฌ์†Œ์Šค๊ฐ€ ์‹œ๊ฐ„์ด ์ง€๋‚จ์— ๋”ฐ๋ผ ๋ณ€๊ฒฝ๋  ์ˆ˜ ์žˆ๋Š”์ง€ ์—ฌ๋ถ€๋Š” DID ๋ฉ”์†Œ๋“œ์— ๋”ฐ๋ผ ๋‹ฌ๋ผ์ง„๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด DID ์ฃผ์ฒด๊ฐ€ ๋ณ€๊ฒฝ๋˜๋Š” ๊ฒƒ์„ ํ—ˆ์šฉํ•˜๋Š” DID ๋ฉ”์†Œ๋“œ๋Š” ํšŒ์‚ฌ์˜ CEO์™€ ๊ฐ™์€ ํŠน์ • ์—ญํ• ์˜ ํ˜„์žฌ ๋‹ด๋‹น์ž์— ๋Œ€ํ•œ DID๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์—ฌ๊ธฐ์„œ ์‹ค์ œ๋กœ ๊ทธ ์—ญํ• ์„ ๋งก๊ณ  ์žˆ๋Š” ์‚ฌ๋žŒ์€ DID๊ฐ€ ํ•ด์„๋˜๋Š” ์‹œ์ ์— ๋”ฐ๋ผ ๋‹ค๋ฅผ ์ˆ˜ ์žˆ๋‹ค.

DID ๋ฌธ์„œ ์ฐธ์กฐ

DID๋Š” DID ์ฃผ์ฒด๋ฅผ ์ฐธ์กฐํ•˜๊ณ  (DID ๋ฉ”์†Œ๋“œ์— ์˜ํ•ด ์ง€์ •๋œ ํ”„๋กœํ† ์ฝœ์„ ๋”ฐ๋ผ) DID ๋ฌธ์„œ๋กœ ํ•ด์„๋œ๋‹ค. DID ๋ฌธ์„œ๋Š” DID ์ฃผ์ฒด์™€ ๋ณ„๊ฐœ์˜ ๋ฆฌ์†Œ์Šค๊ฐ€ ์•„๋‹ˆ๋ฉฐ DID์™€ ๋ณ„๊ฐœ์˜ URI๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์ง€ ์•Š๋‹ค. ์˜คํžˆ๋ ค DID ๋ฌธ์„œ๋Š” DID ์ฃผ์ฒด๋ฅผ ์„ค๋ช…ํ•˜๊ธฐ ์œ„ํ•ด DID ์ปจํŠธ๋กค๋Ÿฌ์— ์˜ํ•ด ์ œ์–ด๋˜๋Š” DID ํ•ด์„์˜ ๊ฒฐ๊ณผ๋ฌผ์ด๋‹ค.

This distinction is illustrated by the graph model shown below.


Diagram showing a graph model for how DID controllers assign DIDs to refer to
DID subjects and resolve to DID documents that describe the DID subjects.
A DID is an identifier assigned by a DID controller to refer to a DID subject and resolve to a DID document that describes the DID subject. The DID document is an artifact of DID resolution and not a separate resource distinct from the DID subject. See also: narrative description.
Two filled black circles appear at the top of the diagram, one on the left, labeled "DID Controller", and one on the right, labeled "DID Subject". A rectangle, with lower right corner bent inwards to form a small triangle, appears below, containing the label "DID Document". Arrows extend between these three items, as follows. A solid red arrow points directly from the DID Controller circle, rightwards to the DID Subject circle, labeled "DID" above it in large font, and "Identifies" below it in small italic font. The other arrow labels are also in small italic font. A dotted red arrow, labeled "Resolves to", extends from DID Controller, starting in the same line as the first arrow, then curving downward to point to the DID Document rectangle. A green arrow, labeled "Controls", points directly from DID Controller to DID Document. A green arrow labeled "Controller" points in the opposite direction, from DID Document to DID Controller, making an arc outward to the left of the diagram. A blue arrow, labeled, "Describes" points directly from DID Document to DID Subject.

DID ๋ฌธ์„œ์˜ ๋ช…์„ธ

DID ๋ฌธ์„œ์˜ ๊ฐ ์†์„ฑ์€ ๋‹ค์Œ์„ ์„ค๋ช…ํ•˜๋Š” DID ์ปจํŠธ๋กค๋Ÿฌ์˜ ๋ช…์„ธ์ด๋‹ค:

DID ๋ฌธ์„œ์—์„œ ํ•„์ˆ˜ ์†์„ฑ์€ id๋ฟ์ด๋ฏ€๋กœ, ์ด๊ฒƒ์ด DID ๋ฌธ์„œ์— ๋ณด์žฅ๋˜๋Š” ์œ ์ผํ•œ ๋ช…์„ธ์ด๋‹ค. ์ด ๋ช…์„ธ๋Š” ์—์„œ DID์™€ DID ์ฃผ์ฒด ์‚ฌ์ด์˜ ์ง์ ‘ ๋งํฌ๋กœ ํ‘œ์‹œ๋œ๋‹ค.

DID ์ฃผ์ฒด์— ๋Œ€ํ•œ ์ถ”๊ฐ€ ์ •๋ณด ๋ฐœ๊ฒฌ

DID ์ฃผ์ฒด์— ๋Œ€ํ•œ ์ถ”๊ฐ€ ์ •๋ณด๋ฅผ ๋ฐœ๊ฒฌํ•˜๋Š” ์˜ต์…˜์€ DID ๋ฌธ์„œ์— ์กด์žฌํ•˜๋Š” ์†์„ฑ์— ๋”ฐ๋ผ ๋‹ค๋ฅด๋‹ค. service ์†์„ฑ์ด ์žˆ๋Š” ๊ฒฝ์šฐ ์„œ๋น„์Šค ์—”๋“œํฌ์ธํŠธ์—์„œ ์ถ”๊ฐ€ ์ •๋ณด๋ฅผ ์š”์ฒญํ•  ์ˆ˜ ์žˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด DID ์ฃผ์ฒด๋ฅผ ์„ค๋ช…ํ•˜๋Š” ํ•˜๋‚˜ ์ด์ƒ์˜ ํด๋ ˆ์ž„(์†์„ฑ)์— ๋Œ€ํ•ด ๊ฒ€์ฆ ๊ฐ€๋Šฅํ•œ ํฌ๋ฆฌ๋ด์…œ์„ ์ง€์›ํ•˜๋Š” ์„œ๋น„์Šค ์—”๋“œํฌ์ธํŠธ๋ฅผ ์ฟผ๋ฆฌํ•˜์—ฌ ์ถ”๊ฐ€ ์ •๋ณด๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ๋‹ค.

๋˜ ๋‹ค๋ฅธ ์˜ต์…˜์€ DID ๋ฌธ์„œ์— alsoKnownAs ์†์„ฑ์ด ์žˆ๋Š” ๊ฒฝ์šฐ ์ด๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด๋‹ค. DID ์ปจํŠธ๋กค๋Ÿฌ๋Š” ์ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋™์ผํ•œ DID ์ฃผ์ฒด๋ฅผ ์ฐธ์กฐํ•˜๋Š” ๋‹ค๋ฅธ URI(๋‹ค๋ฅธ DID ํฌํ•จ) ๋ชฉ๋ก์„ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ๋‹ค. ์•„๋ž˜ ๊ทธ๋ฆผ์— ํ‘œ์‹œ๋œ ๊ฒƒ์ฒ˜๋Ÿผ ์ด๋Ÿฌํ•œ URI๋ฅผ ํ•ด์„ํ•˜๊ฑฐ๋‚˜ ์—ญ์ฐธ์กฐํ•˜๋ฉด DID ์ฃผ์ฒด์— ๋Œ€ํ•œ ๋‹ค๋ฅธ ์„ค๋ช… ๋˜๋Š” ํ‘œํ˜„์„ ์–ป์„ ์ˆ˜ ์žˆ๋‹ค.


          Diagram showing a graph model, with an
          alsoKnownAs property with an arc to another node representing a
          different resource that dereferences to another description of the
          DID subject.
A DID document can use the alsoKnownAs property to assert that another URI (including, but not necessarily, another DID) refers to the same DID subject. See also: narrative description.
The diagram contains three small black filled circles, two rectangles with bent corners, arrows between them, and labels, as follows. On the upper left is a circle labeled "DID Controller". On the upper right is a circle labeled "DID Subject". On the lower-middle right is a circle without a label. On the lower right is a rectangle labeled "Description". In the center of the diagram is a rectangle labeled "DID Document". Inside the DID Document rectangle, beneath its label, is two lines of code: "alsoKnownAs: [", and "URI]". A black arrow extends from the second line, to the right, crossing the rectangle border, pointing to the unlabeled circle at the right of the diagram. This arrow is labeled above it in large font, "URI", and below it in italic, "Identifies". A black arrow points from the unlabeled circle downwards to the Description rectangle, labeled "Dereferences to". A blue arrow, labeled "Describes", extends from Description, arcing on the right, pointing up to DID Subject. A blue arrow, also labeled "Describes", points directly from the rectangle, labeled "DID Document", in the center of the diagram, up and to the right to the DID Subject circle. A red arrow, labeled "alsoKnownAs", points from DID Subject down to the unlabeled circle. A red arrow, labeled "DID" above it in large font, and "Identifies" below it in italic font, lies at the top of the image, pointing from DID Controller to DID Subject. A dotted red line starts in the same place but branches off and curves downward to point to the DID Document rectangle at the center of the image. A green arrow, labeled "Controls", points directly from DID Controller to DID Document. Another green arrow points in the opposite direction, labeled "Controller", curving outwards on the left of the image, from DID Document to DID Controller.

DID ์ฃผ์ฒด์˜ ํ‘œํ˜„ ์ œ๊ณต

DID ์ฃผ์ฒด๊ฐ€ ์ธํ„ฐ๋„ท์—์„œ ๊ฒ€์ƒ‰ํ•  ์ˆ˜ ์žˆ๋Š” ๋””์ง€ํ„ธ ๋ฆฌ์†Œ์Šค์ธ ๊ฒฝ์šฐ DID ๋ฉ”์†Œ๋“œ๋Š” DID ์ฃผ์ฒด ์ž์ฒด์˜ ํ‘œํ˜„์„ ๋ฐ˜ํ™˜ํ•˜๋Š” DID URL์„ ๊ตฌ์„ฑํ•˜๋„๋ก ์„ ํƒํ•  ์ˆ˜ ์žˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์˜๊ตฌ์ ์ด๊ณ  ์•”ํ˜ธํ•™์ ์œผ๋กœ ๊ฒ€์ฆ ๊ฐ€๋Šฅํ•œ ์‹๋ณ„์ž๊ฐ€ ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ ์Šคํ‚ค๋งˆ์— DID๋ฅผ ํ• ๋‹นํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ง€์ •๋œ DID ๋งค๊ฐœ๋ณ€์ˆ˜( ์ฐธ์กฐ)๋ฅผ ์ „๋‹ฌํ•˜๋Š” ๊ฒƒ์€ ํ•ด๋‹น ์Šคํ‚ค๋งˆ์˜ ํ‘œํ˜„์„ ๊ฒ€์ƒ‰ํ•˜๋Š” ํ‘œ์ค€ ๋ฐฉ๋ฒ•์œผ๋กœ ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ๋‹ค.

๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ํ•ด๋‹น ๊ธฐ๋Šฅ์ด ์ ์šฉ ๊ฐ€๋Šฅํ•œ DID ๋ฉ”์†Œ๋“œ์—์„œ ์ง€์›๋˜๋Š” ๊ฒฝ์šฐ DID๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ฒ€์ฆ ๊ฐ€๋Šฅํ•œ ๋ฐ์ดํ„ฐ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ์—์„œ ์ง์ ‘ ๋ฐ˜ํ™˜๋  ์ˆ˜ ์žˆ๋Š” ๋””์ง€ํ„ธ ๋ฆฌ์†Œ์Šค(์˜ˆ: ์ด๋ฏธ์ง€)๋ฅผ ์ฐธ์กฐํ•  ์ˆ˜ ์žˆ๋‹ค.

๊ธฐ์กด ์›น ๋ฆฌ์†Œ์Šค์— DID ํ• ๋‹น

์›น ํŽ˜์ด์ง€ ๋˜๋Š” ๋‹ค๋ฅธ ์›น ๋ฆฌ์†Œ์Šค์˜ ์ปจํŠธ๋กค๋Ÿฌ๊ฐ€ ์˜๊ตฌ์ ์ด๊ณ  ์•”ํ˜ธํ•™์ ์œผ๋กœ ๊ฒ€์ฆ ๊ฐ€๋Šฅํ•œ ์‹๋ณ„์ž๋ฅผ ํ• ๋‹นํ•˜๋ ค๋Š” ๊ฒฝ์šฐ ์ปจํŠธ๋กค๋Ÿฌ๋Š” DID๋ฅผ ๋ถ€์—ฌํ•  ์ˆ˜ ์žˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ๋ธ”๋กœ๊ทธ ํ˜ธ์ŠคํŒ… ํšŒ์‚ฌ(ํ•ด๋‹น ํ˜ธ์ŠคํŒ… ํšŒ์‚ฌ์˜ ๋„๋ฉ”์ธ์—์„œ)๊ฐ€ ํ˜ธ์ŠคํŒ…ํ•˜๋Š” ๋ธ”๋กœ๊ทธ์˜ ์ž‘์„ฑ์ž๋Š” ๋ธ”๋กœ๊ทธ์— ๋Œ€ํ•œ DID๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค. DID ๋ฌธ์„œ์—์„œ ์ž‘์„ฑ์ž๋Š” ๋ธ”๋กœ๊ทธ์˜ ํ˜„์žฌ URL์„ ๊ฐ€๋ฆฌํ‚ค๋Š” alsoKnownAs ์†์„ฑ์„ ํฌํ•จํ•  ์ˆ˜ ์žˆ๋‹ค. ์˜ˆ:

"alsoKnownAs": ["https://myblog.blogging-host.example/home"]

์ž‘์„ฑ์ž๊ฐ€ ๋‚˜์ค‘์— ๋ธ”๋กœ๊ทธ๋ฅผ ๋‹ค๋ฅธ ํ˜ธ์ŠคํŒ… ํšŒ์‚ฌ(๋˜๋Š” ์ž‘์„ฑ์ž ์ž์‹ ์˜ ๋„๋ฉ”์ธ)๋กœ ์ด๋™ํ•˜๋Š” ๊ฒฝ์šฐ ์ž‘์„ฑ์ž๋Š” DID ๋ฌธ์„œ๋ฅผ ์—…๋ฐ์ดํŠธํ•˜์—ฌ ๋ธ”๋กœ๊ทธ์˜ ์ƒˆ URL์„ ๊ฐ€๋ฆฌํ‚ฌ ์ˆ˜ ์žˆ๋‹ค. ์˜ˆ:

"alsoKnownAs": ["https://myblog.example/"]

DID๋Š” ๋ธ”๋กœ๊ทธ URL์— ๋Œ€ํ•œ ๊ฐ„์ ‘ ๋ ˆ์ด์–ด๋ฅผ ํšจ๊ณผ์ ์œผ๋กœ ์ถ”๊ฐ€ํ•œ๋‹ค. ์ด ๊ฐ„์ ‘ ๋ ˆ์ด์–ด๋Š” ๋ธ”๋กœ๊ทธ ํ˜ธ์ŠคํŒ… ํšŒ์‚ฌ์™€ ๊ฐ™์€ ์™ธ๋ถ€ ๊ด€๋ฆฌ ๊ธฐ๊ด€์˜ ์ œ์–ด๊ฐ€ ์•„๋‹Œ ์ž‘์„ฑ์ž์˜ ์ œ์–ด ํ•˜์— ์žˆ๋‹ค. ์ด๊ฒƒ์ด DID๊ฐ€ ๋„คํŠธ์›Œํฌ ์œ„์น˜๊ฐ€ ์‹œ๊ฐ„์ด ์ง€๋‚จ์— ๋”ฐ๋ผ ๋ณ€๊ฒฝ๋  ์ˆ˜ ์žˆ๋Š” ์ •๋ณด ๋ฆฌ์†Œ์Šค์— ๋Œ€ํ•œ ์˜๊ตฌ ์‹๋ณ„์ž์ธ URN(Uniform Resource Name)์œผ๋กœ ํšจ๊ณผ์ ์œผ๋กœ ๊ธฐ๋Šฅํ•˜๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค.

DID ์ปจํŠธ๋กค๋Ÿฌ์™€ DID ์ฃผ์ฒด ๊ฐ„์˜ ๊ด€๊ณ„

ํ˜ผ๋™์„ ํ”ผํ•˜๊ธฐ ์œ„ํ•ด DID ์ปจํŠธ๋กค๋Ÿฌ์™€์˜ ๊ด€๊ณ„์— ๋”ฐ๋ผ DID ์ฃผ์ฒด๋ฅผ ๋‘ ๊ฐœ์˜ ์„œ๋กœ ์†Œ ์ง‘ํ•ฉ์œผ๋กœ ๋ถ„๋ฅ˜ํ•˜๋Š” ๊ฒƒ์ด ๋„์›€์ด ๋œ๋‹ค.

์ง‘ํ•ฉ #1: DID ์ฃผ์ฒด๊ฐ€ DID ์ปจํŠธ๋กค๋Ÿฌ์ด๋‹ค

์— ํ‘œ์‹œ๋œ ์ฒซ ๋ฒˆ์งธ ๊ฒฝ์šฐ๋Š” DID ์ฃผ์ฒด๊ฐ€ DID ์ปจํŠธ๋กค๋Ÿฌ์ด๊ธฐ๋„ ํ•œ ์ผ๋ฐ˜์ ์ธ ์‹œ๋‚˜๋ฆฌ์˜ค์ด๋‹ค. ์ด๊ฒƒ์€ ๊ฐœ์ธ์ด๋‚˜ ์กฐ์ง์ด ์ž๊ธฐ ์ž์‹ ์„ ์‹๋ณ„ํ•˜๊ธฐ ์œ„ํ•ด DID๋ฅผ ๋งŒ๋“œ๋Š” ๊ฒฝ์šฐ์ด๋‹ค.


Diagram showing a graph model with an equivalence arc from the DID
subject to the DID controller.
The DID subject is the same entity as the DID controller. See also: narrative description.
Two small black circles appear in the diagram, one on the upper left, labeled, "DID Controller", and one on the upper right, labeled "DID Subject". A solid red arrow extends from the DID Controller circle to the DID Subject circle, labeled "DID" in large bold text above the arrow, and "Identifies" in small italic text beneath the arrow. A dotted red double-ended arrow, labeled "Equivalence", extends between the two circles, forming an arc in the space between and above them. In the lower part of the diagram is a rectangle with bent corner, outlined in black, containing the label "DID Document". Arrows point between this DID Document rectangle and the small black circles for DID Controller and DID Subject, with italic labels, as follows. A blue arrow points from the DID Document to the DID Subject, labeled, "Describes". A green arrow points from the DID Controller to the DID Document, labeled "Controls". A green arrow points from the DID Document to the DID Controller, in an outward arc, labeled, "Controller". A dotted red arrow, labeled "Resolves to", extends from the DID controller starting to the right, branching off from the arrow to the DID Subject, then curving downward to point to the DID Document.

๊ทธ๋ž˜ํ”„ ๋ชจ๋ธ ๊ด€์ ์—์„œ ๋ณด๋ฉด, ์—์„œ DID ์ปจํŠธ๋กค๋Ÿฌ์™€ DID ์ฃผ์ฒด๋กœ ์‹๋ณ„๋˜๋Š” ๋…ธ๋“œ๊ฐ€ ์„œ๋กœ ๊ตฌ๋ณ„๋˜๋”๋ผ๋„ ์˜๋ฏธ๋ก ์  ๋™๋“ฑ์„ฑ ๊ด€๊ณ„๋ฅผ ํ‘œํ˜„ํ•˜๊ธฐ ์œ„ํ•ด ์ด๋“ค์„ ์—ฐ๊ฒฐํ•˜๋Š” ๋…ผ๋ฆฌ์  ํ˜ธ๊ฐ€ ์žˆ๋‹ค.

์ง‘ํ•ฉ #2: DID ์ฃผ์ฒด๊ฐ€ DID ์ปจํŠธ๋กค๋Ÿฌ๊ฐ€ ์•„๋‹ˆ๋‹ค

๋‘ ๋ฒˆ์งธ ๊ฒฝ์šฐ๋Š” DID ์ฃผ์ฒด๊ฐ€ DID ์ปจํŠธ๋กค๋Ÿฌ์™€ ๋ณ„๊ฐœ์˜ ์—”ํ‹ฐํ‹ฐ์ธ ๊ฒฝ์šฐ์ด๋‹ค. ์ด๋Š” ์˜ˆ๋ฅผ ๋“ค์–ด ๋ถ€๋ชจ๊ฐ€ ์ž๋…€๋ฅผ ์œ„ํ•œ DID๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ์ œ์–ด๋ฅผ ์œ ์ง€ํ•˜๋Š” ๊ฒฝ์šฐ, ๊ธฐ์—…์ด ์žํšŒ์‚ฌ๋ฅผ ์œ„ํ•œ DID๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ์ œ์–ด๋ฅผ ์œ ์ง€ํ•˜๋Š” ๊ฒฝ์šฐ, ๋˜๋Š” ์ œ์กฐ์—…์ฒด๊ฐ€ ์ œํ’ˆ, IoT ์žฅ์น˜ ๋˜๋Š” ๋””์ง€ํ„ธ ํŒŒ์ผ์„ ์œ„ํ•œ DID๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ์ œ์–ด๋ฅผ ์œ ์ง€ํ•˜๋Š” ๊ฒฝ์šฐ์ด๋‹ค.

๊ทธ๋ž˜ํ”„ ๋ชจ๋ธ ๊ด€์ ์—์„œ ๋ณด๋ฉด, ์ง‘ํ•ฉ 1๊ณผ์˜ ์œ ์ผํ•œ ์ฐจ์ด์ ์€ DID ์ฃผ์ฒด์™€ DID ์ปจํŠธ๋กค๋Ÿฌ ๋…ธ๋“œ ์‚ฌ์ด์— ๋™๋“ฑ์„ฑ ํ˜ธ ๊ด€๊ณ„๊ฐ€ ์—†๋‹ค๋Š” ๊ฒƒ์ด๋‹ค.

๋‹ค์ค‘ DID ์ปจํŠธ๋กค๋Ÿฌ

DID ๋ฌธ์„œ์—๋Š” ๋‘˜ ์ด์ƒ์˜ DID ์ปจํŠธ๋กค๋Ÿฌ๊ฐ€ ์žˆ์„ ์ˆ˜ ์žˆ๋‹ค. ์ด๋Š” ๋‘ ๊ฐ€์ง€ ๋ฐฉ์‹ ์ค‘ ํ•˜๋‚˜๋กœ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋‹ค.

๋…๋ฆฝ์  ์ œ์–ด

์ด ๊ฒฝ์šฐ ๊ฐ DID ์ปจํŠธ๋กค๋Ÿฌ๋Š” ๋…์ž์ ์œผ๋กœ ํ–‰๋™ํ•  ์ˆ˜ ์žˆ๋‹ค. ์ฆ‰, ๊ฐ ์ปจํŠธ๋กค๋Ÿฌ๋Š” DID ๋ฌธ์„œ๋ฅผ ๋…๋ฆฝ์ ์œผ๋กœ ์—…๋ฐ์ดํŠธํ•  ์ˆ˜ ์žˆ๋Š” ์™„์ „ํ•œ ๊ถŒํ•œ์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค. ๊ทธ๋ž˜ํ”„ ๋ชจ๋ธ ๊ด€์ ์—์„œ ์ด ๊ตฌ์„ฑ์—์„œ๋Š”:


            Diagram showing three DID controllers each with an independent
            control relationship with the DID document
Multiple independent DID controllers that can each act independently. See also: Text Description
Three black circles appear on the left, vertically, each labeled "DID Controller". From each of these circles, a pair of green arrows extends towards the center of the diagram, to a single rectangle, labeled "DID Document". The rectangle has the lower right corner cut and bent inward to form a small triangle, as if to represent a physical piece of paper with curled corner. Each pair of green arrows consists of one arrow pointing from the black circle to the rectangle, labeled "Controls", and one pointing in the opposite direction, from the rectangle to the black circle, labeled "Controller". From the right of the rectangle extends a blue arrow, labeled, "Describes", pointing to a black circle labeled, "DID Subject".

๊ทธ๋ฃน ์ œ์–ด

๊ทธ๋ฃน ์ œ์–ด์˜ ๊ฒฝ์šฐ DID ์ปจํŠธ๋กค๋Ÿฌ๋Š” ์—ฌ๋Ÿฌ ๋””์ง€ํ„ธ ์„œ๋ช…("๋ฉ€ํ‹ฐ ์‹œ๊ทธ")์ด๋‚˜ ์ž„๊ณ„๊ฐ’ ์ˆ˜์˜ ๋””์ง€ํ„ธ ์„œ๋ช…("m-of-n")์„ ์š”๊ตฌํ•˜๋Š” ์•”ํ˜ธํ™” ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์‚ฌ์šฉํ•  ๋•Œ์™€ ๊ฐ™์ด ์–ด๋–ค ๋ฐฉ์‹์œผ๋กœ๋“  ํ•จ๊ป˜ ํ–‰๋™ํ•  ๊ฒƒ์œผ๋กœ ์˜ˆ์ƒ๋œ๋‹ค. ๊ธฐ๋Šฅ์  ๊ด€์ ์—์„œ ์ด ์˜ต์…˜์€ ๋‹จ์ผ DID ์ปจํŠธ๋กค๋Ÿฌ์™€ ์œ ์‚ฌํ•œ๋ฐ, ๋น„๋ก DID ์ปจํŠธ๋กค๋Ÿฌ ๊ทธ๋ฃน์˜ ๊ฐ DID ์ปจํŠธ๋กค๋Ÿฌ๊ฐ€ ์ž์ฒด ๊ทธ๋ž˜ํ”„ ๋…ธ๋“œ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์ง€๋งŒ ์— ํ‘œ์‹œ๋œ ๊ฒƒ์ฒ˜๋Ÿผ ์‹ค์ œ ์ œ์–ด๋Š” DID ์ปจํŠธ๋กค๋Ÿฌ ๊ทธ๋ฃน์„ ๋‚˜ํƒ€๋‚ด๋Š” ๋‹จ์ผ ๋…ผ๋ฆฌ์  ๊ทธ๋ž˜ํ”„ ๋…ธ๋“œ๋กœ ์ถ•์†Œ๋˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.


Diagram showing three DID controllers together as a single
DID controller group to control a DID document
Multiple DID controllers who are expected to act together as a DID controller group. See also: narrative description.
On the left are three black filled circles, labeled "DID Controller Group" by a brace on the left. From each of these three circles, a green arrow extends to the center right. These three arrows converge towards a single filled white circle. A pair of horizontal green arrows connects this white circle on its right to a rectangle shaped like a page with a curled corner, labeled "DID Document". The upper arrow points right, from the white circle to the rectangle, and is labeled "Controls". The lower arrow points left, from the rectangle to the white circle, and is labeled "Controller". From the right of the rectangle extends a blue arrow, labeled "Describes", pointing to a black circle, labeled "DID Subject".

์ด ๊ตฌ์„ฑ์€ DID ์ฃผ์ฒด๊ฐ€ ๋‹จ์ผ ๊ฐœ์ธ์ด ์ œ์–ดํ•˜์ง€ ์•Š๋Š” ์กฐ์ง, ๊ธฐ์—…, ์ •๋ถ€ ๊ธฐ๊ด€, ์ปค๋ฎค๋‹ˆํ‹ฐ ๋˜๋Š” ๊ธฐํƒ€ ๊ทธ๋ฃน์ผ ๋•Œ ์ข…์ข… ์ ์šฉ๋  ๊ฒƒ์ด๋‹ค.

DID ์ฃผ์ฒด ๋ณ€๊ฒฝ

DID ๋ฌธ์„œ์—๋Š” DID ์ฃผ์ฒด๋ฅผ ์ฐธ์กฐํ•˜๋Š” ์ •ํ™•ํžˆ ํ•˜๋‚˜์˜ DID๊ฐ€ ์žˆ๋‹ค. DID๋Š” id ์†์„ฑ์˜ ๊ฐ’์œผ๋กœ ํ‘œํ˜„๋œ๋‹ค. ์ด ์†์„ฑ ๊ฐ’์€ DID ๋ฌธ์„œ์˜ ์ˆ˜๋ช… ๋™์•ˆ ๋ถˆ๋ณ€์ด๋‹ค.

๊ทธ๋Ÿฌ๋‚˜ DID์— ์˜ํ•ด ์‹๋ณ„๋œ ๋ฆฌ์†Œ์Šค์ธ DID ์ฃผ์ฒด๊ฐ€ ์‹œ๊ฐ„์ด ์ง€๋‚จ์— ๋”ฐ๋ผ ๋ณ€๊ฒฝ๋  ์ˆ˜ ์žˆ๋‹ค. ์ด๋Š” DID ์ปจํŠธ๋กค๋Ÿฌ์˜ ๋…์ ์  ๊ถŒํ•œ ํ•˜์— ์žˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ ์„น์…˜์„ ์ฐธ์กฐํ•˜๋ผ.

DID ์ปจํŠธ๋กค๋Ÿฌ ๋ณ€๊ฒฝ

DID ๋ฌธ์„œ์˜ DID ์ปจํŠธ๋กค๋Ÿฌ๋Š” ์‹œ๊ฐ„์ด ์ง€๋‚จ์— ๋”ฐ๋ผ ๋ณ€๊ฒฝ๋  ์ˆ˜ ์žˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๊ตฌํ˜„ ๋ฐฉ์‹์— ๋”ฐ๋ผ DID ์ปจํŠธ๋กค๋Ÿฌ์˜ ๋ณ€๊ฒฝ์€ DID ๋ฌธ์„œ ์ž์ฒด์˜ ๋ณ€๊ฒฝ์œผ๋กœ ๋ช…ํ™•ํžˆ ๋“œ๋Ÿฌ๋‚˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ๋ณ€๊ฒฝ์ด DID ๋ฌธ์„œ์˜ ํ•˜๋‚˜ ์ด์ƒ์˜ ๊ฒ€์ฆ ๋ฐฉ๋ฒ•์— ์‚ฌ์šฉ๋˜๋Š” ๊ธฐ๋ณธ ์•”ํ˜ธํ™” ํ‚ค ๋˜๋Š” ๊ธฐํƒ€ ์ œ์–ด์˜ ์†Œ์œ ๊ถŒ ์ด๋™์„ ํ†ตํ•ด ๊ตฌํ˜„๋˜๋Š” ๊ฒฝ์šฐ ํ‘œ์ค€ ํ‚ค ๊ต์ฒด์™€ ๊ตฌ๋ณ„ํ•  ์ˆ˜ ์—†์„ ์ˆ˜ ์žˆ๋‹ค.

๋ฐ˜๋ฉด์— ๋ณ€๊ฒฝ์ด `controller` ์†์„ฑ์˜ ๊ฐ’์„ ๋ณ€๊ฒฝํ•˜์—ฌ ๊ตฌํ˜„๋˜๋Š” ๊ฒฝ์šฐ ํˆฌ๋ช…ํ•  ๊ฒƒ์ด๋‹ค.

DID ์ปจํŠธ๋กค๋Ÿฌ์˜ ๋ณ€๊ฒฝ์„ ๊ฒ€์ฆํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•œ ๊ฒฝ์šฐ ๊ตฌํ˜„์ž๋Š” ์ˆ˜์ •๋œ DID ๋ฌธ์„œ์˜ ๊ฒ€์ฆ ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์ƒˆ๋กœ์šด DID ์ปจํŠธ๋กค๋Ÿฌ๋ฅผ ์ธ์ฆํ•˜๋Š” ๊ฒƒ์ด ์ข‹๋‹ค.

Revision History

This section contains the changes that have been made since the publication of this specification as a W3C First Public Working Draft.

Changes since the Second Candidate Recommendation include:

Changes since the First Candidate Recommendation include:

Changes since the First Public Working Draft include:

Acknowledgements

The Working Group extends deep appreciation and heartfelt thanks to our Chairs Brent Zundel and Dan Burnett, as well as our W3C Staff Contact, Ivan Herman, for their tireless work in keeping the Working Group headed in a productive direction and navigating the deep and dangerous waters of the standards process.

The Working Group gratefully acknowledges the work that led to the creation of this specification, and extends sincere appreciation to those individuals that worked on technologies and specifications that deeply influenced our work. In particular, this includes the work of Phil Zimmerman, Jon Callas, Lutz Donnerhacke, Hal Finney, David Shaw, and Rodney Thayer on Pretty Good Privacy (PGP) in the 1990s and 2000s.

In the mid-2010s, preliminary implementations of what would become Decentralized Identifiers were built in collaboration with Jeremie Miller's Telehash project and the W3C Web Payments Community Group's work led by Dave Longley and Manu Sporny. Around a year later, the XDI.org Registry Working Group began exploring decentralized technologies for replacing its existing identifier registry. Some of the first written papers exploring the concept of Decentralized Identifiers can be traced back to the first several Rebooting the Web of Trust workshops convened by Christopher Allen. That work led to a key collaboration between Christopher Allen, Drummond Reed, Les Chasen, Manu Sporny, and Anil John. Anil saw promise in the technology and allocated the initial set of government funding to explore the space. Without the support of Anil John and his guidance through the years, it is unlikely that Decentralized Identifiers would be where they are today. Further refinement at the Rebooting the Web of Trust workshops led to the first implementers documentation, edited by Drummond Reed, Les Chasen, Christopher Allen, and Ryan Grant. Contributors included Manu Sporny, Dave Longley, Jason Law, Daniel Hardman, Markus Sabadello, Christian Lundkvist, and Jonathan Endersby. This initial work was then merged into the W3C Credentials Community Group, incubated further, and then transitioned to the W3C Decentralized Identifiers Working Group for global standardization.

Portions of the work on this specification have been funded by the United States Department of Homeland Security's (US DHS) Science and Technology Directorate under contracts HSHQDC-16-R00012-H-SB2016-1-002, and HSHQDC-17-C-00019, as well as the US DHS Silicon Valley Innovation Program under contracts 70RSAT20T00000010, 70RSAT20T00000029, 70RSAT20T00000030, 70RSAT20T00000045, 70RSAT20T00000003, and 70RSAT20T00000033. The content of this specification does not necessarily reflect the position or the policy of the U.S. Government and no official endorsement should be inferred.

Portions of the work on this specification have also been funded by the European Union's StandICT.eu program under sub-grantee contract number CALL05/19. The content of this specification does not necessarily reflect the position or the policy of the European Union and no official endorsement should be inferred.

Work on this specification has also been supported by the Rebooting the Web of Trust community facilitated by Christopher Allen, Shannon Appelcline, Kiara Robles, Brian Weller, Betty Dhamers, Kaliya Young, Kim Hamilton Duffy, Manu Sporny, Drummond Reed, Joe Andrieu, and Heather Vescent. Development of this specification has also been supported by the W3C Credentials Community Group, which has been Chaired by Kim Hamilton Duffy, Joe Andrieu, Christopher Allen, Heather Vescent, and Wayne Chang. The participants in the Internet Identity Workshop, facilitated by Phil Windley, Kaliya Young, Doc Searls, and Heidi Nobantu Saul, also supported this work through numerous working sessions designed to debate, improve, and educate participants about this specification.

The Working Group thanks the following individuals for their contributions to this specification (in alphabetical order, Github handles start with `@` and are sorted as last names): Denis Ah-Kang, Nacho Alamillo, Christopher Allen, Joe Andrieu, Antonio, Phil Archer, George Aristy, Baha, Juan Benet, BigBlueHat, Dan Bolser, Chris Boscolo, Pelle Braendgaard, Daniel Buchner, Daniel Burnett, Juan Caballero, @cabo, Tim Cappalli, Melvin Carvalho, David Chadwick, Wayne Chang, Sam Curren, Hai Dang, Tim Daubenschรผtz, Oskar van Deventer, Kim Hamilton Duffy, Arnaud Durand, Ken Ebert, Veikko Eeva, @ewagner70, Carson Farmer, Nikos Fotiou, Gabe, Gayan, @gimly-jack, @gjgd, Ryan Grant, Peter Grassberger, Adrian Gropper, Amy Guy, Daniel Hardman, Kyle Den Hartog, Philippe Le Hegaret, Ivan Herman, Michael Herman, Alen Horvat, Dave Huseby, Marcel Jackisch, Mike Jones, Andrew Jones, Tom Jones, jonnycrunch, Gregg Kellogg, Michael Klein, @kdenhartog-sybil1, Paul Knowles, @ktobich, David I. Lehn, Charles E. Lehner, Michael Lodder, @mooreT1881, Dave Longley, Tobias Looker, Wolf McNally, Robert Mitwicki, Mircea Nistor, Grant Noble, Mark Nottingham, @oare, Darrell O'Donnell, Vinod Panicker, Dirk Porsche, Praveen, Mike Prorock, @pukkamustard, Drummond Reed, Julian Reschke, Yancy Ribbens, Justin Richer, Rieks, @rknobloch, Mikeal Rogers, Evstifeev Roman, Troy Ronda, Leonard Rosenthol, Michael Ruminer, Markus Sabadello, Cihan Saglam, Samu, Rob Sanderson, Wendy Seltzer, Mehran Shakeri, Jaehoon (Ace) Shim, Samuel Smith, James M Snell, SondreB, Manu Sporny, @ssstolk, Orie Steele, Shigeya Suzuki, Sammotic Switchyarn, @tahpot, Oliver Terbu, Ted Thibodeau Jr., Joel Thorstensson, Tralcan, Henry Tsai, Rod Vagg, Mike Varley, Kaliya "Identity Woman" Young, Eric Welton, Fuqiao Xue, @Yue, Dmitri Zagidulin, @zhanb, and Brent Zundel.

IANA Considerations

This section will be submitted to the Internet Engineering Steering Group (IESG) for review, approval, and registration with IANA when this specification becomes a W3C Proposed Recommendation.

application/did+json

Type name:
application
Subtype name:
did+json
Required parameters:
None
Optional parameters:
None
Encoding considerations:
See RFC 8259, section 11.
Security considerations:
See RFC 8259, section 12 [[RFC8259]].
Interoperability considerations:
Not Applicable
Published specification:
https://www.w3.org/TR/did-core/
Applications that use this media type:
Any application that requires an identifier that is decentralized, persistent, cryptographically verifiable, and resolvable. Applications typically consist of cryptographic identity systems, decentralized networks of devices, and websites that issue or verify W3C Verifiable Credentials.
Additional information:
Magic number(s):
Not Applicable
File extension(s):
.didjson
Macintosh file type code(s):
TEXT
Person & email address to contact for further information:
Ivan Herman <[email protected]>
Intended usage:
Common
Restrictions on usage:
None
Author(s):
Drummond Reed, Manu Sporny, Markus Sabadello, Dave Longley, Christopher Allen
Change controller:
W3C

Fragment identifiers used with application/did+json are treated according to the rules defined in .

application/did+ld+json

The Candidate Recommendation phase for this specification received a significant number of implementations for the application/did+ld+json media type. Registration of the media type application/did+ld+json at IANA is pending resolution of the Media Types with Multiple Suffixes issue. Work is expected to continue in the IETF Media Type Maintenance Working Group with a registration of the application/did+ld+json media type by W3C following shortly after the publication of the Media Types with Multiple Suffixes RFC.

Type name:
application
Subtype name:
did+ld+json
Required parameters:
None
Optional parameters:
None
Encoding considerations:
See RFC 8259, section 11.
Security considerations:
See JSON-LD 1.1, Security Considerations [[JSON-LD11]].
Interoperability considerations:
Not Applicable
Published specification:
https://www.w3.org/TR/did-core/
Applications that use this media type:
Any application that requires an identifier that is decentralized, persistent, cryptographically verifiable, and resolvable. Applications typically consist of cryptographic identity systems, decentralized networks of devices, and websites that issue or verify W3C Verifiable Credentials.
Additional information:
Magic number(s):
Not Applicable
File extension(s):
.didjsonld
Macintosh file type code(s):
TEXT
Person & email address to contact for further information:
Ivan Herman <[email protected]>
Intended usage:
Common
Restrictions on usage:
None
Author(s):
Drummond Reed, Manu Sporny, Markus Sabadello, Dave Longley, Christopher Allen
Change controller:
W3C

Fragment identifiers used with application/did+ld+json are treated according to the rules associated with the JSON-LD 1.1: application/ld+json media type [[JSON-LD11]].